Decision branches between alternatives and their rationale are not the current
behavior of a specific capability (that lives in openspec/specs/ after the
first apply/archive). Format: Status / Context / Decision / Rejected
Alternatives / Consequences.
| # | Title | Status |
|---|---|---|
| 0001 | Shared core/webui monorepo, two delivery targets (standalone + VS Code extension) | Accepted |
| 0002 | Direct OpenSpec mode for user command execution | Accepted |
| 0003 | Native VS Code OpenSpec Workbench | Accepted |
| 0004 | Persistent Workbench runs and delivery parity | Accepted |
| 0005 | Authenticated local REST and WebSocket transport | Accepted |
| 0006 | Fail-closed journal compatibility | Accepted |
| 0007 | CI CLI as a third thin delivery target | Accepted |
| 0008 | Change-scoped rollback instead of task-scoped, with opt-in retention | Accepted |
| 0009 | Publish @openspec-ui/cli to npm as a bundled package |
Accepted |
| 0010 | Cross-host workspace lease (advisory lock, v1) | Proposed |
| 0011 | Agentic Harness config and autonomy levels | Accepted |
| 0012 | Agentic Harness chain-execution protocol (semi-autonomous/autonomous) |
Accepted |
| 0013 | ACP-flavored agent adapters (Agent Client Protocol) | Accepted |
| 0014 | Agentic Harness git stage (push / PR / merge) |
Accepted |
| 0015 | Agentic Harness per-stage model selection | Accepted |
| 0016 | Harness stage dispatch via the VS Code chat | Accepted |
| 0017 | Structured agent output: parsing discipline and graceful degradation | Accepted |
| 0018 | Event-driven harness orchestration | Accepted |
| 0019 | Mechanical task checks | Accepted |
| 0020 | The CLI runs a change | Accepted |
| 0021 | Declared chain steps | Accepted |
| 0022 | Changes run side by side, in git worktrees | Accepted |
| 0023 | The standalone shell commits to an editor-native look | Accepted; its Metro rejection superseded by 0030 |
| 0024 | Parallel readiness is derived, never declared | Accepted |
| 0025 | The pipeline picture is derived, and drawn without a graph library | Accepted |
| 0026 | Other working directories are observed, never touched | Accepted |
| 0027 | A working directory is disposable, and nothing of value stays in it | Accepted |
| 0028 | Agents coordinate beside the repository, not inside it | Accepted |
| 0029 | The Pipeline is where a change is run | Accepted |
| 0030 | The web UI uses Metro UI's components, scoped and themed by its host | Accepted |
| 0031 | A change lists what its OpenSpec schema declares | Accepted |
| 0032 | The standalone shell uses more of Metro: panels, badges, a timeline and icons | Accepted; decision 4 superseded by 0033 |
| 0033 | The standalone shell looks like the project site | Accepted |
| 0034 | A change's branch that falls behind is rebased for you | Accepted |
| 0035 | A change that has landed is archived for you | Accepted; decision 5 superseded by 0036 |
| 0036 | The product merges what it archives | Accepted |
| 0037 | A team works through git | Accepted |
| 0038 | The local model's coding agent runs in the product, and an agent can ignore the system proxy | Accepted |
| 0039 | The supervisor advises, and acts only where a change allows it | Accepted |
| 0040 | Local models research public HTML pages through bounded web tools | Accepted |
| 0041 | The plan is updated from its review | Accepted |
| 0042 | The agent asks the operator, and nothing goes on without an answer | Accepted |
| 0043 | A change is made in a working directory of its own, and every agent is told so | Accepted; amends 0022 decision 3 |
| 0044 | The Pipeline is where changes are worked, and the side panel becomes the Workspace | Accepted |
| 0045 | Every action is a verb and a noun | Accepted |
| 0046 | Every message has an identifier | Accepted |
| 0047 | What waits for a person is a dialog | Accepted |
| 0048 | npm is published by Trusted Publishing, from the same dispatch as the Marketplace | Accepted; completes 0009 decision 5 |
| 0049 | Cache-first Compliance reuses observations and checks only in bounded idle steps | Proposed |
| 0050 | A process ledger identifies spawned processes by OS snapshot | Proposed |
New architecture-impacting changes must add an ADR and reference it from the related OpenSpec change.