Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
schema: spec-driven
created: 2026-05-15
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Why

- Fleet dashboards need a shared primitive for painting an inset iOS glass
surface inside an existing rounded card without each binary rebuilding the
same Block chrome.

## What Changes

- Add `fleet_ui::card::card_inner(frame, area, tint)` as an additive helper
that renders a rounded, tinted inner surface with `IOS_HAIRLINE_BORDER`.
- Add focused regression coverage for corner glyphs, hairline color, and
tinted fill.

## Impact

- Public API is additive. Existing card rendering remains unchanged.
- Affects only `rust/fleet-ui/src/card.rs`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## ADDED Requirements

### Requirement: fleet-ui card_inner helper
The `fleet-ui` crate SHALL expose an additive `card_inner(frame, area, tint)` helper that paints an inset iOS glass surface for use inside card content areas.

#### Scenario: Rendering an inner card surface
- **WHEN** `card_inner` renders into a non-empty `Rect`
- **THEN** the rendered surface uses rounded border glyphs
- **AND** its border foreground uses `IOS_HAIRLINE_BORDER`
- **AND** its background uses the caller-provided tint color.

#### Scenario: Empty render area
- **WHEN** `card_inner` receives a zero-width or zero-height `Rect`
- **THEN** it returns without attempting to render.
Original file line number Diff line number Diff line change
@@ -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-ios-card-inner-helper-sub11-2026-05-15-14-36`; branch=`agent/<your-name>/<branch-slug>`; scope=`TODO`; action=`continue this sandbox or finish cleanup after a usage-limit/manual takeover`.
- Copy prompt: Continue `agent-codex-ios-card-inner-helper-sub11-2026-05-15-14-36` on branch `agent/<your-name>/<branch-slug>`. Work inside the existing sandbox, review `openspec/changes/agent-codex-ios-card-inner-helper-sub11-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/<your-name>/<branch-slug> --base dev --via-pr --wait-for-merge --cleanup`.

## 1. Specification

- [x] 1.1 Finalize proposal scope and acceptance criteria for `agent-codex-ios-card-inner-helper-sub11-2026-05-15-14-36`.
- [x] 1.2 Define normative requirements in `specs/ios-card-inner-helper-sub11/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-ios-card-inner-helper-sub11-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/<your-name>/<branch-slug> --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).
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Plan Workspace: agent-codex-masterplan-ios-card-inner-helper-sub11-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/<role>/spec.md`
Planner also gets `plan.md`; executor also gets `checkpoints.md`.
Planner plans should follow `openspec/plan/PLANS.md`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
schema: 1
plan: agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36
role: architect
status: draft
artifacts:
prompt: prompt.md
proposal: proposal.md
tasks: tasks.md
spec: specs/architect/spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# architect

Role workspace for `architect`.

Default artifacts:
- `.openspec.yaml`
- `prompt.md`
- `proposal.md`
- `tasks.md`
- `specs/<role>/spec.md`

Use this folder for role notes, artifacts, and status updates.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# architect Prompt

You are the `architect` role for OpenSpec plan `agent-codex-masterplan-ios-card-inner-helper-sub11-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-ios-card-inner-helper-sub11-2026-05-15-14-36/summary.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/checkpoints.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/open-questions.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/architect/tasks.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-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 <agent-branch> <file...>`.
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 <agent-branch> --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Proposal: architect (agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36)

## Why

Summarize why this role's work is required for plan `agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36`.

## What Changes

- [ ] List the planned role-specific changes

## Impact

- Scope:
- Risks:
- Dependencies:
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Capability Spec: architect

## ADDED Requirements

### Requirement: architect responsibilities for `agent-codex-masterplan-ios-card-inner-helper-sub11-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-ios-card-inner-helper-sub11-2026-05-15-14-36`
- **THEN** it follows `tasks.md` and records evidence for completion
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# architect tasks

## 1. Spec

- [ ] 1.1 Define ownership boundaries, interfaces, and artifact responsibilities for `agent-codex-masterplan-ios-card-inner-helper-sub11-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 <agent-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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Plan Checkpoints: agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36

Chronological checkpoint log for all roles.

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Master Coordinator Prompt

You are the coordinator for plan `agent-codex-masterplan-ios-card-inner-helper-sub11-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-ios-card-inner-helper-sub11-2026-05-15-14-36/summary.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/checkpoints.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/open-questions.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
schema: 1
plan: agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36
role: critic
status: draft
artifacts:
prompt: prompt.md
proposal: proposal.md
tasks: tasks.md
spec: specs/critic/spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# critic

Role workspace for `critic`.

Default artifacts:
- `.openspec.yaml`
- `prompt.md`
- `proposal.md`
- `tasks.md`
- `specs/<role>/spec.md`

Use this folder for role notes, artifacts, and status updates.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# critic Prompt

You are the `critic` role for OpenSpec plan `agent-codex-masterplan-ios-card-inner-helper-sub11-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-ios-card-inner-helper-sub11-2026-05-15-14-36/summary.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/checkpoints.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/open-questions.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36/critic/tasks.md`
- `openspec/plan/agent-codex-masterplan-ios-card-inner-helper-sub11-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 <agent-branch> <file...>`.
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 <agent-branch> --base dev --via-pr --wait-for-merge --cleanup`. If blocked, append `BLOCKED:` with branch, task, blocker, next, evidence.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Proposal: critic (agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36)

## Why

Summarize why this role's work is required for plan `agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36`.

## What Changes

- [ ] List the planned role-specific changes

## Impact

- Scope:
- Risks:
- Dependencies:
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Capability Spec: critic

## ADDED Requirements

### Requirement: critic responsibilities for `agent-codex-masterplan-ios-card-inner-helper-sub11-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-ios-card-inner-helper-sub11-2026-05-15-14-36`
- **THEN** it follows `tasks.md` and records evidence for completion
Original file line number Diff line number Diff line change
@@ -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 <agent-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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
schema: 1
plan: agent-codex-masterplan-ios-card-inner-helper-sub11-2026-05-15-14-36
role: executor
status: draft
artifacts:
prompt: prompt.md
proposal: proposal.md
tasks: tasks.md
spec: specs/executor/spec.md
Loading