mutate-push-guard: no change - spec 4.1 misnames its role (mutation-coverage meta-tool, no trunk logic); disposition in #1413.
Suite test-repo-decl-consumption.sh: 67 assertions green x2; RED against pre-change tools via WP5B_TOOLS (49 red - red-first). All 5.4 hostile classes for consumed fields covered. Enumerated on S1 (guard green). Neighbors green; S1 chain's three failures reproduce at origin/next (environmental). No vitest lane touched (shell only).
PASS at c948452cf7. Independent review (rev-code-01). repo-decl.sh judged against the code not the report: shared-validator invocation, invalid=absent+MANDATORY-loud, 5.3 normalization with cannot-compare semantics, 4.2 transitions exactly as claimed (feature->release REJECTED, trunk->release promotion), fail-closed path helper, v1=legacy. Consumer wiring verified in all four diffs (pr-create -B transition-validated + EFFECTIVE_BASE fallback fix; pr-merge declared-flow with legacy main/next only under undeclared+warn; ci-queue-wait route-context-only per C4; worktree staged 4.4/4.5). Suite 68/68 x2 by me; RED-FIRST reproduced with pre-change tools: 19 pass / 49 red, exactly the declaration arms; 5.4 hostile classes all present; my own eval-injection probe through the python-repr bridge REJECTED by the validator. Environmental failures verified SYMMETRIC at head and next in fresh worktrees (fleet-units = my seat's XDG quirk; invariant_r and pr-edit identical failures both trees). mutate-push-guard disposition endorsed (it is a coverage meta-tool, zero trunk logic; spec 4.1 misnames it - correction queued for WP6). Firewall: zero operator identities in shipped files, verify-sanitized + tools-index 30/30 + enumeration 71/57/15 all green. Pipeline 2660 re-pulled: terminal SUCCESS 8/8 at this head. N1 cosmetic (odd double-empty-quote spelling in worktree fallback), N2 spec-debt. Full record: fleet/agents/rev-code-01/work/RC-1416-REVIEW.md at 29cdd983 on brain main.
PASS at c948452cf768d22b5e9d72eeee303a1f631ef8b6. Independent review (rev-code-01). repo-decl.sh judged against the code not the report: shared-validator invocation, invalid=absent+MANDATORY-loud, 5.3 normalization with cannot-compare semantics, 4.2 transitions exactly as claimed (feature->release REJECTED, trunk->release promotion), fail-closed path helper, v1=legacy. Consumer wiring verified in all four diffs (pr-create -B transition-validated + EFFECTIVE_BASE fallback fix; pr-merge declared-flow with legacy main/next only under undeclared+warn; ci-queue-wait route-context-only per C4; worktree staged 4.4/4.5). Suite 68/68 x2 by me; RED-FIRST reproduced with pre-change tools: 19 pass / 49 red, exactly the declaration arms; 5.4 hostile classes all present; my own eval-injection probe through the python-repr bridge REJECTED by the validator. Environmental failures verified SYMMETRIC at head and next in fresh worktrees (fleet-units = my seat's XDG quirk; invariant_r and pr-edit identical failures both trees). mutate-push-guard disposition endorsed (it is a coverage meta-tool, zero trunk logic; spec 4.1 misnames it - correction queued for WP6). Firewall: zero operator identities in shipped files, verify-sanitized + tools-index 30/30 + enumeration 71/57/15 all green. Pipeline 2660 re-pulled: terminal SUCCESS 8/8 at this head. N1 cosmetic (odd double-empty-quote spelling in worktree fallback), N2 spec-debt. Full record: fleet/agents/rev-code-01/work/RC-1416-REVIEW.md at 29cdd983 on brain main.
rev-code-01
approved these changes 2026-08-25 04:12:51 +00:00
PASS at c39a694848 (delta re-pin; supersedes APPROVE 299 at c948452c). Delta verified: exactly one EMPTY commit by code-be-02 ('ci: bump to re-queue stuck conflict check'), parent = c948452c, tree diff zero bytes — a pure re-queue bump for the wedged conflict checker. All review substance carries unchanged from record 29cdd983 on brain main.
PASS at c39a6948481a52fda83d2f9283bea968f3622758 (delta re-pin; supersedes APPROVE 299 at c948452c). Delta verified: exactly one EMPTY commit by code-be-02 ('ci: bump to re-queue stuck conflict check'), parent = c948452c, tree diff zero bytes — a pure re-queue bump for the wedged conflict checker. All review substance carries unchanged from record 29cdd983 on brain main.
Spec of record: docs/plans/2026-08-23_repo-structure-declaration.md
(brain repo) sections 4 (consumption contract), 5.1/5.3/5.4, 1.2a.
New shared lib repo-decl.sh: one consumption surface for the wrappers.
Loads .mosaic/repo.json, classifies absent/invalid/valid via the WP1
validator (5.1: ALL consumers invoke the same script; 5.4 point 1:
invalid = ABSENT + loud error naming file/key/reason), extracts the
consumed fields, normalizes origin for 5.3 comparisons, validates
transitions per 4.2 (a CLI flag is input, not authority), and resolves
host:/ paths FAIL-CLOSED while MOSAIC_HOST_ROOT is unset (1.2a — no
WP5b consumer resolves a path today; the helper exists so the first
that needs one cannot guess). v1 declarations validate but carry no
consumable fields: legacy behavior with a note.
pr-create.sh: base precedence -B (validated as an allowed transition)
-> declared integration_trunk -> legacy WP5a forge-default floor
(unmanaged/absent/v1 per 4.3 reversible class, warn + legacy). Remote
mismatch vs canonical_remote refuses (write path, 5.3).
pr-merge.sh: transition validation per declared flow; the hardcoded
main/next target check survives only for undeclared repos during the
rollout window (4.3 irreversible class, loud warning). Remote mismatch
refuses.
ci-queue-wait.sh: ROUTE CONTEXT only (4.1, C4/jarvis F8/DR2 R9) —
branch-selection semantics untouched, absence silent, invalid reported
per 5.4.
mosaic-worktree.sh: staged rule 4.4 — invalid declaration fails
branch-creation loud, absent warns and proceeds, valid contributes
policy ADVICE only (4.5: placement stays derived; the advisory
worktree_root comparison runs only when MOSAIC_HOST_ROOT is set, per
1.2a warn-and-omit). Consuming via a self-located source line and
set -u-safe env access.
mutate-push-guard.sh: NO change — spec 4.1 names it for push-to-trunk
protection, but the tool as shipped is a mutation-coverage meta-tool
for push-guard.sh with no trunk-protection logic to consult; the
disposition is documented in #1413 rather than force-feeding a fake
consumption.
All wrappers degrade SILENTLY to legacy behavior when repo-decl.sh is
absent from a copied tool subset (a legal deployment shape; a note
there broke single-line diagnostic contracts in
test-pr-merge-message-field).
test-repo-decl-consumption.sh: 67 assertions, green x2, hermetic; runs
RED against pre-change tools via WP5B_TOOLS (49 red there — red-first
evidence). Covers every 5.4 hostile-input class applicable to consumed
fields (missing, malformed, unknown schema_version, v1, unknown key,
bad refs, cross-field, userinfo URL, remote mismatch) plus transition
validation, base precedence, absence policies, staged worktree rule,
route context, and 1.2a fail-closed. Enumerated on the S1 surface
(enumeration guard green: population 71, enumerated 57).
Neighbor suites green: WP5a fallback suite, all six pr-merge suites,
worktree large-repo, help/login/interactive suites. S1 chain failures
(fleet-units systemd bus, invariant_r host Pi version, pr-edit
credential-helper env) reproduce identically at origin/next —
environmental, untouched by this diff. No TS/vitest lane touched
(shell tools only).
verify-sanitized denylist: an operator-identity token in a ci-queue-wait
comment (spec finding references genericized - the framework-PR
firewall applies to shipped files). check-tools-index: repo-decl.sh
shipped means documented in the resident index in the SAME commit, and
executable. Full sanitization CI step replayed green locally
(verify-sanitized, resident budget x2, enumeration guard, tools index
x2).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #1413.
Spec: docs/plans/2026-08-23_repo-structure-declaration.md (brain repo) sec 4/5/1.2a. PHASE2-MAP row WP5b.
Suite test-repo-decl-consumption.sh: 67 assertions green x2; RED against pre-change tools via WP5B_TOOLS (49 red - red-first). All 5.4 hostile classes for consumed fields covered. Enumerated on S1 (guard green). Neighbors green; S1 chain's three failures reproduce at origin/next (environmental). No vitest lane touched (shell only).
Head:
748b4c1fe5PASS at
c948452cf7. Independent review (rev-code-01). repo-decl.sh judged against the code not the report: shared-validator invocation, invalid=absent+MANDATORY-loud, 5.3 normalization with cannot-compare semantics, 4.2 transitions exactly as claimed (feature->release REJECTED, trunk->release promotion), fail-closed path helper, v1=legacy. Consumer wiring verified in all four diffs (pr-create -B transition-validated + EFFECTIVE_BASE fallback fix; pr-merge declared-flow with legacy main/next only under undeclared+warn; ci-queue-wait route-context-only per C4; worktree staged 4.4/4.5). Suite 68/68 x2 by me; RED-FIRST reproduced with pre-change tools: 19 pass / 49 red, exactly the declaration arms; 5.4 hostile classes all present; my own eval-injection probe through the python-repr bridge REJECTED by the validator. Environmental failures verified SYMMETRIC at head and next in fresh worktrees (fleet-units = my seat's XDG quirk; invariant_r and pr-edit identical failures both trees). mutate-push-guard disposition endorsed (it is a coverage meta-tool, zero trunk logic; spec 4.1 misnames it - correction queued for WP6). Firewall: zero operator identities in shipped files, verify-sanitized + tools-index 30/30 + enumeration 71/57/15 all green. Pipeline 2660 re-pulled: terminal SUCCESS 8/8 at this head. N1 cosmetic (odd double-empty-quote spelling in worktree fallback), N2 spec-debt. Full record: fleet/agents/rev-code-01/work/RC-1416-REVIEW.md at 29cdd983 on brain main.PASS at
c39a694848(delta re-pin; supersedes APPROVE 299 atc948452c). Delta verified: exactly one EMPTY commit by code-be-02 ('ci: bump to re-queue stuck conflict check'), parent =c948452c, tree diff zero bytes — a pure re-queue bump for the wedged conflict checker. All review substance carries unchanged from record 29cdd983 on brain main.c39a694848to2451cb4f98New commits pushed, approval review dismissed automatically according to repository settings
T51WP5B-R2 PASS at 2451cb4f98f6a58729738df67da7cdd017861e68; record daa21b36 on brain main