docs(ri-050): evidence pack update — all five requirements merged; registry isolation measured (#1275)
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# RI-050 Release Evidence Pack (alpha 0.0.50 release-integrity floor)
|
# RI-050 Release Evidence Pack (alpha 0.0.50 release-integrity floor)
|
||||||
|
|
||||||
> Status: **DRAFT — in progress**. RI-N1/N2/N3/N5 merged to `next` behind the live gate (overnight 2026-08-18); RI-N4 and the fully-green image push remain.
|
> Status: **DRAFT — near complete**. All five normative requirements (RI-N1..N5) merged to `next` behind the live gate. Remaining for closure: one fully-green push pipeline (blocked only on the registry-credential item below) and final verification. Last updated 2026-08-18 by fargo (day-takeover orchestrator).
|
||||||
> Card: RI-V-001. All sections marked ⏳ pending their card's merge. Normative source:
|
> Card: RI-V-001. All sections marked ⏳ pending their card's merge. Normative source:
|
||||||
> `docs/PRD.md` § Release Integrity Workstream (#1275).
|
> `docs/PRD.md` § Release Integrity Workstream (#1275).
|
||||||
|
|
||||||
@@ -12,13 +12,13 @@
|
|||||||
| Gate-caught defect fixed | PR **#1304** (afterAll honors `dbAvailable`; both paths verified: dead-port 28 skipped + file passes; live-5433 28 passed). Review 180 (fred). | PR #1304 |
|
| Gate-caught defect fixed | PR **#1304** (afterAll honors `dbAvailable`; both paths verified: dead-port 28 skipped + file passes; live-5433 28 passed). Review 180 (fred). | PR #1304 |
|
||||||
| First gated green npm publish | Push pipeline **2488** (post-#1304): `verify` GREEN → `build` GREEN → `publish-next-npm` GREEN, all publish effects behind the gate. | Woodpecker pipeline 2488 |
|
| First gated green npm publish | Push pipeline **2488** (post-#1304): `verify` GREEN → `build` GREEN → `publish-next-npm` GREEN, all publish effects behind the gate. | Woodpecker pipeline 2488 |
|
||||||
| Negative controls | PR **#1305**: structural DAG tests (S1 missing edge, S2 renamed effect incl. command-based npm/kaniko detection, S3 detach, S4 failure:ignore/success override, S5 when-filter, S6 HEAD-mover between verify and publish with legitimate-recheckout positive control, S7 removal) + subset-stage composition control in verify-release.test.mjs. Mutation-verified by the dispatching seat in both directions (true bypass → S1 assertion fires; non-bypass edit → correctly green). Scripts tests 20/20, CI 2490 green. | PR #1305 |
|
| Negative controls | PR **#1305**: structural DAG tests (S1 missing edge, S2 renamed effect incl. command-based npm/kaniko detection, S3 detach, S4 failure:ignore/success override, S5 when-filter, S6 HEAD-mover between verify and publish with legitimate-recheckout positive control, S7 removal) + subset-stage composition control in verify-release.test.mjs. Mutation-verified by the dispatching seat in both directions (true bypass → S1 assertion fires; non-bypass edit → correctly green). Scripts tests 20/20, CI 2490 green. | PR #1305 |
|
||||||
| ⏳ Canonical command | `scripts/verify-release.mjs` (stage table pinned to ci.yml by checked-in test). Merged with #1277. | `scripts/verify-release.mjs` |
|
| ✅ Canonical command | `scripts/verify-release.mjs` (stage table pinned to ci.yml by checked-in test). Merged with #1277; now also invokes the RI-N4 evaluator via its `quality-rails` stage (#1308). | `scripts/verify-release.mjs` |
|
||||||
|
|
||||||
## RI-N2 — Forge + MACP fail-closed (typed explicit simulation)
|
## RI-N2 — Forge + MACP fail-closed (typed explicit simulation)
|
||||||
|
|
||||||
- ✅ Forge: PR **#1278** merged (head 4917df1f; CI 2477; review 184 fred at pinned head — prior review 172 dismissed by rebase, correctly re-taken).
|
- ✅ Forge: PR **#1278** merged (head 4917df1f; CI 2477; review 184 fred at pinned head — prior review 172 dismissed by rebase, correctly re-taken).
|
||||||
- ✅ MACP: PR **#1293** merged (head 2097379e; CI 2465; review 173).
|
- ✅ MACP: PR **#1293** merged (head 2097379e; CI 2465; review 173).
|
||||||
- ⏳ Post-merge behavior docs: PR **#1299** (README + mosaic-forge SKILL.md; rebased onto post-#1278 next; review pending).
|
- ✅ Post-merge behavior docs: PR **#1299** merged (head 8a405b14; CI 2497; review 186 fargo at pinned head — legitimate independent seat; merged 2026-08-18 with --expect-head pin, content-verified on next @ ff45f7b).
|
||||||
|
|
||||||
## RI-N3 — PRD authority
|
## RI-N3 — PRD authority
|
||||||
|
|
||||||
@@ -26,8 +26,8 @@
|
|||||||
|
|
||||||
## RI-N4 — Quality-rails evaluator
|
## RI-N4 — Quality-rails evaluator
|
||||||
|
|
||||||
- ⏳ Probe inventory: PR **#1302** (head e06a47fa; CI 2484 green). Review pending.
|
- ✅ Probe inventory: PR **#1302** merged (head e06a47fac59; CI 2484; review 187 fargo at pinned head; 54 rows / 21 canonical checks / dispositions 43-2-9-0 row-count-verified; merged 2026-08-18, content-verified on next @ 6435089).
|
||||||
- ⏳ TS evaluator absorbs shell probes: RI-3-002, dispatched after #1302 merges.
|
- ✅ TS evaluator absorbs shell probes: PR **#1308** merged (head 68279d61; CI 2506; review 188 fred at pinned head — seven targeted mutations, seven detections, incl. the vacuous-pass hole M1 and stage-removal M7). Evaluator: typed fail-closed verdicts, digested versioned definitions, per-subject sets; QC-19 absorbed (verbatim-list parity oracle), QC-20 as thin adapter (verify.sh unmodified); verify-release `quality-rails` stage wired (RI-N1 consumes the evaluator). Worker-produced, independently verified by the dispatching seat (quality-rails 40/40 incl. sabotage control 6-failed/34-passed restored sha-verified; root build 25/25; typecheck 45/45).
|
||||||
|
|
||||||
## RI-N5 — Consequence-aware stale UI
|
## RI-N5 — Consequence-aware stale UI
|
||||||
|
|
||||||
@@ -43,6 +43,19 @@ push-permission error since at least 2439). Requires a package-scoped token
|
|||||||
(Jason). The npm publish path is green and gated; this item tracks image pushes
|
(Jason). The npm publish path is green and gated; this item tracks image pushes
|
||||||
only and predates the RI-050 floor.
|
only and predates the RI-050 floor.
|
||||||
|
|
||||||
|
**Update 2026-08-18 (fargo):** Jason set new secret values ~17:25Z; pipeline
|
||||||
|
**2507** (the #1308 merge push, first after the update, 18:0xZ) still fails
|
||||||
|
`build-gateway` with the identical `UNAUTHORIZED`. Read-only isolation (no
|
||||||
|
secrets read, no CI retries): the registry endpoint and auth mechanism are
|
||||||
|
HEALTHY — a valid Gitea token via basic-auth mints a JWT at `/v2/token` (200),
|
||||||
|
bad credentials 401 cleanly. Therefore the failure is isolated to the secret
|
||||||
|
VALUES, not the endpoint or pipeline. Most likely shape error (labeled guess):
|
||||||
|
the registry authenticates username + **API token with package scope**, not
|
||||||
|
username + login password; if REGISTRY_PASSWORD holds a login password rather
|
||||||
|
than a minted token value, `/v2/token` 401s exactly as observed. npm publishes
|
||||||
|
remained green in 2507; every publish step except the image push is gated and
|
||||||
|
green.
|
||||||
|
|
||||||
## Process record (audit trail)
|
## Process record (audit trail)
|
||||||
|
|
||||||
- Merges executed under the jarvis principal (topher seat; identity provisioning
|
- Merges executed under the jarvis principal (topher seat; identity provisioning
|
||||||
@@ -56,3 +69,28 @@ only and predates the RI-050 floor.
|
|||||||
- CI contention note: concurrent PR pipelines on the single CI agent can time
|
- CI contention note: concurrent PR pipelines on the single CI agent can time
|
||||||
out the web SPA suite (measured 2470/2472 vs serialized 2475/2476/2477);
|
out the web SPA suite (measured 2470/2472 vs serialized 2475/2476/2477);
|
||||||
serialize retries when the queue is busy.
|
serialize retries when the queue is busy.
|
||||||
|
|
||||||
|
## Process record — 2026-08-18 day takeover (fargo)
|
||||||
|
|
||||||
|
- Takeover directive: Jason (via jarvis router + both seats' handoff documents,
|
||||||
|
relayed verbatim over comms). First-move conflict between the two handoffs
|
||||||
|
(zane: doctor PR first; topher: review-queue first) resolved on dependency
|
||||||
|
grounds per jarvis's read — topher's order won; zane's finding-2 doctor PR
|
||||||
|
(upgraded by fred's measurement) remains queued, nothing depends on it.
|
||||||
|
- Reviews 186 (#1299) + 187 (#1302): fargo, at pinned heads, as the legitimate
|
||||||
|
independent seat (topher dispatched both producers; cross-review rule held).
|
||||||
|
Both merged with --expect-head pinning via the REPO-COPY pr-merge.sh
|
||||||
|
(allows next; the installed copy still lags — zane's route, not the raw-API
|
||||||
|
break-glass), each preceded by ci-queue-wait -B next -R mosaicstack/stack.
|
||||||
|
CI green at both heads (2497, 2484). Merges content-verified on the shipping
|
||||||
|
ref (TASKS anchors at ff45f7b / 6435089).
|
||||||
|
- RI-3-002: one pi worker (zai/glm-5.3:high), independently verified by the
|
||||||
|
dispatching seat before push; PR #1308 reviewed by fred (188, seven
|
||||||
|
mutations incl. vacuous-pass and stage-removal) and merged head-pinned at
|
||||||
|
68279d61 → next @ 245e0c4.
|
||||||
|
- Registry-credential isolation measurement (above) performed read-only; no
|
||||||
|
secret values read, no retry-pushes against CI.
|
||||||
|
- One reviewer-scope disclosure (fred, review 188): fred's approval explicitly
|
||||||
|
did NOT re-run root build/typecheck/mosaic-vitest — those remain the
|
||||||
|
dispatching seat's numbers. The changed-package suites, verify-release
|
||||||
|
suite, and seven mutations were fred's own.
|
||||||
|
|||||||
Reference in New Issue
Block a user