diff --git a/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/.openspec.yaml b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/.openspec.yaml new file mode 100644 index 0000000..9f70866 --- /dev/null +++ b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/.openspec.yaml @@ -0,0 +1,2 @@ +schema: spec-driven +created: 2026-05-15 diff --git a/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/proposal.md b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/proposal.md new file mode 100644 index 0000000..7a38180 --- /dev/null +++ b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/proposal.md @@ -0,0 +1,21 @@ +## Why + +- The SessionSwitcher overlay should expose the expected action row as readable + iOS-style controls, not icon-only controls on wide cards. +- The active card needs enough width for labelled actions without clipping while + preserving the compact fallback for narrow terminals. + +## What Changes + +- Widen the selected session card so the active stack card can carry full action + labels. +- Render `Queue`, `Pause`, and `Kill` labels on spacious cards, keeping compact + symbols only when the card is too narrow. +- Extend the existing SessionSwitcher render test to assert the full labelled + action row. + +## Impact + +- Scope is limited to `rust/fleet-ui/src/session_switcher_overlay.rs`. +- Existing public structs and module exports remain unchanged. +- Verification uses the focused `fleet-ui` SessionSwitcher test filter. diff --git a/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/specs/sessionswitcher-overlay-port/spec.md b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/specs/sessionswitcher-overlay-port/spec.md new file mode 100644 index 0000000..6e9b245 --- /dev/null +++ b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/specs/sessionswitcher-overlay-port/spec.md @@ -0,0 +1,16 @@ +## ADDED Requirements + +### Requirement: SessionSwitcher Action Row Labels +The SessionSwitcher overlay SHALL show readable action labels on the selected +session card when there is enough card width. + +#### Scenario: Spacious selected card shows full actions +- **WHEN** the SessionSwitcher renders on a wide terminal +- **THEN** the selected card shows `Focus`, `Queue`, `Pause`, and `Kill` action + controls. + +#### Scenario: Narrow cards remain compact +- **WHEN** the SessionSwitcher renders on a narrow terminal +- **THEN** secondary action controls may use compact symbols instead of full + labels +- **AND** the controls do not overflow the card. diff --git a/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/tasks.md b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/tasks.md new file mode 100644 index 0000000..ae4be68 --- /dev/null +++ b/openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/tasks.md @@ -0,0 +1,34 @@ +## Definition of Done + +This change is complete only when **all** of the following are true: + +- Every checkbox below is checked. +- The agent branch reaches `MERGED` state on `origin` and the PR URL + state are recorded in the completion handoff. +- If any step blocks (test failure, conflict, ambiguous result), append a `BLOCKED:` line under section 4 explaining the blocker and **STOP**. Do not tick remaining cleanup boxes; do not silently skip the cleanup pipeline. + +## Handoff + +- Handoff: change=`agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36`; branch=`agent//`; scope=`TODO`; action=`continue this sandbox or finish cleanup after a usage-limit/manual takeover`. +- Copy prompt: Continue `agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36` on branch `agent//`. Work inside the existing sandbox, review `openspec/changes/agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36/tasks.md`, continue from the current state instead of creating a new sandbox, and when the work is done run `gx branch finish --branch agent// --base dev --via-pr --wait-for-merge --cleanup`. + +## 1. Specification + +- [x] 1.1 Finalize proposal scope and acceptance criteria for `agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36`. +- [x] 1.2 Define normative requirements in `specs/sessionswitcher-overlay-port/spec.md`. + +## 2. Implementation + +- [x] 2.1 Implement scoped behavior changes. +- [x] 2.2 Add/update focused regression coverage. + +## 3. Verification + +- [x] 3.1 Run targeted project verification commands. +- [x] 3.2 Run `openspec validate agent-codex-sessionswitcher-overlay-port-2026-05-15-14-36 --type change --strict`. +- [x] 3.3 Run `openspec validate --specs`. + +## 4. Cleanup (mandatory; run before claiming completion) + +- [ ] 4.1 Run the cleanup pipeline: `gx branch finish --branch agent// --base dev --via-pr --wait-for-merge --cleanup`. This handles commit -> push -> PR create -> merge wait -> worktree prune in one invocation. +- [ ] 4.2 Record the PR URL and final merge state (`MERGED`) in the completion handoff. +- [ ] 4.3 Confirm the sandbox worktree is gone (`git worktree list` no longer shows the agent path; `git branch -a` shows no surviving local/remote refs for the branch). diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/README.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/README.md new file mode 100644 index 0000000..355ad31 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/README.md @@ -0,0 +1,30 @@ +# Plan Workspace: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 + +This folder stores durable planning artifacts before implementation changes. + +## Shared files +- `summary.md` +- `checkpoints.md` +- `phases.md` +- `open-questions.md` +- `coordinator-prompt.md` +- `kickoff-prompts.md` + +## Role folders +- `planner/` +- `architect/` +- `critic/` +- `executor/` +- `writer/` +- `verifier/` + +When Codex or Claude hits an unresolved question that should survive chat, add it to `open-questions.md` as an unchecked `- [ ]` item. + +Each role folder contains OpenSpec-style artifacts: +- `.openspec.yaml` +- `prompt.md` (copy/paste role prompt) +- `proposal.md` +- `tasks.md` (Spec / Tests / Implementation / Checkpoints checklists) +- `specs//spec.md` +Planner also gets `plan.md`; executor also gets `checkpoints.md`. +Planner plans should follow `openspec/plan/PLANS.md`. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/.openspec.yaml b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/.openspec.yaml new file mode 100644 index 0000000..7e3976d --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/.openspec.yaml @@ -0,0 +1,9 @@ +schema: 1 +plan: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 +role: architect +status: draft +artifacts: + prompt: prompt.md + proposal: proposal.md + tasks: tasks.md + spec: specs/architect/spec.md diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/README.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/README.md new file mode 100644 index 0000000..1e1c275 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/README.md @@ -0,0 +1,12 @@ +# architect + +Role workspace for `architect`. + +Default artifacts: +- `.openspec.yaml` +- `prompt.md` +- `proposal.md` +- `tasks.md` +- `specs//spec.md` + +Use this folder for role notes, artifacts, and status updates. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/prompt.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/prompt.md new file mode 100644 index 0000000..2e35f52 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/prompt.md @@ -0,0 +1,34 @@ +# architect Prompt + +You are the `architect` role for OpenSpec plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## Objective + +Complete only this role's assigned checklist and leave compact evidence for the coordinator. + +## Source of truth + +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/tasks.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/proposal.md` + +## Before edits + +1. Confirm branch/worktree with `git status --short --branch`. +2. Claim every touched file before editing: + - Prefer Colony `task_claim_file` when an active task exists. + - Otherwise run `gx locks claim --branch `. +3. Stay inside assigned files/modules; coordinate before touching shared paths. + +## Working rules + +- Update `architect/tasks.md` as each item completes. +- Record durable unresolved questions in `open-questions.md`. +- Keep handoffs short: files changed, behavior touched, verification, risks. +- Do not revert another agent's edits. + +## Cleanup + +Only the owner/finalizer lane runs `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/proposal.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/proposal.md new file mode 100644 index 0000000..2362262 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/proposal.md @@ -0,0 +1,15 @@ +# Proposal: architect (agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36) + +## Why + +Summarize why this role's work is required for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## What Changes + +- [ ] List the planned role-specific changes + +## Impact + +- Scope: +- Risks: +- Dependencies: diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/specs/architect/spec.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/specs/architect/spec.md new file mode 100644 index 0000000..f1e70e6 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/specs/architect/spec.md @@ -0,0 +1,10 @@ +# Capability Spec: architect + +## ADDED Requirements + +### Requirement: architect responsibilities for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +This role MUST define and deliver its scoped outputs with evidence. + +#### Scenario: Role executes assigned scope +- **WHEN** the role begins execution for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- **THEN** it follows `tasks.md` and records evidence for completion diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/tasks.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/tasks.md new file mode 100644 index 0000000..49fe4c5 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/architect/tasks.md @@ -0,0 +1,33 @@ +# architect tasks + +## 1. Spec + +- [ ] 1.1 Define ownership boundaries, interfaces, and artifact responsibilities for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- [ ] 1.2 Validate architecture constraints and non-functional requirements coverage + +## 2. Tests + +- [ ] 2.1 Define architectural verification checkpoints (integration boundaries, failure modes, compatibility) +- [ ] 2.2 Validate that acceptance criteria map to concrete architecture decisions + +## 3. Implementation + +- [ ] 3.1 Review plan for strongest antithesis/tradeoff tensions +- [ ] 3.2 Propose synthesis path and guardrails for implementation teams +- [ ] 3.3 Record architecture sign-off notes for downstream execution + +## 4. Checkpoints + +- [ ] [A1] READY - Architecture review checkpoint + +## 5. Collaboration + +- [ ] 5.1 Owner recorded this lane before edits. +- [ ] 5.2 Record joined agents / handoffs, or mark `N/A` when solo. +- [ ] 5.3 Record unresolved plan questions in `../open-questions.md`, or mark `N/A` when none. + +## 6. Cleanup + +- [ ] 6.1 If this lane owns finalization, run `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. +- [ ] 6.2 Record PR URL + final `MERGED` state in the handoff. +- [ ] 6.3 Confirm sandbox cleanup (`git worktree list`, `git branch -a`) or append `BLOCKED:` and stop. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md new file mode 100644 index 0000000..5db5801 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md @@ -0,0 +1,4 @@ +# Plan Checkpoints: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 + +Chronological checkpoint log for all roles. + diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/coordinator-prompt.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/coordinator-prompt.md new file mode 100644 index 0000000..2832363 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/coordinator-prompt.md @@ -0,0 +1,41 @@ +# Master Coordinator Prompt + +You are the coordinator for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## Objective + +Drive this plan from draft to execution-ready status with strict checkpoint discipline and no scope drift. + +## Source-of-truth artifacts + +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/plan.md` +- role `prompt.md` files for copy/paste helper startup +- role `tasks.md` files for planner/architect/critic/executor/writer/verifier + +## Coordinator responsibilities + +1. Keep checkpoints current in each role `tasks.md` and root `checkpoints.md`. +2. Route unresolved questions and branching decisions into `open-questions.md`. +3. Ensure each role has explicit acceptance criteria and verification evidence. +4. Prevent implementation from starting before planning gates are complete. +5. Keep handoffs concise: files changed, behavior touched, verification output, risks. + +## Wave-splitting decision (optional) + +Create wave prompts in `kickoff-prompts.md` only when at least one applies: + +- 3+ independent implementation lanes can run in parallel. +- Runtime cutover/rollback sequencing needs explicit lane ownership. +- Risk is high enough that bounded execution packets reduce coordination mistakes. + +If wave splitting is not needed, keep execution under a single owner with normal role checkpoints. + +## Exit criteria + +- All role checkpoints required for planning are done. +- Execution lanes (if any) have clear ownership boundaries. +- `open-questions.md` captures unresolved decisions that still need answers. +- Verification plan and rollback expectations are explicit and testable. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/.openspec.yaml b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/.openspec.yaml new file mode 100644 index 0000000..c6ce740 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/.openspec.yaml @@ -0,0 +1,9 @@ +schema: 1 +plan: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 +role: critic +status: draft +artifacts: + prompt: prompt.md + proposal: proposal.md + tasks: tasks.md + spec: specs/critic/spec.md diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/README.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/README.md new file mode 100644 index 0000000..5b5c877 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/README.md @@ -0,0 +1,12 @@ +# critic + +Role workspace for `critic`. + +Default artifacts: +- `.openspec.yaml` +- `prompt.md` +- `proposal.md` +- `tasks.md` +- `specs//spec.md` + +Use this folder for role notes, artifacts, and status updates. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/prompt.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/prompt.md new file mode 100644 index 0000000..a2e9fb5 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/prompt.md @@ -0,0 +1,34 @@ +# critic Prompt + +You are the `critic` role for OpenSpec plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## Objective + +Complete only this role's assigned checklist and leave compact evidence for the coordinator. + +## Source of truth + +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/tasks.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/proposal.md` + +## Before edits + +1. Confirm branch/worktree with `git status --short --branch`. +2. Claim every touched file before editing: + - Prefer Colony `task_claim_file` when an active task exists. + - Otherwise run `gx locks claim --branch `. +3. Stay inside assigned files/modules; coordinate before touching shared paths. + +## Working rules + +- Update `critic/tasks.md` as each item completes. +- Record durable unresolved questions in `open-questions.md`. +- Keep handoffs short: files changed, behavior touched, verification, risks. +- Do not revert another agent's edits. + +## Cleanup + +Only the owner/finalizer lane runs `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/proposal.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/proposal.md new file mode 100644 index 0000000..ad21e55 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/proposal.md @@ -0,0 +1,15 @@ +# Proposal: critic (agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36) + +## Why + +Summarize why this role's work is required for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## What Changes + +- [ ] List the planned role-specific changes + +## Impact + +- Scope: +- Risks: +- Dependencies: diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/specs/critic/spec.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/specs/critic/spec.md new file mode 100644 index 0000000..241d263 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/specs/critic/spec.md @@ -0,0 +1,10 @@ +# Capability Spec: critic + +## ADDED Requirements + +### Requirement: critic responsibilities for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +This role MUST define and deliver its scoped outputs with evidence. + +#### Scenario: Role executes assigned scope +- **WHEN** the role begins execution for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- **THEN** it follows `tasks.md` and records evidence for completion diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/tasks.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/tasks.md new file mode 100644 index 0000000..6b455a2 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/critic/tasks.md @@ -0,0 +1,33 @@ +# critic tasks + +## 1. Spec + +- [ ] 1.1 Validate principle-driver-option consistency across the plan +- [ ] 1.2 Validate risks, consequences, and mitigation clarity (including idempotency expectations) + +## 2. Tests + +- [ ] 2.1 Validate testability and measurability of all acceptance criteria +- [ ] 2.2 Validate verification steps are concrete and reproducible + +## 3. Implementation + +- [ ] 3.1 Produce verdict (APPROVE / ITERATE / REJECT) with actionable feedback +- [ ] 3.2 Confirm revised drafts resolve prior findings before approval +- [ ] 3.3 Publish final quality/risk sign-off notes + +## 4. Checkpoints + +- [ ] [C1] READY - Quality gate checkpoint + +## 5. Collaboration + +- [ ] 5.1 Owner recorded this lane before edits. +- [ ] 5.2 Record joined agents / handoffs, or mark `N/A` when solo. +- [ ] 5.3 Record unresolved plan questions in `../open-questions.md`, or mark `N/A` when none. + +## 6. Cleanup + +- [ ] 6.1 If this lane owns finalization, run `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. +- [ ] 6.2 Record PR URL + final `MERGED` state in the handoff. +- [ ] 6.3 Confirm sandbox cleanup (`git worktree list`, `git branch -a`) or append `BLOCKED:` and stop. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/.openspec.yaml b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/.openspec.yaml new file mode 100644 index 0000000..cffeb2f --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/.openspec.yaml @@ -0,0 +1,9 @@ +schema: 1 +plan: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 +role: executor +status: draft +artifacts: + prompt: prompt.md + proposal: proposal.md + tasks: tasks.md + spec: specs/executor/spec.md diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/README.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/README.md new file mode 100644 index 0000000..62b95ee --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/README.md @@ -0,0 +1,12 @@ +# executor + +Role workspace for `executor`. + +Default artifacts: +- `.openspec.yaml` +- `prompt.md` +- `proposal.md` +- `tasks.md` +- `specs//spec.md` + +Use this folder for role notes, artifacts, and status updates. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/checkpoints.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/checkpoints.md new file mode 100644 index 0000000..c87c5c4 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/checkpoints.md @@ -0,0 +1,4 @@ +# executor checkpoints + +Timestamped execution checkpoints for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/prompt.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/prompt.md new file mode 100644 index 0000000..2c0c168 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/prompt.md @@ -0,0 +1,34 @@ +# executor Prompt + +You are the `executor` role for OpenSpec plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## Objective + +Complete only this role's assigned checklist and leave compact evidence for the coordinator. + +## Source of truth + +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/tasks.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/proposal.md` + +## Before edits + +1. Confirm branch/worktree with `git status --short --branch`. +2. Claim every touched file before editing: + - Prefer Colony `task_claim_file` when an active task exists. + - Otherwise run `gx locks claim --branch `. +3. Stay inside assigned files/modules; coordinate before touching shared paths. + +## Working rules + +- Update `executor/tasks.md` as each item completes. +- Record durable unresolved questions in `open-questions.md`. +- Keep handoffs short: files changed, behavior touched, verification, risks. +- Do not revert another agent's edits. + +## Cleanup + +Only the owner/finalizer lane runs `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/proposal.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/proposal.md new file mode 100644 index 0000000..4257448 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/proposal.md @@ -0,0 +1,15 @@ +# Proposal: executor (agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36) + +## Why + +Summarize why this role's work is required for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## What Changes + +- [ ] List the planned role-specific changes + +## Impact + +- Scope: +- Risks: +- Dependencies: diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/specs/executor/spec.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/specs/executor/spec.md new file mode 100644 index 0000000..b76f9d6 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/specs/executor/spec.md @@ -0,0 +1,10 @@ +# Capability Spec: executor + +## ADDED Requirements + +### Requirement: executor responsibilities for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +This role MUST define and deliver its scoped outputs with evidence. + +#### Scenario: Role executes assigned scope +- **WHEN** the role begins execution for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- **THEN** it follows `tasks.md` and records evidence for completion diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/tasks.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/tasks.md new file mode 100644 index 0000000..062ff29 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/executor/tasks.md @@ -0,0 +1,33 @@ +# executor tasks + +## 1. Spec + +- [ ] 1.1 Map approved plan requirements to concrete implementation work items +- [ ] 1.2 Validate touched components/files are explicitly listed before coding starts + +## 2. Tests + +- [ ] 2.1 Define test additions/updates required to lock intended behavior +- [ ] 2.2 Validate regression and smoke verification commands for delivery + +## 3. Implementation + +- [ ] 3.1 Execute implementation tasks in approved order +- [ ] 3.2 Keep progress and evidence linked back to plan checkpoints +- [ ] 3.3 Complete final verification bundle for handoff + +## 4. Checkpoints + +- [ ] [E1] READY - Execution start checkpoint + +## 5. Collaboration + +- [ ] 5.1 Owner recorded this lane before edits. +- [ ] 5.2 Record joined agents / handoffs, or mark `N/A` when solo. +- [ ] 5.3 Record unresolved plan questions in `../open-questions.md`, or mark `N/A` when none. + +## 6. Cleanup + +- [ ] 6.1 If this lane owns finalization, run `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. +- [ ] 6.2 Record PR URL + final `MERGED` state in the handoff. +- [ ] 6.3 Confirm sandbox cleanup (`git worktree list`, `git branch -a`) or append `BLOCKED:` and stop. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/kickoff-prompts.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/kickoff-prompts.md new file mode 100644 index 0000000..7b6db25 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/kickoff-prompts.md @@ -0,0 +1,108 @@ +# Kickoff Prompts (Copy/Paste) + +Use these only when the coordinator decides wave-splitting is needed. + +## Prompt A — Wave A (Primary lane) + +```text +You own Wave-A for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` in /home/deadpool/Documents/codex-lb. + +Goal: +Implement the assigned Wave-A scope and return verification evidence. + +Hard constraints: +- You are not alone in the codebase; do not revert others' work. +- Stay in your owned files/modules only. +- Record explicit handoff notes for integration. + +Owned scope: +- + +Verification: +- + +Handoff format: +- Files changed +- Behavior touched +- Verification outputs +- Risks/follow-ups +``` + +## Prompt B — Wave B (Secondary lane) + +```text +You own Wave-B for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` in /home/deadpool/Documents/codex-lb. + +Goal: +Implement the assigned Wave-B scope and return verification evidence. + +Hard constraints: +- You are not alone in the codebase; do not revert others' work. +- Stay in your owned files/modules only. +- Record explicit handoff notes for integration. + +Owned scope: +- + +Verification: +- + +Handoff format: +- Files changed +- Behavior touched +- Verification outputs +- Risks/follow-ups +``` + +## Prompt C — Wave C (Secondary lane) + +```text +You own Wave-C for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` in /home/deadpool/Documents/codex-lb. + +Goal: +Implement the assigned Wave-C scope and return verification evidence. + +Hard constraints: +- You are not alone in the codebase; do not revert others' work. +- Stay in your owned files/modules only. +- Record explicit handoff notes for integration. + +Owned scope: +- + +Verification: +- + +Handoff format: +- Files changed +- Behavior touched +- Verification outputs +- Risks/follow-ups +``` + +## Prompt D — Integrator lane + +```text +You are the integrator for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` in /home/deadpool/Documents/codex-lb. + +Goal: +Integrate completed waves, resolve conflicts, run final verification, and prepare rollout/cutover notes. + +Hard constraints: +- You are not alone in the codebase; do not revert others' work. +- Preserve safety-critical behavior unless explicitly planned and tested. +- Keep final output evidence-first. + +Owned scope: +- integration glue and shared touchpoints +- final validation + handoff summary + +Verification: +- + +Final report: +- Files changed +- Integration decisions +- Verification outputs +- Remaining risks +``` diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md new file mode 100644 index 0000000..35153a1 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md @@ -0,0 +1,6 @@ +# Open Questions: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 + +Capture unresolved plan questions here as unchecked checklist items. +Keep each item concrete, decision-shaped, and easy to close with evidence. + +- [ ] Add the next unresolved question here. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/phases.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/phases.md new file mode 100644 index 0000000..c8b7c51 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/phases.md @@ -0,0 +1,15 @@ +# Plan Phases: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 + +One entry per phase. Checkbox marks map to: `x` = completed, `>` = in progress, space = pending. +Indented sub-bullets are optional metadata consumed by the Plans UI: + +- `session`: which agent kind runs the phase (`codex` / `claude`). +- `checkpoints`: comma-separated role checkpoint ids delivered within the phase. +- `summary`: one short sentence rendered under the phase title. + +One phase is intended to fit into a single Codex or Claude session task. + +- [ ] [PH01] First milestone title goes here + - session: codex + - checkpoints: P1, A1 + - summary: Describe the single session outcome expected for this phase. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/.openspec.yaml b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/.openspec.yaml new file mode 100644 index 0000000..a343fc3 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/.openspec.yaml @@ -0,0 +1,9 @@ +schema: 1 +plan: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 +role: planner +status: draft +artifacts: + prompt: prompt.md + proposal: proposal.md + tasks: tasks.md + spec: specs/planner/spec.md diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/README.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/README.md new file mode 100644 index 0000000..1b0ad5d --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/README.md @@ -0,0 +1,12 @@ +# planner + +Role workspace for `planner`. + +Default artifacts: +- `.openspec.yaml` +- `prompt.md` +- `proposal.md` +- `tasks.md` +- `specs//spec.md` + +Use this folder for role notes, artifacts, and status updates. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/plan.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/plan.md new file mode 100644 index 0000000..7320b2a --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/plan.md @@ -0,0 +1,65 @@ +# ExecPlan: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 + +This ExecPlan is a living document. Keep `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` current as work proceeds. + +Follow repository guidance in `openspec/plan/PLANS.md`. + +## Purpose / Big Picture + +Describe what becomes possible after this plan is executed and how a user/operator can observe it working. + +## Progress + +- [ ] (YYYY-MM-DD HH:MMZ) Capture initial scope and acceptance criteria. +- [ ] (YYYY-MM-DD HH:MMZ) Draft architecture/tradeoff plan and verification strategy. +- [ ] (YYYY-MM-DD HH:MMZ) Finalize execution-ready handoff. + +## Surprises & Discoveries + +- Observation: _none yet_ + Evidence: _n/a_ + +## Decision Log + +- Decision: Use OpenSpec plan workspace as source of truth for this planning cycle. + Rationale: Keeps planning artifacts in-repo and reviewable. + Date/Author: YYYY-MM-DD / planner + +## Outcomes & Retrospective + +Summarize outcomes, gaps, and lessons learned when a milestone or the full plan is completed. + +## Context and Orientation + +Describe relevant modules, files, constraints, and assumptions for a newcomer. Use repository-relative paths. + +## Plan of Work + +Describe the sequence of edits and deliverables in prose. Name target files and expected effects. + +## Concrete Steps + +List exact commands with working directory and short expected outcomes. + + cd /home/deadpool/Documents/codex-lb + openspec validate --specs + +## Validation and Acceptance + +State observable behavior and verification evidence required before execution handoff. + +## Idempotence and Recovery + +Document safe re-run behavior, rollback strategy, and failure recovery notes. + +## Artifacts and Notes + +Capture concise command output snippets, evidence pointers, and references. + +## Interfaces and Dependencies + +Name concrete interfaces/modules/dependencies and any required signatures/contracts. + +## Revision Note + +- YYYY-MM-DD HH:MMZ: Initial scaffold generated by `scripts/openspec/init-plan-workspace.sh`. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/prompt.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/prompt.md new file mode 100644 index 0000000..eb349e8 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/prompt.md @@ -0,0 +1,34 @@ +# planner Prompt + +You are the `planner` role for OpenSpec plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## Objective + +Complete only this role's assigned checklist and leave compact evidence for the coordinator. + +## Source of truth + +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/tasks.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/proposal.md` + +## Before edits + +1. Confirm branch/worktree with `git status --short --branch`. +2. Claim every touched file before editing: + - Prefer Colony `task_claim_file` when an active task exists. + - Otherwise run `gx locks claim --branch `. +3. Stay inside assigned files/modules; coordinate before touching shared paths. + +## Working rules + +- Update `planner/tasks.md` as each item completes. +- Record durable unresolved questions in `open-questions.md`. +- Keep handoffs short: files changed, behavior touched, verification, risks. +- Do not revert another agent's edits. + +## Cleanup + +Only the owner/finalizer lane runs `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/proposal.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/proposal.md new file mode 100644 index 0000000..a6d3e06 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/proposal.md @@ -0,0 +1,15 @@ +# Proposal: planner (agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36) + +## Why + +Summarize why this role's work is required for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## What Changes + +- [ ] List the planned role-specific changes + +## Impact + +- Scope: +- Risks: +- Dependencies: diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/specs/planner/spec.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/specs/planner/spec.md new file mode 100644 index 0000000..7f56458 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/specs/planner/spec.md @@ -0,0 +1,10 @@ +# Capability Spec: planner + +## ADDED Requirements + +### Requirement: planner responsibilities for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +This role MUST define and deliver its scoped outputs with evidence. + +#### Scenario: Role executes assigned scope +- **WHEN** the role begins execution for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- **THEN** it follows `tasks.md` and records evidence for completion diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/tasks.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/tasks.md new file mode 100644 index 0000000..1f542f1 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/planner/tasks.md @@ -0,0 +1,33 @@ +# planner tasks + +## 1. Spec + +- [ ] 1.1 Define planning principles, decision drivers, and viable options for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- [ ] 1.2 Validate that scope, constraints, and acceptance criteria are captured in `summary.md` + +## 2. Tests + +- [ ] 2.1 Define verification approach for plan quality (traceability, testability, evidence expectations) +- [ ] 2.2 Validate OpenSpec consistency checkpoints (including `openspec validate --specs` when applicable) + +## 3. Implementation + +- [ ] 3.1 Produce the initial RALPLAN-DR plan draft +- [ ] 3.2 Integrate Architect/Critic feedback into revised plan iterations +- [ ] 3.3 Publish final planning handoff with explicit execution lanes + +## 4. Checkpoints + +- [ ] [P1] READY - Initial planning draft checkpoint + +## 5. Collaboration + +- [ ] 5.1 Owner recorded this lane before edits. +- [ ] 5.2 Record joined agents / handoffs, or mark `N/A` when solo. +- [ ] 5.3 Record unresolved plan questions in `../open-questions.md`, or mark `N/A` when none. + +## 6. Cleanup + +- [ ] 6.1 If this lane owns finalization, run `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. +- [ ] 6.2 Record PR URL + final `MERGED` state in the handoff. +- [ ] 6.3 Confirm sandbox cleanup (`git worktree list`, `git branch -a`) or append `BLOCKED:` and stop. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md new file mode 100644 index 0000000..94b0608 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md @@ -0,0 +1,8 @@ +# Plan Summary: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 + +- **Mode:** ralplan +- **Status:** draft + +## Context + +Describe the planning context, constraints, and desired outcomes. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/.openspec.yaml b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/.openspec.yaml new file mode 100644 index 0000000..9dccfc4 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/.openspec.yaml @@ -0,0 +1,9 @@ +schema: 1 +plan: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 +role: verifier +status: draft +artifacts: + prompt: prompt.md + proposal: proposal.md + tasks: tasks.md + spec: specs/verifier/spec.md diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/README.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/README.md new file mode 100644 index 0000000..1daa373 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/README.md @@ -0,0 +1,12 @@ +# verifier + +Role workspace for `verifier`. + +Default artifacts: +- `.openspec.yaml` +- `prompt.md` +- `proposal.md` +- `tasks.md` +- `specs//spec.md` + +Use this folder for role notes, artifacts, and status updates. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/prompt.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/prompt.md new file mode 100644 index 0000000..0f11bcf --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/prompt.md @@ -0,0 +1,34 @@ +# verifier Prompt + +You are the `verifier` role for OpenSpec plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## Objective + +Complete only this role's assigned checklist and leave compact evidence for the coordinator. + +## Source of truth + +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/tasks.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/proposal.md` + +## Before edits + +1. Confirm branch/worktree with `git status --short --branch`. +2. Claim every touched file before editing: + - Prefer Colony `task_claim_file` when an active task exists. + - Otherwise run `gx locks claim --branch `. +3. Stay inside assigned files/modules; coordinate before touching shared paths. + +## Working rules + +- Update `verifier/tasks.md` as each item completes. +- Record durable unresolved questions in `open-questions.md`. +- Keep handoffs short: files changed, behavior touched, verification, risks. +- Do not revert another agent's edits. + +## Cleanup + +Only the owner/finalizer lane runs `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/proposal.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/proposal.md new file mode 100644 index 0000000..57f3292 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/proposal.md @@ -0,0 +1,15 @@ +# Proposal: verifier (agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36) + +## Why + +Summarize why this role's work is required for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## What Changes + +- [ ] List the planned role-specific changes + +## Impact + +- Scope: +- Risks: +- Dependencies: diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/specs/verifier/spec.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/specs/verifier/spec.md new file mode 100644 index 0000000..21fc977 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/specs/verifier/spec.md @@ -0,0 +1,10 @@ +# Capability Spec: verifier + +## ADDED Requirements + +### Requirement: verifier responsibilities for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +This role MUST define and deliver its scoped outputs with evidence. + +#### Scenario: Role executes assigned scope +- **WHEN** the role begins execution for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- **THEN** it follows `tasks.md` and records evidence for completion diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/tasks.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/tasks.md new file mode 100644 index 0000000..1ca8597 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/verifier/tasks.md @@ -0,0 +1,33 @@ +# verifier tasks + +## 1. Spec + +- [ ] 1.1 Define end-to-end validation matrix for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- [ ] 1.2 Validate success/failure conditions and evidence requirements + +## 2. Tests + +- [ ] 2.1 Execute verification commands and collect outputs +- [ ] 2.2 Validate idempotency/re-run behavior and error-path handling + +## 3. Implementation + +- [ ] 3.1 Verify completed work against acceptance criteria +- [ ] 3.2 Produce pass/fail findings with concrete evidence links +- [ ] 3.3 Publish final verification sign-off (or blocker report) + +## 4. Checkpoints + +- [ ] [V1] READY - Verification checkpoint + +## 5. Collaboration + +- [ ] 5.1 Owner recorded this lane before edits. +- [ ] 5.2 Record joined agents / handoffs, or mark `N/A` when solo. +- [ ] 5.3 Record unresolved plan questions in `../open-questions.md`, or mark `N/A` when none. + +## 6. Cleanup + +- [ ] 6.1 If this lane owns finalization, run `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. +- [ ] 6.2 Record PR URL + final `MERGED` state in the handoff. +- [ ] 6.3 Confirm sandbox cleanup (`git worktree list`, `git branch -a`) or append `BLOCKED:` and stop. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/.openspec.yaml b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/.openspec.yaml new file mode 100644 index 0000000..b51f30c --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/.openspec.yaml @@ -0,0 +1,9 @@ +schema: 1 +plan: agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36 +role: writer +status: draft +artifacts: + prompt: prompt.md + proposal: proposal.md + tasks: tasks.md + spec: specs/writer/spec.md diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/README.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/README.md new file mode 100644 index 0000000..757c824 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/README.md @@ -0,0 +1,12 @@ +# writer + +Role workspace for `writer`. + +Default artifacts: +- `.openspec.yaml` +- `prompt.md` +- `proposal.md` +- `tasks.md` +- `specs//spec.md` + +Use this folder for role notes, artifacts, and status updates. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/prompt.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/prompt.md new file mode 100644 index 0000000..be5242f --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/prompt.md @@ -0,0 +1,34 @@ +# writer Prompt + +You are the `writer` role for OpenSpec plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## Objective + +Complete only this role's assigned checklist and leave compact evidence for the coordinator. + +## Source of truth + +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/summary.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/checkpoints.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/open-questions.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/tasks.md` +- `openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/proposal.md` + +## Before edits + +1. Confirm branch/worktree with `git status --short --branch`. +2. Claim every touched file before editing: + - Prefer Colony `task_claim_file` when an active task exists. + - Otherwise run `gx locks claim --branch `. +3. Stay inside assigned files/modules; coordinate before touching shared paths. + +## Working rules + +- Update `writer/tasks.md` as each item completes. +- Record durable unresolved questions in `open-questions.md`. +- Keep handoffs short: files changed, behavior touched, verification, risks. +- Do not revert another agent's edits. + +## Cleanup + +Only the owner/finalizer lane runs `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence. diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/proposal.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/proposal.md new file mode 100644 index 0000000..2c1b298 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/proposal.md @@ -0,0 +1,15 @@ +# Proposal: writer (agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36) + +## Why + +Summarize why this role's work is required for plan `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36`. + +## What Changes + +- [ ] List the planned role-specific changes + +## Impact + +- Scope: +- Risks: +- Dependencies: diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/specs/writer/spec.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/specs/writer/spec.md new file mode 100644 index 0000000..73973f0 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/specs/writer/spec.md @@ -0,0 +1,10 @@ +# Capability Spec: writer + +## ADDED Requirements + +### Requirement: writer responsibilities for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +This role MUST define and deliver its scoped outputs with evidence. + +#### Scenario: Role executes assigned scope +- **WHEN** the role begins execution for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- **THEN** it follows `tasks.md` and records evidence for completion diff --git a/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/tasks.md b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/tasks.md new file mode 100644 index 0000000..f1390b2 --- /dev/null +++ b/openspec/plan/agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36/writer/tasks.md @@ -0,0 +1,33 @@ +# writer tasks + +## 1. Spec + +- [ ] 1.1 Validate documentation scope and audience for `agent-codex-masterplan-sessionswitcher-overlay-port-2026-05-15-14-36` +- [ ] 1.2 Validate consistency between plan terminology and OpenSpec artifacts + +## 2. Tests + +- [ ] 2.1 Define documentation verification checklist (accuracy, completeness, command correctness) +- [ ] 2.2 Validate command/help text examples against current workflow behavior + +## 3. Implementation + +- [ ] 3.1 Update workflow docs and command guidance for approved plan behavior +- [ ] 3.2 Add or refine examples for operator usage and handoff clarity +- [ ] 3.3 Publish final docs change summary with references + +## 4. Checkpoints + +- [ ] [W1] READY - Docs update checkpoint + +## 5. Collaboration + +- [ ] 5.1 Owner recorded this lane before edits. +- [ ] 5.2 Record joined agents / handoffs, or mark `N/A` when solo. +- [ ] 5.3 Record unresolved plan questions in `../open-questions.md`, or mark `N/A` when none. + +## 6. Cleanup + +- [ ] 6.1 If this lane owns finalization, run `gx branch finish --branch --base dev --via-pr --wait-for-merge --cleanup`. +- [ ] 6.2 Record PR URL + final `MERGED` state in the handoff. +- [ ] 6.3 Confirm sandbox cleanup (`git worktree list`, `git branch -a`) or append `BLOCKED:` and stop. diff --git a/rust/fleet-ui/src/session_switcher_overlay.rs b/rust/fleet-ui/src/session_switcher_overlay.rs index 975bb19..3036455 100644 --- a/rust/fleet-ui/src/session_switcher_overlay.rs +++ b/rust/fleet-ui/src/session_switcher_overlay.rs @@ -285,7 +285,7 @@ fn render_card_strip(frame: &mut Frame, area: Rect, sessions: &[SessionCard<'_>] let card_h = strip_h.saturating_sub(2).max(8); let card_y = strip_top + (strip_h.saturating_sub(card_h) / 2); let base_w = (area.width / 5).clamp(24, 56); - let active_w = (base_w + 8).min(area.width.saturating_sub(4)); + let active_w = (base_w + 14).min(area.width.saturating_sub(4)); let gap = 2; let mut x = area.x + 2; @@ -514,7 +514,14 @@ fn render_card_actions(frame: &mut Frame, inner: Rect, selected: bool) { CARD_FOOTER, ); - let focus_w = if inner.width > 34 { 13 } else { 9 }; + let spacious_actions = inner.width >= 40; + let focus_w = if spacious_actions { + 10 + } else if inner.width > 34 { + 13 + } else { + 9 + }; let button_y = footer_y; render_action_chip( frame, @@ -529,32 +536,36 @@ fn render_card_actions(frame: &mut Frame, inner: Rect, selected: bool) { IOS_FG, ); let mut x = inner.x + 2 + focus_w + 2; - for (label, bg, fg) in [ - ("☰", IOS_CHIP_BG, IOS_FG), - ("Ⅱ", IOS_CHIP_BG, IOS_FG), - ("⌫", RED_SOFT, IOS_DESTRUCTIVE), - ] { - if x + 4 >= inner.x + inner.width { + let actions: [(&str, u16, Color, Color); 3] = if spacious_actions { + [ + ("Queue", 7, IOS_CHIP_BG, IOS_FG), + ("Pause", 7, IOS_CHIP_BG, IOS_FG), + ("Kill", 6, RED_SOFT, IOS_DESTRUCTIVE), + ] + } else { + [ + ("☰", 4, IOS_CHIP_BG, IOS_FG), + ("Ⅱ", 4, IOS_CHIP_BG, IOS_FG), + ("⌫", 4, RED_SOFT, IOS_DESTRUCTIVE), + ] + }; + for (label, width, bg, fg) in actions { + if x + width > inner.x + inner.width.saturating_sub(1) { break; } - let chip_x = if label == "⌫" { - inner.x + inner.width.saturating_sub(6) - } else { - x - }; render_action_chip( frame, Rect { - x: chip_x, + x, y: button_y, - width: 4, + width, height: 1, }, label, bg, fg, ); - x = x.saturating_add(6); + x = x.saturating_add(width + 2); } } @@ -797,6 +808,9 @@ mod tests { "RUNTIME", "10m 28s", "▣ Focus", + "Queue", + "Pause", + "Kill", "dismiss worker", "new worker", ] {