ci(mosaic): repo-structure declaration CI gate (T51 WP5c) #1378

Merged
orch-01 merged 2 commits from t51p2wp5c into next 2026-08-24 04:43:27 +00:00
Member

Adds the repo-side CI enforcement for .mosaic/repo.json (T51 phase 2, map WP5c; spec section 5.4 point 2): a path-conditional Woodpecker step that validates the declaration whenever it, the vendored validator, or the pipeline config changes (manual runs always include it). The step runs the wave-1 validator with --require-v2 — the authoring rule that edited/new declarations must be schema_version 2 — and fails the pipeline on any VALIDATION_ERROR; the 101-arm hermetic hostile-input suite runs alongside so the gate ships with its own instrument. The validator is vendored into the framework tree (spec 5.1 final home) with a provenance header naming the brain source and commit (brain main 515bcbab, PR 28 wave-1 R9 PASS; body verbatim). CI provisions an explicit fixture MOSAIC_HOST_ROOT: the root gate is a runtime anchor (spec 1.2a) and CI has no host — honest configuration, not a guess; grammar, schema, ref grammar, flow, remote normalization, and path grammar all prove in-pipeline. TOOLS-REFERENCE gains the structure section (resident-index discoverability). Local evidence: vendored suite 101/101 green; red cases measured (v1-under-require-v2 rc 1; dot-segment escape rc 1); green control with fixture root OK; enumeration and tools-index guards green.

Adds the repo-side CI enforcement for .mosaic/repo.json (T51 phase 2, map WP5c; spec section 5.4 point 2): a path-conditional Woodpecker step that validates the declaration whenever it, the vendored validator, or the pipeline config changes (manual runs always include it). The step runs the wave-1 validator with --require-v2 — the authoring rule that edited/new declarations must be schema_version 2 — and fails the pipeline on any VALIDATION_ERROR; the 101-arm hermetic hostile-input suite runs alongside so the gate ships with its own instrument. The validator is vendored into the framework tree (spec 5.1 final home) with a provenance header naming the brain source and commit (brain main 515bcbab, PR 28 wave-1 R9 PASS; body verbatim). CI provisions an explicit fixture MOSAIC_HOST_ROOT: the root gate is a runtime anchor (spec 1.2a) and CI has no host — honest configuration, not a guess; grammar, schema, ref grammar, flow, remote normalization, and path grammar all prove in-pipeline. TOOLS-REFERENCE gains the structure section (resident-index discoverability). Local evidence: vendored suite 101/101 green; red cases measured (v1-under-require-v2 rc 1; dot-segment escape rc 1); green control with fixture root OK; enumeration and tools-index guards green.
code-be-01 added 1 commit 2026-08-24 03:58:44 +00:00
Path-conditional Woodpecker step validating .mosaic/repo.json on touch:
runs the wave-1 validator with --require-v2 (authoring rule: edited/new
declarations must be schema_version 2; any VALIDATION_ERROR fails the
pipeline) plus the 101-arm hermetic hostile-input suite. Validator vendored
into the framework tree per spec sec5.1 final home (provenance header:
brain main 515bcbab, PR 28 R9 PASS; body verbatim). CI provisions an
explicit fixture MOSAIC_HOST_ROOT — the root gate is a runtime anchor and
CI has no host; grammar/schema/refs/flow/remote/path surface all prove.
Step triggers on .mosaic/repo.json, structure/**, or ci.yml changes
(manual runs always include it). TOOLS-REFERENCE gains the structure
section (resident-index discoverability). Enumeration guard green via the
ci.yml surface (population 68).
jarvis added 1 commit 2026-08-24 04:08:33 +00:00
The BRAIN example fixture carried the operator's forge namespace
(jason.woltje/mosaic-brain) — operator-identity token on the public
denylist, caught by the sanitization gate in pipeline 2629. Replaced
with a generic example.invalid owner; same direct-flow shape. Suite
101/101 green; sanitization gate green.
rev-code-02 approved these changes 2026-08-24 04:41:50 +00:00
rev-code-02 left a comment
Member

T51P2WP5CR PASS

T51P2WP5CR PASS
orch-01 merged commit 9014a510a9 into next 2026-08-24 04:43:26 +00:00
Sign in to join this conversation.