feat(pipeline): Braid's own agent work is named agent.*, and fan-out rows sit flush in the spine (#52, #25) #82

Merged
cmoriarty merged 2 commits from feat/spine-names into main 2026-09-27 10:48:04 -04:00
Owner

Implements openspec-flow#52 and openspec-flow#25 (change agent-step-names).

What changes

  • Five step ids move to agent.*: agent.reconcile-tasks, agent.test.unit (and every generated agent.test.<lane>), agent.test.e2e, agent.summarize, agent.review (lenses, .r2, .r3). openspec.* keeps explore, new-change, propose.*, validate, revise, apply and archive.
  • Everywhere at once, as #20 did: nodes.py, apply.py, this repo's .osf/pipeline.yaml, the guide, the fake osfd, the tests. Comments quoting a measured run keep that run's id.
  • Recorded runs still read: the UI's phase, purpose and loop tables keep the old ids (the fixture's run_loop stays on them to prove it).
  • Review loop rows read agent.review and openspec.revise.
  • Fan-out rows sit flush; the node name gives way first and the [key] stays whole.

BREAKING: runs started before the deploy cannot continue; a repository's own .osf/pipeline.yaml with the old ids keeps running them under those names.

Verification

Full lane after rebasing onto #80: backend 1799, UI unit 428, browser 95 (including @live). Checked in a real browser at 1024px on a new run and a recorded one.

🤖 Generated with Claude Code

Implements openspec-flow#52 and openspec-flow#25 (change `agent-step-names`). ## What changes - **Five step ids move to `agent.*`**: `agent.reconcile-tasks`, `agent.test.unit` (and every generated `agent.test.<lane>`), `agent.test.e2e`, `agent.summarize`, `agent.review` (lenses, `.r2`, `.r3`). `openspec.*` keeps explore, new-change, propose.*, validate, revise, apply and archive. - **Everywhere at once**, as #20 did: `nodes.py`, `apply.py`, this repo's `.osf/pipeline.yaml`, the guide, the fake osfd, the tests. Comments quoting a measured run keep that run's id. - **Recorded runs still read**: the UI's phase, purpose and loop tables keep the old ids (the fixture's `run_loop` stays on them to prove it). - **Review loop rows** read `agent.review` and `openspec.revise`. - **Fan-out rows** sit flush; the node name gives way first and the `[key]` stays whole. **BREAKING**: runs started before the deploy cannot continue; a repository's own `.osf/pipeline.yaml` with the old ids keeps running them under those names. ## Verification Full lane after rebasing onto #80: backend 1799, UI unit 428, browser 95 (including `@live`). Checked in a real browser at 1024px on a new run and a recorded one. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
openspec.* read as "an OpenSpec command or skill", and five steps had none behind them. They are
agent.* now: agent.reconcile-tasks, agent.test.unit (and every generated agent.test.<lane>),
agent.test.e2e, agent.summarize and agent.review (lenses and the .r2/.r3 rounds). openspec.*
keeps explore, new-change, propose.*, validate, revise, apply and archive.

- The ids change everywhere at once, as in #20: the built-in and minimalist graphs, the chain
  apply.py generates, this repository's .osf/pipeline.yaml, the guide, the fake osfd and the
  tests. Comments quoting a measured run keep the id that run had.
- The UI's phase, purpose and loop tables add the new ids and keep the old, so recorded runs
  still group and fold into the loop; the fixture's run_loop stays on the old ids to prove it.
- The review loop's rows read agent.review and openspec.revise.
- Fan-out rows are not indented under a parent the spine never drew. The node name gives way
  first and the key does not shrink: with any shrink factor it took a 0.06px sliver of the
  shortfall and the browser drew its ellipsis.

BREAKING CHANGE: a run started before this deploy cannot continue, and a repository's own
.osf/pipeline.yaml that names the old ids keeps running them under those names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cmoriarty deleted branch feat/spine-names 2026-09-27 10:48:05 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cmoriarty/braid!82
No description provided.