Forward-fix: 0.4.0 release notes + cli-reference + openrig-user SKILL.md cascade for slice 35

OPR.0.4.0.35 rig scope stage/verified/reconcile verbs were restored to 0.4.0 mid-wrap. This commit adds the lifecycle coverage that the original wrap-gate (AC-1/AC-3) didn't include because slice 35 was out of scope at gate-author-time. Updates docs/releases/v0.4.0.md (Scope automation section + Known Limitations correction), CHANGELOG.md [0.4.0] (New Top-Level CLI Verbs + Known Limitations), docs/as-built/cli-reference.md (rig scope slice/mission stage/verified/reconcile subcommands; last-verified-against-source bumped to 51554eee), and the openrig-user SKILL.md mirror with the new verbs taught + STOP-hand-editing-frontmatter guidance. SKILL.md cascade propagated byte-identical to substrate canonical + hub .claude + hub .agents (md5 d08ec07956658be854bc814481b01a8d).
This commit is contained in:
mvschwarz committed 2026-06-20 16:54:28 -07:00
1 parent 6cc82a0899
commit 1cf1bd807f
4 files changed
+67 -6

No files matched your search

+2 -1
View File
@@ -33,6 +33,7 @@ Five read-commands flip from firehose-by-default to compact-by-default — close
- **`rig skill audit`** (slice 10) — read-only audit of the skill cascade. Detects `missing` / `stale` / `self-referential` / `invalid-date` / `mirror-drift` across canonical → product mirror → hub cwd → installed plugin. False-green prevention: emits `unable-to-audit` exit `2` rather than reporting `clean` when evidence unavailable.
- **`rig scope mission|slice progress`** (slice 33) — deterministic `PROGRESS.md` updates through the command surface rather than hand-edited markdown. `rig scope mission|slice create` now scaffold `PROGRESS.md` automatically.
- **`rig scope mission|slice stage / verified / reconcile`** (slice 35) — maturity vocabulary from `conventions/scope-and-versioning` §2 enforced through commands. `stage <id> <new-stage>` sets `stage` (wip / provisional / established / canonical / superseded / retired); `superseded` REQUIRES `--successor`; invalid stages rejected. `verified <id> --against "<source>"` stamps `verified: <today> against <source>`; `--against` MANDATORY (bare timestamps rejected — the anti-stale keystone). `reconcile <id>` is the idempotent repair verb (backfills `PROGRESS.md` + conforms `id`/`stage`/`verified` frontmatter + repairs id-registration ghosts). `create` now writes mandatory `stage` (default `wip`) + a `verified` placeholder. `show` derives read-time effective-reliability projection from (stage × verified) — stale-`verified` `canonical` reported as effectively `provisional`. Composes with slice 33 to make `rig scope` the deterministic convention-enforcer.
- **`rig seat clear-attention`** extended to derived projection staleness (slice 16) — reaches the second class of projection staleness (`restoreOutcome=failed` on a live ready session) that v0.3.4 couldn't.
### UI + Topology + Identity
@@ -54,7 +55,7 @@ Five read-commands flip from firehose-by-default to compact-by-default — close
### Known Limitations / Carry-Forward
- **Plugin-lineage drift in `openrig-core`** — the openrig-core plugin skill lineage is divergent/stale; full re-sync is OPR.0.4.1.4 (rides 0.4.1). Boot-path layers (canonical + hub cwd) verified current in wrap-gate AC-3 sweep. `rig skill audit` (slice 10) is the runtime mechanism for future drift detection.
- `rig ps --current-rig` default (slice 34) + `rig scope` stage / verified verbs (slice 35) pushed to 0.4.1.
- `rig ps --current-rig` default (slice 34) pushed to 0.4.1. (Slice 35 — `rig scope` stage / verified / reconcile verbs — was RESTORED to 0.4.0 by founder direction during the wrap; see New Top-Level CLI Verbs section above.)
### What To STOP Using
+9 -1
View File
@@ -1110,6 +1110,9 @@ Two subcommand groups: `slice` and `mission`.
- `show <slice-path> [--mission <name>] [--json]` — inspect a single slice (frontmatter + README + children). `slice-path` is absolute, relative-to-substrate, or `NN-slug`; `--mission` hints the mission when path is just `NN-slug`.
- `create <mission> <slug> [--template <kind>] [--title <text>] [--json]` — create a new slice in a mission. `--template` default `placeholder`. **v0.4.0 (slice 33)**: scaffolds a canonical `PROGRESS.md` (the structure the OpenRig PROGRESS UI page parses) plus a convention-correct README with proper frontmatter per `conventions/scope-and-versioning/README.md`, for EVERY template. Fixes the v0.3.x bug where newly-created slices were missing `PROGRESS.md` entirely.
- `progress <slice-path> [--mission <name>] [--status <state>] [--milestone <text>] [--owner <session>] [--note <text>] [--json]` — **v0.4.0 (slice 33)** new verb: append / set / update progress entries deterministically. Writes the canonical structure the OpenRig PROGRESS UI page reads. Replaces hand-editing `PROGRESS.md` with markdown.
- `stage <slice-path> <new-stage> [--mission <name>] [--successor <id>] [--json]` — **v0.4.0 (slice 35)** new verb: set the slice's `stage` frontmatter (wip / provisional / established / canonical / superseded / retired) deterministically. `superseded` REQUIRES `--successor <id>` (rejected otherwise + records the successor); `retired` warns "do not use"; invalid stages rejected with the valid set named.
- `verified <slice-path> --against "<source>" [--mission <name>] [--json]` — **v0.4.0 (slice 35)** new verb: stamp the slice's `verified` line with `verified: <today> against <source>`. `--against` is MANDATORY (bare timestamps rejected — the anti-stale keystone per `conventions/scope-and-versioning` §2). Overwrites the prior verified line.
- `reconcile <slice-path> [--mission <name>] [--json]` — **v0.4.0 (slice 35)** new verb: idempotent repair. Backfills missing `PROGRESS.md`, conforms mandatory frontmatter (`id` / `stage` / `verified`), and repairs id-registration ghosts (`id:null` / doubled-prefix). Safe to re-run.
- `ship <slice-path> <release-mission> [--mission <name>] [--json]` — ship a slice to a release mission (preserves git history).
- `close <slice-path> [--note <text>] [--mission <name>] [--json]` — close a slice (move to `<mission>/closed/`, update status). `--note` is an optional closure note.
- `move <slice-path> <dest-mission> [--mission <name>] [--json]` — move a slice between missions (re-numbers in destination).
@@ -1119,9 +1122,14 @@ Two subcommand groups: `slice` and `mission`.
- `show <mission> [--json]` — inspect a single mission.
- `create <name> [--template <kind>] [--id <dot-id>] [--title <text>] [--json]` — create a new mission (mints a stable dot-ID into frontmatter). `--template` auto-selects when name matches `release-X.Y.Z`; `--id` overrides name-pattern inference. **v0.4.0 (slice 33)**: scaffolds a canonical `PROGRESS.md` plus a convention-correct README with proper frontmatter, per `conventions/scope-and-versioning/README.md`. Fixes the v0.3.x bug where newly-created missions were missing `PROGRESS.md` entirely.
- `progress <mission> [--status <state>] [--milestone <text>] [--owner <session>] [--note <text>] [--json]` — **v0.4.0 (slice 33)** new verb: append / set / update progress entries on a mission's `PROGRESS.md` deterministically. UI-valid by construction.
- `stage <mission> <new-stage> [--successor <id>] [--json]` — **v0.4.0 (slice 35)** new verb: set the mission's `stage` frontmatter deterministically. Same enum + `--successor`-required-for-superseded rules as the slice variant.
- `verified <mission> --against "<source>" [--json]` — **v0.4.0 (slice 35)** new verb: stamp the mission's `verified` line. `--against` MANDATORY.
- `reconcile <mission> [--json]` — **v0.4.0 (slice 35)** new verb: idempotent mission-tier repair (backfills `PROGRESS.md`, conforms frontmatter, repairs ghosts).
Convention compliance: `rig scope` together with slice 33 (`PROGRESS.md` + scaffolding) and slice 35 (`stage` / `verified` / `reconcile`) makes `rig scope` the **deterministic enforcer** of `conventions/scope-and-versioning` (§1 dot-IDs, §2 maturity vocabulary). Agents update the convention through commands rather than hand-editing markdown.
Notes:
- Surface source-verified against `packages/cli/src/commands/scope.ts` at `8d55ea60` (v0.4.0).
- Surface source-verified against `packages/cli/src/commands/scope.ts` at `51554eee` (v0.4.0 post-slice-35).
## Skill Cascade Audit (v0.4.0)
+37 -4
View File
@@ -204,6 +204,37 @@ new daemon. Migrations are additive.
records progress entries deterministically — agents update
progress through the command (UI-valid by construction) rather
than hand-editing markdown and drifting.
- **`rig scope` stage / verified / reconcile verbs (slice 35)** —
the maturity vocabulary from `conventions/scope-and-versioning`
§2 (`stage` + `verified`) becomes enforced through commands
instead of hand-editing markdown. Composes with slice 33's
PROGRESS.md + scaffolding to make `rig scope` the deterministic
convention-enforcer.
- `rig scope <slice|mission> stage <id> <new-stage>` — set
`stage` (wip / provisional / established / canonical /
superseded / retired) deterministically. `superseded` REQUIRES
`--successor <id>` (rejected otherwise); `retired` warns
"do not use"; invalid stages rejected with the valid set
named.
- `rig scope <slice|mission> verified <id> --against
"<source>"` — stamp `verified: <today> against <source>` in
frontmatter. `--against` is MANDATORY — bare timestamps
rejected (the anti-stale keystone: a bare timestamp is
exactly what lets stale trackers lie while looking fresh).
Overwrites the prior verified line.
- `rig scope <slice|mission> reconcile <id>` — idempotent repair
verb that backfills missing `PROGRESS.md`, conforms mandatory
frontmatter (`id` / `stage` / `verified`), and repairs
id-registration ghosts (`id:null` / doubled-prefix artifacts).
Safe to re-run.
- `rig scope <slice|mission> create` now writes the MANDATORY
`stage` (default `wip`) + a `verified` placeholder, so no new
artifact ships missing them.
- `rig scope <slice|mission> show` derives a read-time
effective-reliability projection from (stage × verified): a
stale-`verified` `canonical` is reported as effectively
`provisional` (derivation, not stored). Self-correcting signal
for the UI + agents.
- **Scope-Backed Progress Rails (slice 15)** — connects the scope
tree, startup skills, `PROGRESS.md` rails, and Project UI
warnings into one coherent workflow. From the 0.3.4 release
@@ -322,10 +353,12 @@ new daemon. Migrations are additive.
/ current at the release SHA, and `rig skill audit` (slice 10)
is the new runtime mechanism to detect future drift. The full
openrig-core plugin re-sync lands in 0.4.1.
- **`rig ps current-rig default` (slice 34)** + **`rig scope`
stage / verified verbs (slice 35)** were PUSHED to 0.4.1 per
founder partition mid-wrap. Their cascade rides 0.4.1's
durability-close, not this release's.
- **`rig ps current-rig default` (slice 34)** was PUSHED to 0.4.1
per founder partition mid-wrap. Its cascade rides 0.4.1's
durability-close, not this release's. Slice 35 (`rig scope`
stage / verified / reconcile verbs) was RESTORED to 0.4.0 by
founder direction during the wrap (forward-fix); see Scope
automation section above.
## Verification Performed
@@ -517,6 +517,25 @@ rig scope slice progress <slice-path> --status <state> --note <text>
Replaces hand-editing `PROGRESS.md` with markdown. Writes the canonical structure the OpenRig PROGRESS UI page reads. `rig scope mission create` + `rig scope slice create` now scaffold `PROGRESS.md` automatically per `conventions/scope-and-versioning/README.md`.
### `rig scope mission|slice stage / verified / reconcile` — deterministic maturity vocabulary (slice 35)
```bash
rig scope slice stage <slice> <new-stage> # wip / provisional / established / canonical / superseded / retired
rig scope slice stage <slice> superseded --successor <id> # superseded REQUIRES --successor (rejected otherwise)
rig scope mission stage <mission> <new-stage> # same enum + rules at mission tier
rig scope slice verified <slice> --against "<source>" # stamp `verified: <today> against <source>`; --against MANDATORY
rig scope mission verified <mission> --against "<source>"
rig scope slice reconcile <slice> # idempotent repair: backfill PROGRESS.md, conform id/stage/verified, repair ghosts
rig scope mission reconcile <mission> # mission-tier idempotent repair
rig scope slice show <slice> # derives read-time effective-reliability from (stage × verified)
# — stale-`verified` `canonical` reported as effectively `provisional`
```
Composes with slice 33's `progress` + scaffolding to make `rig scope` the **deterministic enforcer** of `conventions/scope-and-versioning` §1 (dot-IDs) + §2 (maturity vocabulary). Agents update `stage` / `verified` / `id` through commands rather than hand-editing markdown and drifting. The `--against` MANDATORY rule on `verified` is the anti-stale keystone: bare timestamps are rejected because a bare timestamp is exactly what lets stale trackers lie while looking fresh. **STOP hand-editing the `stage` / `verified` / `id` fields in scope frontmatter; use the new verbs.** Existing missions / slices with `id:null` ghosts or missing `PROGRESS.md` are repaired idempotently via `reconcile`.
### `rig skill audit` — skill cascade provenance (slice 10)
```bash