mirror of
https://github.com/mvschwarz/openrig.git
synced 2026-11-07 22:58:42 -10:00
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:
1 parent
6cc82a0899
commit
1cf1bd807f
4 files changed
+67
-6
No files matched your search
+2
-1
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in new issue
Block a user