The choice we clarified
Option 1: role-based sessions
- PM session
- BA session
- UI/UX session
- Developer session
- QA session
Option 2: stage/group-based sessions
- Plan session
- Action / Builder session
- Test / Fix session
For OSP Portal, Option 2 is better. Role-based rooms are useful for thinking, but stage-based rooms are easier to ship with.
Option 1 is good for thinking. Option 2 is good for shipping.
The tmux cockpit
The session is named osp.
osp
├── 0: orchestrator
├── 1: role-meeting
├── 2: builder
├── 3: tester-fixer
├── 4: dev-server
├── 5: checks
└── 6: handoff
cmuxThe outer OSP workspace cockpit.
tmuxThe durable terminal workbench.
CodexThe coding agent used inside each stage.
What each window is for
- 0: orchestrator — command center for git status, branches, direction, and human judgment.
- 1: role-meeting — PM + BA + UX/product thinking. It plans before code changes.
- 2: builder — implementation room. It reads the approved plan and changes only the scoped work.
- 3: tester-fixer — QA room. It inspects the diff, runs checks, and fixes only related safe issues.
- 4: dev-server — keeps
npm run dev alive. OSP runs on localhost:3002. - 5: checks — manual verification room for lint, tests, and build.
- 6: handoff — shared notebook room for
.agent-handoff/*.md reports.
Session, window, pane
session = house
window = room
pane = desk / lego block inside the room
Opening a new pane does not create a new session. It only creates another desk inside the same room.
Use windows for workflow stages, and panes for side-by-side work inside one stage.
The Ctrl+Space shortcut issue
tmux is configured with Ctrl+Space as primary prefix and Ctrl+b as backup prefix.
macOS also uses Ctrl+Space for input-source switching, so the practical key for now is:
Ctrl+b
Hye's cheat sheet
Ctrl+b 0 orchestrator
Ctrl+b 1 role-meeting
Ctrl+b 2 builder
Ctrl+b 3 tester-fixer
Ctrl+b 4 dev-server
Ctrl+b 5 checks
Ctrl+b 6 handoff
Ctrl+b n next window
Ctrl+b p previous window
Ctrl+b % vertical split
Ctrl+b " horizontal split
Ctrl+b arrows move pane
Ctrl+b x close pane
Ctrl+b d detach
tmux attach -t osp re-enter the session
Recommended OSP working order
1. Ctrl+b 1 → role-meeting
2. codex exec -o .agent-handoff/01-plan.md < .agent-prompts/01-role-meeting.md
3. Ctrl+b 6 → review 01-plan.md
4. Ctrl+b 2 → builder
5. codex exec --full-auto -o .agent-handoff/02-build-report.md < .agent-prompts/02-builder.md
6. Ctrl+b 3 → tester-fixer
7. codex exec --full-auto -o .agent-handoff/03-test-fix-report.md < .agent-prompts/03-tester-fixer.md
8. Ctrl+b 5 → final checks
9. Ctrl+b 0 → git status / diff
Useful tips for Hye
- Do not start from Builder. For OSP, planning first is safer because business rules and UI behavior are mixed together.
- A pane is only another desk. It does not automatically become a separate agent role.
- Do not casually stop dev-server. If preview breaks, check window 4 first.
- Handoff files are the shared notebook. Agents inherit work through
.agent-handoff/*.md, not telepathy. - Checks are the safety gate. Even if Codex says success, run a final build or test.
- Use Ctrl+b today.
Ctrl+Space conflicts with macOS.
cmux is the cockpit, tmux is the OSP workshop, windows are workflow stages, and panes are desks.
Hye plans in 1, builds in 2, doubts in 3, and verifies in 5.