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-18
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Why

- The design-match lane needs a reusable fleet-ui action sheet matching the design-C grouped/cancel surface so later integration can open destructive or contextual pane actions without editing the overlay monolith.

## What Changes

- Adds `fleet_ui::action_sheet_overlay` with grouped action rows, warning/destructive tones, selected-row state, bottom anchoring, a separate cancel card, hairline dividers, and a focused inline snapshot test.
- Exports the module from `fleet-ui/src/lib.rs`.

## Impact

- Affects only the shared `fleet-ui` crate. The new module is not wired into runtime binaries in this lane.
- Verification: `RUSTC_WRAPPER= cargo test -p fleet-ui --lib`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## ADDED Requirements

### Requirement: Reusable Design-C Action Sheet
The `fleet-ui` crate SHALL expose a reusable action sheet overlay module for grouped contextual actions.

#### Scenario: Rendering grouped actions
- **WHEN** an `ActionSheet` is rendered with one or more `ActionGroup` values
- **THEN** the sheet is bottom anchored inside the provided frame
- **AND** action rows are separated by hairline dividers
- **AND** the cancel action is rendered in a separate card below the action group.

#### Scenario: Rendering destructive and selected actions
- **WHEN** an action item is marked destructive
- **THEN** the item uses the iOS destructive red treatment.
- **WHEN** an action row or cancel row is selected
- **THEN** the selected surface uses the iOS tint treatment without changing row height.
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-design-c-port-action-sheet-overlay-2026-05-18-14-15`; branch=`agent/codex/design-c-port-action-sheet-overlay-2026-05-18-14-15`; scope=`fleet-ui action_sheet_overlay`; action=`finish cleanup after PR merge`.
- Copy prompt: Continue `agent-codex-design-c-port-action-sheet-overlay-2026-05-18-14-15` on branch `agent/codex/design-c-port-action-sheet-overlay-2026-05-18-14-15`. Work inside the existing sandbox, review `openspec/changes/agent-codex-design-c-port-action-sheet-overlay-2026-05-18-14-15/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/codex/design-c-port-action-sheet-overlay-2026-05-18-14-15 --base main --via-pr --cleanup`.

## 1. Specification

- [x] 1.1 Finalize proposal scope and acceptance criteria for `agent-codex-design-c-port-action-sheet-overlay-2026-05-18-14-15`.
- [x] 1.2 Define normative requirements in `specs/design-c-port-action-sheet-overlay/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: `RUSTC_WRAPPER= cargo test -p fleet-ui --lib`.
- [x] 3.2 Run `openspec validate agent-codex-design-c-port-action-sheet-overlay-2026-05-18-14-15 --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).
Loading