A

Delivery structure

6 specs, 1044 requirements, 1 with no code mapped
Knuckles-Team/pipelinesSpec delivery
Specs (6)
  • PIPE-IDENTITY1
  • PIPE-CONNSPEC391
  • PIPE-PAGES431
  • PIPE-GATES136
  • PIPE-RELEASE71
  • PIPE-VALIDATION14
Records not done
  • Requirementsall slices in all specs1044
  • Requirements not donenot VERIFIED362
  • Specs not donewhole specs only5

Each spec shows its requirement count. Panel J lists every record.

B

Delivery states

count of total

Requirements (1044)

SPECIFIED (specified)357 of 1044 requirements
LANDED (landed)5 of 1044 requirements
VERIFIED (verified)682 of 1044 requirements

Specs (6)

SPECIFIED (specified)4 of 6 specs
LANDED (landed)1 of 6 specs
VERIFIED (verified)1 of 6 specs

Each bar shows one state against all records of the same kind.

Percentages count current rows. Done means VERIFIED.

C

State definitions

delivery_state
StateDefinition
SPECIFIEDThe requirement is written. No code for it is on the default branch.
LANDEDA commit that carries its ID in a Spec trailer is on the default branch.
VERIFIEDIt is LANDED and a test bound to its ID exists.

A spec state is the lowest state of its rows. Done means VERIFIED.

Invalid state: 0

D

Specifications

specs/*/status.json
Spec / titleReq.LandedDoneSpec stateCode references
PIPE-IDENTITYPIPE-IDENTITY — Commit author identity governance11/10LANDED.config/pre-commit.yaml implementation: file exists; coverage not verified
.github/workflows/ci.yml implementation: file exists; coverage not verified
pipelines_hooks/cli.py implementation: file exists; coverage not verified
pipelines_hooks/core/gitenv.py implementation: file exists; coverage not verified
pipelines_hooks/core/settings.py implementation: file exists; coverage not verified
pipelines_hooks/identity/allowlist.py implementation: file exists; coverage not verified
pipelines_hooks/identity/fleet-default-allowlist.json implementation: file exists; coverage not verified
pipelines_hooks/identity/fork_exemption.py implementation: file exists; coverage not verified
pipelines_hooks/privacy/gate.py implementation: file exists; coverage not verified
pipelines_hooks/privacy/identity_catalog.py implementation: file exists; coverage not verified
Commit-time check documentation: file exists; coverage not verified
Failure behavior documentation: file exists; coverage not verified
Push-time check documentation: file exists; coverage not verified
plan.md documentation: file exists; coverage not verified
requirements.md documentation: file exists; coverage not verified
the fork exemption documentation: file exists; coverage not verified
PIPE-CONNSPECPIPE-CONNSPEC — Connector spec-delivery rollout391384/391384SPECIFIEDpipelines_hooks/cli.py:73 implementation: file exists; coverage not verified
PIPE-PAGESPIPE-PAGES — Ecosystem Pages parity and release receipt431121/431118SPECIFIED../../.github/workflows/pages_pipeline.yml implementation: file exists; coverage not verified
../../reference/pages-readiness.md documentation: file exists; coverage not verified
../../scripts/pages_readiness.py implementation: file exists; coverage not verified
../../scripts/readiness/cli.py implementation: file exists; coverage not verified
../../scripts/readiness/delivery.py implementation: file exists; coverage not verified
../../tests/test_pages_pipeline_contract.py test: file exists; coverage not verified
../../tests/test_pages_readiness.py test: file exists; coverage not verified
.config/kiss.toml implementation: file exists; coverage not verified
.config/pre-commit.yaml:30 implementation: file exists; coverage not verified
.github/workflows/ci.yml:86 implementation: file exists; coverage not verified
.github/workflows/pages_pipeline.yml:253 implementation: file exists; coverage not verified
pages/parity.md documentation: file exists; coverage not verified
pipelines_hooks/cli.py:14 implementation: file exists; coverage not verified
pipelines_hooks/cli.py:33 implementation: file exists; coverage not verified
pipelines_hooks/cli.py:59 implementation: file exists; coverage not verified
pipelines_hooks/cli.py:66 implementation: file exists; coverage not verified
pipelines_hooks/cli.py:79 implementation: file exists; coverage not verified
pipelines_hooks/clones/contract.py:14 implementation: file exists; coverage not verified
pipelines_hooks/clones/dupehound.py:64 implementation: file exists; coverage not verified
pipelines_hooks/clones/dupehound_gate.py:28 implementation: file exists; coverage not verified
pipelines_hooks/clones/dupehound_gate.py:46 implementation: file exists; coverage not verified
pipelines_hooks/clones/dupehound_report.py:66 implementation: file exists; coverage not verified
pipelines_hooks/code/import_cycles.py:57 implementation: file exists; coverage not verified
pipelines_hooks/code/import_graph.py:71 implementation: file exists; coverage not verified
pipelines_hooks/code/no_stub.py:62 implementation: file exists; coverage not verified
pipelines_hooks/code/no_stub.py:79 implementation: file exists; coverage not verified
pipelines_hooks/core/comparison.py:53 implementation: file exists; coverage not verified
pipelines_hooks/core/config.py:21 implementation: file exists; coverage not verified
pipelines_hooks/core/gitenv.py:81 implementation: file exists; coverage not verified
pipelines_hooks/docs/claims.py documentation: file exists; coverage not verified
pipelines_hooks/docs/public_surface.py:31 documentation: file exists; coverage not verified
pipelines_hooks/docs/public_surface_constants.py:7 documentation: file exists; coverage not verified
pipelines_hooks/docs/public_surface_links.py:29 documentation: file exists; coverage not verified
pipelines_hooks/kiss/census.py:31 implementation: file exists; coverage not verified
pipelines_hooks/specs/generator.py:93 documentation: file exists; coverage not verified
reference/ecosystem-boundaries.md documentation: file exists; coverage not verified
scripts/architecture_explorer/build.py implementation: file exists; coverage not verified
scripts/check_five_repo_parity.py implementation: file exists; coverage not verified
scripts/readiness/cli.py:68 implementation: file exists; coverage not verified
scripts/readiness/evidence.py:41 implementation: file exists; coverage not verified
scripts/skill_graph/au.py:78 implementation: file exists; coverage not verified
scripts/spec_dashboard_drilldown.py:17 implementation: file exists; coverage not verified
scripts/spec_dashboard_render.py:67 implementation: file exists; coverage not verified
scripts/spec_dashboard_render.py:70 implementation: file exists; coverage not verified
scripts/sync_mkdocs_theme.py implementation: file exists; coverage not verified
templates/mkdocs-theme/base.mkdocs.yml implementation: file exists; coverage not verified
templates/mkdocs-theme/overrides/main.html implementation: file exists; coverage not verified
tests/hooks/test_public_surface_claims.py test: file exists; coverage not verified
tests/hooks/test_similarity_guidance_hook.py test: file exists; coverage not verified
tests/hooks/test_skill_grade_hook.py test: file exists; coverage not verified
Comparison documentation: file exists; coverage not verified
Input and provenance documentation: file exists; coverage not verified
Integration documentation: file exists; coverage not verified
requirements.md documentation: file exists; coverage not verified
PIPE-GATESPIPE-GATES — Gate landing policy136124/136124SPECIFIEDpipelines_hooks/specs/third_party_names.toml documentation: file exists; coverage not verified
reference/gate-standard.md documentation: file exists; coverage not verified
Failure policy documentation: file exists; coverage not verified
Gate partition documentation: file exists; coverage not verified
Tree-based execution documentation: file exists; coverage not verified
requirements documentation: file exists; coverage not verified
PIPE-RELEASEPIPE-RELEASE — Dependency-ordered digest release orchestration7143/7142SPECIFIED.config/bumpversion.cfg implementation: file exists; coverage not verified
.config/bumpversion.cfg:2 implementation: file exists; coverage not verified
.config/bumpversion.cfg:6 implementation: file exists; coverage not verified
.github/actions/maturin-build-wheels/action.yml implementation: file exists; coverage not verified
.github/actions/wheel-readiness/readiness.py:325 implementation: file exists; coverage not verified
.github/actions/wheel-readiness/targets.py implementation: file exists; coverage not verified
.github/workflows/ci.yml:86 implementation: file exists; coverage not verified
.github/workflows/container_pipeline.yml implementation: file exists; coverage not verified
.github/workflows/gates_pipeline.yml implementation: file exists; coverage not verified
.github/workflows/python_pipeline.yml implementation: file exists; coverage not verified
pipelines_hooks/ci_replica/fast_tests.py implementation: file exists; coverage not verified
pipelines_hooks/ci_replica/test_scope.py test: file exists; coverage not verified
pipelines_hooks/cli.py implementation: file exists; coverage not verified
pipelines_hooks/cli.py:13 implementation: file exists; coverage not verified
pipelines_hooks/cli.py:59 implementation: file exists; coverage not verified
pipelines_hooks/cli.py:79 implementation: file exists; coverage not verified
pipelines_hooks/core/comparison.py:53 implementation: file exists; coverage not verified
pipelines_hooks/core/gitenv.py:81 implementation: file exists; coverage not verified
pipelines_hooks/core/versions_gate.py:10 implementation: file exists; coverage not verified
reference/ci-standard.md documentation: file exists; coverage not verified
templates/workflows/gates-skip.yml implementation: file exists; coverage not verified
tests/hooks/test_project_version_sync.py test: file exists; coverage not verified
tests/test_python_wheel_output.py test: file exists; coverage not verified
tests/test_release_source.py test: file exists; coverage not verified
Candidate model documentation: file exists; coverage not verified
Digest boundary documentation: file exists; coverage not verified
Portable execution documentation: file exists; coverage not verified
Qualification documentation: file exists; coverage not verified
requirements.md documentation: file exists; coverage not verified
PIPE-VALIDATIONPIPE-VALIDATION — Shared validation1414/1414✓ VERIFIED.config/kiss.toml implementation: file exists; coverage not verified
.config/validation.toml implementation: file exists; coverage not verified
plan.md documentation: file exists; coverage not verified
requirements documentation: file exists; coverage not verified
test-spec.md documentation: file exists; coverage not verified

Landed counts LANDED and VERIFIED requirements. Done counts VERIFIED requirements only.

The spec state comes from the spec status file only.

U

Spec architecture

repository / component packages

Packages group specs by repository and declared component. Unassigned means no component was declared. Code links do not prove coverage. Mermaid source.

Knuckles-Team/pipelines / Unassigned (6)

PIPE-CONNSPEC: no plan diagram declared.

PIPE-GATES: no plan diagram declared.

PIPE-IDENTITY: no plan diagram declared.

PIPE-PAGES: no plan diagram declared.

PIPE-RELEASE: no plan diagram declared.

PIPE-VALIDATION: no plan diagram declared.

R

Spec relationships

declared dependencies and references

Depends on means a declared prerequisite. Extends and references do not imply prerequisite order. Shared code never creates dependencies. External targets are source declarations, not verified delivery.

Knuckles-Team/pipelines / Unassigned
SpecRelationshipTargetEvidence
PIPE-CONNSPECNo relationships declared; dependencies unknown
PIPE-GATESNo relationships declared; dependencies unknown
PIPE-IDENTITYNo relationships declared; dependencies unknown
PIPE-PAGESNo relationships declared; dependencies unknown
PIPE-RELEASENo relationships declared; dependencies unknown
PIPE-VALIDATIONNo relationships declared; dependencies unknown
G

Open issues and pull requests

open at capture

Issues

0 open at capture.

    Pull Requests

    3 open at capture.

    The build reads GitHub one time. This page makes no live API requests.

    J

    Record inventory

    1050 records

    Each status file gives one spec row. Each requirement gives one more row. A record without a valid state shows INVALID. Expand a Definition to read the canonical requirement and verification text.

    All documented records (1050 rows)
    ID / sourceKindParentStateCommit / test evidence
    PIPE-IDENTITY
    PIPE-IDENTITY — Commit author identity governance
    specNoneLANDEDNo recorded commit/test evidence
    PIPE-IDENTITY-R001
    Commit author identity is restricted to an allowlist
    Definition — PIPE-IDENTITY / PIPE-IDENTITY — Commit author identity governanceCanonical requirement and verification source
    **Commit author identity is restricted to an allowlist.** pipelines enforces an author-identity allowlist in its pre-commit, pre-push, and CI checks, rejecting any commit whose author or committer name and email pair does not match one of a configured set of permitted identities. | Verified by a negative test that a commit with an identity outside the configured allowlist is rejected by the hook and by the CI check.
    requirementPIPE-IDENTITYLANDED1a70d678b24f
    f2d327f13a3c
    PIPE-CONNSPEC
    PIPE-CONNSPEC — Connector spec-delivery rollout
    specNoneSPECIFIEDNo recorded commit/test evidence
    PIPE-CONNSPEC-R001
    Generated status with three hooks and four states
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Generated status with three hooks and four states.** The reference implementation lives in `pipelines_hooks/specs/`, exposing the hooks `spec-status`, `spec-decomposition`, and `spec-trailers`. Delivery status is generated, never hand-edited, and each requirement is in exactly one of the states SPECIFIED, LANDED, VERIFIED, or RETIRED. New landings use explicit Spec trailers or historical Spec subjects, never unrelated prose or none exemption reasons; historical receipts retain their existing validation. When specs exist, incomplete shallow Git history refuses generation and writes with exit 2 and a full-history fetch remedy, leaving status files unchanged; full history still rejects reverted or unreachable receipts. Repository ownership comes from origin or a sole configured remote, correcting stale checkout-derived owners without losing live legacy receipts; without an unambiguous remote identity, retain the old owner or finally the checkout name. A parent rolls up to the minimum state of its live children. A parent rolled up to LANDED carries its children's landing commits, and one rolled up to VERIFIED also carries their bound tests. During a resolved merge, default `spec-status` evaluates the index candidate tree with HEAD and MERGE_HEAD as parents and records evidence only from actual non-merge commits. An explicit `--head` remains authoritative even with unresolved conflicts. Default merge inference fails closed when conflicts remain or the worktree differs from its index. `spec-trailers` excludes commits already reachable from `origin/main` even when the pushed-over base is older, while continuing to validate all new branch commits against the current requirement and binding tree. | The files `pipelines_hooks/specs/status.py`, `decomposition.py`, and `trailers.py` exist; pending-merge tests in `tests/hooks/test_spec_status.py` verify candidate-tree history, explicit-head behavior, and fail-closed conflicts and index/worktree mismatch; `pipelines-hook spec-status --write` followed by `pipelines-hook spec-decomposition` runs clean in this repository.
    requirementPIPE-CONNSPECVERIFIED1141a437d4bd
    15fc54d4d3c9
    2379fcc1353d
    2c140a34dfcd
    2f112e98cd9f
    tests/hooks/test_spec_landing_attribution.py:18
    tests/hooks/test_spec_landing_attribution.py:46
    tests/hooks/test_spec_landing_attribution.py:56
    tests/hooks/test_spec_landing_attribution.py:66
    tests/hooks/test_spec_repository_identity.py:104
    PIPE-CONNSPEC-R002
    Test binding forms
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Test binding forms.** A test binds to a requirement with `@pytest.mark.spec("<ID>")` in Python or a `// spec: <ID>` comment in other languages, as parsed by `pipelines_hooks/specs/bindings.py`. | `pipelines_hooks/specs/bindings.py` exists and a bound test in this repository is picked up by `pipelines-hook spec-status`.
    requirementPIPE-CONNSPECVERIFIEDe01884644a83
    tests/hooks/test_spec_status.py:62
    PIPE-CONNSPEC-R003
    The spec-delivery page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **The spec-delivery page.** `scripts/spec_dashboard*.py` is rendered through the reusable workflow `.github/workflows/pages_pipeline.yml` with `spec_dashboard_enabled: true`, and publishes at `https://knuckles-team.github.io/<repo>/spec-delivery/`. | `scripts/spec_dashboard.py` and `.github/workflows/pages_pipeline.yml` exist, and the workflow declares the `spec_dashboard_enabled` input.
    requirementPIPE-CONNSPECVERIFIED0e995cf10c3d
    tests/test_spec_dashboard.py:14
    PIPE-CONNSPEC-R004
    Reference callers in the five core repositories
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Reference callers in the five core repositories.** The reference callers are Medulla (`release.yml`), Meristem (`advisory.yml`), arbora (`pages.yml`), Scion SDK (`pages.yml`), and Overstory (`advisory.yml`). They are the one standard a connector copies. | Each named workflow file exists in its repository and calls `Knuckles-Team/pipelines/.github/workflows/pages_pipeline.yml@main` with `spec_dashboard_enabled: true`.
    requirementPIPE-CONNSPECSPECIFIEDNo recorded commit/test evidence
    PIPE-CONNSPEC-R005
    The lane contract in each development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **The lane contract in each development skill.** Each repository's `<repo>-development` skill carries the section "Rapid delivery: the 5-minute contract", which is the lane contract for agents working in it. | A search of each core repository's `<repo>-development` skill finds the section heading "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECSPECIFIEDNo recorded commit/test evidence
    PIPE-CONNSPEC-R006
    Preserve retired identities across spec ownership moves
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Preserve retired identities across spec ownership moves.** `pipelines_hooks/specs/standard.py` uses the shared retirement parser. A retired row keeps its original prefix; active canonical-form rows must match the owning spec. | `test_moved_retired_identity_uses_shared_status_parser` accepts a retired historical ID and refuses active rows that merely mention retirement.
    requirementPIPE-CONNSPECVERIFIED615425fe278b
    tests/test_spec_standard.py:117
    tests/test_spec_standard.py:124
    PIPE-CONNSPEC-R007
    CI checks changed prose
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **CI checks changed prose.** `ste-staged` checks committed PR or push changes on clean CI checkouts. Local runs check the staged index. Unavailable requested base commits fail closed. Existing per-file `(code, message)` finding counts remain exempt. | Real Git fixtures cover PR and push event bases, new findings, legacy debt, staged content, and invalid bases.
    requirementPIPE-CONNSPECVERIFIED6f1b2623bbda
    tests/hooks/test_ste_ci.py:31
    PIPE-CONNSPEC-R175
    Every repository ships one-command agent setup
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Every repository ships one-command agent setup.** Each repository tracks an idempotent, non-interactive `scripts/bootstrap.sh` that installs a current uv, the pinned Python (`.python-version`, else the fleet standard), the locked environment (`uv sync --locked`, or the repository's equivalent), and the pre-commit and pre-push hooks, then prints the gate command `uvx pre-commit run --all-files`. The script never pipes a network response into a shell: uv comes from `pip install --user` (retrying with `--break-system-packages`) or the script stops with the install link, so the `supply-chain` rule SC-INSTALL-001 stays clean. | `pipelines-hook agent-contract` reports `scripts/bootstrap.sh is not tracked` for a repository without it, reports SC-INSTALL-001 for a script containing `curl ... \| sh`, and passes under `--strict` for a conformant fixture.
    requirementPIPE-CONNSPECVERIFIED86a085a2865d
    b6a2fbb27499
    tests/hooks/test_agent_contract.py:20
    tests/hooks/test_agent_contract.py:68
    tests/hooks/test_agent_contract.py:79
    PIPE-CONNSPEC-R176
    Every repository carries the standard tool-neutral AGENTS.md section
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Every repository carries the standard tool-neutral AGENTS.md section.** `AGENTS.md` holds the marked block `<!-- agent-contract:start -->` to `<!-- agent-contract:end -->` with the labels Owner boundary, Setup, Gates and Commits, and a link to the organization `AGENTS.md` at `https://github.com/Knuckles-Team/.github/blob/main/AGENTS.md`. The block is tool-neutral; a tool-specific entry file such as `CLAUDE.md` only imports `AGENTS.md`. The connector scaffold in `universal-skills` generates both the script and the block. | `pipelines-hook agent-contract --strict` fails for an `AGENTS.md` without the block, a missing label or a missing org link, and passes for a conformant fixture.
    requirementPIPE-CONNSPECVERIFIED2a35ac8c46c0
    tests/hooks/test_agent_contract.py:31
    tests/hooks/test_agent_contract.py:39
    PIPE-CONNSPEC-R177
    The agent-contract check is warn-level first
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **The agent-contract check is warn-level first.** The hook `agent-contract` (pre-push) reports findings and exits 0; `--strict` makes them blocking once the fleet has converged. It reads the tracked set only. | The default run exits 0 with a `WARN` line for a nonconforming fixture, and `--strict` exits 1.
    requirementPIPE-CONNSPECVERIFIED2a35ac8c46c0
    tests/hooks/test_agent_contract.py:47
    tests/hooks/test_agent_contract.py:58
    PIPE-CONNSPEC-R101
    `ansible-tower-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`ansible-tower-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    afd8a5efe60e
    tests/test_connector_consumer_r101_r106_r116.py:65
    tests/test_connector_consumer_r101_r106_r116.py:66
    tests/test_connector_consumer_r101_r106_r116.py:67
    tests/test_connector_consumer_r101_r115.py:72
    tests/test_connector_consumer_r101_r115.py:97
    PIPE-CONNSPEC-R101.1
    `ansible-tower-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ansible-tower-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:72
    tests/test_connector_consumer_r101_r115.py:97
    PIPE-CONNSPEC-R101.2
    `ansible-tower-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ansible-tower-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:65
    PIPE-CONNSPEC-R101.3
    `ansible-tower-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ansible-tower-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/ansible-tower-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:66
    PIPE-CONNSPEC-R101.4
    `ansible-tower-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ansible-tower-mcp` has the rapid-delivery section in its development skill. | Check that its `ansible-tower-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:67
    PIPE-CONNSPEC-R102
    `archimate-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`archimate-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2cfb5169e508
    449c1193701b
    afd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:111
    tests/test_connector_consumer_r101_r115.py:136
    tests/test_connector_consumer_r101_r115.py:73
    tests/test_connector_consumer_r102.py:150
    tests/test_connector_consumer_r102.py:62
    PIPE-CONNSPEC-R102.1
    `archimate-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archimate-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:73
    PIPE-CONNSPEC-R102.2
    `archimate-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archimate-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:111
    PIPE-CONNSPEC-R102.3
    `archimate-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archimate-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/archimate-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:136
    PIPE-CONNSPEC-R102.4
    `archimate-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archimate-mcp` has the rapid-delivery section in its development skill. | Check that its `archimate-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2cfb5169e508
    449c1193701b
    tests/test_connector_consumer_r102.py:150
    tests/test_connector_consumer_r102.py:62
    PIPE-CONNSPEC-R103
    `archivebox-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`archivebox-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a75eb4ea62fd
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:138
    tests/test_connector_consumer_r103_r152_public_batch.py:96
    tests/test_connector_consumer_remeasure_20261028.py:172
    tests/test_connector_consumer_rollout.py:49
    PIPE-CONNSPEC-R103.1
    `archivebox-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archivebox-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:49
    PIPE-CONNSPEC-R103.2
    `archivebox-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archivebox-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:172
    PIPE-CONNSPEC-R103.3
    `archivebox-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archivebox-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/archivebox-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:96
    PIPE-CONNSPEC-R103.4
    `archivebox-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `archivebox-api` has the rapid-delivery section in its development skill. | Check that its `archivebox-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:138
    PIPE-CONNSPEC-R104
    `aris-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`aris-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    d982a5d40269
    tests/test_connector_consumer_rollout.py:124
    tests/test_connector_consumer_rollout.py:224
    tests/test_connector_consumer_rollout.py:50
    tests/test_connector_consumer_rollout.py:80
    PIPE-CONNSPEC-R104.1
    `aris-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `aris-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:50
    PIPE-CONNSPEC-R104.2
    `aris-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `aris-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:80
    PIPE-CONNSPEC-R104.3
    `aris-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `aris-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/aris-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:124
    PIPE-CONNSPEC-R104.4
    `aris-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `aris-mcp` has the rapid-delivery section in its development skill. | Check that its `aris-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDd982a5d40269
    tests/test_connector_consumer_rollout.py:224
    PIPE-CONNSPEC-R105
    `arr-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`arr-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    f82d25db4632
    tests/test_connector_consumer_r105.py:62
    tests/test_connector_consumer_r105.py:63
    tests/test_connector_consumer_rollout.py:51
    tests/test_connector_consumer_rollout.py:81
    PIPE-CONNSPEC-R105.1
    `arr-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `arr-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:51
    PIPE-CONNSPEC-R105.2
    `arr-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `arr-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:81
    PIPE-CONNSPEC-R105.3
    `arr-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `arr-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/arr-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDf82d25db4632
    tests/test_connector_consumer_r105.py:62
    PIPE-CONNSPEC-R105.4
    `arr-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `arr-mcp` has the rapid-delivery section in its development skill. | Check that its `arr-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDf82d25db4632
    tests/test_connector_consumer_r105.py:63
    PIPE-CONNSPEC-R106
    `atlassian-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`atlassian-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    afd8a5efe60e
    tests/test_connector_consumer_r101_r106_r116.py:68
    tests/test_connector_consumer_r101_r106_r116.py:69
    tests/test_connector_consumer_r101_r106_r116.py:70
    tests/test_connector_consumer_r101_r115.py:74
    PIPE-CONNSPEC-R106.1
    `atlassian-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `atlassian-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:74
    PIPE-CONNSPEC-R106.2
    `atlassian-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `atlassian-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:68
    PIPE-CONNSPEC-R106.3
    `atlassian-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `atlassian-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/atlassian-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:69
    PIPE-CONNSPEC-R106.4
    `atlassian-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `atlassian-agent` has the rapid-delivery section in its development skill. | Check that its `atlassian-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:70
    PIPE-CONNSPEC-R107
    `audio-transcriber` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`audio-transcriber` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    a75eb4ea62fd
    d7d1a86cc659
    tests/test_connector_consumer_r107_r155_public_batch.py:127
    tests/test_connector_consumer_r107_r155_public_batch.py:76
    tests/test_connector_consumer_rollout.py:52
    tests/test_connector_consumer_rollout.py:82
    PIPE-CONNSPEC-R107.1
    `audio-transcriber` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audio-transcriber` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:52
    PIPE-CONNSPEC-R107.2
    `audio-transcriber` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audio-transcriber` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:82
    PIPE-CONNSPEC-R107.3
    `audio-transcriber` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audio-transcriber` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/audio-transcriber/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    d7d1a86cc659
    tests/test_connector_consumer_r107_r155_public_batch.py:76
    PIPE-CONNSPEC-R107.4
    `audio-transcriber` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audio-transcriber` has the rapid-delivery section in its development skill. | Check that its `audio-transcriber-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    d7d1a86cc659
    tests/test_connector_consumer_r107_r155_public_batch.py:127
    PIPE-CONNSPEC-R108
    `audiobookshelf-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`audiobookshelf-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    afd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:112
    tests/test_connector_consumer_r101_r115.py:75
    tests/test_connector_consumer_r108_r115.py:79
    tests/test_connector_consumer_r108_r115.py:80
    PIPE-CONNSPEC-R108.1
    `audiobookshelf-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audiobookshelf-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:75
    PIPE-CONNSPEC-R108.2
    `audiobookshelf-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audiobookshelf-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:112
    PIPE-CONNSPEC-R108.3
    `audiobookshelf-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audiobookshelf-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/audiobookshelf-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:79
    PIPE-CONNSPEC-R108.4
    `audiobookshelf-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `audiobookshelf-mcp` has the rapid-delivery section in its development skill. | Check that its `audiobookshelf-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:80
    PIPE-CONNSPEC-R109
    `caddy-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`caddy-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED4c822b3c2dd7
    a75eb4ea62fd
    tests/test_connector_consumer_rollout.py:125
    tests/test_connector_consumer_rollout.py:148
    tests/test_connector_consumer_rollout.py:53
    tests/test_connector_consumer_rollout.py:83
    PIPE-CONNSPEC-R109.1
    `caddy-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `caddy-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:53
    PIPE-CONNSPEC-R109.2
    `caddy-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `caddy-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:83
    PIPE-CONNSPEC-R109.3
    `caddy-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `caddy-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/caddy-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:125
    PIPE-CONNSPEC-R109.4
    `caddy-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `caddy-mcp` has the rapid-delivery section in its development skill. | Check that its `caddy-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED4c822b3c2dd7
    tests/test_connector_consumer_rollout.py:148
    PIPE-CONNSPEC-R110
    `camunda-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`camunda-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    d982a5d40269
    tests/test_connector_consumer_rollout.py:126
    tests/test_connector_consumer_rollout.py:225
    tests/test_connector_consumer_rollout.py:54
    tests/test_connector_consumer_rollout.py:84
    PIPE-CONNSPEC-R110.1
    `camunda-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `camunda-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:54
    PIPE-CONNSPEC-R110.2
    `camunda-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `camunda-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:84
    PIPE-CONNSPEC-R110.3
    `camunda-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `camunda-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/camunda-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:126
    PIPE-CONNSPEC-R110.4
    `camunda-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `camunda-mcp` has the rapid-delivery section in its development skill. | Check that its `camunda-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDd982a5d40269
    tests/test_connector_consumer_rollout.py:225
    PIPE-CONNSPEC-R111
    `ciso-assistant-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`ciso-assistant-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    5536587da291
    a75eb4ea62fd
    tests/test_connector_consumer_r107_r155_public_batch.py:128
    tests/test_connector_consumer_r107_r155_public_batch.py:77
    tests/test_connector_consumer_remeasure_20261028.py:173
    tests/test_connector_consumer_rollout.py:55
    PIPE-CONNSPEC-R111.1
    `ciso-assistant-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ciso-assistant-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:55
    PIPE-CONNSPEC-R111.2
    `ciso-assistant-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ciso-assistant-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:173
    PIPE-CONNSPEC-R111.3
    `ciso-assistant-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ciso-assistant-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/ciso-assistant-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:77
    PIPE-CONNSPEC-R111.4
    `ciso-assistant-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `ciso-assistant-api` has the rapid-delivery section in its development skill. | Check that its `ciso-assistant-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:128
    PIPE-CONNSPEC-R112
    `clarity-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`clarity-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    afd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:113
    tests/test_connector_consumer_r101_r115.py:76
    tests/test_connector_consumer_r108_r115.py:81
    tests/test_connector_consumer_r108_r115.py:82
    PIPE-CONNSPEC-R112.1
    `clarity-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `clarity-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:76
    PIPE-CONNSPEC-R112.2
    `clarity-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `clarity-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:113
    PIPE-CONNSPEC-R112.3
    `clarity-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `clarity-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/clarity-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:81
    PIPE-CONNSPEC-R112.4
    `clarity-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `clarity-api` has the rapid-delivery section in its development skill. | Check that its `clarity-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:82
    PIPE-CONNSPEC-R113
    `container-manager-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`container-manager-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    afd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:77
    tests/test_connector_consumer_r108_r115.py:83
    tests/test_connector_consumer_r108_r115.py:84
    tests/test_connector_consumer_r108_r115.py:85
    PIPE-CONNSPEC-R113.1
    `container-manager-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `container-manager-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:77
    PIPE-CONNSPEC-R113.2
    `container-manager-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `container-manager-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:83
    PIPE-CONNSPEC-R113.3
    `container-manager-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `container-manager-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/container-manager-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:84
    PIPE-CONNSPEC-R113.4
    `container-manager-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `container-manager-mcp` has the rapid-delivery section in its development skill. | Check that its `container-manager-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:85
    PIPE-CONNSPEC-R114
    `data-science-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`data-science-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    afd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:114
    tests/test_connector_consumer_r101_r115.py:78
    tests/test_connector_consumer_r108_r115.py:86
    tests/test_connector_consumer_r108_r115.py:87
    PIPE-CONNSPEC-R114.1
    `data-science-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `data-science-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:78
    PIPE-CONNSPEC-R114.2
    `data-science-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `data-science-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:114
    PIPE-CONNSPEC-R114.3
    `data-science-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `data-science-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/data-science-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:86
    PIPE-CONNSPEC-R114.4
    `data-science-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `data-science-mcp` has the rapid-delivery section in its development skill. | Check that its `data-science-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:87
    PIPE-CONNSPEC-R115
    `dockerhub-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`dockerhub-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    afd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:115
    tests/test_connector_consumer_r101_r115.py:79
    tests/test_connector_consumer_r108_r115.py:88
    tests/test_connector_consumer_r108_r115.py:89
    PIPE-CONNSPEC-R115.1
    `dockerhub-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `dockerhub-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:79
    PIPE-CONNSPEC-R115.2
    `dockerhub-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `dockerhub-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDafd8a5efe60e
    tests/test_connector_consumer_r101_r115.py:115
    PIPE-CONNSPEC-R115.3
    `dockerhub-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `dockerhub-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/dockerhub-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:88
    PIPE-CONNSPEC-R115.4
    `dockerhub-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `dockerhub-api` has the rapid-delivery section in its development skill. | Check that its `dockerhub-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED3023e9165c48
    tests/test_connector_consumer_r108_r115.py:89
    PIPE-CONNSPEC-R116
    `documentdb-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`documentdb-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    a75eb4ea62fd
    ede2cdeae90f
    tests/test_connector_consumer_r101_r106_r116.py:71
    tests/test_connector_consumer_r101_r106_r116.py:72
    tests/test_connector_consumer_r103_r152_public_batch.py:139
    tests/test_connector_consumer_rollout.py:56
    PIPE-CONNSPEC-R116.1
    `documentdb-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `documentdb-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:56
    PIPE-CONNSPEC-R116.2
    `documentdb-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `documentdb-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:71
    PIPE-CONNSPEC-R116.3
    `documentdb-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `documentdb-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/documentdb-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED939290c617c5
    tests/test_connector_consumer_r101_r106_r116.py:72
    PIPE-CONNSPEC-R116.4
    `documentdb-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `documentdb-mcp` has the rapid-delivery section in its development skill. | Check that its `documentdb-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:139
    PIPE-CONNSPEC-R117
    `egeria-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`egeria-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    d982a5d40269
    tests/test_connector_consumer_rollout.py:127
    tests/test_connector_consumer_rollout.py:226
    tests/test_connector_consumer_rollout.py:57
    tests/test_connector_consumer_rollout.py:85
    PIPE-CONNSPEC-R117.1
    `egeria-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `egeria-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:57
    PIPE-CONNSPEC-R117.2
    `egeria-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `egeria-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:85
    PIPE-CONNSPEC-R117.3
    `egeria-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `egeria-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/egeria-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa75eb4ea62fd
    tests/test_connector_consumer_rollout.py:127
    PIPE-CONNSPEC-R117.4
    `egeria-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `egeria-mcp` has the rapid-delivery section in its development skill. | Check that its `egeria-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDd982a5d40269
    tests/test_connector_consumer_rollout.py:226
    PIPE-CONNSPEC-R118
    `emerald-exchange` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`emerald-exchange` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:49
    tests/test_connector_consumer_remeasure_20261028.py:174
    tests/test_connector_consumer_remeasure_20261028.py:200
    tests/test_connector_consumer_remeasure_20261028.py:225
    PIPE-CONNSPEC-R118.1
    `emerald-exchange` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `emerald-exchange` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:49
    PIPE-CONNSPEC-R118.2
    `emerald-exchange` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `emerald-exchange` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:174
    PIPE-CONNSPEC-R118.3
    `emerald-exchange` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `emerald-exchange` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/emerald-exchange/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:200
    PIPE-CONNSPEC-R118.4
    `emerald-exchange` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `emerald-exchange` has the rapid-delivery section in its development skill. | Check that its `emerald-exchange-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:225
    PIPE-CONNSPEC-R119
    `erpnext-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`erpnext-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    a56aeaef8e7f
    tests/test_connector_consumer_r107_r155_public_batch.py:129
    tests/test_connector_consumer_r118_137.py:147
    tests/test_connector_consumer_r118_137.py:50
    tests/test_connector_consumer_r118_137.py:94
    PIPE-CONNSPEC-R119.1
    `erpnext-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `erpnext-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:50
    PIPE-CONNSPEC-R119.2
    `erpnext-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `erpnext-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:94
    PIPE-CONNSPEC-R119.3
    `erpnext-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `erpnext-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/erpnext-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:147
    PIPE-CONNSPEC-R119.4
    `erpnext-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `erpnext-agent` has the rapid-delivery section in its development skill. | Check that its `erpnext-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:129
    PIPE-CONNSPEC-R120
    `fan-manager` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`fan-manager` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    a56aeaef8e7f
    tests/test_connector_consumer_r107_r155_public_batch.py:130
    tests/test_connector_consumer_r107_r155_public_batch.py:78
    tests/test_connector_consumer_r118_137.py:51
    tests/test_connector_consumer_r118_137.py:95
    PIPE-CONNSPEC-R120.1
    `fan-manager` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `fan-manager` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:51
    PIPE-CONNSPEC-R120.2
    `fan-manager` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `fan-manager` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:95
    PIPE-CONNSPEC-R120.3
    `fan-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `fan-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/fan-manager/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:78
    PIPE-CONNSPEC-R120.4
    `fan-manager` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `fan-manager` has the rapid-delivery section in its development skill. | Check that its `fan-manager-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:130
    PIPE-CONNSPEC-R121
    `firefly-iii-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`firefly-iii-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2523602d5bf6
    a56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:52
    tests/test_connector_consumer_r118_137.py:96
    tests/test_connector_consumer_r121.py:148
    tests/test_connector_consumer_r121.py:186
    tests/test_connector_consumer_r121.py:67
    PIPE-CONNSPEC-R121.1
    `firefly-iii-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `firefly-iii-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:52
    PIPE-CONNSPEC-R121.2
    `firefly-iii-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `firefly-iii-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:96
    PIPE-CONNSPEC-R121.3
    `firefly-iii-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `firefly-iii-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/firefly-iii-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2523602d5bf6
    tests/test_connector_consumer_r121.py:148
    tests/test_connector_consumer_r121.py:67
    PIPE-CONNSPEC-R121.4
    `firefly-iii-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `firefly-iii-mcp` has the rapid-delivery section in its development skill. | Check that its `firefly-iii-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2523602d5bf6
    tests/test_connector_consumer_r121.py:186
    tests/test_connector_consumer_r121.py:68
    PIPE-CONNSPEC-R122
    `freshrss-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`freshrss-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    5536587da291
    a56aeaef8e7f
    tests/test_connector_consumer_r107_r155_public_batch.py:131
    tests/test_connector_consumer_r118_137.py:53
    tests/test_connector_consumer_r118_137.py:97
    tests/test_connector_consumer_remeasure_20261028.py:201
    PIPE-CONNSPEC-R122.1
    `freshrss-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `freshrss-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:53
    PIPE-CONNSPEC-R122.2
    `freshrss-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `freshrss-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:97
    PIPE-CONNSPEC-R122.3
    `freshrss-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `freshrss-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/freshrss-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:201
    PIPE-CONNSPEC-R122.4
    `freshrss-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `freshrss-agent` has the rapid-delivery section in its development skill. | Check that its `freshrss-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:131
    PIPE-CONNSPEC-R123
    `genius-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`genius-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:54
    tests/test_connector_consumer_r118_137.py:98
    tests/test_connector_consumer_remeasure_20261028.py:202
    tests/test_connector_consumer_remeasure_20261028.py:226
    PIPE-CONNSPEC-R123.1
    `genius-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `genius-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:54
    PIPE-CONNSPEC-R123.2
    `genius-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `genius-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:98
    PIPE-CONNSPEC-R123.3
    `genius-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `genius-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/genius-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:202
    PIPE-CONNSPEC-R123.4
    `genius-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `genius-agent` has the rapid-delivery section in its development skill. | Check that its `genius-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:226
    PIPE-CONNSPEC-R124
    `github-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`github-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:55
    tests/test_connector_consumer_remeasure_20261028.py:175
    tests/test_connector_consumer_remeasure_20261028.py:203
    tests/test_connector_consumer_remeasure_20261028.py:227
    PIPE-CONNSPEC-R124.1
    `github-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `github-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:55
    PIPE-CONNSPEC-R124.2
    `github-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `github-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:175
    PIPE-CONNSPEC-R124.3
    `github-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `github-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/github-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:203
    PIPE-CONNSPEC-R124.4
    `github-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `github-agent` has the rapid-delivery section in its development skill. | Check that its `github-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:227
    PIPE-CONNSPEC-R125
    `gitlab-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`gitlab-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:140
    tests/test_connector_consumer_r103_r152_public_batch.py:97
    tests/test_connector_consumer_r118_137.py:56
    tests/test_connector_consumer_remeasure_20261028.py:176
    PIPE-CONNSPEC-R125.1
    `gitlab-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gitlab-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:56
    PIPE-CONNSPEC-R125.2
    `gitlab-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gitlab-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:176
    PIPE-CONNSPEC-R125.3
    `gitlab-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gitlab-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/gitlab-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:97
    PIPE-CONNSPEC-R125.4
    `gitlab-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gitlab-api` has the rapid-delivery section in its development skill. | Check that its `gitlab-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:140
    PIPE-CONNSPEC-R126
    `gramps-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`gramps-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:141
    tests/test_connector_consumer_r103_r152_public_batch.py:98
    tests/test_connector_consumer_r118_137.py:57
    tests/test_connector_consumer_r118_137.py:99
    PIPE-CONNSPEC-R126.1
    `gramps-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gramps-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:57
    PIPE-CONNSPEC-R126.2
    `gramps-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gramps-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:99
    PIPE-CONNSPEC-R126.3
    `gramps-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gramps-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/gramps-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:98
    PIPE-CONNSPEC-R126.4
    `gramps-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `gramps-mcp` has the rapid-delivery section in its development skill. | Check that its `gramps-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:141
    PIPE-CONNSPEC-R127
    `hdhomerun-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`hdhomerun-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:142
    tests/test_connector_consumer_r103_r152_public_batch.py:99
    tests/test_connector_consumer_r118_137.py:100
    tests/test_connector_consumer_r118_137.py:58
    PIPE-CONNSPEC-R127.1
    `hdhomerun-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `hdhomerun-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:58
    PIPE-CONNSPEC-R127.2
    `hdhomerun-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `hdhomerun-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:100
    PIPE-CONNSPEC-R127.3
    `hdhomerun-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `hdhomerun-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/hdhomerun-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:99
    PIPE-CONNSPEC-R127.4
    `hdhomerun-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `hdhomerun-mcp` has the rapid-delivery section in its development skill. | Check that its `hdhomerun-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:142
    PIPE-CONNSPEC-R128
    `home-assistant-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`home-assistant-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    a56aeaef8e7f
    tests/test_connector_consumer_r107_r155_public_batch.py:132
    tests/test_connector_consumer_r107_r155_public_batch.py:79
    tests/test_connector_consumer_r118_137.py:101
    tests/test_connector_consumer_r118_137.py:59
    PIPE-CONNSPEC-R128.1
    `home-assistant-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `home-assistant-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:59
    PIPE-CONNSPEC-R128.2
    `home-assistant-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `home-assistant-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:101
    PIPE-CONNSPEC-R128.3
    `home-assistant-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `home-assistant-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/home-assistant-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:79
    PIPE-CONNSPEC-R128.4
    `home-assistant-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `home-assistant-agent` has the rapid-delivery section in its development skill. | Check that its `home-assistant-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:132
    PIPE-CONNSPEC-R129
    `jellyfin-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`jellyfin-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:100
    tests/test_connector_consumer_r103_r152_public_batch.py:143
    tests/test_connector_consumer_r118_137.py:102
    tests/test_connector_consumer_r118_137.py:60
    PIPE-CONNSPEC-R129.1
    `jellyfin-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jellyfin-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:60
    PIPE-CONNSPEC-R129.2
    `jellyfin-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jellyfin-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:102
    PIPE-CONNSPEC-R129.3
    `jellyfin-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jellyfin-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/jellyfin-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:100
    PIPE-CONNSPEC-R129.4
    `jellyfin-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jellyfin-mcp` has the rapid-delivery section in its development skill. | Check that its `jellyfin-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:143
    PIPE-CONNSPEC-R130
    `jena-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`jena-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    a56aeaef8e7f
    tests/test_connector_consumer_r107_r155_public_batch.py:133
    tests/test_connector_consumer_r118_137.py:103
    tests/test_connector_consumer_r118_137.py:148
    tests/test_connector_consumer_r118_137.py:61
    PIPE-CONNSPEC-R130.1
    `jena-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jena-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:61
    PIPE-CONNSPEC-R130.2
    `jena-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jena-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:103
    PIPE-CONNSPEC-R130.3
    `jena-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jena-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/jena-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:148
    PIPE-CONNSPEC-R130.4
    `jena-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `jena-mcp` has the rapid-delivery section in its development skill. | Check that its `jena-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:133
    PIPE-CONNSPEC-R131
    `kafka-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`kafka-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:62
    tests/test_connector_consumer_remeasure_20261028.py:177
    tests/test_connector_consumer_remeasure_20261028.py:204
    tests/test_connector_consumer_remeasure_20261028.py:228
    PIPE-CONNSPEC-R131.1
    `kafka-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `kafka-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:62
    PIPE-CONNSPEC-R131.2
    `kafka-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `kafka-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:177
    PIPE-CONNSPEC-R131.3
    `kafka-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `kafka-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/kafka-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:204
    PIPE-CONNSPEC-R131.4
    `kafka-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `kafka-mcp` has the rapid-delivery section in its development skill. | Check that its `kafka-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:228
    PIPE-CONNSPEC-R132
    `keycloak-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`keycloak-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5536587da291
    a56aeaef8e7f
    tests/test_connector_consumer_r107_r155_public_batch.py:134
    tests/test_connector_consumer_r118_137.py:104
    tests/test_connector_consumer_r118_137.py:149
    tests/test_connector_consumer_r118_137.py:63
    PIPE-CONNSPEC-R132.1
    `keycloak-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `keycloak-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:63
    PIPE-CONNSPEC-R132.2
    `keycloak-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `keycloak-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:104
    PIPE-CONNSPEC-R132.3
    `keycloak-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `keycloak-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/keycloak-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:149
    PIPE-CONNSPEC-R132.4
    `keycloak-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `keycloak-agent` has the rapid-delivery section in its development skill. | Check that its `keycloak-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    tests/test_connector_consumer_r107_r155_public_batch.py:134
    PIPE-CONNSPEC-R133
    `lakekeeper-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`lakekeeper-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:144
    tests/test_connector_consumer_r118_137.py:105
    tests/test_connector_consumer_r118_137.py:64
    tests/test_connector_consumer_remeasure_20261028.py:205
    PIPE-CONNSPEC-R133.1
    `lakekeeper-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lakekeeper-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:64
    PIPE-CONNSPEC-R133.2
    `lakekeeper-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lakekeeper-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:105
    PIPE-CONNSPEC-R133.3
    `lakekeeper-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lakekeeper-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/lakekeeper-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:205
    PIPE-CONNSPEC-R133.4
    `lakekeeper-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lakekeeper-mcp` has the rapid-delivery section in its development skill. | Check that its `lakekeeper-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:144
    PIPE-CONNSPEC-R134
    `langfuse-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`langfuse-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:101
    tests/test_connector_consumer_r103_r152_public_batch.py:145
    tests/test_connector_consumer_r118_137.py:106
    tests/test_connector_consumer_r118_137.py:65
    PIPE-CONNSPEC-R134.1
    `langfuse-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `langfuse-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:65
    PIPE-CONNSPEC-R134.2
    `langfuse-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `langfuse-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:106
    PIPE-CONNSPEC-R134.3
    `langfuse-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `langfuse-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/langfuse-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:101
    PIPE-CONNSPEC-R134.4
    `langfuse-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `langfuse-agent` has the rapid-delivery section in its development skill. | Check that its `langfuse-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:145
    PIPE-CONNSPEC-R135
    `leanix-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`leanix-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:102
    tests/test_connector_consumer_r103_r152_public_batch.py:146
    tests/test_connector_consumer_r118_137.py:107
    tests/test_connector_consumer_r118_137.py:66
    PIPE-CONNSPEC-R135.1
    `leanix-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `leanix-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:66
    PIPE-CONNSPEC-R135.2
    `leanix-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `leanix-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:107
    PIPE-CONNSPEC-R135.3
    `leanix-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `leanix-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/leanix-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:102
    PIPE-CONNSPEC-R135.4
    `leanix-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `leanix-agent` has the rapid-delivery section in its development skill. | Check that its `leanix-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:146
    PIPE-CONNSPEC-R136
    `legal-peripherals-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`legal-peripherals-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:67
    tests/test_connector_consumer_remeasure_20261028.py:178
    tests/test_connector_consumer_remeasure_20261028.py:206
    tests/test_connector_consumer_remeasure_20261028.py:229
    PIPE-CONNSPEC-R136.1
    `legal-peripherals-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `legal-peripherals-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:67
    PIPE-CONNSPEC-R136.2
    `legal-peripherals-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `legal-peripherals-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:178
    PIPE-CONNSPEC-R136.3
    `legal-peripherals-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `legal-peripherals-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/legal-peripherals-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:206
    PIPE-CONNSPEC-R136.4
    `legal-peripherals-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `legal-peripherals-mcp` has the rapid-delivery section in its development skill. | Check that its `legal-peripherals-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:229
    PIPE-CONNSPEC-R137
    `lgtm-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`lgtm-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    a56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:108
    tests/test_connector_consumer_r118_137.py:150
    tests/test_connector_consumer_r118_137.py:68
    tests/test_connector_consumer_remeasure_20261028.py:230
    PIPE-CONNSPEC-R137.1
    `lgtm-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lgtm-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:68
    PIPE-CONNSPEC-R137.2
    `lgtm-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lgtm-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:108
    PIPE-CONNSPEC-R137.3
    `lgtm-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lgtm-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/lgtm-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa56aeaef8e7f
    tests/test_connector_consumer_r118_137.py:150
    PIPE-CONNSPEC-R137.4
    `lgtm-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `lgtm-mcp` has the rapid-delivery section in its development skill. | Check that its `lgtm-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:230
    PIPE-CONNSPEC-R138
    `listmonk-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`listmonk-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2dadce373942
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:125
    tests/test_connector_consumer_r138_157.py:63
    tests/test_connector_consumer_r138_r145.py:114
    tests/test_connector_consumer_r138_r145.py:115
    tests/test_connector_consumer_r138_r145.py:203
    PIPE-CONNSPEC-R138.1
    `listmonk-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `listmonk-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:63
    PIPE-CONNSPEC-R138.2
    `listmonk-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `listmonk-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:125
    PIPE-CONNSPEC-R138.3
    `listmonk-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `listmonk-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/listmonk-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2dadce373942
    tests/test_connector_consumer_r138_r145.py:114
    tests/test_connector_consumer_r138_r145.py:203
    PIPE-CONNSPEC-R138.4
    `listmonk-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `listmonk-api` has the rapid-delivery section in its development skill. | Check that its `listmonk-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2dadce373942
    tests/test_connector_consumer_r138_r145.py:115
    tests/test_connector_consumer_r138_r145.py:243
    PIPE-CONNSPEC-R139
    `bellwether-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`bellwether-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). The repository was renamed from `market-data-mcp`; the old name redirects to it. | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:64
    tests/test_connector_consumer_remeasure_20261028.py:179
    tests/test_connector_consumer_remeasure_20261028.py:207
    tests/test_connector_consumer_remeasure_20261028.py:231
    PIPE-CONNSPEC-R139.1
    `bellwether-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `bellwether-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:64
    PIPE-CONNSPEC-R139.2
    `bellwether-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `bellwether-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:179
    PIPE-CONNSPEC-R139.3
    `bellwether-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `bellwether-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/bellwether-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:207
    PIPE-CONNSPEC-R139.4
    `bellwether-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `bellwether-mcp` has the rapid-delivery section in its development skill. | Check that its `market-data-mcp-development` skill, which still carries the pre-rename directory name, has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:231
    PIPE-CONNSPEC-R140
    `mattermost-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`mattermost-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:158
    tests/test_connector_consumer_r138_157.py:65
    tests/test_connector_consumer_remeasure_20261028.py:180
    tests/test_connector_consumer_remeasure_20261028.py:232
    PIPE-CONNSPEC-R140.1
    `mattermost-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mattermost-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:65
    PIPE-CONNSPEC-R140.2
    `mattermost-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mattermost-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:180
    PIPE-CONNSPEC-R140.3
    `mattermost-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mattermost-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/mattermost-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:158
    PIPE-CONNSPEC-R140.4
    `mattermost-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mattermost-mcp` has the rapid-delivery section in its development skill. | Check that its `mattermost-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:232
    PIPE-CONNSPEC-R141
    `mealie-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`mealie-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED1211cdf00063
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:126
    tests/test_connector_consumer_r138_157.py:66
    tests/test_connector_consumer_r141.py:148
    tests/test_connector_consumer_r141.py:186
    tests/test_connector_consumer_r141.py:67
    PIPE-CONNSPEC-R141.1
    `mealie-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mealie-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:66
    PIPE-CONNSPEC-R141.2
    `mealie-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mealie-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:126
    PIPE-CONNSPEC-R141.3
    `mealie-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mealie-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/mealie-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED1211cdf00063
    tests/test_connector_consumer_r141.py:148
    tests/test_connector_consumer_r141.py:67
    PIPE-CONNSPEC-R141.4
    `mealie-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `mealie-mcp` has the rapid-delivery section in its development skill. | Check that its `mealie-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED1211cdf00063
    tests/test_connector_consumer_r141.py:186
    tests/test_connector_consumer_r141.py:68
    PIPE-CONNSPEC-R142
    `media-downloader` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`media-downloader` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:67
    tests/test_connector_consumer_remeasure_20261028.py:181
    tests/test_connector_consumer_remeasure_20261028.py:208
    tests/test_connector_consumer_remeasure_20261028.py:233
    PIPE-CONNSPEC-R142.1
    `media-downloader` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `media-downloader` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:67
    PIPE-CONNSPEC-R142.2
    `media-downloader` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `media-downloader` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:181
    PIPE-CONNSPEC-R142.3
    `media-downloader` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `media-downloader` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/media-downloader/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:208
    PIPE-CONNSPEC-R142.4
    `media-downloader` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `media-downloader` has the rapid-delivery section in its development skill. | Check that its `media-downloader-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:233
    PIPE-CONNSPEC-R143
    `microsoft-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`microsoft-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:68
    tests/test_connector_consumer_remeasure_20261028.py:182
    tests/test_connector_consumer_remeasure_20261028.py:209
    tests/test_connector_consumer_remeasure_20261028.py:234
    PIPE-CONNSPEC-R143.1
    `microsoft-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `microsoft-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:68
    PIPE-CONNSPEC-R143.2
    `microsoft-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `microsoft-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:182
    PIPE-CONNSPEC-R143.3
    `microsoft-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `microsoft-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/microsoft-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:209
    PIPE-CONNSPEC-R143.4
    `microsoft-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `microsoft-agent` has the rapid-delivery section in its development skill. | Check that its `microsoft-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:234
    PIPE-CONNSPEC-R144
    `nextcloud-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`nextcloud-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED1bd43d95d2c6
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:127
    tests/test_connector_consumer_r138_157.py:69
    tests/test_connector_consumer_r144.py:136
    tests/test_connector_consumer_r144.py:174
    tests/test_connector_consumer_r144.py:50
    PIPE-CONNSPEC-R144.1
    `nextcloud-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `nextcloud-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:69
    PIPE-CONNSPEC-R144.2
    `nextcloud-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `nextcloud-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:127
    PIPE-CONNSPEC-R144.3
    `nextcloud-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `nextcloud-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/nextcloud-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED1bd43d95d2c6
    tests/test_connector_consumer_r144.py:136
    tests/test_connector_consumer_r144.py:50
    PIPE-CONNSPEC-R144.4
    `nextcloud-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `nextcloud-agent` has the rapid-delivery section in its development skill. | Check that its `nextcloud-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED1bd43d95d2c6
    tests/test_connector_consumer_r144.py:174
    tests/test_connector_consumer_r144.py:51
    PIPE-CONNSPEC-R145
    `objectstore-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`objectstore-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2dadce373942
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:128
    tests/test_connector_consumer_r138_157.py:70
    tests/test_connector_consumer_r138_r145.py:116
    tests/test_connector_consumer_r138_r145.py:117
    tests/test_connector_consumer_r138_r145.py:204
    PIPE-CONNSPEC-R145.1
    `objectstore-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `objectstore-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:70
    PIPE-CONNSPEC-R145.2
    `objectstore-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `objectstore-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:128
    PIPE-CONNSPEC-R145.3
    `objectstore-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `objectstore-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/objectstore-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2dadce373942
    tests/test_connector_consumer_r138_r145.py:116
    tests/test_connector_consumer_r138_r145.py:204
    PIPE-CONNSPEC-R145.4
    `objectstore-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `objectstore-mcp` has the rapid-delivery section in its development skill. | Check that its `objectstore-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2dadce373942
    tests/test_connector_consumer_r138_r145.py:117
    tests/test_connector_consumer_r138_r145.py:244
    PIPE-CONNSPEC-R146
    `okta-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`okta-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa9c07ce2625e
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:129
    tests/test_connector_consumer_r138_157.py:71
    tests/test_connector_consumer_r146.py:148
    tests/test_connector_consumer_r146.py:186
    tests/test_connector_consumer_r146.py:67
    PIPE-CONNSPEC-R146.1
    `okta-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `okta-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:71
    PIPE-CONNSPEC-R146.2
    `okta-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `okta-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:129
    PIPE-CONNSPEC-R146.3
    `okta-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `okta-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/okta-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDa9c07ce2625e
    tests/test_connector_consumer_r146.py:148
    tests/test_connector_consumer_r146.py:67
    PIPE-CONNSPEC-R146.4
    `okta-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `okta-agent` has the rapid-delivery section in its development skill. | Check that its `okta-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDa9c07ce2625e
    tests/test_connector_consumer_r146.py:186
    tests/test_connector_consumer_r146.py:68
    PIPE-CONNSPEC-R147
    `onetrust-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`onetrust-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:159
    tests/test_connector_consumer_r138_157.py:72
    tests/test_connector_consumer_remeasure_20261028.py:183
    tests/test_connector_consumer_remeasure_20261028.py:235
    PIPE-CONNSPEC-R147.1
    `onetrust-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `onetrust-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:72
    PIPE-CONNSPEC-R147.2
    `onetrust-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `onetrust-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:183
    PIPE-CONNSPEC-R147.3
    `onetrust-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `onetrust-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/onetrust-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:159
    PIPE-CONNSPEC-R147.4
    `onetrust-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `onetrust-api` has the rapid-delivery section in its development skill. | Check that its `onetrust-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:235
    PIPE-CONNSPEC-R148
    `openbao-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`openbao-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED95c31e627d5e
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:130
    tests/test_connector_consumer_r138_157.py:160
    tests/test_connector_consumer_r138_157.py:73
    tests/test_connector_consumer_r148.py:163
    tests/test_connector_consumer_r148.py:77
    PIPE-CONNSPEC-R148.1
    `openbao-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `openbao-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:73
    PIPE-CONNSPEC-R148.2
    `openbao-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `openbao-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:130
    PIPE-CONNSPEC-R148.3
    `openbao-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `openbao-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/openbao-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:160
    PIPE-CONNSPEC-R148.4
    `openbao-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `openbao-mcp` has the rapid-delivery section in its development skill. | Check that its `openbao-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED95c31e627d5e
    tests/test_connector_consumer_r148.py:163
    tests/test_connector_consumer_r148.py:77
    PIPE-CONNSPEC-R149
    `opensearch-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`opensearch-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED8b12b7066e0b
    d0b62fe19086
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:131
    tests/test_connector_consumer_r138_157.py:74
    tests/test_connector_consumer_r149.py:127
    tests/test_connector_consumer_r149.py:166
    tests/test_connector_consumer_r149.py:198
    PIPE-CONNSPEC-R149.1
    `opensearch-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `opensearch-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:74
    PIPE-CONNSPEC-R149.2
    `opensearch-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `opensearch-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:131
    PIPE-CONNSPEC-R149.3
    `opensearch-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `opensearch-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/opensearch-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED8b12b7066e0b
    d0b62fe19086
    tests/test_connector_consumer_r149.py:127
    tests/test_connector_consumer_r149.py:198
    tests/test_connector_consumer_r149.py:44
    PIPE-CONNSPEC-R149.4
    `opensearch-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `opensearch-mcp` has the rapid-delivery section in its development skill. | Check that its `opensearch-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED8b12b7066e0b
    d0b62fe19086
    tests/test_connector_consumer_r149.py:166
    tests/test_connector_consumer_r149.py:45
    PIPE-CONNSPEC-R150
    `owncast-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`owncast-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:75
    tests/test_connector_consumer_remeasure_20261028.py:184
    tests/test_connector_consumer_remeasure_20261028.py:210
    tests/test_connector_consumer_remeasure_20261028.py:236
    PIPE-CONNSPEC-R150.1
    `owncast-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `owncast-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:75
    PIPE-CONNSPEC-R150.2
    `owncast-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `owncast-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:184
    PIPE-CONNSPEC-R150.3
    `owncast-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `owncast-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/owncast-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:210
    PIPE-CONNSPEC-R150.4
    `owncast-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `owncast-agent` has the rapid-delivery section in its development skill. | Check that its `owncast-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:236
    PIPE-CONNSPEC-R151
    `paperless-ngx-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`paperless-ngx-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:76
    tests/test_connector_consumer_remeasure_20261028.py:185
    tests/test_connector_consumer_remeasure_20261028.py:211
    tests/test_connector_consumer_remeasure_20261028.py:237
    PIPE-CONNSPEC-R151.1
    `paperless-ngx-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `paperless-ngx-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:76
    PIPE-CONNSPEC-R151.2
    `paperless-ngx-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `paperless-ngx-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:185
    PIPE-CONNSPEC-R151.3
    `paperless-ngx-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `paperless-ngx-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/paperless-ngx-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:211
    PIPE-CONNSPEC-R151.4
    `paperless-ngx-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `paperless-ngx-mcp` has the rapid-delivery section in its development skill. | Check that its `paperless-ngx-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:237
    PIPE-CONNSPEC-R152
    `plane-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`plane-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    ede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:103
    tests/test_connector_consumer_r103_r152_public_batch.py:147
    tests/test_connector_consumer_r138_157.py:77
    tests/test_connector_consumer_remeasure_20261028.py:186
    PIPE-CONNSPEC-R152.1
    `plane-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `plane-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:77
    PIPE-CONNSPEC-R152.2
    `plane-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `plane-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:186
    PIPE-CONNSPEC-R152.3
    `plane-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `plane-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/plane-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:103
    PIPE-CONNSPEC-R152.4
    `plane-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `plane-agent` has the rapid-delivery section in its development skill. | Check that its `plane-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDede2cdeae90f
    tests/test_connector_consumer_r103_r152_public_batch.py:147
    PIPE-CONNSPEC-R153
    `portainer-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`portainer-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDd37c6af0e600
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:132
    tests/test_connector_consumer_r138_157.py:78
    tests/test_connector_consumer_r153.py:143
    tests/test_connector_consumer_r153.py:185
    tests/test_connector_consumer_r153.py:61
    PIPE-CONNSPEC-R153.1
    `portainer-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `portainer-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:78
    PIPE-CONNSPEC-R153.2
    `portainer-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `portainer-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:132
    PIPE-CONNSPEC-R153.3
    `portainer-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `portainer-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/portainer-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDd37c6af0e600
    tests/test_connector_consumer_r153.py:143
    tests/test_connector_consumer_r153.py:61
    PIPE-CONNSPEC-R153.4
    `portainer-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `portainer-agent` has the rapid-delivery section in its development skill. | Check that its `portainer-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDd37c6af0e600
    tests/test_connector_consumer_r153.py:185
    tests/test_connector_consumer_r153.py:62
    PIPE-CONNSPEC-R154
    `postiz-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`postiz-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDc940238f01fc
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:133
    tests/test_connector_consumer_r138_157.py:207
    tests/test_connector_consumer_r138_157.py:223
    tests/test_connector_consumer_r138_157.py:79
    PIPE-CONNSPEC-R154.1
    `postiz-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `postiz-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:79
    PIPE-CONNSPEC-R154.2
    `postiz-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `postiz-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:133
    PIPE-CONNSPEC-R154.3
    `postiz-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `postiz-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/postiz-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDc940238f01fc
    tests/test_connector_consumer_r138_157.py:207
    PIPE-CONNSPEC-R154.4
    `postiz-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `postiz-agent` has the rapid-delivery section in its development skill. | Check that its `postiz-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDc940238f01fc
    tests/test_connector_consumer_r138_157.py:223
    PIPE-CONNSPEC-R155
    `pulselink-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`pulselink-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    5536587da291
    d7d1a86cc659
    ed11593ea8c8
    tests/test_connector_consumer_r107_r155_public_batch.py:135
    tests/test_connector_consumer_r138_157.py:80
    tests/test_connector_consumer_remeasure_20261028.py:187
    tests/test_connector_consumer_remeasure_20261028.py:212
    PIPE-CONNSPEC-R155.1
    `pulselink-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `pulselink-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:80
    PIPE-CONNSPEC-R155.2
    `pulselink-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `pulselink-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:187
    PIPE-CONNSPEC-R155.3
    `pulselink-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `pulselink-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/pulselink-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:212
    PIPE-CONNSPEC-R155.4
    `pulselink-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `pulselink-mcp` has the rapid-delivery section in its development skill. | Check that its `pulselink-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5536587da291
    d7d1a86cc659
    tests/test_connector_consumer_r107_r155_public_batch.py:135
    PIPE-CONNSPEC-R156
    `qbittorrent-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`qbittorrent-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    ed11593ea8c8
    tests/test_connector_consumer_r138_157.py:134
    tests/test_connector_consumer_r138_157.py:81
    tests/test_connector_consumer_remeasure_20261028.py:213
    tests/test_connector_consumer_remeasure_20261028.py:238
    PIPE-CONNSPEC-R156.1
    `qbittorrent-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `qbittorrent-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:81
    PIPE-CONNSPEC-R156.2
    `qbittorrent-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `qbittorrent-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:134
    PIPE-CONNSPEC-R156.3
    `qbittorrent-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `qbittorrent-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/qbittorrent-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:213
    PIPE-CONNSPEC-R156.4
    `qbittorrent-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `qbittorrent-agent` has the rapid-delivery section in its development skill. | Check that its `qbittorrent-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:238
    PIPE-CONNSPEC-R157
    `repository-manager` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`repository-manager` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECSPECIFIEDNo recorded commit/test evidence
    PIPE-CONNSPEC-R157.1
    `repository-manager` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `repository-manager` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:82
    PIPE-CONNSPEC-R157.2
    `repository-manager` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `repository-manager` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECSPECIFIEDNo recorded commit/test evidence
    PIPE-CONNSPEC-R157.3
    `repository-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `repository-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/repository-manager/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDed11593ea8c8
    tests/test_connector_consumer_r138_157.py:161
    PIPE-CONNSPEC-R157.4
    `repository-manager` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `repository-manager` has the rapid-delivery section in its development skill. | Check that its `repository-manager-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:239
    PIPE-CONNSPEC-R158
    `rom-manager` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`rom-manager` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:49
    tests/test_connector_consumer_r163_r167.py:82
    tests/test_connector_consumer_r163_r167.py:83
    tests/test_connector_consumer_r163_r167.py:84
    PIPE-CONNSPEC-R158.1
    `rom-manager` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `rom-manager` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:49
    PIPE-CONNSPEC-R158.2
    `rom-manager` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `rom-manager` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:82
    PIPE-CONNSPEC-R158.3
    `rom-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `rom-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/rom-manager/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:83
    PIPE-CONNSPEC-R158.4
    `rom-manager` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `rom-manager` has the rapid-delivery section in its development skill. | Check that its `rom-manager-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:84
    PIPE-CONNSPEC-R159
    `salesforce-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`salesforce-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:50
    tests/test_connector_consumer_r158_167.py:85
    tests/test_connector_consumer_r159_r169.py:76
    tests/test_connector_consumer_r159_r169.py:77
    PIPE-CONNSPEC-R159.1
    `salesforce-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `salesforce-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:50
    PIPE-CONNSPEC-R159.2
    `salesforce-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `salesforce-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:85
    PIPE-CONNSPEC-R159.3
    `salesforce-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `salesforce-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/salesforce-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:76
    PIPE-CONNSPEC-R159.4
    `salesforce-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `salesforce-agent` has the rapid-delivery section in its development skill. | Check that its `salesforce-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:77
    PIPE-CONNSPEC-R160
    `scholarx` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`scholarx` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:51
    tests/test_connector_consumer_r159_r169.py:78
    tests/test_connector_consumer_r159_r169.py:79
    tests/test_connector_consumer_r159_r169.py:80
    PIPE-CONNSPEC-R160.1
    `scholarx` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `scholarx` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:51
    PIPE-CONNSPEC-R160.2
    `scholarx` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `scholarx` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:78
    PIPE-CONNSPEC-R160.3
    `scholarx` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `scholarx` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/scholarx/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:79
    PIPE-CONNSPEC-R160.4
    `scholarx` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `scholarx` has the rapid-delivery section in its development skill. | Check that its `scholarx-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:80
    PIPE-CONNSPEC-R161
    `searxng-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`searxng-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    444f49d63af1
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:52
    tests/test_connector_consumer_r159_r169.py:81
    tests/test_connector_consumer_r159_r169.py:82
    tests/test_connector_consumer_remeasure_20261028.py:188
    PIPE-CONNSPEC-R161.1
    `searxng-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `searxng-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:52
    PIPE-CONNSPEC-R161.2
    `searxng-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `searxng-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED444f49d63af1
    tests/test_connector_consumer_remeasure_20261028.py:188
    PIPE-CONNSPEC-R161.3
    `searxng-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `searxng-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/searxng-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:81
    PIPE-CONNSPEC-R161.4
    `searxng-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `searxng-mcp` has the rapid-delivery section in its development skill. | Check that its `searxng-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:82
    PIPE-CONNSPEC-R162
    `servicenow-api` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`servicenow-api` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:53
    tests/test_connector_consumer_r158_167.py:86
    tests/test_connector_consumer_r159_r169.py:83
    tests/test_connector_consumer_r159_r169.py:84
    PIPE-CONNSPEC-R162.1
    `servicenow-api` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `servicenow-api` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:53
    PIPE-CONNSPEC-R162.2
    `servicenow-api` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `servicenow-api` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:86
    PIPE-CONNSPEC-R162.3
    `servicenow-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `servicenow-api` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/servicenow-api/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:83
    PIPE-CONNSPEC-R162.4
    `servicenow-api` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `servicenow-api` has the rapid-delivery section in its development skill. | Check that its `servicenow-api-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:84
    PIPE-CONNSPEC-R163
    `spark-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`spark-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:54
    tests/test_connector_consumer_r158_167.py:87
    tests/test_connector_consumer_r163_r167.py:85
    tests/test_connector_consumer_r163_r167.py:86
    PIPE-CONNSPEC-R163.1
    `spark-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `spark-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:54
    PIPE-CONNSPEC-R163.2
    `spark-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `spark-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:87
    PIPE-CONNSPEC-R163.3
    `spark-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `spark-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/spark-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:85
    PIPE-CONNSPEC-R163.4
    `spark-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `spark-mcp` has the rapid-delivery section in its development skill. | Check that its `spark-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:86
    PIPE-CONNSPEC-R164
    `sql-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`sql-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:55
    tests/test_connector_consumer_r158_167.py:88
    tests/test_connector_consumer_r163_r167.py:87
    tests/test_connector_consumer_r163_r167.py:88
    PIPE-CONNSPEC-R164.1
    `sql-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `sql-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:55
    PIPE-CONNSPEC-R164.2
    `sql-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `sql-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:88
    PIPE-CONNSPEC-R164.3
    `sql-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `sql-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/sql-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:87
    PIPE-CONNSPEC-R164.4
    `sql-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `sql-mcp` has the rapid-delivery section in its development skill. | Check that its `sql-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:88
    PIPE-CONNSPEC-R165
    `stirlingpdf-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`stirlingpdf-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:56
    tests/test_connector_consumer_r158_167.py:89
    tests/test_connector_consumer_r163_r167.py:89
    tests/test_connector_consumer_r163_r167.py:90
    PIPE-CONNSPEC-R165.1
    `stirlingpdf-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `stirlingpdf-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:56
    PIPE-CONNSPEC-R165.2
    `stirlingpdf-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `stirlingpdf-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:89
    PIPE-CONNSPEC-R165.3
    `stirlingpdf-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `stirlingpdf-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/stirlingpdf-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:89
    PIPE-CONNSPEC-R165.4
    `stirlingpdf-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `stirlingpdf-agent` has the rapid-delivery section in its development skill. | Check that its `stirlingpdf-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:90
    PIPE-CONNSPEC-R166
    `systems-manager` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`systems-manager` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED90a9705f15b2
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:57
    tests/test_connector_consumer_r166.py:65
    tests/test_connector_consumer_r166.py:66
    tests/test_connector_consumer_r166.py:67
    PIPE-CONNSPEC-R166.1
    `systems-manager` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `systems-manager` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:57
    PIPE-CONNSPEC-R166.2
    `systems-manager` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `systems-manager` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED90a9705f15b2
    tests/test_connector_consumer_r166.py:65
    PIPE-CONNSPEC-R166.3
    `systems-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `systems-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/systems-manager/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED90a9705f15b2
    tests/test_connector_consumer_r166.py:66
    PIPE-CONNSPEC-R166.4
    `systems-manager` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `systems-manager` has the rapid-delivery section in its development skill. | Check that its `systems-manager-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED90a9705f15b2
    tests/test_connector_consumer_r166.py:67
    PIPE-CONNSPEC-R167
    `technitium-dns-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`technitium-dns-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    a86b11ee9b95
    tests/test_connector_consumer_r158_167.py:58
    tests/test_connector_consumer_r158_167.py:90
    tests/test_connector_consumer_r163_r167.py:91
    tests/test_connector_consumer_r163_r167.py:92
    PIPE-CONNSPEC-R167.1
    `technitium-dns-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `technitium-dns-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:58
    PIPE-CONNSPEC-R167.2
    `technitium-dns-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `technitium-dns-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r158_167.py:90
    PIPE-CONNSPEC-R167.3
    `technitium-dns-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `technitium-dns-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/technitium-dns-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:91
    PIPE-CONNSPEC-R167.4
    `technitium-dns-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `technitium-dns-mcp` has the rapid-delivery section in its development skill. | Check that its `technitium-dns-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED5e8e39a52de7
    tests/test_connector_consumer_r163_r167.py:92
    PIPE-CONNSPEC-R168
    `tunnel-manager` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`tunnel-manager` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    a86b11ee9b95
    tests/test_connector_consumer_r159_r169.py:85
    tests/test_connector_consumer_r159_r169.py:86
    tests/test_connector_consumer_r168_177.py:46
    tests/test_connector_consumer_r168_177.py:93
    PIPE-CONNSPEC-R168.1
    `tunnel-manager` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `tunnel-manager` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:46
    PIPE-CONNSPEC-R168.2
    `tunnel-manager` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `tunnel-manager` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:93
    PIPE-CONNSPEC-R168.3
    `tunnel-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `tunnel-manager` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/tunnel-manager/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:85
    PIPE-CONNSPEC-R168.4
    `tunnel-manager` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `tunnel-manager` has the rapid-delivery section in its development skill. | Check that its `tunnel-manager-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:86
    PIPE-CONNSPEC-R169
    `twenty-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`twenty-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    a86b11ee9b95
    tests/test_connector_consumer_r159_r169.py:87
    tests/test_connector_consumer_r159_r169.py:88
    tests/test_connector_consumer_r168_177.py:47
    tests/test_connector_consumer_r168_177.py:94
    PIPE-CONNSPEC-R169.1
    `twenty-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `twenty-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:47
    PIPE-CONNSPEC-R169.2
    `twenty-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `twenty-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:94
    PIPE-CONNSPEC-R169.3
    `twenty-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `twenty-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/twenty-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:87
    PIPE-CONNSPEC-R169.4
    `twenty-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `twenty-mcp` has the rapid-delivery section in its development skill. | Check that its `twenty-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED2d9cc833b524
    tests/test_connector_consumer_r159_r169.py:88
    PIPE-CONNSPEC-R170
    `uptime-kuma-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`uptime-kuma-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    c6421c2094dd
    tests/test_connector_consumer_r168_177.py:48
    tests/test_connector_consumer_r170_r171.py:66
    tests/test_connector_consumer_r170_r171.py:67
    tests/test_connector_consumer_r170_r171.py:68
    PIPE-CONNSPEC-R170.1
    `uptime-kuma-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `uptime-kuma-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:48
    PIPE-CONNSPEC-R170.2
    `uptime-kuma-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `uptime-kuma-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDc6421c2094dd
    tests/test_connector_consumer_r170_r171.py:66
    PIPE-CONNSPEC-R170.3
    `uptime-kuma-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `uptime-kuma-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/uptime-kuma-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDc6421c2094dd
    tests/test_connector_consumer_r170_r171.py:67
    PIPE-CONNSPEC-R170.4
    `uptime-kuma-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `uptime-kuma-agent` has the rapid-delivery section in its development skill. | Check that its `uptime-kuma-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDc6421c2094dd
    tests/test_connector_consumer_r170_r171.py:68
    PIPE-CONNSPEC-R171
    `vaultwarden-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`vaultwarden-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    c6421c2094dd
    tests/test_connector_consumer_r168_177.py:49
    tests/test_connector_consumer_r168_177.py:95
    tests/test_connector_consumer_r170_r171.py:69
    tests/test_connector_consumer_r170_r171.py:70
    PIPE-CONNSPEC-R171.1
    `vaultwarden-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vaultwarden-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:49
    PIPE-CONNSPEC-R171.2
    `vaultwarden-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vaultwarden-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:95
    PIPE-CONNSPEC-R171.3
    `vaultwarden-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vaultwarden-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/vaultwarden-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDc6421c2094dd
    tests/test_connector_consumer_r170_r171.py:69
    PIPE-CONNSPEC-R171.4
    `vaultwarden-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vaultwarden-mcp` has the rapid-delivery section in its development skill. | Check that its `vaultwarden-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDc6421c2094dd
    tests/test_connector_consumer_r170_r171.py:70
    PIPE-CONNSPEC-R172
    `vector-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`vector-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    a86b11ee9b95
    tests/test_connector_consumer_r168_177.py:50
    tests/test_connector_consumer_r172_r174.py:74
    tests/test_connector_consumer_r172_r174.py:75
    tests/test_connector_consumer_r172_r174.py:76
    PIPE-CONNSPEC-R172.1
    `vector-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vector-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:50
    PIPE-CONNSPEC-R172.2
    `vector-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vector-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    tests/test_connector_consumer_r172_r174.py:74
    PIPE-CONNSPEC-R172.3
    `vector-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vector-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/vector-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    tests/test_connector_consumer_r172_r174.py:75
    PIPE-CONNSPEC-R172.4
    `vector-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `vector-mcp` has the rapid-delivery section in its development skill. | Check that its `vector-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    tests/test_connector_consumer_r172_r174.py:76
    PIPE-CONNSPEC-R173
    `wger-agent` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`wger-agent` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    dd326634dc85
    eeffa360f86b
    tests/test_connector_consumer_r168_177.py:51
    tests/test_connector_consumer_r173.py:63
    tests/test_connector_consumer_r173.py:64
    tests/test_connector_consumer_r173.py:65
    PIPE-CONNSPEC-R173.1
    `wger-agent` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `wger-agent` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:51
    PIPE-CONNSPEC-R173.2
    `wger-agent` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `wger-agent` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIEDdd326634dc85
    eeffa360f86b
    tests/test_connector_consumer_r173.py:63
    PIPE-CONNSPEC-R173.3
    `wger-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `wger-agent` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/wger-agent/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIEDdd326634dc85
    eeffa360f86b
    tests/test_connector_consumer_r173.py:64
    PIPE-CONNSPEC-R173.4
    `wger-agent` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `wger-agent` has the rapid-delivery section in its development skill. | Check that its `wger-agent-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIEDdd326634dc85
    eeffa360f86b
    tests/test_connector_consumer_r173.py:65
    PIPE-CONNSPEC-R174
    `world-reference-mcp` adopts the standard spec-delivery method and page
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **`world-reference-mcp` adopts the standard spec-delivery method and page.** Rollup of the four children below, following the reference implementation (PIPE-CONNSPEC-R001 to PIPE-CONNSPEC-R005). | The rollup is the minimum state of its four children.
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    a86b11ee9b95
    tests/test_connector_consumer_r168_177.py:52
    tests/test_connector_consumer_r172_r174.py:77
    tests/test_connector_consumer_r172_r174.py:78
    tests/test_connector_consumer_r172_r174.py:79
    PIPE-CONNSPEC-R174.1
    `world-reference-mcp` has a `specs/` tree with a generated `status.json`
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `world-reference-mcp` has a `specs/` tree with a generated `status.json`. | Check that `specs/` exists and contains a `status.json` written by `pipelines-hook spec-status --write`.
    requirementPIPE-CONNSPECVERIFIEDa86b11ee9b95
    tests/test_connector_consumer_r168_177.py:52
    PIPE-CONNSPEC-R174.2
    `world-reference-mcp` has the three spec hooks in its pre-commit config
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `world-reference-mcp` has the three spec hooks in its pre-commit config. | Check that the pre-commit config lists `spec-status`, `spec-decomposition`, and `spec-trailers` from `Knuckles-Team/pipelines`.
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    tests/test_connector_consumer_r172_r174.py:77
    PIPE-CONNSPEC-R174.3
    `world-reference-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `world-reference-mcp` has a caller of the reusable Pages workflow with the dashboard enabled and Pages turned on. | Check that a workflow calls `pages_pipeline.yml@main` with `spec_dashboard_enabled: true`, and `gh api repos/Knuckles-Team/world-reference-mcp/pages` returns a site.
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    tests/test_connector_consumer_r172_r174.py:78
    PIPE-CONNSPEC-R174.4
    `world-reference-mcp` has the rapid-delivery section in its development skill
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    `world-reference-mcp` has the rapid-delivery section in its development skill. | Check that its `world-reference-mcp-development` skill has the section "Rapid delivery: the 5-minute contract".
    requirementPIPE-CONNSPECVERIFIED83ced38ba830
    tests/test_connector_consumer_r172_r174.py:79
    PIPE-CONNSPEC-R008
    Canonical title determines generated spec identity
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Canonical title determines generated spec identity.** The generator reuses the spec-standard title parser; a missing canonical title retains the prior identity or directory fallback. | `test_canonical_title_controls_generated_identity` covers missing and stale metadata without changing requirement IDs.
    requirementPIPE-CONNSPECVERIFIED0f9f73b150d7
    tests/hooks/test_spec_status.py:502
    PIPE-CONNSPEC-R009
    Requirement state read from the engine (rollup)
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Requirement state read from the engine (rollup).** The status generator must compare its output with the engine-derived state of EG-SDLC-R005 when an endpoint is set. A difference fails the spec-status gate and names each row. `status.json` stays a generated export. Children `.1` and `.2` deliver it. | See each child.
    requirementPIPE-CONNSPECSPECIFIEDb6d61da291ad
    PIPE-CONNSPEC-R009.1
    Wiring
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Wiring.** `main` at `pipelines_hooks/specs/status.py:99` calls `compare_engine_state` in `pipelines_hooks/specs/engine_state.py` after generation. It reads the arbora `spec.status` operation over plain HTTP. | `tests/hooks/test_engine_state.py::test_difference_names_rows` feeds one differing row.
    requirementPIPE-CONNSPECSPECIFIEDNo recorded commit/test evidence
    PIPE-CONNSPEC-R009.2
    Hot-path proof
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Hot-path proof.** The test generates status for a fixture repository and reads a fixture endpoint. Equal states pass. One differing row fails the gate with that row ID. | `tests/hooks/test_engine_state.py::test_generator_and_engine_agree` asserts both outcomes.
    requirementPIPE-CONNSPECSPECIFIEDNo recorded commit/test evidence
    PIPE-CONNSPEC-R010
    Binding suggester ranks existing tests for unverified rows
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Binding suggester ranks existing tests for unverified rows.** `main` in `pipelines_hooks/specs/bind_suggest.py` scores each tracked test against every SPECIFIED or LANDED leaf row. It scores a test that the row text names, a test that names the row ID or an old alias, and a test whose name shares at least two title terms. It reads and writes no repository file, and the same tree gives the same ranked output. | `tests/hooks/test_spec_bind_suggest.py::test_ranks_named_test_first_and_is_repeatable` asserts the ranking, the term threshold and repeatability on a fixture repository.
    requirementPIPE-CONNSPECVERIFIEDb6d61da291ad
    c9681d3a4727
    tests/hooks/test_spec_bind_suggest.py:41
    PIPE-CONNSPEC-R011
    Explicit retired standard-ID aliases
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Explicit retired standard-ID aliases.** An exact retired standard requirement ID may map to one current active requirement row through `.config/spec-aliases.toml`. Require the source ID to be absent from current requirement rows, including retired tombstones. Reject absent or retired targets, alias chains and cycles, and exact standard aliases intercepted by retired prefixes. Keep one-hop prefix and pre-standard aliases unchanged. Historical and current trailer ranges retain unknown-ID and bound-test enforcement; an exact alias never applies to unlisted children. | `tests/hooks/test_spec_standard_aliases.py` covers renumbered history, current ranges, status evidence, and adversarial aliases.
    requirementPIPE-CONNSPECVERIFIED026b93b29c01
    b6d61da291ad
    tests/hooks/test_spec_standard_aliases.py:14
    PIPE-CONNSPEC-R012
    Row-level Depends-on
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Row-level Depends-on.** `parse_rows` in `pipelines_hooks/specs/requirements_doc.py` reads prerequisite IDs from a requirement cell, including IDs of other repositories. No other field is added to a row. | `tests/hooks/test_goal_priority.py::test_row_depends_on_parses`
    requirementPIPE-CONNSPECVERIFIED645ed8876446
    a7d9241136c9
    tests/hooks/test_goal_priority.py:12
    tests/hooks/test_goal_priority.py:20
    PIPE-CONNSPEC-R013
    Priority from competency questions
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Priority from competency questions.** `score` in `pipelines_hooks/specs/priority.py` computes 10 for each `EG-CQ-` row that transitively depends on a row, plus 2 for each open row it transitively unblocks, halved for a non-functional row. | `tests/hooks/test_goal_priority.py::test_priority_formula`
    requirementPIPE-CONNSPECVERIFIEDa7d9241136c9
    tests/hooks/test_goal_priority.py:58
    PIPE-CONNSPEC-R014
    Priority, frontier, and unserved from the organization aggregate
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Priority, frontier, and unserved from the organization aggregate.** `aggregate` in `scripts/architecture_explorer/delivery.py` computes `priority`, `frontier`, and `unserved` over the rows of every repository. The per-repository `status.json` generator writes none of them, so a repository's `status.json` keeps its prior shape. Unserved rows are open functional leaf rows no competency question reaches. | `tests/hooks/test_goal_priority.py::test_generator_leaves_status_shape_unchanged` and `tests/test_architecture_delivery.py::test_aggregate_over_repositories`
    requirementPIPE-CONNSPECVERIFIED1da5fcbd5c7f
    a7d9241136c9
    tests/hooks/test_goal_priority.py:81
    tests/hooks/test_goal_priority.py:88
    PIPE-CONNSPEC-R015
    Derived release bundles
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Derived release bundles.** `bundles` in `pipelines_hooks/specs/priority.py` groups open rows joined by cross-repository `Depends-on` edges. Each bundle orders its repositories by the release train and lists, per row, the bundle rows it unblocks. The bundle priority is the maximum row priority. | `tests/hooks/test_goal_priority.py::test_bundle_orders_steps_by_release_train`
    requirementPIPE-CONNSPECVERIFIED8f6b2234e190
    a7d9241136c9
    tests/hooks/test_goal_priority.py:103
    PIPE-CONNSPEC-R016
    Architecture page delivery views
    Definition — PIPE-CONNSPEC / PIPE-CONNSPEC — Connector spec-delivery rolloutCanonical requirement and verification source
    **Architecture page delivery views.** `scripts/architecture_explorer/delivery.py` recomputes the scores over every repository. `template.html` shows Next up, Delivery path, a priority sort, a competency-question filter, a “No CQ dependency path” filter that distinguishes CQ reachability from architecture placement and implementation links, and competency-question badges on each row. | `tests/test_architecture_delivery.py::test_aggregate_over_repositories` and `test_page_embeds_delivery_views`
    requirementPIPE-CONNSPECVERIFIEDa7d9241136c9
    b99e7e0b5d7b
    tests/test_architecture_delivery.py:41
    tests/test_architecture_delivery.py:52
    tests/test_architecture_delivery.py:74
    PIPE-PAGES
    PIPE-PAGES — Ecosystem Pages parity and release receipt
    specNoneSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R001
    Repository switcher kept in sync with the core repo list
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Repository switcher kept in sync with the core repo list.** The documentation site's repository switcher is renamed and its repository list is completed to match the full declared set of core repositories, replacing any per-repository duplicate copies and staying synchronized with the shared parity check and release receipt. Meristem's now-obsolete generator for a standalone web UI deployment manifest is also removed, since the web UI runs within Arbora. | A parity check confirms the switcher's repository list matches the declared core-repository set and release receipt, and a source scan confirms the obsolete standalone deployment generator no longer exists.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R002
    Layered documentation from overview to reference
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Layered documentation from overview to reference.** The published documentation presents a layered information architecture: concise top-level introductions, then per-component overviews, then detailed reference pages, so a reader can go only as deep as they need. | A navigation-depth and link-structure audit confirms each tier, introduction, component, and reference, exists and links progressively into the next.
    requirementPIPE-PAGESLANDEDfe4d11323d0b
    PIPE-PAGES-R003
    Present-tense docs with accessible embedded start
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Present-tense docs with accessible embedded start.** The published README and documentation home present content in the intended canonical order, include an embedded observable quick-start demonstration, use accessible multimodal and shared visual assets, run on the shared Material-themed site with short navigation, and describe the running engine's current behavior in present tense rather than its history. | Strict documentation build, theme, accessibility, and content-diff checks confirm the README order, embedded start, shared visuals, and present-tense wording.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R004
    One progressively disclosed skill-graph corpus
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **One progressively disclosed skill-graph corpus.** Concepts, components, and reference pages are drawn from one progressively disclosed skill-graph content corpus rather than separate, independently maintained sources. | A build check confirms the published concept, component, and reference pages are generated from the single skill-graph corpus with consistent navigation depth.
    requirementPIPE-PAGESVERIFIEDfe4d11323d0b
    tests/test_skill_graph_registry_comparison.py:243
    PIPE-PAGES-R005
    Generate architecture and reference pages from registries
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Generate architecture and reference pages from registries.** Architecture, capability, and reference documentation pages are generated directly from the underlying registries and contracts rather than hand-authored, so published content stays consistent with the implementation it describes. | A build-time comparison confirms each generated page's content matches its source registry or contract.
    requirementPIPE-PAGESVERIFIED38133654c6e9
    6048c059727f
    tests/test_skill_graph_registry_comparison.py:107
    tests/test_skill_graph_registry_comparison.py:83
    PIPE-PAGES-R006
    Rehome generated docs out of the legacy docs directory
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Rehome generated docs out of the legacy docs directory.** Every generated or gate-checked artifact currently stored under a repository's legacy docs directory is moved to its new canonical tracked location, every quality gate that referenced the old location is repointed to the new one, and the legacy docs directory is then removed. | A source scan confirms no gate or build step still reads from the removed docs directory and that each migrated artifact exists at its new tracked location.
    requirementPIPE-PAGESVERIFIED38133654c6e9
    fabe92a1aa4c
    tests/test_docs_rehomed.py:19
    tests/test_docs_rehomed.py:24
    tests/test_docs_rehomed.py:31
    tests/test_docs_rehomed.py:40
    tests/test_docs_rehomed.py:56
    PIPE-PAGES-R007
    Ecosystem flow diagram with exact names and project marks
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Ecosystem flow diagram with exact names and project marks.** The documentation home page renders the shared Material theme chrome together with an architecture flow diagram showing the path from people through the Arbora web UI, Tuig, Axil, and messaging/protocol clients to Arbora, Meristem, and Medulla, plus the source-system-to-Scion SDK flow, using each project's exact display title and a versioned logo mark. | Focused theme rendering tests plus a changed-file documentation build confirm the diagram's flow, project titles, and logo marks render correctly.
    requirementPIPE-PAGESLANDED525086d94efb
    64e34ca63385
    PIPE-PAGES-R008
    Correct ownership and quick start in consumer parity checks
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Correct ownership and quick start in consumer parity checks.** The shared Pages parity check verifies that a consumer site's documentation correctly states process and front-door ownership, includes a stdio-based quick start, renders on the shared Material theme with short navigation, and keeps its content flows accessible. | A multi-page render, link, and accessibility audit plus a changed-file build check confirm ownership statements, the quick start, and accessible navigation on the consumer site.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R009
    The shared generator must show accessible component package diagrams and export Mermaid source. It must include every spec
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The shared generator must show accessible component package diagrams and export Mermaid source. It must include every spec. | `test_deterministic_escaped_output_and_plan_diagram_coverage` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED5b454e4b7eb4
    tests/test_spec_dashboard_metadata.py:95
    PIPE-PAGES-R010
    Generate API contract docs from the contract registry
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Generate API contract docs from the contract registry.** API contract documentation pages are generated from the canonical contract and method registry rather than hand-written, so the published reference stays synchronized with the registry's actual definitions. | A build-time comparison between the generated documentation pages and the source contract registry confirms they match.
    requirementPIPE-PAGESVERIFIED38133654c6e9
    6048c059727f
    tests/test_skill_graph_registry_comparison.py:161
    tests/test_skill_graph_registry_comparison.py:192
    PIPE-PAGES-R011
    Present-tense home page with screenshot and repo map
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Present-tense home page with screenshot and repo map.** The shared theme's documentation home page is present-tense HTML with short navigation, a real product screenshot, a map of the full declared core-repository set from the shared registry (currently seven), and an Arbora-hosted observable quick-start walkthrough. | Strict MkDocs render, accessibility, theme, and privacy gates, together with the documentation build run, confirm the home page's content and that it passes without regressions.
    requirementPIPE-PAGESLANDEDebfaa43bc233
    PIPE-PAGES-R012
    The spec-delivery page must map specs to implementation references. It must replace the Concepts column
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The spec-delivery page must map specs to implementation references. It must replace the Concepts column. | `test_implementation_tests_docs_and_missing_sources_are_distinct` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESSPECIFIED5b454e4b7eb4
    tests/test_spec_dashboard_metadata.py:60
    PIPE-PAGES-R012.1
    The generator must read Code declarations and existing source citations from spec.md and plan.md
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The generator must read Code declarations and existing source citations from spec.md and plan.md. | `test_source_declarations_and_citations_in_both_documents` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    303d05f2ffc1
    tests/test_spec_dashboard_metadata.py:201
    PIPE-PAGES-R012.2
    Source declarations must survive status regeneration without adding hand-edited status fields
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Source declarations must survive status regeneration without adding hand-edited status fields. | Needs a status-regeneration integration check. `test_enrichment_preserves_delivery_records_and_status_bytes` checks enrichment only; it does not prove regeneration.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    303d05f2ffc1
    tests/hooks/test_spec_status.py:373
    PIPE-PAGES-R012.3
    Each implementation link must identify its source revision and path. External links must remain unverified
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Each implementation link must identify its source revision and path. External links must remain unverified. | `test_implementation_tests_docs_and_missing_sources_are_distinct` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    303d05f2ffc1
    tests/test_spec_dashboard_metadata.py:61
    PIPE-PAGES-R012.4
    The page must state Not mapped when a spec has no code references
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The page must state Not mapped when a spec has no code references. | `test_code_cells_replace_concepts` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    303d05f2ffc1
    tests/test_spec_dashboard_metadata.py:137
    PIPE-PAGES-R012.5
    The spec table must distinguish implementation, test, and documentation links
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The spec table must distinguish implementation, test, and documentation links. | `test_implementation_tests_docs_and_missing_sources_are_distinct` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED0fc12ceeb003
    13e5f2f6b948
    170f1bc883a2
    tests/test_spec_dashboard_metadata.py:62
    PIPE-PAGES-R012.6
    The caption must count specs without resolved implementation links
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The caption must count specs without resolved implementation links. | `test_code_cells_replace_concepts` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED0fc12ceeb003
    13e5f2f6b948
    tests/test_spec_dashboard_metadata.py:138
    PIPE-PAGES-R012.7
    The generator must reject unsafe links and paths outside the checkout. It must retain unresolved mappings
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The generator must reject unsafe links and paths outside the checkout. It must retain unresolved mappings. | `test_examples_unsafe_links_and_parent_escape_are_not_mappings` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED0fc12ceeb003
    13e5f2f6b948
    tests/test_spec_dashboard_metadata.py:113
    PIPE-PAGES-R013
    The page must show declared dependencies within and across repositories. It must distinguish references and shared code
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The page must show declared dependencies within and across repositories. It must distinguish references and shared code. | `test_local_and_external_dependencies_have_links_and_canonical_identity` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED0fc12ceeb003
    13e5f2f6b948
    170f1bc883a2
    5b454e4b7eb4
    6cd8906edd00
    tests/test_spec_dashboard_metadata.py:215
    tests/test_spec_dashboard_metadata.py:226
    tests/test_spec_dashboard_metadata.py:28
    tests/test_spec_dashboard_metadata.py:29
    tests/test_spec_dashboard_metadata.py:30
    PIPE-PAGES-R013.1
    Depends-on declarations must resolve local spec and requirement IDs through canonical spec ownership
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Depends-on declarations must resolve local spec and requirement IDs through canonical spec ownership. | `test_local_and_external_dependencies_have_links_and_canonical_identity` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    6cd983d5fe0b
    tests/test_spec_dashboard_metadata.py:29
    PIPE-PAGES-R013.2
    The generator must distinguish Depends-on, Extends, and References declarations. Mere mentions must not imply prerequisite order
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The generator must distinguish Depends-on, Extends, and References declarations. Mere mentions must not imply prerequisite order. | `test_explicit_edge_kinds_remain_distinct_from_mentions` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    6cd8906edd00
    6cd983d5fe0b
    911c63f923e5
    tests/test_spec_dashboard_metadata.py:215
    tests/test_spec_dashboard_reference_prose.py:10
    PIPE-PAGES-R013.3
    Repository and component groups must include orphan specs. Missing components must remain Unassigned
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Repository and component groups must include orphan specs. Missing components must remain Unassigned. | `test_unknowns_empty_and_isolated_specs_remain_discoverable` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    6cd983d5fe0b
    tests/test_spec_dashboard_metadata.py:81
    PIPE-PAGES-R013.4
    The page must render package diagrams without browser scripts. Mermaid export must escape source labels
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The page must render package diagrams without browser scripts. Mermaid export must escape source labels. | `test_deterministic_escaped_output_and_plan_diagram_coverage` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    170f1bc883a2
    6cd983d5fe0b
    tests/test_spec_dashboard_metadata.py:96
    PIPE-PAGES-R013.5
    Every relationship must retain its label, source declaration, target link, and evidence limit
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Every relationship must retain its label, source declaration, target link, and evidence limit. | `test_local_and_external_dependencies_have_links_and_canonical_identity` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    6cd983d5fe0b
    tests/test_spec_dashboard_metadata.py:30
    PIPE-PAGES-R013.6
    The relationship index must retain unresolved targets and specs without declared relationships
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The relationship index must retain unresolved targets and specs without declared relationships. | `test_unknowns_empty_and_isolated_specs_remain_discoverable` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    6cd983d5fe0b
    tests/test_spec_dashboard_metadata.py:82
    PIPE-PAGES-R013.7
    Large diagrams must split into navigable groups without hiding any spec or relationship
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Large diagrams must split into navigable groups without hiding any spec or relationship. | `test_large_groups_keep_all_specs_and_relationships` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED13e5f2f6b948
    6cd983d5fe0b
    tests/test_spec_dashboard_metadata.py:226
    PIPE-PAGES-R014
    Three-level drill-down from the ecosystem view to the spec
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Three-level drill-down from the ecosystem view to the spec.** Rollup of the children below. The organisation architecture view links to each repository page, and that page links to each spec section. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R014.1
    Add `ecosystem_components()` to `scripts/spec_dashboard_drilldown.py`. It returns the list defined by PIPE-PAGES-R001 (the core repository list) and defines no second list
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Add `ecosystem_components()` to `scripts/spec_dashboard_drilldown.py`. It returns the list defined by PIPE-PAGES-R001 (the core repository list) and defines no second list. | Run `test_components_equal_core_list` in `tests/test_spec_dashboard_drilldown.py` expects equality with the R001 list.
    requirementPIPE-PAGESVERIFIEDfe2b599895fa
    tests/test_spec_dashboard_drilldown.py:18
    PIPE-PAGES-R014.2
    Define the URL form in `scripts/spec_dashboard_drilldown.py`: level 1 `https://knuckles-team.github.io/<repo>/spec-delivery/`, level 2 `.../spec-delivery/#spec-<ID>`, level 3 row `.../spec-delivery/#req-<ID>`. Add `anchor_for(kind, id)`
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Define the URL form in `scripts/spec_dashboard_drilldown.py`: level 1 `https://knuckles-team.github.io/<repo>/spec-delivery/`, level 2 `.../spec-delivery/#spec-<ID>`, level 3 row `.../spec-delivery/#req-<ID>`. Add `anchor_for(kind, id)`. | Run `test_anchor_forms` in `tests/test_spec_dashboard_drilldown.py` expects the three forms.
    requirementPIPE-PAGESVERIFIEDfe2b599895fa
    tests/test_spec_dashboard_drilldown.py:23
    PIPE-PAGES-R014.3
    Emit the anchors in `spec_row` (`scripts/spec_dashboard_panels.py`): each spec section gets `id="spec-<ID>"` and lists its rows, state, code references, and bound tests; each row gets `id="req-<ID>"`
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Emit the anchors in `spec_row` (`scripts/spec_dashboard_panels.py`): each spec section gets `id="spec-<ID>"` and lists its rows, state, code references, and bound tests; each row gets `id="req-<ID>"`. | Run `test_spec_section_has_anchor` in `tests/test_spec_dashboard_drilldown.py` expects the anchor and four content blocks.
    requirementPIPE-PAGESVERIFIED0fc12ceeb003
    170f1bc883a2
    5b454e4b7eb4
    tests/test_spec_dashboard_drilldown.py:41
    PIPE-PAGES-R014.4
    Link each box in `relation_view` (`scripts/spec_dashboard_relations_view.py`) to `#spec-<ID>` of its own page, or to the other repository's page for a cross-repository node
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Link each box in `relation_view` (`scripts/spec_dashboard_relations_view.py`) to `#spec-<ID>` of its own page, or to the other repository's page for a cross-repository node. | Run `test_relation_box_links_to_spec_section` in `tests/test_spec_dashboard_drilldown.py` expects the href on every box.
    requirementPIPE-PAGESVERIFIED0fc12ceeb003
    tests/test_spec_dashboard_drilldown.py:49
    PIPE-PAGES-R014.5
    Cross-repository row, owner `Knuckles-Team/.github` (BLOCKED until that repository carries a spec tree): link each component in `profile/README.md` to `ecosystem_components()` URLs at level 1. Add `scripts/render_profile_links.py` here as the producer
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Cross-repository row, owner `Knuckles-Team/.github` (BLOCKED until that repository carries a spec tree): link each component in `profile/README.md` to `ecosystem_components()` URLs at level 1. Add `scripts/render_profile_links.py` here as the producer. | Run `test_profile_links_cover_components` in `tests/test_render_profile_links.py` expects one level-1 link per component.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R014.6
    Add `check_drilldown_links(readme, site_index)` to `scripts/spec_dashboard_drilldown.py`. It fails when a component link or spec anchor does not resolve in the generated site
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Add `check_drilldown_links(readme, site_index)` to `scripts/spec_dashboard_drilldown.py`. It fails when a component link or spec anchor does not resolve in the generated site. | Run `test_unresolved_component_link_fails` in `tests/test_spec_dashboard_drilldown.py` expects exit 1 for a missing page.
    requirementPIPE-PAGESVERIFIEDfe2b599895fa
    tests/test_spec_dashboard_drilldown.py:32
    PIPE-PAGES-R015
    One generator for connectors and client repositories
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **One generator for connectors and client repositories.** Rollup of the children below. Connectors and the client repositories get PIPE-PAGES-R012 to PIPE-PAGES-R014 from the same reusable workflow. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED246cc47a897a
    5b454e4b7eb4
    6f853265406b
    tests/test_pages_pipeline_contract.py:257
    tests/test_pages_pipeline_contract.py:303
    tests/test_spec_dashboard_metadata.py:157
    PIPE-PAGES-R015.1
    The reusable workflow `.github/workflows/pages_pipeline.yml` must run the R012 to R014 steps for every caller. It adds no per-repository input and no per-repository copy
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The reusable workflow `.github/workflows/pages_pipeline.yml` must run the R012 to R014 steps for every caller. It adds no per-repository input and no per-repository copy. | Run `test_pages_workflow_runs_relation_steps` in `tests/test_pages_pipeline_contract.py` expects the steps and no repository names.
    requirementPIPE-PAGESVERIFIED246cc47a897a
    tests/test_pages_pipeline_contract.py:257
    PIPE-PAGES-R015.2
    Overstory, Tuig, and Axil adopt it through the caller pattern in PIPE-CONNSPEC-R004. Each caller change belongs to the repository's own spec
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Overstory, Tuig, and Axil adopt it through the caller pattern in PIPE-CONNSPEC-R004. Each caller change belongs to the repository's own spec. | Run `test_client_callers_use_reusable_workflow` in `tests/test_pages_pipeline_contract.py` expects each caller to reference the workflow at `main`.
    requirementPIPE-PAGESVERIFIED6f853265406b
    tests/test_pages_pipeline_contract.py:303
    PIPE-PAGES-R015.3
    Connectors must inherit code references and relationship views through the shared Pages generator when enabled
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Connectors must inherit code references and relationship views through the shared Pages generator when enabled. | `test_generator_entry_point_writes_architecture` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESVERIFIED5b454e4b7eb4
    tests/test_spec_dashboard_metadata.py:157
    PIPE-PAGES-R016
    Spec-delivery page shows only the current spec state
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Spec-delivery page shows only the current spec state.** Rollup of the children below. The page is an as-is functional requirements view of the current `specs/` tree. Git history, state transitions, trends and burn charts are not rendered; earlier states live in git. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED9e705970e4c9
    a81cc87849a5
    tests/test_spec_dashboard.py:161
    tests/test_spec_dashboard.py:169
    tests/test_spec_dashboard.py:176
    tests/test_spec_dashboard.py:198
    tests/test_spec_dashboard.py:210
    PIPE-PAGES-R016.1
    Remove the `history` field and the `--history-limit` option from `create_snapshot` and `argument_parser` in `scripts/spec_dashboard.py`. The snapshot holds only records read from the current tree, so no ID absent from that tree enters it
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Remove the `history` field and the `--history-limit` option from `create_snapshot` and `argument_parser` in `scripts/spec_dashboard.py`. The snapshot holds only records read from the current tree, so no ID absent from that tree enters it. | Run `test_snapshot_has_no_history_field` in `tests/test_spec_dashboard.py` expects no `history` key in the snapshot.
    requirementPIPE-PAGESVERIFIEDa81cc87849a5
    tests/test_spec_dashboard.py:161
    PIPE-PAGES-R016.2
    Remove `history_panels` and the history and per-commit panels from `scripts/spec_dashboard_render.py`, then delete `scripts/spec_dashboard_charts.py`, `scripts/spec_dashboard_history.py`, `scripts/spec_dashboard_history_metrics.py`, and `scripts/spec_dashboard_history_views.py` with their tests. No state-transition table, chart, metric or panel is rendered
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Remove `history_panels` and the history and per-commit panels from `scripts/spec_dashboard_render.py`, then delete `scripts/spec_dashboard_charts.py`, `scripts/spec_dashboard_history.py`, `scripts/spec_dashboard_history_metrics.py`, and `scripts/spec_dashboard_history_views.py` with their tests. No state-transition table, chart, metric or panel is rendered. | Run `test_page_has_no_history_panels` in `tests/test_spec_dashboard.py` expects no history, transition or timeline marker in the HTML.
    requirementPIPE-PAGESVERIFIEDa81cc87849a5
    tests/test_spec_dashboard.py:169
    PIPE-PAGES-R016.3
    Render only records present in the current `specs/` tree. A requirement ID that was removed in an earlier commit appears nowhere in the HTML
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Render only records present in the current `specs/` tree. A requirement ID that was removed in an earlier commit appears nowhere in the HTML. | Run `test_removed_id_absent_from_page` in `tests/test_spec_dashboard.py` expects a removed ID to be absent from the page built from a repository whose history contains it.
    requirementPIPE-PAGESVERIFIEDa81cc87849a5
    tests/test_spec_dashboard.py:176
    PIPE-PAGES-R016.4
    Remove the history scripts from the sparse checkout and the history option from the dashboard call in `.github/workflows/pages_pipeline.yml`. The Pages workflow does not invoke the history modules
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Remove the history scripts from the sparse checkout and the history option from the dashboard call in `.github/workflows/pages_pipeline.yml`. The Pages workflow does not invoke the history modules. | Run `test_workflow_does_not_reference_history_scripts` in `tests/test_spec_dashboard.py` expects no `spec_dashboard_history` or `spec_dashboard_charts` in the workflow.
    requirementPIPE-PAGESVERIFIEDa81cc87849a5
    tests/test_spec_dashboard.py:210
    PIPE-PAGES-R016.5
    Do not render records whose state is `RETIRED`. `read_records` in `scripts/spec_dashboard_sources.py` drops them, so no row, count, legend entry, link, relationship or percentage includes one
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Do not render records whose state is `RETIRED`. `read_records` in `scripts/spec_dashboard_sources.py` drops them, so no row, count, legend entry, link, relationship or percentage includes one. | Run `test_retired_record_is_not_rendered` in `tests/test_spec_dashboard.py` expects one VERIFIED record rendered, the RETIRED ID absent, and one record counted.
    requirementPIPE-PAGESVERIFIED9e705970e4c9
    tests/test_spec_dashboard.py:198
    PIPE-PAGES-R017
    Three states only
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Three states only.** Rollup of the children below. A requirement row and a spec have one state field with the values `SPECIFIED`, `LANDED` and `VERIFIED`. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED71203d08a166
    tests/test_spec_dashboard_states.py:28
    tests/test_spec_dashboard_states.py:35
    tests/test_spec_dashboard_states.py:43
    PIPE-PAGES-R017.1
    The state legend lists exactly three states, `SPECIFIED`, `LANDED` and `VERIFIED`, each with a one-line definition, in `definitions_panel` in `scripts/spec_dashboard_panels.py`
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    The state legend lists exactly three states, `SPECIFIED`, `LANDED` and `VERIFIED`, each with a one-line definition, in `definitions_panel` in `scripts/spec_dashboard_panels.py`. | See test-spec.md.
    requirementPIPE-PAGESVERIFIED71203d08a166
    tests/test_spec_dashboard_states.py:28
    PIPE-PAGES-R017.2
    Every record row shows one state cell. The page has no acceptance column, no release column and no second state label
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Every record row shows one state cell. The page has no acceptance column, no release column and no second state label. | See test-spec.md.
    requirementPIPE-PAGESVERIFIED71203d08a166
    tests/test_spec_dashboard_states.py:35
    PIPE-PAGES-R017.3
    A `delivery_state` outside the three states, after `RETIRED` is filtered, renders as `INVALID` and counts in one visible invalid-state number
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    A `delivery_state` outside the three states, after `RETIRED` is filtered, renders as `INVALID` and counts in one visible invalid-state number. | See test-spec.md.
    requirementPIPE-PAGESVERIFIED71203d08a166
    tests/test_spec_dashboard_states.py:43
    PIPE-PAGES-R018
    Spec delivery is a native menu entry on every documentation site
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Spec delivery is a native menu entry on every documentation site.** Rollup of the children below. Every page of a site with a spec-delivery page links to it and to the other repositories' pages. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED2f6747267768
    64ce2e92a6da
    7eca7920c666
    8f6b2234e190
    ffddb8aba2bc
    tests/test_spec_delivery_nav.py:21
    tests/test_spec_delivery_nav.py:29
    tests/test_spec_delivery_nav.py:36
    tests/test_spec_delivery_nav.py:42
    tests/test_spec_delivery_nav.py:54
    PIPE-PAGES-R018.1
    Add the `spec_delivery` flag to `extra:` in `templates/mkdocs-theme/base.mkdocs.yml` as `!ENV [SPEC_DELIVERY_ENABLED, false]`. Set the variable from `inputs.spec_dashboard_enabled` on the Build Docs step of `.github/workflows/pages_pipeline.yml`
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Add the `spec_delivery` flag to `extra:` in `templates/mkdocs-theme/base.mkdocs.yml` as `!ENV [SPEC_DELIVERY_ENABLED, false]`. Set the variable from `inputs.spec_dashboard_enabled` on the Build Docs step of `.github/workflows/pages_pipeline.yml`. | Run `test_flag_is_env_driven` in `tests/test_spec_delivery_nav.py` expects the `!ENV` flag and the workflow variable.
    requirementPIPE-PAGESVERIFIED2f6747267768
    64ce2e92a6da
    7eca7920c666
    tests/test_spec_delivery_nav.py:21
    PIPE-PAGES-R018.2
    Render a `Spec delivery` link in `templates/mkdocs-theme/overrides/main.html`. The link must use `base_url` and `/spec-delivery/`, and the block must render only when the flag is set
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Render a `Spec delivery` link in `templates/mkdocs-theme/overrides/main.html`. The link must use `base_url` and `/spec-delivery/`, and the block must render only when the flag is set. | Run `test_entry_is_root_relative_and_flag_gated` in `tests/test_spec_delivery_nav.py` expects `base_url`, no host, and the flag guard.
    requirementPIPE-PAGESVERIFIED2f6747267768
    ffddb8aba2bc
    tests/test_spec_delivery_nav.py:29
    PIPE-PAGES-R018.3
    List the `spec-delivery/` page of each repository in a native `<details>` list inside the same navigation landmark. The list must iterate `extra.ecosystem.sites` and must hold no second repository list
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    List the `spec-delivery/` page of each repository in a native `<details>` list inside the same navigation landmark. The list must iterate `extra.ecosystem.sites` and must hold no second repository list. | Run `test_menu_iterates_the_single_site_list` in `tests/test_spec_delivery_nav.py` expects the loop over `extra.ecosystem.sites` and no literal repository URL in the template.
    requirementPIPE-PAGESVERIFIED2f6747267768
    tests/test_spec_delivery_nav.py:36
    PIPE-PAGES-R018.4
    Keep every `extra.ecosystem.sites` URL in `templates/mkdocs-theme/base.mkdocs.yml` equal to its `REPOS` entry in `scripts/skill_graph/model.py`
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Keep every `extra.ecosystem.sites` URL in `templates/mkdocs-theme/base.mkdocs.yml` equal to its `REPOS` entry in `scripts/skill_graph/model.py`. | Run `test_site_urls_match_repos` in `tests/test_spec_delivery_nav.py` expects each site URL to equal the REPOS URL for its slug.
    requirementPIPE-PAGESVERIFIED2f6747267768
    8f6b2234e190
    tests/test_spec_delivery_nav.py:42
    PIPE-PAGES-R018.5
    Style the entry in a `<style>` element inside the block in `templates/mkdocs-theme/overrides/main.html` with a visible focus outline. The override is served from the theme checkout through `custom_dir`, so the theme sync check needs no consumer change
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Style the entry in a `<style>` element inside the block in `templates/mkdocs-theme/overrides/main.html` with a visible focus outline. The override is served from the theme checkout through `custom_dir`, so the theme sync check needs no consumer change. | Run `test_theme_sync_check_passes_with_entry` in `tests/test_spec_delivery_nav.py` expects an empty drift list.
    requirementPIPE-PAGESVERIFIED2f6747267768
    tests/test_spec_delivery_nav.py:54
    PIPE-PAGES-R019
    The spec-delivery page carries the documentation site's navigation
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **The spec-delivery page carries the documentation site's navigation.** Rollup of the children below. Readers must move between the documentation and the page without the browser's address bar. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED556a2a4e800e
    tests/test_spec_dashboard_nav.py:27
    tests/test_spec_dashboard_nav.py:34
    tests/test_spec_dashboard_nav.py:41
    tests/test_spec_dashboard_nav.py:49
    tests/test_spec_dashboard_nav.py:56
    PIPE-PAGES-R019.1
    Add `site_nav(repository)` to `scripts/spec_dashboard_nav.py`. It renders `<nav aria-label="Site">` with the repository name and a `Documentation` link, both to `../`
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Add `site_nav(repository)` to `scripts/spec_dashboard_nav.py`. It renders `<nav aria-label="Site">` with the repository name and a `Documentation` link, both to `../`. | Run `test_nav_landmark_links_documentation` in `tests/test_spec_dashboard_nav.py` expects the stated result.
    requirementPIPE-PAGESVERIFIED556a2a4e800e
    tests/test_spec_dashboard_nav.py:27
    PIPE-PAGES-R019.2
    Mark the current page in `site_nav` with `aria-current="page"` on the `Spec delivery` entry
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Mark the current page in `site_nav` with `aria-current="page"` on the `Spec delivery` entry. | Run `test_current_page_is_marked` in `tests/test_spec_dashboard_nav.py` expects the stated result.
    requirementPIPE-PAGESVERIFIED556a2a4e800e
    tests/test_spec_dashboard_nav.py:34
    PIPE-PAGES-R019.3
    List every repository in `site_nav` from `ecosystem_components()` in `scripts/spec_dashboard_drilldown.py`. Link each to its level-1 URL and mark the current repository. Define no second list
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    List every repository in `site_nav` from `ecosystem_components()` in `scripts/spec_dashboard_drilldown.py`. Link each to its level-1 URL and mark the current repository. Define no second list. | Run `test_repository_links_equal_single_source` in `tests/test_spec_dashboard_nav.py` expects the stated result.
    requirementPIPE-PAGESVERIFIED556a2a4e800e
    tests/test_spec_dashboard_nav.py:41
    PIPE-PAGES-R019.4
    Add `skip_link()` to `scripts/spec_dashboard_nav.py` and wrap the sheet in `<main id="main">` in `render` in `scripts/spec_dashboard_render.py`. Style the bar with the existing tokens in `scripts/spec_dashboard_style.py`
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Add `skip_link()` to `scripts/spec_dashboard_nav.py` and wrap the sheet in `<main id="main">` in `render` in `scripts/spec_dashboard_render.py`. Style the bar with the existing tokens in `scripts/spec_dashboard_style.py`. | Run `test_skip_link_targets_main` in `tests/test_spec_dashboard_nav.py` expects the stated result.
    requirementPIPE-PAGESVERIFIED556a2a4e800e
    tests/test_spec_dashboard_nav.py:49
    PIPE-PAGES-R019.5
    Add `scripts/spec_dashboard_nav.py` to the sparse checkout in `.github/workflows/pages_pipeline.yml`. The page must keep every existing panel
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    Add `scripts/spec_dashboard_nav.py` to the sparse checkout in `.github/workflows/pages_pipeline.yml`. The page must keep every existing panel. | Run `test_page_keeps_existing_panels` in `tests/test_spec_dashboard_nav.py` expects the stated result.
    requirementPIPE-PAGESVERIFIED556a2a4e800e
    tests/test_spec_dashboard_nav.py:56
    PIPE-PAGES-R020
    Documentation claims must match the repository
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Documentation claims must match the repository.** Rollup of the children below. The public-surface gate resolves each documented path, command, gate name and count against the tree. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add frozen dataclass `DocClaim` (file, line, kind, text) to `pipelines_hooks/docs/claims.py`. The `kind` field takes one of `path`, `command`, `gate`, `count`, `diagram-node`. | Run `test_doc_claim_kind_is_closed` in `tests/hooks/test_doc_claims.py` expects a `ValueError` for any other kind.
    requirementPIPE-PAGESVERIFIED65928c5c8223
    e50c603b621e
    faf488ed3698
    tests/hooks/test_doc_claims.py:36
    PIPE-PAGES-R020.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Add `claim_findings(root, claims)` to `pipelines_hooks/docs/claims.py`. Each kind has one named resolver in `RESOLVERS`: a path must exist, a gate must be in `GATES`, a count must equal the measured count, a diagram node must match a registry name. Each resolver is a replaceable default. | Run `test_resolvers_check_each_kind` in `tests/hooks/test_doc_claims.py` expects one finding per false claim and none for true claims.
    requirementPIPE-PAGESVERIFIED65928c5c8223
    e50c603b621e
    faf488ed3698
    tests/hooks/test_doc_claims.py:42
    PIPE-PAGES-R020.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Call `claim_findings` from `validate` at `pipelines_hooks/docs/public_surface.py:31`. `main` in `pipelines_hooks/cli.py:79` reaches it through `run_gate` at `pipelines_hooks/cli.py:66`. The `public-surface` hook at `.pre-commit-hooks.yaml:183` is the production caller. | Run `test_validate_calls_claim_findings` in `tests/hooks/test_doc_claims.py` expects a claim finding from `validate` on a stale fixture.
    requirementPIPE-PAGESVERIFIED65928c5c8223
    e50c603b621e
    faf488ed3698
    tests/hooks/test_doc_claims.py:66
    tests/hooks/test_public_surface_claims.py:43
    tests/hooks/test_public_surface_claims.py:71
    PIPE-PAGES-R020.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** When a claim has no resolver or the registry is unreadable, `claim_findings` returns the typed finding `claims-unchecked` with the file and line. It never passes silently. | Run `test_unresolvable_claim_is_reported` in `tests/hooks/test_doc_claims.py` expects the `claims-unchecked` finding.
    requirementPIPE-PAGESVERIFIED65928c5c8223
    e50c603b621e
    faf488ed3698
    tests/hooks/test_doc_claims.py:86
    tests/hooks/test_public_surface_claims.py:95
    PIPE-PAGES-R020.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** The gate prints one line `claims: checked N, unresolved M` and one finding per unresolved claim as `file:line kind text`. | Run `test_claims_summary_line` in `tests/hooks/test_doc_claims.py` expects the counts to equal the fixture.
    requirementPIPE-PAGESVERIFIED65928c5c8223
    e50c603b621e
    faf488ed3698
    tests/hooks/test_doc_claims.py:94
    PIPE-PAGES-R020.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is `pipelines-hook public-surface`, run through `main` in `pipelines_hooks/cli.py:79` on a fixture repository whose README names a missing path. The hook must exit 1 and print that path's `file:line`. | Run `test_public_surface_hook_fails_on_stale_claim` in `tests/hooks/test_public_surface_claims.py` expects exit 1 and the finding.
    requirementPIPE-PAGESVERIFIED65928c5c8223
    e50c603b621e
    faf488ed3698
    tests/hooks/test_public_surface_claims.py:27
    PIPE-PAGES-R020.7
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend the R020 claim contract with `LocatedFinding` in `pipelines_hooks/docs/claims.py`. Fields are source path, positive line, source digest, rule, observed value, expected value and evidence digest. Findings may describe documentation or code; measured evidence is required. | Run `test_located_finding_schema` in `tests/hooks/test_public_surface_claims.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED0acc8ec13b85
    tests/hooks/test_public_surface_claims.py:130
    PIPE-PAGES-R020.8
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Validate findings against the exact scanned tree before export. The `located-evidence` default resolves repository-relative paths, verifies line bounds and source digests, and compares observed values with recorded measurements. A textual assertion alone is not measured evidence. | Run `test_located_evidence_matches_tree` in `tests/hooks/test_public_surface_claims.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED0acc8ec13b85
    cbe3171bc838
    tests/hooks/test_public_surface_claims.py:143
    PIPE-PAGES-R020.9
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the planned `claim_findings` call at `pipelines_hooks/docs/public_surface.py:31`. Add a shared finding validator at the report boundary, reused by skill grading and test quality. `pipelines_hooks/cli.py:59` dispatches the public-surface entry point. There is no production caller of this new validator today. | Run `test_finding_validator_is_wired` in `tests/hooks/test_public_surface_claims.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED0acc8ec13b85
    tests/hooks/test_public_surface_claims.py:167
    PIPE-PAGES-R020.10
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Return `unsupported-finding` for absent measurements, escaped paths, invalid lines or mismatched source digests. Malformed evidence is `CannotRun` and exit 2; a measured failed rule is exit 1. Never convert an unchecked finding into a clean result. | Run `test_unsupported_finding_refused` in `tests/hooks/test_public_surface_claims.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED0acc8ec13b85
    tests/hooks/test_public_surface_claims.py:196
    PIPE-PAGES-R020.11
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit deterministic records with repository-relative path, line, rule, source digest, observed and expected values, and evidence digest. Record rejected findings separately with their refusal reason. Export neither absolute machine paths nor source secrets. | Run `test_located_evidence_export` in `tests/hooks/test_public_surface_claims.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED0acc8ec13b85
    tests/hooks/test_public_surface_claims.py:253
    PIPE-PAGES-R020.12
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point `pipelines-hook public-surface --root <fixture>` through the CLI and report validator. In `tests/hooks/test_public_surface_claims.py`, verify a measured stale claim exits 1 with an exact location. Missing measurement, out-of-range line and changed source each exit 2. Repairing the claim exits 0. | Run `test_public_surface_located_evidence_cli` in `tests/hooks/test_public_surface_claims.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED0acc8ec13b85
    cbe3171bc838
    tests/hooks/test_public_surface_claims.py:282
    tests/hooks/test_public_surface_claims.py:333
    PIPE-PAGES-R020.13
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend R020 with `ChangelogPolicy`, `ReleaseSection` and `ChangelogFinding` in new `pipelines_hooks/docs/changelog.py`. Policy declares document path, grammar version, version/tag syntax, URL templates and parser limits. Sections bind version or `Unreleased`, optional date, categories, entries and comparison link to source lines. Findings have closed rules for version, date, category, entry, link, duplicate and order violations. | Run `test_changelog_model` in `tests/hooks/test_changelog_gate.py`. Reject unknown grammar fields and duplicate releases; represent dated releases and an optional unreleased section with exact locations.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.14
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The `changelog-v1` default accepts dated level-two version headings, nonempty categorized bullet entries and resolved version links. Version labels have three dot-separated nonnegative decimal components without leading zeroes except zero itself. Optional hyphen-prefixed prerelease and plus-prefixed build suffixes contain nonempty dot-separated ASCII alphanumeric/hyphen identifiers; digits-only prerelease identifiers have no leading zeroes. Use valid calendar dates in YYYY-MM-DD form. Releases descend by date; a single undated `Unreleased` section may appear first. Categories are Added, Changed, Deprecated, Removed, Fixed and Security. Features use Added and fixes use Fixed; explicit `[Breaking]` entry markers identify incompatible changes. Reject entries outside a category and unknown categories. Empty optional categories are omitted. | Run `test_changelog_grammar` in `tests/hooks/test_changelog_gate.py`. Accept dated categorized releases; independently reject invalid dates/versions, misplaced entries, duplicate headings and unknown categories.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.15
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Add `changelog` to `GATES` at `pipelines_hooks/cli.py:13`, dispatched by `run_gate` at `pipelines_hooks/cli.py:59`. Publish a separate shared hook beside `public-surface` in `.pre-commit-hooks.yaml`, catalogue and self-run configuration consumed by `.github/workflows/ci.yml:86`. Extend configuration keys at `pipelines_hooks/core/config.py:21`. Reuse snapshot selection at `pipelines_hooks/core/comparison.py:53` and blob reads at `pipelines_hooks/core/gitenv.py:81`. Preserve existing public-surface behavior. No production caller reaches this checker today. | Run `test_changelog_hook_wiring` in `tests/hooks/test_changelog_gate.py`. The published CLI/hook reads policy and changelog from one Git snapshot and invokes the new grammar checker.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.16
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Grammar deviations return located findings and exit 1. Missing declared files, unreadable UTF-8, unsupported policy, exceeded parser limits, unsafe paths or unavailable snapshots raise `CannotRun` and exit 2. An Unreleased-only document, empty or populated, exits 2 with `missing-release-anchor` at its heading; no comparison baseline is invented. Missing or duplicate link definitions and invalid comparison targets fail; no network request is needed. A URL passing syntax checks is not proof of remote availability. Never silently skip a declared file, rewrite history or reformat a repository during checking. | Run `test_changelog_refusals` in `tests/hooks/test_changelog_gate.py`. Missing files and malformed policy exit 2; missing links and malformed release entries exit 1, with path and source line.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.17
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit sorted path/line/rule findings, policy and document digests, Git snapshot identity, checked release/category/link counts and typed refusal. Each release link records its declared comparison endpoints. Keep syntax validation distinct from unchecked remote reachability and semantic completeness of release notes. No passing verdict is emitted when the document was unchecked. | Run `test_changelog_evidence` in `tests/hooks/test_changelog_gate.py`. Bind findings to exact Git bytes and explicitly mark network reachability and change completeness as unverified.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.18
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point `pipelines-hook changelog --root <fixture>` in `tests/hooks/test_changelog_gate.py` on a real temporary Git repository with the published hook installed. Valid dated releases with feature, fix and marked breaking entries pass. Independently stage an invalid date, missing comparison link, misplaced bullet and missing file; assert located nonzero exits through CLI and hook. A fresh Git fixture containing only empty Unreleased exits 2 with `missing-release-anchor`, including when a guessed comparison link is supplied. Adding the first valid dated release, its release/tag link and the Unreleased comparison repairs it to exit 0 through both entry points. An unstaged repair cannot hide staged invalid text; a clean committed snapshot remains independent of worktree edits. | Run `test_changelog_cli` in `tests/hooks/test_changelog_gate.py`. Assert valid exit 0, grammar exit 1, missing-file and initial-history exit 2, then a valid first-release repair to exit 0, exact locations, snapshot isolation and no file writes or network calls.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.19
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add RuntimeEnvContract, EnvUse and LauncherEnvBinding in new pipelines_hooks/docs/env_documentation.py. Runtime variables bind name, typed default or no-default, purpose, requiredness, source locations and provider provenance to one Git snapshot. Launcher bindings add tracked JSON path, launcher/entrypoint identity, JSON pointer, variable name and a versioned adapter for literal or sourced-value semantics. Declare supported language roots, central providers and finite dynamic-name resolvers. Declare each launcher's applicable runtime-variable set and reconcile declared and discovered launcher files. | Run `test_env_documentation_model` in `tests/hooks/test_env_documentation.py`. Reject duplicate names, unknown fields, contradictory defaults and unmapped launcher bindings.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.20
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Reconcile every supported runtime read with matching name/default/purpose/requiredness in both example environment file and README. For every tracked MCP/launcher configuration, check every applicable variable binding against that same contract, including safe defaults and required/sourced semantics. Missing, renamed or unexpected bindings and default/requiredness drift fail. Use syntax-aware Python and declared provider adapters, not regex completeness claims. Secret defaults use an explicit secret/no-default marker; never store credential defaults. | Run `test_env_documentation_behavior` in `tests/hooks/test_env_documentation.py`. Independently corrupt each documentation field and remove, rename or contradict each launcher binding to fail.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.21
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register env-documentation in pipelines_hooks/cli.py:13, dispatched by run_gate at line 59. Its main calls one reconciliation pass over runtime reads, example file, README and declared/discovered launcher JSON bindings before a verdict. Publish the shared/self-run hook consumed by .github/workflows/ci.yml:86. Reuse core/config.py:21, core/comparison.py:53 and core/gitenv.py:81 with the same-snapshot policy seam. Preserve env-sprawl placement checks. No caller reaches this inventory today. | Run `test_env_documentation_wiring` in `tests/hooks/test_env_documentation.py`. Invoke CLI and configured pre-commit with all three consumer surfaces from the same indexed snapshot.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.22
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing/inconsistent documentation, missing declared launcher files, malformed JSON or binding drift is exit 1. Unresolved computed names, unbounded enumeration, unknown wrappers, unsupported source languages or launcher dialects, dynamic substitutions, unavailable providers or conflicting runtime defaults are CannotRun exit 2 with located uncertainty. A resolver must prove a finite set with digest-bound evidence. Unmapped discovered launchers cannot be silently skipped. Never execute repository imports, launchers or credential expansion to validate bindings. | Run `test_env_documentation_refusal` in `tests/hooks/test_env_documentation.py`. Malformed and missing launcher JSON fails; unsupported substitutions and computed names refuse without execution.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.23
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit all resolved names, example/README locations and each launcher path/identity/JSON pointer with source line, adapter, applicable variable set and safe binding/default/requiredness verdict. Bind source, consumer, policy and provider digests to one snapshot. Record all declared/discovered launchers, unmatched bindings and unresolved reads. Redact credentials and expanded environment values. Unchecked reads or launcher bindings forbid a complete receipt. | Run `test_env_documentation_evidence` in `tests/hooks/test_env_documentation.py`. Check exact third-surface locations/digests, missing binding evidence, uncertainty and secret redaction.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.24
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point pipelines-hook env-documentation --root <fixture> and configured pre-commit on a real Git repository with runtime reads, example file, README and tracked MCP JSON. All three consumer surfaces pass when consistent. Independently corrupt example-file and README metadata to fail. Independently remove/rename a launcher key, change its safe default or required binding, corrupt/delete its JSON file and repair it; assert located exit 1 then 0. Unknown substitution and computed-name cases exit 2. An unstaged launcher repair cannot rescue staged drift; committed-tree checks ignore worktree edits. | Run `test_env_documentation_cli` in `tests/hooks/test_env_documentation.py`. Assert CLI/hook exits 0/1/2 for all three surfaces, exact JSON pointers, snapshot isolation and no launch/import/network execution.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.25
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add ProjectConfigInventory and TemplateReceipt in new pipelines_hooks/hygiene/config_inventory.py. A complete declared project set maps four required roles: version-bump, pre-commit, project metadata and pytest configuration, to canonical paths, parser/schema versions, pinned template digests and rendering parameters. Two roles may share one file through distinct validated sections. | Run `test_config_inventory_model` in `tests/hooks/test_config_inventory.py`. Require all four roles for every declared project and reject duplicate effective authorities.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.26
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Provide deterministic template rendering and read-only completeness checks. Validate required role fields and rendered managed sections using format parsers; compare template version and parameter digests. Preserve explicitly owned custom sections. Validate the full declared inventory, including unchanged projects; an existing file alone does not prove template origin or conformance. | Run `test_config_inventory_behavior` in `tests/hooks/test_config_inventory.py`. Render all roles twice byte-identically and detect missing files, sections and managed-field drift.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.27
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register config-inventory in pipelines_hooks/cli.py:13 with --check and --render modes. Publish --check as the pre-commit/CI hook; package versioned templates under templates/project-config/. Reuse core/config.py:21 strict schema, core/comparison.py:53 and core/gitenv.py:81. Existing templates contain only the Pages theme; no standard project-config renderer or completeness caller exists. | Run `test_config_inventory_wiring` in `tests/hooks/test_config_inventory.py`. The installed hook invokes check mode; an explicit scratch render runs the same templates and parsers.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.28
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing required roles/files, invalid format or managed-section drift exit 1. Unknown templates, ambiguous project discovery, unsupported schemas, unavailable Git bytes or unsafe destinations raise CannotRun exit 2. Rendering requires an explicit destination and refuses existing outputs; checking never overwrites user configuration or creates an authority beside a canonical file. | Run `test_config_inventory_refusal` in `tests/hooks/test_config_inventory.py`. Reject traversal and overwrite, and fail a project omitted from the declared inventory.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.29
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record project/role/path/section, parser and template identity, parameter digest, expected/observed managed-section digests and exact failure location. Record all discovered and declared project roots. A template receipt is reproducibility evidence, not proof of historical authorship. | Run `test_config_inventory_evidence` in `tests/hooks/test_config_inventory.py`. Prove all projects and four roles appear, and drift identifies the affected section.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.30
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is the published CLI and configured hook. Through pipelines-hook config-inventory and configured pre-commit, render templates into a new real Git fixture with two projects, stage outputs and validate successfully. Independently remove bump, pre-commit, metadata and pytest roles; corrupt each format and alter a managed value. Add an undeclared project root. Each invalid inventory must fail with the correct project/role. | Run `test_config_inventory_cli` in `tests/hooks/test_config_inventory.py`. Assert deterministic rendering, per-role failures, complete multi-project coverage and no check-mode writes.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.31
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add a versioned validated Pydantic ValidationReport in new pipelines_hooks/core/validation_report.py. It nests repository/snapshot, category, executed test or analyzer identity and stable rule records. Outcomes are pass, fail or skip, each with a reason; failures preserve structured verbosity and located evidence. Invocation status separately records complete or cannot-run, so a skip cannot masquerade as pass. | Run `test_validation_report_model` in `tests/hooks/test_validation_report.py`. Reject unknown outcomes, duplicate record identities and counts inconsistent with records.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.32
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Serialize to canonical JSON and deserialize without losing nesting, reasons, evidence, pass/fail/skip metrics or schema version. Render Markdown from the same object; do not parse Markdown as authoritative evidence. Recompute counts and verdict on import. Preserve empty/not-applicable categories as explicit skips and never invent successful tests. | Run `test_validation_report_behavior` in `tests/hooks/test_validation_report.py`. Round-trip mixed nested outcomes and compare every field, stable ordering and recomputed metrics.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.33
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Add structured result adapters before text rendering in the R020 claim, R021 repository-validation and R023 skill-grade paths. Register repository-validation in cli.py:13 and let its --report-json and --report-markdown options export the shared object. Preserve existing run_gate exit mapping at cli.py:59. The aggregate consumes R021.27 lint_type.analyze results under explicit lint/import-order/type categories and preserves their rules, reasons and verdicts through JSON/Markdown. Current modules print distinct formats; no common report producer/consumer exists today. | Run `test_validation_report_wiring` in `tests/hooks/test_validation_report.py`. Run aggregate lint-type results through JSON/Markdown and retain all three phase categories, rules and verdicts.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.34
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Unknown schema, malformed evidence, stale source digests, mismatched counters or unsupported adapters are CannotRun exit 2. Any failing required rule exits 1 unless cannot-run takes precedence. A skipped required check exits 2; declared non-applicable optional checks remain skips. Optional skips cannot create a full-coverage receipt. Truncated output is not a valid report. | Run `test_validation_report_refusal` in `tests/hooks/test_validation_report.py`. Tampered verdict/counts, required skips and malformed/truncated JSON refuse rather than pass.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.35
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Preserve exact rule IDs, repository-relative locations, bounded redacted diagnostics, command identity, duration, source/policy digests and scope. Report original pass/fail/skip counts by category and repository plus invocation status. Bound serialized size and escape Markdown content without executing it. | Run `test_validation_report_evidence` in `tests/hooks/test_validation_report.py`. Retain failure detail and skip reasons through JSON and Markdown; never leak secret payloads.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.36
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is the published CLI and configured hook. Execute repository-validation on real Git fixtures containing passing checks, a real lint failure and a deliberately unavailable optional adapter. Deserialize the produced JSON and render Markdown; compare every nested outcome, reason and metric with the actual analyzer results. Independently trigger real lint, import-order and type findings through the aggregate; each survives serialization in its matching category and gives exit 1 even if health is 100. A required unavailable adapter must give exit 2 in local and CI modes. | Run `test_validation_report_cli` in `tests/hooks/test_validation_report.py`. Assert real lint/import/type round-trip, exit 1 at unchanged health score, repaired exit 0 and required-phase skip exit 2.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.37
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add ToolDocMapping in new pipelines_hooks/docs/tool_mapping.py: canonical registry/tool/method IDs, nested method relation, parameter names/types/defaults/requiredness, result schema and request/result examples. Bind registry and generated table locations to source digests. The owner exports registry data; pipelines creates no second tool authority. | Run `test_tool_mapping_model` in `tests/hooks/test_tool_mapping.py`. Reject duplicate identities, missing schema fields and unbound examples.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.38
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Extend R010 with exact set equality between the complete published tool/method inventory and documentation rows. Require all parameters, result fields and at least one schema-valid request/result example per method, including nested methods. Explicitly describe void results and empty parameter sets. Reject extra, omitted or stale rows and mismatched defaults. | Run `test_tool_mapping_behavior` in `tests/hooks/test_tool_mapping.py`. Independently remove a tool, nested method, parameter, result or example and fail.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.39
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Create tool-mapping in pipelines_hooks/cli.py:13 and call it through run_gate at line 59 and the shared hook. Reuse registry extraction at scripts/skill_graph/eg.py:112 and generation at scripts/skill_graph/render_pages.py:39 through versioned owner adapters. Extend exports to carry full schemas; current method grouping/counts do not prove mapping completeness. Run the checker before artifact upload at .github/workflows/pages_pipeline.yml:244. | Run `test_tool_mapping_wiring` in `tests/hooks/test_tool_mapping.py`. The configured docs CLI/hook consumes the real exported registry and generated mapping.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.40
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** A missing mapping row or schema/example mismatch exits 1 with registry identity and document location. Unsupported registry formats, missing producer evidence, ambiguous schemas or stale digests are CannotRun exit 2. Never import arbitrary repository modules or invent examples/results to claim complete coverage. | Run `test_tool_mapping_refusal` in `tests/hooks/test_tool_mapping.py`. Unknown schema and stale registry refuse; an omitted tool is a located failure.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.41
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Report exact tool/method set, parameter/result/example counts, registry producer/version/digest, table row/anchor, source snapshot and each comparison. Missing rows locate both the registry declaration and expected table section. Schema-valid examples are not evidence that a deployed method succeeds. | Run `test_tool_mapping_evidence` in `tests/hooks/test_tool_mapping.py`. Locate absent nested rows and preserve the distinction between schema and runtime evidence.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.42
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point pipelines-hook tool-mapping on a real Git fixture whose registered fixture tool exports its contract through the owner producer. Generate and serve its actual reference page; the installed hook passes the full mapping. Independently delete a tool row, nested method, parameter, result or example and assert exit 1 plus exact identity/location; restore to pass. | Run `test_tool_mapping_cli` in `tests/hooks/test_tool_mapping.py`. Assert real producer-to-renderer-to-hook integration and stale-export exit 2.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.43
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add GuideMigrationManifest in new pipelines_hooks/docs/guide_migration.py: old/new snapshots, canonical guide path, configurable size limit, complete source block/statement IDs and digests, destination path/anchor and claim-evidence kind for every moved assertion. Track diagrams and code examples as explicit blocks. | Run `test_guide_migration_model` in `tests/hooks/test_guide_migration.py`. Reject duplicate IDs, uncovered source ranges and destinations outside canonical content roots.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.44
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Extend R002 by generating a reviewable split into declared architecture/agent/feature/reference pages with a concise linking guide. Account for every source block as retained, moved or explicitly reviewed retirement; no silent deletion. Verify moved claims through R020 resolvers and digest-bound measurements. Unknown factual assertions remain unverified and block a complete-verification receipt. | Run `test_guide_migration_behavior` in `tests/hooks/test_guide_migration.py`. Omitting or changing an assertion without matching evidence fails; unsupported claim kinds remain unresolved.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.45
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register guide-migration in pipelines_hooks/cli.py:13 with check and explicit scratch-render modes. Reuse planned docs/claims.py resolvers attached at docs/public_surface.py:31, containment at docs/public_surface_links.py:29 and corpus navigation at scripts/skill_graph/nav.py. The existing link checker does not split guides or verify every moved fact. Publish the check hook and consume it in the Pages workflow before upload. | Run `test_guide_migration_wiring` in `tests/hooks/test_guide_migration.py`. The real CLI materializes the declared split and the hook checks its served navigation and claim evidence.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.46
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing blocks, broken links or oversized output give located failures and exit 1; stale evidence, unsupported claim kinds or unavailable old/new snapshots are CannotRun exit 2. A human approval records review, not machine proof of arbitrary truth. Refuse overwrite in render mode and never rewrite the caller guide during checking. Invalid diagrams fail through the declared renderer. | Run `test_guide_migration_refusal` in `tests/hooks/test_guide_migration.py`. Unresolved assertions and unrenderable diagrams cannot produce complete migration evidence.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.47
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit source-to-destination block mapping, before/after digests and lines, retained/retired/moved counts, measured size, resolved navigation and per-claim evidence or unresolved reason. Distinguish byte preservation, editorial review and measured factual verification. Account for all blocks even when some claims cannot be verified. | Run `test_guide_migration_evidence` in `tests/hooks/test_guide_migration.py`. A coverage total equals the original inventory and each moved claim retains its evidence kind.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.48
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point pipelines-hook guide-migration on a real Git fixture with a large guide, measured command/path facts, an unsupported assertion and a diagram. Render the split, serve the generated site and follow the guide links. Omitted blocks, changed claims and broken diagram rendering fail; unsupported facts exit 2. A fully supported, measured fixture passes after repair. | Run `test_guide_migration_cli` in `tests/hooks/test_guide_migration.py`. Assert actual CLI/hook, renderer and served-link behavior without helper-only completion.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.49
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add DeploymentDocMatrix in new pipelines_hooks/docs/deployment_docs.py with exactly four pattern IDs: uv-stdio, uv-local-http, local-container-http and remote-container-url. Each binds owner/runtime capability, supported or constrained status, MCP configuration, launch/connect argv, prerequisite/default placeholders and documentation anchors. Container runtime is a declared Docker or Podman variant. | Run `test_deployment_docs_model` in `tests/hooks/test_deployment_docs.py`. Require all four records and parse configuration/command shapes without fabricated capabilities.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.50
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Extend R008 beyond stdio: every supported pattern includes valid MCP JSON and executable owner-published launch/connect commands. Validate argv, package/image refs, transport, environment bindings and config-command agreement from the checked registry. Remote URL mode uses a safe example endpoint and separate owner-host launch instructions; never invent a local spawn command for a hosted URL. | Run `test_deployment_docs_behavior` in `tests/hooks/test_deployment_docs.py`. Missing configuration, command or mismatched transport fails independently in every pattern.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.51
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register deployment-docs at pipelines_hooks/cli.py:13, reuse public_surface_quickstart.findings through docs/public_surface.py:31 and R020 launcher-binding validation. Publish the shared hook and invoke it before .github/workflows/pages_pipeline.yml:244 upload. Add owner capability/export adapters; no current checker establishes this four-pattern matrix. | Run `test_deployment_docs_wiring` in `tests/hooks/test_deployment_docs.py`. Configured pre-commit and docs CLI validate the same owner export, JSON and argv matrix.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.52
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing records or mismatched examples exit 1. Unknown transport, unavailable owner capability evidence or unsupported command grammar is CannotRun exit 2. An owner-constrained pattern must show a reason and owner evidence, cannot advertise a runnable command and remains visibly unsupported; a contract requiring four runnable patterns remains incomplete. Docs checks never start containers or contact production endpoints. | Run `test_deployment_docs_refusal` in `tests/hooks/test_deployment_docs.py`. Unsupported patterns are explicit constraints, never false pass coverage or invented commands.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.53
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit per-pattern support state, owner/contract digest, configuration pointer, command block location, exact parsed argv and safe prerequisite references. Record syntax/contract validation separately from optional exact-version runtime receipts. Redact credentials and keep hosted ownership distinct from client connection setup. | Run `test_deployment_docs_evidence` in `tests/hooks/test_deployment_docs.py`. Export all four patterns and distinguish docs parity from a runtime deployment receipt.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.54
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point pipelines-hook deployment-docs and configured pre-commit on real Git fixtures with all four declared patterns. Run documented supported commands only in owner-controlled disposable acceptance environments with a loopback fixture server; independently parse/validate each MCP configuration and observe the selected transport. Corrupt each pattern in turn to fail; constrained owners produce explicit unsupported evidence. | Run `test_deployment_docs_cli` in `tests/hooks/test_deployment_docs.py`. Assert four-pattern CLI/hook parity and independent owner runtime receipts; documentation alone cannot certify deployment.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.55
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend R020 ProjectConfigInventory with documentation roles: README, agent guide, canonical content tree/index, changelog and documentation configuration. Bind every declared project, role/path/section, template version/digest, render parameters and navigation edges. Reuse config-inventory ownership; do not create a parallel project list. | Run `test_doc_inventory_model` in `tests/hooks/test_doc_inventory.py`. Require every documentation role for every project and reject duplicate canonical authorities.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.56
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Render deterministic templates to new scratch output and validate whole-inventory drift. Check required sections, links from README/guide through index to overview/component/reference pages, document configuration and changelog grammar. Discover canonical paths through policy and compare all declared projects, including unchanged files. Preserve custom content outside managed sections. | Run `test_doc_inventory_behavior` in `tests/hooks/test_doc_inventory.py`. Missing roles, malformed config, stale managed sections and orphan navigation fail independently.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.57
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend planned hygiene/config_inventory.py from R020.27 with documentation adapters and templates/project-docs/. Reuse scripts/sync_mkdocs_theme.py:83, scripts/pages_fleet_parity.py:54 and public-surface link checks at docs/public_surface.py:31. Publish config-inventory --check documentation coverage in the same hook and .github/workflows/pages_pipeline.yml:244 pre-upload path. Existing theme sync/parity does not prove all these per-project roles. | Run `test_doc_inventory_wiring` in `tests/hooks/test_doc_inventory.py`. The existing proposed config-inventory entry consumes both configuration and documentation roles once.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.58
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Absent roles, invalid config, missing index edges or template drift exit 1. Unknown templates, ambiguous canonical locations, unavailable snapshots or escaping paths are CannotRun exit 2. Never recreate retired docs roots, overwrite custom sections, treat an empty directory as a complete tree or silently omit a project. | Run `test_doc_inventory_refusal` in `tests/hooks/test_doc_inventory.py`. Retired-path fallback and an undiscovered declared project cannot pass.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.59
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit project/role/path inventory, template and content digests, managed-section comparisons, navigation graph and exact missing/broken edge locations. Bind the site artifact and report to the same source/config tree. Reuse the structured pass/fail/skip report; historical changelog text remains outside template-owned content. | Run `test_doc_inventory_evidence` in `tests/hooks/test_doc_inventory.py`. Prove every role and project is checked and preserve user-owned prose during rendering.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.60
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point pipelines-hook config-inventory --check on a real two-project Git fixture generated from templates. Build and serve its actual documentation, traverse overview/component/reference links and validate all roles. Independently delete a guide/index/changelog/config, corrupt a navigation target and move content to a retired path; installed CLI/hook must fail then pass after repair. | Run `test_doc_inventory_cli` in `tests/hooks/test_doc_inventory.py`. Assert deterministic generation, real served navigation and whole-inventory drift failures.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.61
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add ReadmeHeaderContract in new pipelines_hooks/docs/readme_header.py: project title, unique versioned mark with alt text, concise description, ordered Documentation/Capabilities/Interfaces/Status links and a visible telemetry badge inventory. Bind consumer identity and destinations to scripts/skill_graph/model.py:15 REPOS and declared owner metadata. Classify scope before requiring header fields: the seven consumers validate normally; only the policy-pinned provider identity github.com/Knuckles-Team/pipelines is declared non-applicable. Resolve full host/namespace/repository identity from origin, or a sole remote if origin is absent, without network access. A basename or caller-supplied provider flag cannot select this exception. | Run `test_readme_header_model` in `tests/hooks/test_readme_header.py`. Reject missing/duplicate consumer header fields; only the exact provider identity selects non-applicable scope.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.62
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Extend R003/R011 with the same header order in README and served documentation home. Require every declared telemetry badge beside the other top badges, outside collapsed details. Resolve all four navigation targets and retain a unique project mark. Reconcile the obsolete five-core wording with the existing seven-entry REPOS source; do not add a second hard-coded registry. | Run `test_readme_header_behavior` in `tests/hooks/test_readme_header.py`. Missing interface/status links, hidden badges, stale owner counts and reused wrong-project marks fail.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.63
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register readme-header at pipelines_hooks/cli.py:13; reuse public_surface_links at docs/public_surface.py:31 for contained links and scripts/skill_graph/model.py:15 for consumer identities. Add a shared header template beside templates/mkdocs-theme/overrides/main.html:1 and consumer Markdown rendering. Wire header validation into shared/self-run hooks and Pages pre-upload at .github/workflows/pages_pipeline.yml:244. Self-run on the identified provider returns structured skip with reason provider-not-consumer and exit 0 locally and in CI; this is declared non-applicable scope, not an unavailable required consumer check under R020.34. Consumer fixture acceptance still runs in CI. Current theme chrome does not enforce this README header. | Run `test_readme_header_wiring` in `tests/hooks/test_readme_header.py`. The installed provider self-run yields declared non-applicable exit 0; known consumers still execute the shared renderer/checker.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.64
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing fields, hidden badges, broken local targets or identity drift within a known consumer exit 1. Unknown repositories, unresolved/ambiguous remote identity, unknown badge provenance, unavailable metadata, unsupported rendering or stale status evidence are CannotRun exit 2. No generic unknown-consumer exemption is allowed. Never invent a green telemetry value or count remote URL syntax as reachability proof. Offline fixtures use pinned badge content, not network calls. | Run `test_readme_header_refusal` in `tests/hooks/test_readme_header.py`. Unknown consumer, same basename under another namespace and unresolved identity exit 2; unavailable telemetry cannot become a measured success.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.65
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit header node order, resolved destinations, mark identity/digest, badge visibility and provenance/as-of data, registry digest and served-artifact identity for checked consumers. Provider non-applicable evidence records resolved identity and its source, snapshot, policy/registry digests, provider-not-consumer reason and zero consumer checks; omit header grades and consumer coverage receipts. Separate navigation checks, telemetry freshness and visual presentation. Preserve the source distinction between project identity and shared layout. | Run `test_readme_header_evidence` in `tests/hooks/test_readme_header.py`. Bind seven-owner coverage to its registry; provider skip evidence cannot count as a passed consumer or completed header check.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.66
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point pipelines-hook readme-header on generated README and a real served site in a temporary Git fixture. Browser assertions verify the four ordered links, project mark/alt text and visible telemetry. Break a link, collapse a badge or substitute another project mark; CLI/hook and served checks fail. In disposable Git fixtures run the installed CLI and actual self-run hook with the exact provider remote (exit 0, structured non-applicable, zero consumer checks), an unknown consumer and same-basename different-namespace remote (exit 2), and a known consumer with broken header and a caller provider flag (never skip; fail). No remote contact is needed. | Run `test_readme_header_cli` in `tests/hooks/test_readme_header.py`. Assert real renderer/browser coverage plus provider CLI/self-run exit 0, unknown identity exit 2 and no consumer bypass through a provider flag.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.67
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add ThemeImageContract in new pipelines_hooks/docs/image_theme.py: complete discovered image inventory, source/DOM identity, light/dark media selectors or declared dual-theme single asset, alt text, theme backgrounds and semantic diagram endpoints. Bind asset and rendered page digests to the same tree. | Run `test_image_theme_model` in `tests/hooks/test_image_theme.py`. Reject omitted images, missing theme modes and ambiguous diagram edge identities.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.68
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Check every declared and discovered README/site image at light and dark prefers-color-scheme settings. Require actual asset loading, visible labels and boundaries, accessible alternatives and consistent semantic arrow direction. Use deterministic pixel/contrast probes for declared foreground/background regions and reviewed render evidence where automatic legibility is insufficient. Media-query text alone is not proof. | Run `test_image_theme_behavior` in `tests/hooks/test_image_theme.py`. Missing dark variant, invisible labels, wrong diagram arrow endpoints and unaccounted images fail.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.69
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register image-theme at pipelines_hooks/cli.py:13 and create a browser-check adapter for rendered artifacts. Reuse the existing light/dark palette at templates/mkdocs-theme/base.mkdocs.yml:35 and shared assets; preserve R009 HTML/CSS diagrams instead of adding a new diagram system. Run the static inventory hook and consume exact-artifact browser evidence before Pages upload at .github/workflows/pages_pipeline.yml:244. Existing palette support does not check individual images. | Run `test_image_theme_wiring` in `tests/hooks/test_image_theme.py`. The production docs check evaluates the actual served artifact under both browser media settings.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.70
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing assets, required theme selectors or contrast probes, or reversed declared edges exit 1. Unavailable browser/render evidence, unsupported image analysis, unknown backgrounds or stale artifact digests are CannotRun exit 2. Do not claim arbitrary image legibility from regex or two identical screenshots. Single assets need positive evidence for both modes. | Run `test_image_theme_refusal` in `tests/hooks/test_image_theme.py`. An image lacking trustworthy theme evidence cannot silently pass or disappear from inventory.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.71
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record each image and both media modes, chosen source/currentSrc, load status, geometry, alt text, declared contrast measurements, diagram endpoint checks and screenshot digests. Record manual review scope separately from measured probes; neither substitutes for missing actual renders. Use safe repository-relative evidence references. | Run `test_image_theme_evidence` in `tests/hooks/test_image_theme.py`. Every image has two bound render results with exact failure locations and reasons.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.72
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point pipelines-hook image-theme with a real built site served on loopback and a browser rendering light then dark. Inspect actual image load/currentSrc and declared label/background probes. Delete the dark source, make a label match its background and reverse a diagram edge independently; assert nonzero gate results, then repair. | Run `test_image_theme_cli` in `tests/hooks/test_image_theme.py`. Assert real served dual-media coverage for every image, failed adversarial probes and stale-receipt exit 2.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021
    Test quality gate for repository validation
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Test quality gate for repository validation.** Rollup of the children below. The gate rejects placeholder tests and unjustified suppressions, and enforces a coverage threshold. Each finding names its rule and location, so the fixer addresses the root cause before the re-test. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add frozen dataclass `TestQualityFinding` (path, line, rule) to `pipelines_hooks/code/test_quality.py`. The `rule` field takes one of `placeholder-test`, `unjustified-suppression`, `coverage-below-threshold`. | Run `test_finding_rule_is_closed` in `tests/hooks/test_test_quality.py` expects a `ValueError` for any other rule.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Add `scan(root, threshold)` to `pipelines_hooks/code/test_quality.py`. A test whose body is only `pass`, `...` or `assert True` is a placeholder. A suppression needs a reason of at least 10 characters. The coverage threshold defaults to 80 percent. Each rule is a replaceable default. | Run `test_scan_flags_placeholder_and_bare_suppression` in `tests/hooks/test_test_quality.py` expects one finding per violation.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** This row creates the call site. Add `test-quality` to `GATES` at `pipelines_hooks/cli.py:33` and a hook entry beside `no-stub` at `.pre-commit-hooks.yaml:141`. `run_gate` at `pipelines_hooks/cli.py:59` is its caller. | Run `test_test_quality_is_registered` in `tests/hooks/test_test_quality.py` expects the name in `GATES` and in the hook file.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** When no coverage report exists, `main` raises `CannotRun`. `run_gate` maps it to exit 2. The gate never reports a pass without a measured percentage. | Run `test_missing_coverage_report_cannot_run` in `tests/hooks/test_test_quality.py` expects exit 2.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** The gate prints `test-quality: files N, placeholders M, coverage P%, threshold T%` and one `path:line rule` line per finding. | Run `test_test_quality_summary_line` in `tests/hooks/test_test_quality.py` expects the stated fields.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is `pipelines-hook test-quality` through `main` in `pipelines_hooks/cli.py:79`. A fixture repository with a placeholder test and 70 percent coverage must exit 1 and list both findings. | Run `test_test_quality_hook_fails_fixture` in `tests/hooks/test_test_quality_hook.py` expects exit 1 and two findings.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.7
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend `TestQualityFinding` with `interface-violation`, `missing-property-proof`, `missing-integration-proof` and `orphan-module`. A versioned component declaration names roots, interfaces, allowed edges, entry modules and risky handoff test IDs. Dependency edges carry source location and kind: `eager-runtime`, `deferred-runtime` or `type-only`. Declare permitted type-only edges separately. | Run `test_component_contract_model` in `tests/hooks/test_test_quality_hook.py`. Assert the closed edge kinds and separate runtime/type-only permissions.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.8
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The `declared-boundaries` default checks all statically resolvable runtime imports, including imports inside `def`, `async def` and conditional branches. The `orphan-reach` default follows both eager and deferred runtime edges from declared entry modules. Proven `TYPE_CHECKING` branches produce type-only edges; check their separate permissions but exclude them from runtime reachability. The `handoff-proof` default requires passing property and real-component integration receipts at the scanned commit. | Run `test_component_contract_checks` in `tests/hooks/test_test_quality_hook.py`. Assert allowed lazy imports preserve reachability, forbidden lazy imports fail, and type-only imports cannot prove runtime reachability.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.9
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend R021 `test-quality` at `pipelines_hooks/cli.py:14`. Add a static dependency traversal beside `build_eager_graph` at `pipelines_hooks/code/import_graph.py:71`; reuse module discovery and target resolution, not its eager-only walker. Wire the static runtime graph into boundary and orphan checks before the verdict. Keep the eager graph for eager-cycle checks. Publish the hook and self-run configuration consumed by `.github/workflows/ci.yml:86`. No production caller reaches the added pass today. | Run `test_component_checks_are_wired` in `tests/hooks/test_test_quality_hook.py`. Assert the CLI boundary/orphan path consumes the static runtime graph and cycle checks retain the eager graph.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.10
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Raise `CannotRun` for malformed declarations, unsupported language adapters or missing, stale or skipped test receipts. Static violations and unproved risky handoffs fail. Unresolved computed imports produce located dynamic-edge uncertainty. Require declared dynamic entry modules; unresolved reachability cannot produce a clean verdict or a definite orphan finding. An unproven type-only guard remains a possible runtime edge. | Run `test_component_proof_refusals` in `tests/hooks/test_test_quality_hook.py`. Assert unresolved dynamic reachability is exit 2, never a false clean or definite orphan; retain receipt refusals.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.11
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit declaration and source digests, dependency locations and edge kinds, checked interface permissions, runtime reachability, type-only exclusions, dynamic uncertainty, test IDs, property seeds and outcomes. Integration receipts identify both real components. Bind evidence to the scanned commit and the R020 located-finding contract. | Run `test_component_evidence_receipts` in `tests/hooks/test_test_quality_hook.py`. Assert runtime, type-only and unresolved dynamic evidence remain distinguishable.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.12
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Run entry point `pipelines-hook test-quality --root <fixture>` in `tests/hooks/test_test_quality_hook.py`. Execute a real component handoff with imports inside both `def` and `async def`. Allowed lazy edges pass without false orphans; forbidden lazy edges exit 1 at their import lines. A type-only edge cannot make a module runtime-reachable. Computed import uncertainty exits 2. Retain property/integration receipts and the skipped-test and unreachable-module failure cases. | Run `test_component_handoff_cli` and `test_component_lazy_import_cli` in `tests/hooks/test_test_quality_hook.py`. Assert CLI exit codes, exact edge locations, type-only separation and no false orphan for allowed lazy imports.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.13
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend the finding rule set with `outcome-not-observed`. Add `OutcomeContract` and `OutcomeProof` beside the planned `TestQualityFinding` in `pipelines_hooks/code/test_quality.py`. A contract binds a collected test ID and subject entry point to applicable outcomes: `return-value`, `error-state` or `side-effect`. Each outcome names an observable, expected predicate and bounded counterexample. Proof binds source, test and policy digests to baseline and counterexample results, assertion locations and `pass`, `fail` or `unchecked`. | Run `test_outcome_contract_schema` in `tests/hooks/test_test_quality_outcomes.py`. Reject unknown outcome kinds, empty observables and missing source bindings; accept return, error and side-effect contracts.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.14
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The `observed-outcome` default requires every collected test case in the declared scope to verify its applicable outcomes. Static screening flags absent or constant assertions but cannot prove semantic adequacy. Runtime proof requires the baseline to pass and each declared wrong outcome to fail at the designated outcome assertion. Wrong values, wrong or missing errors, and missing or extra side effects are counterexamples where applicable. Unrelated assertions that still pass yield `outcome-not-observed`. Assertion helpers and exception contexts use explicit adapters rather than an assert-keyword count. | Run `test_outcome_counterexamples` in `tests/hooks/test_test_quality_outcomes.py`. Reject a passing test that ignores the result; accept exact return, error and state assertions that detect their counterexamples.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.15
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the planned `test-quality` entry at `pipelines_hooks/cli.py:14`, dispatched by `run_gate` at `pipelines_hooks/cli.py:59`. Before its verdict, call an outcome runner and checker from `pipelines_hooks/code/test_quality.py`. Read repository policy through `load_config` at `pipelines_hooks/core/config.py:91`; publish the CLI options with the existing R021 hook and CI integration. Use the declared test runner with argument arrays in isolated fixture trees; never alter the caller tree. No production caller reaches this outcome checker today. | Run `test_outcome_checker_wiring` in `tests/hooks/test_test_quality_outcomes.py`. Assert the published CLI invokes the configured runner, validates its receipts and includes outcome findings in its exit code.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.16
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** A test lacking an applicable outcome contract or surviving a valid counterexample fails with `outcome-not-observed`. Return `CannotRun` and exit 2 for unsupported assertion adapters, stale receipts, skipped or uncollected cases, unavailable runners or exceeded time limits. A counterexample that fails during import, setup or unrelated assertions is unchecked, not a proof. Explicitly justified not-applicable categories remain visible; an all-empty contract cannot pass. | Run `test_outcome_proof_refusals` in `tests/hooks/test_test_quality_outcomes.py`. Missing contracts and surviving counterexamples exit 1; stale, skipped, setup-failing and timed-out proofs exit 2.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.17
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit test and subject IDs, applicable outcome kinds, expected predicates, baseline and counterexample verdicts, assertion locations, source/test/policy digests and refusals. Separate static findings from measured runtime proof. Use R020 located evidence; record bounded execution scope and remaining unmeasured behavior. A passing proof covers only its declared observables and counterexamples, never all possible semantics. | Run `test_outcome_evidence` in `tests/hooks/test_test_quality_outcomes.py`. Assert distinct static/runtime records and digest-bound receipts; never report coverage or assertion count as outcome proof.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.18
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Run entry point `pipelines-hook test-quality --root <fixture>` in `tests/hooks/test_test_quality_outcomes.py` with a real fixture command that returns a value, raises a typed error and writes a temporary state file. Exact return, exception and before/after state assertions pass their baseline and fail declared wrong outcomes. A passing test that ignores the command result, a constant assertion and an unrelated assertion each fail admission. A skipped case or counterexample setup failure exits 2. Preserve R021 coverage and handoff prerequisites. | Run `test_outcome_quality_cli` in `tests/hooks/test_test_quality_outcomes.py`. Assert exit 0 for proved outcomes, exit 1 for missing observation and exit 2 for unchecked proof through the real CLI and runner.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.19
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add CodeQualityPolicy and AnalyzerInvocation in new pipelines_hooks/code/lint_type.py. Declare supported language profile, complete first-party source/test roots, pinned linter/import-order/type tools, effective configurations and invocation budgets. Initial Python profile uses Ruff lint/import-order diagnostics and mypy type diagnostics through versioned adapters. | Run `test_lint_type_policy_model` in `tests/hooks/test_lint_type_policy.py`. Reject unpinned tools, missing phases and scope omissions.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.20
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Run all three required phases on every tracked first-party Python source and test in the selected snapshot. Require zero findings with zero exceptions: no baseline, per-file ignore, inline noqa/type-ignore, disabled required rule or skip may hide a finding. Detect effective config and invocation suppression. This policy governs these code checks; retain PIPE-CONNSPEC-R007 historical prose exemptions and existing separate gate policies. | Run `test_lint_type_policy_behavior` in `tests/hooks/test_lint_type_policy.py`. Independent lint, import-order, type and suppression fixtures fail; a clean supported project passes.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.21
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register lint-type in cli.py:13 and publish shared/self-run hooks consumed by .github/workflows/ci.yml:86. New lint_type.main launches locked tool argument arrays on a materialized disposable Git snapshot; reuse core/comparison.py:53 and core/gitenv.py:81. The current .config/pre-commit.yaml:30 runs pytest, not this combined analyzer path. Import-cycle and test-quality checks do not substitute for any required phase. | Run `test_lint_type_policy_wiring` in `tests/hooks/test_lint_type_policy.py`. Configured pre-commit calls all three real tool phases and the shared report adapter.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.22
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** A finding or suppression exits 1. Missing tools, unsupported source languages, incomplete scope, version mismatch, timeout, malformed output or unresolvable tool configuration is CannotRun exit 2, locally and in CI. No tool installation, autofix, network lookup or narrowed fallback occurs during checking. | Run `test_lint_type_policy_refusal` in `tests/hooks/test_lint_type_policy.py`. Unavailable type checker and an unsupported declared language must not return a clean verdict.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.23
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit tool versions, exact argument arrays, effective config/source digests, full checked file set, phase outcomes and located diagnostics. Preserve findings from all completed phases when another cannot run. Record configured scope and any unsupported files explicitly. | Run `test_lint_type_policy_evidence` in `tests/hooks/test_lint_type_policy.py`. Prove all three phases ran against identical source bytes and each diagnostic retains its original rule ID.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.24
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is the published CLI and configured hook. Use pipelines-hook lint-type and installed pre-commit on a real Git repository with locked real analyzers. Stage separate unused-import, import-order and type-assignment errors; each must fail at its actual rule/location. Try inline and configuration suppressions, then a clean repair. An unstaged repair cannot hide indexed defects. | Run `test_lint_type_policy_cli` in `tests/hooks/test_lint_type_policy.py`. Assert real analyzer results, zero-exception enforcement, snapshot isolation and no autofix/network writes.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.25
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add AnalyzerHealthPolicy and HealthSummary in new pipelines_hooks/code/repository_validation.py using R020 ValidationReport. Scored categories are dead code, secrets, dependency risk, complexity hotspots and untested surfaces. Required report categories also include lint, import-order and type; they affect verdict and fix priority but are excluded from the health arithmetic. Each adapter declares version, scope, rules, severity mapping, requiredness and evidence kind; policy gives positive integer weights to scored categories and declares severity penalties. | Run `test_analyzer_health_model` in `tests/hooks/test_analyzer_health.py`. Accept the five scored and three required unscored categories; reject unknown categories and invalid weights or snapshots.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.26
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Aggregate existing measured analyzer results into one deterministic 0–100 health score and prioritized fix list. Deduplicate by repository/category/rule/path/location/evidence identity. Sort fixes by blocking status, severity, category, path, line and rule. A score cannot override a required failure, including lint, import-order or type; missing required code phases yield exit 2 even with complete health-category measurements. Any unchecked scored category makes the authoritative score unavailable; retain partial measurements with coverage indicators. | Run `test_analyzer_health_behavior` in `tests/hooks/test_analyzer_health.py`. Stable permutations yield identical score/order; missing categories cannot inflate health.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.27
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register repository-validation in cli.py:13, with shared hook/catalogue/self-run CI configuration. Adapt supply_chain/gate.py:58 findings and complexity/census.py:main measurements; reuse the planned R021 coverage/test-quality receipts and R020 evidence validator. Add a pinned dead-code adapter where absent. Preserve existing gate verdicts and local Unavailable semantics, but record skips structurally before cli.py:59 could turn them into exit 0. Create the aggregate call from repository_validation.main to lint_type.analyze(snapshot, policy), the structured runner also used by lint_type.main. Collect all three phase results before reporting or computing the exit code; do not re-run or scrape the standalone CLI. No aggregate health caller exists today. | Run `test_analyzer_health_wiring` in `tests/hooks/test_analyzer_health.py`. The aggregate calls the real structured lint-type runner once and exports every phase with existing health adapters.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.28
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Required analyzer findings fail with exit 1; missing required analyzers, stale receipts, unknown severity, malformed results or mismatched scope raise CannotRun exit 2. Missing optional adapters are explicit skips and cannot count as healthy. Reject unsupported dependency-risk coverage instead of treating dependency-format checks as vulnerability proof. Never copy an external product score, baseline or suppression policy. | Run `test_analyzer_health_refusal` in `tests/hooks/test_analyzer_health.py`. A clean score cannot mask a secret finding, skipped required adapter or stale coverage receipt.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.29
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit counts for both scored and unscored categories, per-finding normalized severity with original rule, score policy/version, arithmetic inputs, checked coverage and ordered repair suggestions. Mark lint/import-order/type as required and unscored; their failures cannot disappear from the report or final verdict. Redact secret values while retaining exact safe locations and evidence digests. Distinguish dead-code candidates from proven unreachable code and measured test coverage from proof of semantic correctness. | Run `test_analyzer_health_evidence` in `tests/hooks/test_analyzer_health.py`. Recompute health from only scored categories; retain required lint/import/type verdicts, priority and evidence.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.30
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is the published CLI and configured hook. Run repository-validation through the installed CLI and configured pre-commit on disposable Git fixtures using real pinned analyzers. Include an unused symbol, dummy secret-shaped fixture token, dependency-risk receipt, complexity hotspot and untested function. Also introduce and repair isolated real lint/import-order/type defects through the aggregate. Export/deserialise mixed results, assert their exact category/rule and exit 1 despite unchanged health score, then repair to exit 0. Preserve deterministic score changes and fix priority for scored-category defects. | Run `test_analyzer_health_cli` in `tests/hooks/test_analyzer_health.py`. Assert real aggregate lint/import/type reachability, failing-to-repaired verdicts, stable health score and required-skip exit 2.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R022
    Scheduled mutation testing reports test gaps
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Scheduled mutation testing reports test gaps.** Rollup of the children below. A scheduled run mutates core modules, and each surviving mutation is reported as a test gap with its module and line. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R022.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add frozen dataclasses `MutationPolicy` (modules, schedule) and `SurvivingMutation` (module, line, operator) to `pipelines_hooks/code/mutation_gaps.py`. The default `modules` value is `pipelines_hooks/core`. | Run `test_policy_defaults` in `tests/hooks/test_mutation_gaps.py` expects the default module list.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R022.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Add `survivors(policy, runner)` to `pipelines_hooks/code/mutation_gaps.py`. It returns one `SurvivingMutation` per mutant the tests did not kill and none for killed mutants. The runner is a replaceable default. | Run `test_only_survivors_are_reported` in `tests/hooks/test_mutation_gaps.py` expects survivors only.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R022.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** This row creates the call site. Add `mutation-gaps` to `GATES` at `pipelines_hooks/cli.py:33`. Add `.github/workflows/mutation.yml` with a weekly schedule that runs `pipelines-hook mutation-gaps`. `run_gate` at `pipelines_hooks/cli.py:59` is the caller. | Run `test_mutation_workflow_runs_gate` in `tests/hooks/test_mutation_gaps.py` expects the cron entry and the gate command.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R022.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** When the runner is absent, `main` raises `Unavailable`, which `run_gate` at `pipelines_hooks/cli.py:66` fails closed in CI. A module with no tests yields the finding `no-tests-for-module`. | Run `test_absent_runner_fails_closed_in_ci` in `tests/hooks/test_mutation_gaps.py` expects exit 2 under `CI=1`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R022.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** The report prints one line `module:line operator` per survivor and one `module: killed K, survived S` line per module. | Run `test_mutation_report_lines` in `tests/hooks/test_mutation_gaps.py` expects the stated lines.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R022.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is `pipelines-hook mutation-gaps` through `main` in `pipelines_hooks/cli.py:79`. A fixture module with one untested branch must exit 1 and print that module and line. | Run `test_mutation_gaps_hook_reports_untested_branch` in `tests/hooks/test_mutation_gaps_hook.py` expects exit 1 and the line.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023
    Deterministic skill quality grading
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Deterministic skill quality grading.** Rollup of the children below. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add `SkillGradePolicy` and `SkillGradeReport` in `pipelines_hooks/docs/skill_grade.py`. Policy fields are schema version, criterion weights and minimum grade. Reports bind repository-relative skill document path and source digest to criterion scores. Link context keeps the containing document directory separate from the repository containment root. Criteria are frontmatter, description, structure, links and file metadata. | Run `test_skill_grade_model` in `tests/hooks/test_skill_grade_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED68a712a91899
    ebef404d2f75
    tests/hooks/test_skill_grade_hook.py:209
    tests/hooks/test_skill_grade_hook.py:54
    PIPE-PAGES-R023.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The `skill-grade-v1` default assigns 20 points to each criterion and requires 80 of 100. Check required frontmatter keys, a nonempty description naming purpose and use conditions, required body sections, resolved local links and safe UTF-8 file metadata. Resolve local links from the containing skill document directory. Check decoded, normalized targets against the repository root after symlink resolution; allow parent-relative targets that remain inside it. Invalid frontmatter or unsafe paths fail regardless of score. All heuristics and weights are versioned, deterministic and reviewable. | Run `test_skill_grade_criteria` in `tests/hooks/test_skill_grade_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED68a712a91899
    ebef404d2f75
    tests/hooks/test_skill_grade_hook.py:294
    tests/hooks/test_skill_grade_hook.py:79
    PIPE-PAGES-R023.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Create `skill-grade` in `GATES` at `pipelines_hooks/cli.py:14`; `run_gate` at `pipelines_hooks/cli.py:59` calls its `main`. Publish it in `.pre-commit-hooks.yaml`, the hook catalogue and `.config/pre-commit.yaml`, consumed by `.github/workflows/ci.yml:86`. Adapt local link checks at `pipelines_hooks/docs/public_surface_links.py:29` to accept a document base independently of the repository root. Preserve root-level README behavior. No production caller reaches the grader today. | Run `test_skill_grade_registration` in `tests/hooks/test_skill_grade_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED4061148a6359
    68a712a91899
    ebef404d2f75
    tests/hooks/test_skill_grade_hook.py:112
    PIPE-PAGES-R023.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Malformed policy, unreadable files or unsupported schema raise `CannotRun`, giving exit 2. A grade below minimum or a hard criterion failure gives exit 1. An empty declared skill set is reported as not applicable, never as a measured passing grade. Out-of-repository document bases, out-of-repository traversal and symlink escapes fail as unsafe paths. External links remain explicitly unchecked by this offline gate. | Run `test_skill_grade_refusals` in `tests/hooks/test_skill_grade_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED68a712a91899
    ebef404d2f75
    tests/hooks/test_skill_grade_hook.py:118
    tests/hooks/test_skill_grade_hook.py:249
    PIPE-PAGES-R023.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit policy and source digests, each criterion score, measured finding locations, total grade and threshold. Link findings include the source document and repository-relative target or typed refusal. Use the R020 evidence validator. A host may consume this receipt for admission; the gate does not install skills or approve deployment. | Run `test_skill_grade_evidence` in `tests/hooks/test_skill_grade_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED68a712a91899
    ebef404d2f75
    tests/hooks/test_skill_grade_hook.py:158
    tests/hooks/test_skill_grade_hook.py:250
    tests/hooks/test_skill_grade_hook.py:295
    PIPE-PAGES-R023.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point `pipelines-hook skill-grade --root <fixture>` in `tests/hooks/test_skill_grade_hook.py`. A valid skill passes. Broken frontmatter, vague description, missing sections, a broken link and unsafe metadata each produce the matching criterion result. A nested skill with a sibling link and an in-repository parent link passes; missing targets, out-of-repository traversal and escaping symlinks fail. Preserve root README link behavior. Below-threshold and hard failures exit 1; malformed policy exits 2. | Run `test_skill_grade_cli` and `test_nested_skill_links_cli` in `tests/hooks/test_skill_grade_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED68a712a91899
    ebef404d2f75
    tests/hooks/test_skill_grade_hook.py:177
    tests/hooks/test_skill_grade_hook.py:195
    tests/hooks/test_skill_grade_hook.py:210
    PIPE-PAGES-R023.7
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend SkillGradePolicy with a declared external rule-pack inventory: pack ID/version/content digest, origin credit, rule IDs, supported deterministic predicate adapters, target scope, weight and hard-failure flag. Every applied finding identifies both pack and rule. Rule content is data, never executable instructions or downloaded code. | Run `test_external_grade_rules_model` in `tests/hooks/test_external_grade_rules.py`. Reject duplicate rule IDs, unsupported predicate adapters and unpinned rule packs.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.8
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Combine reviewed external predicates with local grading criteria through an explicit versioned mapping. Preserve existing mandatory frontmatter/path checks and the default 80/100 threshold; default external rules add diagnostics without changing grade. Any weighted replacement must declare its complete normalized 100-point policy and cannot remove mandatory hard failures. Apply only declared rules and report conflicts; do not infer rules from arbitrary prose. | Run `test_external_grade_rules_behavior` in `tests/hooks/test_external_grade_rules.py`. An applied external rule is identifiable; a conflicting or unmapped heuristic cannot silently alter grade.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.9
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend planned docs/skill_grade.py grading before its report export through cli.py:13 skill-grade registration and run_gate at line 59. Reuse R020 located evidence and report serialization. Load pinned rule packs from the checked snapshot via core/gitenv.py:81 and strict config schema at core/config.py:21. Neither skill grading nor external-rule incorporation has a production caller today. | Run `test_external_grade_rules_wiring` in `tests/hooks/test_external_grade_rules.py`. The real skill-grade CLI loads the declared pack and emits its exact rule ID in JSON and Markdown.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.10
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Unknown rules, pack digest mismatch, conflicting weights, unsupported predicates, unsafe paths or missing provenance raise CannotRun exit 2. A configured hard-rule violation exits 1. Inapplicable scope is an explicit reasoned skip. Missing rule books are not silently replaced with model guesses, fetched online or executed. | Run `test_external_grade_rules_refusal` in `tests/hooks/test_external_grade_rules.py`. Tampered packs and unsupported prose-only rules refuse; applicable hard failures retain exit 1.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.11
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit pack credit/identity/digest, external rule ID, local criterion mapping, source location, predicate measurements and score contribution or diagnostic disposition for each finding. Record every declared but skipped rule and reason; keep external credit distinct from an arXiv research citation. | Run `test_external_grade_rules_evidence` in `tests/hooks/test_external_grade_rules.py`. Round-trip per-finding rule lineage and prove unchanged baseline grading when packs are diagnostic only.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.12
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The entry point is the published CLI and configured hook. Through pipelines-hook skill-grade and configured pre-commit, grade a real nested skill in a temporary Git repository with a pinned rule-pack fixture and a deterministic forbidden-heading predicate with hard-failure enabled. A failing heading records the external rule and correct exit; repair passes. Tamper with pack bytes, use an unknown adapter and request an inapplicable rule; assert refusal or explicit skip without weakening local mandatory criteria. | Run `test_external_grade_rules_cli` in `tests/hooks/test_external_grade_rules.py`. Assert installed CLI/hook integration, exact external rule evidence and stable serialized grading.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R024
    Located structural similarity and extraction guidance
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Located structural similarity and extraction guidance.** Rollup of the children below. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED59dde3729f84
    tests/hooks/test_similarity_guidance_hook.py:104
    tests/hooks/test_similarity_guidance_hook.py:120
    tests/hooks/test_similarity_guidance_hook.py:134
    tests/hooks/test_similarity_guidance_hook.py:149
    tests/hooks/test_similarity_guidance_hook.py:187
    PIPE-PAGES-R024.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Reuse the validated clone fields at `pipelines_hooks/clones/dupehound_report.py:66`: both paths, lines, names and finite similarity. Add diagnostic threshold, enforcement threshold, source digests and extraction advice to the report. Rust and Python retain the shared supported-source and exclusion contract. | Run `test_similarity_report_model` in `tests/hooks/test_similarity_guidance_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED59dde3729f84
    tests/hooks/test_similarity_guidance_hook.py:104
    PIPE-PAGES-R024.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Keep the reviewed enforcement default at `DUPEHOUND_THRESHOLD` in `pipelines_hooks/clones/contract.py:14` (0.85). Add named diagnostic default 0.80, inclusive: report qualifying pairs with both locations and suggest shared-function extraction. Scores below enforcement remain diagnostic. Advice must not rewrite code or imply that extraction is safe without review. | Run `test_similarity_threshold_boundaries` in `tests/hooks/test_similarity_guidance_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED59dde3729f84
    tests/hooks/test_similarity_guidance_hook.py:120
    PIPE-PAGES-R024.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend `main` at `pipelines_hooks/clones/dupehound_gate.py:46`, reached by `pipelines-hook dupehound-changed` through `pipelines_hooks/cli.py:59`. Reuse `command` at `pipelines_hooks/clones/dupehound.py:64` and `verdict` at `pipelines_hooks/clones/dupehound_gate.py:28`. Scan at the diagnostic floor and partition reports before enforcing the existing threshold and reviewed register. Detection is reachable today; diagnostic partition and extraction advice have no production caller today. | Run `test_similarity_reporting_wiring` in `tests/hooks/test_similarity_guidance_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED59dde3729f84
    tests/hooks/test_similarity_guidance_hook.py:134
    PIPE-PAGES-R024.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Reuse report validation and `CannotRun` for malformed scores, unsafe paths or scanner failure. Missing scanners remain visibly skipped locally and exit 2 in CI. Reject invalid threshold ordering. Preserve the digest-bound distinct-pair review and rot behavior; a diagnostic setting cannot weaken enforcement. | Run `test_similarity_refusals` in `tests/hooks/test_similarity_guidance_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED59dde3729f84
    tests/hooks/test_similarity_guidance_hook.py:149
    PIPE-PAGES-R024.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** For each pair emit both paths and lines, source digests, scanner identity, measured similarity, both thresholds, verdict and extraction suggestion. Record exclusions and reviewed-distinct disposition. Never describe no changed supported source as a full-tree clean scan. | Run `test_similarity_evidence` in `tests/hooks/test_similarity_guidance_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED59dde3729f84
    tests/hooks/test_similarity_guidance_hook.py:187
    PIPE-PAGES-R024.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Use entry point `pipelines-hook dupehound-changed --root <fixture> --base-ref <base>` in `tests/hooks/test_similarity_guidance_hook.py`. Commit Rust and Python clone fixtures. Run the pinned scanner through the production CLI, assert located guidance at 0.80 and failure at 0.85. A distinct pair passes; malformed scanner output fails closed in CI. | Run `test_similarity_guidance_cli` in `tests/hooks/test_similarity_guidance_hook.py`; assert the stated result.
    requirementPIPE-PAGESVERIFIED59dde3729f84
    tests/hooks/test_similarity_guidance_hook.py:221
    tests/hooks/test_similarity_guidance_hook.py:281
    PIPE-PAGES-R020.73
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add strict Pydantic UserStory, AcceptanceCriteria and Task models in proposed pipelines_hooks/specs/artifacts.py. Schema version 1 must reject extra fields. Each artifact must carry an ID, owner, source references and requirement IDs. Stories contain actor, goal and benefit. Criteria contain observable predicates and proof IDs. Tasks contain producer prerequisites, target paths and proof IDs. | Run `test_spec_artifacts_model` in `tests/hooks/test_spec_artifacts.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.74
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The artifact adapter must emit UTF-8 JSON with schema_version and all three artifact arrays. It must validate unique IDs, typed references and acyclic task prerequisites before rendering the six standard spec files. It must preserve requirement IDs and source provenance across serialization. Durable graph facts remain engine-owned. | Run `test_spec_artifacts_behavior` in `tests/hooks/test_spec_artifacts.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.75
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Add a spec-artifacts entry to pipelines_hooks/cli.py:13, dispatched through run_gate at line 59. Proposed artifacts.main must validate generator-skill output before the existing specs/generator.py:93 status consumer reads rendered requirements. Generator skills must invoke this adapter with their output path; direct unvalidated output cannot receive a compatibility receipt. | Run `test_spec_artifacts_wiring` in `tests/hooks/test_spec_artifacts.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.76
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** The adapter must refuse unknown schema versions, extra fields, duplicate IDs, missing references and unsafe output paths. Malformed artifacts exit 1; unavailable schema authority exits 2. Checking must not overwrite existing spec sources or change delivery evidence. | Run `test_spec_artifacts_refusal` in `tests/hooks/test_spec_artifacts.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.77
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** The adapter must emit schema version and digest, source and output digests, artifact IDs and reference-validation results. A rendered artifact proves schema compatibility only. It must not imply implemented behavior, graph ingestion or runtime acceptance. | Run `test_spec_artifacts_evidence` in `tests/hooks/test_spec_artifacts.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.78
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The published spec-artifacts CLI must consume actual generator-skill output in a disposable repository. Deserialize, render, regenerate canonical status and round-trip every artifact field. Inject an unknown field, missing criterion reference and cyclic task dependency independently. Each invalid output must refuse before writing canonical files. | Run `test_spec_artifacts_cli` in `tests/hooks/test_spec_artifacts.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.8
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define the external interchange format as spec-bundle/1 in proposed pipelines_hooks/specs/artifacts.py. A bundle must contain the six standard files within existing capability directories. Its manifest must bind UTF-8 encoding, schema version, canonical IDs, relative paths and source digests. Generated status remains machine-owned. | Run `test_spec_bundle_compatibility_model` in `tests/hooks/test_spec_bundle_compatibility.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.9
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The compatibility adapter must accept conforming spec-bundle/1 files unchanged, including bytes and canonical IDs. It must extend the matching capability directory for a feature. It must refuse a second directory for an already-owned capability. Other external formats remain unsupported until a versioned adapter defines them. | Run `test_spec_bundle_compatibility_behavior` in `tests/hooks/test_spec_bundle_compatibility.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.10
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend proposed spec-artifacts at pipelines_hooks/cli.py:13 through run_gate at line 59. Validate the bundle before specs/generator.py:93 and dashboard source ingestion. EG-ORCH-VOCAB-R012 owns graph ingestion. Its owner adapter must consume the identical bundle bytes; the Pages renderer must not invent graph compatibility. | Run `test_spec_bundle_compatibility_wiring` in `tests/hooks/test_spec_bundle_compatibility.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.11
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Unknown format versions, escaping paths, missing files, ambiguous ownership or altered input bytes must refuse compatibility. An unavailable external consumer must produce unchecked evidence and exit 2. A Markdown extension alone must not establish supported semantics. | Run `test_spec_bundle_compatibility_refusal` in `tests/hooks/test_spec_bundle_compatibility.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.12
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record input and consumed-file digests, format version, owner mapping and consumer revision. Record canonical generation and graph ingestion separately. External tooling support means only the declared spec-bundle/1 contract, never unspecified compatibility with every generator. | Run `test_spec_bundle_compatibility_evidence` in `tests/hooks/test_spec_bundle_compatibility.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.13
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The spec-artifacts CLI must accept a real externally emitted spec-bundle/1 fixture without rewriting it. Canonical generation and the real owner ingestion adapter must read matching bytes. A feature targeting an existing capability must extend it. Unknown versions and duplicate capability directories must fail. | Run `test_spec_bundle_compatibility_cli` in `tests/hooks/test_spec_bundle_compatibility.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.31
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend proposed repository_validation.py with SkillDependencyAudit records. Each record binds skill path, snapshot digest, declared dependency groups, resolved versions and advisory snapshot. A proposed version-update request must carry old and target versions, finding IDs and provenance. EG-SUPPLY-VOCAB-R002 owns durable vocabulary; SDK-GOVERNED-WRITEBACK-R001 owns authorization. | Run `test_skill_dependency_audit_model` in `tests/hooks/test_skill_dependency_audit.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.32
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The audit must enumerate every dependency declared by the selected skill snapshot. It must invoke the dependency-risk adapter once per resolved inventory. Vulnerabilities must yield graph-stored update proposals through the owner connector. The audit path must never install packages, change locks or apply its own proposal. | Run `test_skill_dependency_audit_behavior` in `tests/hooks/test_skill_dependency_audit.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.33
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the planned repository-validation registration at pipelines_hooks/cli.py:13 and run_gate at line 59. Proposed repository_validation.main must pass the skill inventory to the supply-chain adapter beside supply_chain/gate.py:58. The owner connector must return a durable proposal identity before approval consumers receive it. | Run `test_skill_dependency_audit_wiring` in `tests/hooks/test_skill_dependency_audit.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.34
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing dependency declarations, unresolved versions, stale advisory evidence or unavailable owner storage must exit 2. A vulnerability must remain a finding even when proposal storage fails. Installation requests on the audit path must fail. A separate authorized consumer must bind approval to the exact proposal and artifact digest. | Run `test_skill_dependency_audit_refusal` in `tests/hooks/test_skill_dependency_audit.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.35
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit skill and inventory digests, advisory identity, affected dependency and version, proposal identity and storage receipt. Preserve approval state separately from the audit result. Record installation effects as zero for this path; a suggested upgrade must not count as applied remediation. | Run `test_skill_dependency_audit_evidence` in `tests/hooks/test_skill_dependency_audit.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.36
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The repository-validation CLI must audit a vulnerable fixture skill against pinned advisory evidence. The real owner storage adapter must persist a proposal, verified through independent readback. Observe zero package or lock changes before approval. A stale approval or direct-install attempt must refuse without effects. | Run `test_skill_dependency_audit_cli` in `tests/hooks/test_skill_dependency_audit.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.13
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend the proposed ValidationReport with a skill inventory and one result per discovered skill. Each result must bind snapshot, skill digest, grade policy, rule lineage, findings and skip reasons. Discover tracked SKILL.md files under every declared skill root; an omitted root must remain a scope error. | Run `test_aggregate_skill_grade_model` in `tests/hooks/test_aggregate_skill_grade.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.14
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** One repository-validation invocation must discover and grade every skill in the selected snapshot. It must preserve local criteria and external rule-pack outcomes from R023. Aggregate failures must propagate regardless of health score. An empty inventory must report non-applicability with its checked roots, never a passing grade. | Run `test_aggregate_skill_grade_behavior` in `tests/hooks/test_aggregate_skill_grade.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.15
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend planned repository_validation.main to call a structured skill_grade.grade(snapshot, policy) adapter once before its final verdict. Register through pipelines_hooks/cli.py:13 and run_gate at line 59. Reuse the standalone grader contract; neither proposed module exists on this source revision. | Run `test_aggregate_skill_grade_wiring` in `tests/hooks/test_aggregate_skill_grade.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.16
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** A hard grading failure or below-threshold grade must produce exit 1. Missing required grader, stale source binding, unsupported rule or incomplete discovery must produce exit 2. Optional skips must remain visible and must not contribute healthy measurements. | Run `test_aggregate_skill_grade_refusal` in `tests/hooks/test_aggregate_skill_grade.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.17
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** JSON and Markdown reports must retain every skill, criterion score, external pack and rule ID, finding location and skip. Bind all aggregate results to the same source digest. Report serialization must preserve the standalone grading verdict without recalculation. | Run `test_aggregate_skill_grade_evidence` in `tests/hooks/test_aggregate_skill_grade.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.18
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Run the actual repository-validation CLI and installed hook on a repository containing two nested skills. A failing external rule must appear with lineage and fail the aggregate. Repair must pass. Missing grader and escaping skill roots must refuse; an empty declared inventory must remain explicit. | Run `test_aggregate_skill_grade_cli` in `tests/hooks/test_aggregate_skill_grade.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.14
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add a versioned capability inventory adapter beside pipelines_hooks/specs/bindings.py. Canonical capability IDs must resolve to the engine-owned registry export. Each binding must identify repository, path, qualified symbol or collected test/tool identity and source digest. Specification requirement IDs remain distinct from capability IDs. | Run `test_capability_inventory_model` in `tests/hooks/test_capability_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.15
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Inventory every first-party function, collected test and registered MCP implementation in declared project roots. Initial language adapters must cover Python AST and Rust syntax, including nested functions and methods. Each item must carry a valid capability binding. Emit function-test-tool coverage for every capability, including missing sets. | Run `test_capability_inventory_behavior` in `tests/hooks/test_capability_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.16
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Create a capability-coverage registration at pipelines_hooks/cli.py:13 and dispatch through run_gate at line 59. Reuse specs/bindings.py test discovery and owner-exported MCP inventories. Add static source adapters before the verdict. Dashboard source declarations must consume the resulting receipt without claiming exhaustive coverage themselves. | Run `test_capability_inventory_wiring` in `tests/hooks/test_capability_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.17
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing or invalid IDs and mismatched source bindings must fail with item locations. Unsupported languages, unresolved generated sources, missing registry exports or incomplete tool inventories must exit 2. The adapter must not mint replacement capability IDs or infer identity from shared code. | Run `test_capability_inventory_refusal` in `tests/hooks/test_capability_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.18
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Report complete discovered counts and identities for functions, tests and tools. Bind the registry revision, source snapshot and adapter versions. Publish unmatched items and per-capability three-way counts. Zero tools must be an explicit project scope fact, never an omitted column. | Run `test_capability_inventory_evidence` in `tests/hooks/test_capability_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.19
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The published capability-coverage CLI must scan real Python and Rust fixture functions, collected tests and registered MCP tools. Remove one function ID and one tool ID independently; each must fail with exact identity. Repair must pass. An unsupported language must refuse exhaustive coverage. | Run `test_capability_inventory_cli` in `tests/hooks/test_capability_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.20
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define stable capability ID authority and exhaustive language/tool inventory with source-binding semantics. | Run `test_eg7_capability_authority_model` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.21
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Every function, test and MCP implementation carries valid capability ID or fails coverage gate. | Run `test_eg7_complete_binding_coverage` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.22
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Wire missing-ID refusal in shared gate refusing absent/invalid capability identities. | Run `test_eg7_binding_gate_wiring` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.23
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing or invalid capability ID prevents three-way coverage claim, exit 2 for unsupported language adapters. | Run `test_eg7_refusal_missing_identity` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.24
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Exhaustive language/tool inventory and three-way source/test/tool coverage proven per capability. | Run `test_eg7_coverage_evidence` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R012.25
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Remove one function ID from real fixture; published CLI exits 1 with missing identity. Repair passes. | Run `test_eg7_identity_enforcement_cli` in `tests/test_spec_dashboard_metadata.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.37
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend the existing KISS policy with explicit function-argument and try-body statement limits. Python arguments include positional-only, positional, keyword-only, variadic positional and variadic keyword parameters, including self and cls. Count direct statements in each try body; nested bodies are measured separately. Limits must be nonnegative integers. | Run `test_structural_limits_model` in `tests/hooks/test_structural_limits.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESVERIFIED93cec20a4de6
    tests/hooks/test_structural_limits.py:46
    PIPE-PAGES-R021.38
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The shared build check must fail when either measured count exceeds its configured limit. Equality must pass. Every finding must identify repository-relative path, qualified function, line, measured count and limit. Preserve existing positional-argument and complexity rules as separate predicates. | Run `test_structural_limits_behavior` in `tests/hooks/test_structural_limits.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESVERIFIED93cec20a4de6
    tests/hooks/test_structural_limits.py:71
    PIPE-PAGES-R021.39
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend pipelines_hooks/kiss/census.py:31 for build enforcement and kiss/staged.py:50 for changed-source admission. Their existing callers are pipelines_hooks/cli.py:59. Arbora must configure both limits and invoke the shared check in its build. Unsupported scanner measurements require a versioned adapter, not guessed values. | Run `test_structural_limits_wiring` in `tests/hooks/test_structural_limits.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.40
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing limits in the adopted profile, invalid values or unsupported source measurement must exit 2. A count above either configured limit must exit 1. The checker must not truncate findings or treat an unavailable scanner as measured compliance. | Run `test_structural_limits_refusal` in `tests/hooks/test_structural_limits.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.41
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit scanner and policy digests, checked source inventory and one count per function and try body. Separate argument-count failures from try-body failures. Record Arbora consumer configuration and source revision in its adoption receipt. | Run `test_structural_limits_evidence` in `tests/hooks/test_structural_limits.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.42
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Run the installed shared CLI through the Arbora build fixture. Test exact-limit and limit-plus-one cases independently for both rules. Include keyword-only, variadic and nested-try cases. Both violations must name their functions and fail the build; repaired functions must pass. | Run `test_structural_limits_cli` in `tests/hooks/test_structural_limits.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.43
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add PathPortabilityPolicy in proposed pipelines_hooks/hygiene/path_portability.py. Version 1 covers every tracked package source path under declared build roots. Measure repository-relative paths after NFC normalization: at most 240 UTF-16 code units overall and 255 UTF-8 bytes per component. The overall limit reserves checkout-prefix headroom separately. | Run `test_source_path_portability_model` in `tests/hooks/test_source_path_portability.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.44
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Reject absolute paths, traversal, control characters, Windows-invalid characters, trailing spaces or periods and case-folded NFC collisions. Reject CON, PRN, AUX, NUL, COM1-COM9 and LPT1-LPT9, including extensions and case variants. Linux and macOS checks must reject NUL and slash inside components. Sources must never be silently renamed. | Run `test_source_path_portability_behavior` in `tests/hooks/test_source_path_portability.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.45
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register source-path-portability at pipelines_hooks/cli.py:13 and dispatch through run_gate at line 59. Publish a shared pre-commit hook and invoke it before package builds. Inventory Git paths and declared package roots statically; artifact platform tags do not replace source-path validation. | Run `test_source_path_portability_wiring` in `tests/hooks/test_source_path_portability.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.46
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** A forbidden name, collision or exceeded bound must exit 1 with the original path and violated rule. Undeclared build roots, undecodable paths or unsupported policy versions must exit 2. Absolute installation-path support requires a separately declared prefix budget; relative checks must not imply arbitrary checkout support. | Run `test_source_path_portability_refusal` in `tests/hooks/test_source_path_portability.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.47
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Report policy version, source snapshot, package roots, normalized comparison keys and measured lengths. Retain original path spelling. Report every collision participant and supported platform predicate. Never claim compatibility outside declared roots or prefix assumptions. | Run `test_source_path_portability_evidence` in `tests/hooks/test_source_path_portability.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.48
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The published CLI and installed build hook must inspect tracked fixture paths containing reserved names, normalization collisions and over-limit lengths. Each defect must block before building. Exact-boundary legal paths must pass. A check must leave original source paths and bytes unchanged. | Run `test_source_path_portability_cli` in `tests/hooks/test_source_path_portability.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.49
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add CoverageClosurePolicy beside proposed code/test_quality.py. Reuse the project inventory and declare every first-party executable source root, runner argv, coverage adapter and timeout. A coverage receipt must bind source, test and policy digests to executable and uncovered line sets for each project. | Run `test_coverage_closure_model` in `tests/hooks/test_coverage_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.50
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** A closure request must run the configured coverage producer for every declared project in disposable snapshots. Require zero uncovered executable lines and complete source inventory. Preserve the 80-percent default for ordinary threshold checks; it cannot satisfy closure. Outcome proofs under R021.13-R021.18 remain separate requirements. | Run `test_coverage_closure_behavior` in `tests/hooks/test_coverage_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.51
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the planned test-quality registration at pipelines_hooks/cli.py:13 and run_gate at line 59 with an explicit closure mode. Proposed test_quality.main must invoke the declared runner before evaluating closure. Reuse the existing outcome runner and coverage adapters rather than adding another project registry. | Run `test_coverage_closure_wiring` in `tests/hooks/test_coverage_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.52
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Uncovered lines or omitted declared files must fail closure with exit 1. Missing runners, unsupported formats, skipped projects, stale digests or timeouts must exit 2. Generated-source exclusions require an explicit producer mapping; exclusions must not conceal first-party executable paths. | Run `test_coverage_closure_refusal` in `tests/hooks/test_coverage_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.53
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit each project, every executable file, executable lines, uncovered lines, runner result and exact digests. Separate threshold result, closure result and semantic outcome proof. A zero-line project must explain its non-executable scope and cannot inflate another project coverage. | Run `test_coverage_closure_evidence` in `tests/hooks/test_coverage_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.54
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Run the real test-quality closure CLI on two projects with a planted uncovered branch. The report must list its project, file and line and refuse closure. Add the test and pass. A stale report and skipped second project must refuse despite a high aggregate percentage. | Run `test_coverage_closure_cli` in `tests/hooks/test_coverage_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.79
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend proposed hygiene/config_inventory.py with a validation behavior manifest. Pin the former central command repository, revision and entry point. Enumerate its validation and test behaviors, inputs, environment and expected exits. Map every behavior to a configured hook in every supported project. | Run `test_validation_behavior_inventory_model` in `tests/hooks/test_validation_behavior_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.80
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The migration check must compare the complete historical behavior inventory with each project hook configuration. Every behavior needs positive and negative fixtures with matching observations. Intentional retirements require explicit owner decisions and remain visible; an absent mapping must not count as equivalent behavior. | Run `test_validation_behavior_inventory_behavior` in `tests/hooks/test_validation_behavior_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.81
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the proposed config-inventory registration at pipelines_hooks/cli.py:13 through run_gate at line 59. Reuse the existing project inventory and configured hook parser. Execute the pinned baseline and consumer hooks in disposable trees. Connector spec-hook adoption alone must not establish complete validation coverage. | Run `test_validation_behavior_inventory_wiring` in `tests/hooks/test_validation_behavior_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.82
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing historical revision or unknown former command must exit 2 and leave migration unproved. Missing project mappings or changed observed verdicts must exit 1. Unsupported historical environments must remain unavailable evidence; the checker must not reconstruct behavior from recollection. | Run `test_validation_behavior_inventory_refusal` in `tests/hooks/test_validation_behavior_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.83
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit baseline revision and behavior IDs, complete project-hook mappings, fixture digests and compared outputs/exits. Preserve unknown historical scope explicitly. No historical baseline is supplied by this definition; runtime acceptance requires its independent recovery and pinning. | Run `test_validation_behavior_inventory_evidence` in `tests/hooks/test_validation_behavior_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.84
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The config-inventory CLI must compare a real pinned former command with installed hooks in two fixture projects. Remove one behavior mapping and plant one changed failure exit; both must fail. An unavailable baseline must exit 2, never produce a complete-migration receipt. | Run `test_validation_behavior_inventory_cli` in `tests/hooks/test_validation_behavior_inventory.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.55
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add UnitProfile beside proposed code/test_quality.py. Its project inventory must enumerate adapters, retrievers, servers, CLI modules and other declared unit categories. Each external database, API and client seam must name a deterministic double, fixed clock/random seed and expected contract. Integration profiles remain separate. | Run `test_offline_unit_profile_model` in `tests/hooks/test_offline_unit_profile.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.56
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The unit runner must deny outbound network connections and container creation or attachment. It must use isolated temporary state and deterministic doubles for declared external seams. Unit scope must cover every inventoried category. Real-component hot-path integration remains mandatory under its separate profile and cannot use these doubles as delivery proof. | Run `test_offline_unit_profile_behavior` in `tests/hooks/test_offline_unit_profile.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.57
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the planned test-quality registration at pipelines_hooks/cli.py:13 through run_gate at line 59. The proposed outcome runner must apply UnitProfile isolation before test collection and execution. Enforcement must cover subprocesses, not only patched Python socket calls. Consumers must select the unit profile explicitly. | Run `test_offline_unit_profile_wiring` in `tests/hooks/test_offline_unit_profile.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.58
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Attempted egress or container access must fail the run with the requesting test or process identity. Missing doubles, omitted categories or unsupported isolation must exit 2. The runner must not retry with network enabled, reuse production credentials or silently skip external-seam tests. | Run `test_offline_unit_profile_refusal` in `tests/hooks/test_offline_unit_profile.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.59
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit category and test inventories, double identities, seed/clock policy, isolation mechanism and denied attempts. Bind source and test digests. Separate unit results from required real-component integration receipts; an offline pass must not imply successful external integration. | Run `test_offline_unit_profile_evidence` in `tests/hooks/test_offline_unit_profile.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.60
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The actual unit-profile CLI must run adapter, retriever, server and CLI fixtures with deterministic doubles. Plant outbound socket and container-client attempts, including subprocess attempts; each must fail without effects. Repeat clean runs for equal observations, then verify independent integration receipts remain required. | Run `test_offline_unit_profile_cli` in `tests/hooks/test_offline_unit_profile.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.85
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add an ontology input profile in proposed pipelines_hooks/docs/ontology_governance.py. It must enumerate tracked ontology roots, supported RDF formats and engine-owned rule IDs. Required rule classes are syntax, namespace ownership, duplicate identity, shape constraints and vocabulary compatibility. Bind generated checks or served verdicts to authority and source digests. | Run `test_ontology_governance_hook_model` in `tests/hooks/test_ontology_governance_hook.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.86
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The Python-only hook must evaluate every declared ontology file using engine-owned generated checks or a pinned served verdict. Python-only describes the local hook process, not a second semantic engine. The hook must preserve each authority rule and located finding; pipelines must not recreate ontology policy. | Run `test_ontology_governance_hook_behavior` in `tests/hooks/test_ontology_governance_hook.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.87
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Register ontology-governance at pipelines_hooks/cli.py:13 and dispatch through run_gate at line 59. Publish the pre-commit hook with complete ontology discovery before commit admission. The adapter must consume the generated OntologyInspect/ShaclValidate client or generated offline authority artifacts. Read-only inspection alone does not establish validation. | Run `test_ontology_governance_hook_wiring` in `tests/hooks/test_ontology_governance_hook.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.88
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** An authority governance violation must block commit with exit 1. Missing authority, stale verdicts, unsupported formats, unavailable generated rules or incomplete scope must exit 2. Local commit checks must not depend on live network availability; absent pinned offline evidence must refuse rather than invent semantics. | Run `test_ontology_governance_hook_refusal` in `tests/hooks/test_ontology_governance_hook.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.89
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit file inventory, input and authority digests, rule IDs, verdict provenance and located violations. Distinguish syntax checks from semantic authority results. Every required rule class must have bound evidence; a successful parser alone must not produce a governance pass. | Run `test_ontology_governance_hook_evidence` in `tests/hooks/test_ontology_governance_hook.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R020.90
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Installed pre-commit must validate a real staged ontology against engine-generated authority fixtures. Plant a shape violation and namespace violation separately; each must block commit with exact rule and location. An unstaged repair must not hide staged defects. Missing authority must refuse without network fallback. | Run `test_ontology_governance_hook_cli` in `tests/hooks/test_ontology_governance_hook.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.61
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add TestLayoutPolicy beside proposed code/test_quality.py. Every project must declare unit and integration module roots, shared fixture locations and required category modules. Declare isolation boundaries, reset contracts, two fixed shuffle seeds and a timeout. Discovery must include collected tests beyond files changed in the current patch. | Run `test_test_layout_independence_model` in `tests/hooks/test_test_layout_independence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.62
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The checker must verify every declared project fixture and module before execution. Run collected tests in declared order, reverse order and both seeded permutations in isolated trees. Compare per-test outcomes and declared state observations. Detect shared state beyond each reset contract. This bounded check must not claim all possible order independence. | Run `test_test_layout_independence_behavior` in `tests/hooks/test_test_layout_independence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.63
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the planned test-quality entry at pipelines_hooks/cli.py:13 through run_gate at line 59. Reuse proposed config-inventory project roots and the outcome runner. Publish the test-layout profile through the shared hook. Preserve separate real-component integration and recovery acceptance contracts. | Run `test_test_layout_independence_wiring` in `tests/hooks/test_test_layout_independence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.64
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing required fixtures/modules, undeclared shared state or order-dependent outcomes must exit 1. Uncollected tests, unsupported reset enforcement, timeouts or incomplete permutations must exit 2. Tests must not be removed from the inventory to obtain a passing result. | Run `test_test_layout_independence_refusal` in `tests/hooks/test_test_layout_independence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.65
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit full project/layout and collected-test inventories, execution orders, seeds, reset observations and per-test outcomes. Bind policy and source digests. Record only the measured permutation scope and retain integration-profile distinctions. | Run `test_test_layout_independence_evidence` in `tests/hooks/test_test_layout_independence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.66
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The actual test-quality CLI and installed hook must check two projects with shared fixtures. Remove a required module and plant a test consuming previous-test state; each must fail. Restore reset isolation and pass all four orders. A timeout must leave independence unproved. | Run `test_test_layout_independence_cli` in `tests/hooks/test_test_layout_independence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.67
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Add SolutionSizeEvidence to the proposed ValidationReport. Each run must record total first-party source bytes, nonblank lines and syntax-node counts by declared language adapter. Bind baseline and candidate snapshots plus required behavior receipts. Changed-line counts must remain separate from total solution size. | Run `test_solution_size_evidence_model` in `tests/hooks/test_solution_size_evidence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.68
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The producer must measure every candidate within the same declared scope, including unchanged source. It must exclude generated and vendor content only through explicit producer-bound categories. Adequacy receipts must precede any minimalism comparison. The engine owns choosing among adequate candidates; pipelines supplies measurements only. | Run `test_solution_size_evidence_behavior` in `tests/hooks/test_solution_size_evidence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.69
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend planned repository_validation.main before its report export through pipelines_hooks/cli.py:13 and run_gate at line 59. Reuse source inventory and R020 report serialization. Publish measurements to the owner allocation consumer under EG-DECISION-ENGINE-R136.4. Meristem run receipts must preserve the same source and evidence identities. | Run `test_solution_size_evidence_wiring` in `tests/hooks/test_solution_size_evidence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.70
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing adequacy receipts, mismatched scopes or unsupported syntax adapters must leave comparison unavailable. Smaller size must not override a failing requirement. No shortcut-comment rule is introduced here: the coordinator must resolve the reserved comment-style obligation before that portion can close. | Run `test_solution_size_evidence_refusal` in `tests/hooks/test_solution_size_evidence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.71
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Report absolute and delta size, language adapter versions, source digests, exclusions and adequacy receipt IDs. Include the owner decision identity when available; measurements must not invent the allocation decision. Record unresolved shortcut documentation policy separately from measured size. | Run `test_solution_size_evidence_evidence` in `tests/hooks/test_solution_size_evidence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.72
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The repository-validation CLI must measure two real candidate snapshots, including unchanged modules. A smaller candidate with a failing behavior receipt must remain ineligible. An adequate candidate must yield exact reproducible counts consumed by the owner adapter. Changed-line statistics alone must fail the evidence contract. | Run `test_solution_size_evidence_cli` in `tests/hooks/test_solution_size_evidence.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.73
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend proposed handoff proof receipts with workflow identity, graph revision, engine decision, execution source, ingestion transaction and readback digest. Medulla owns committed choices and source ingestion. Meristem owns execution and Scion SDK owns governed source effects. Each receipt must bind one end-to-end run identity. | Run `test_graph_workflow_receipt_model` in `tests/hooks/test_graph_workflow_receipt.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.74
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The acceptance flow must load a persisted workflow from the real graph, obtain an engine decision and execute through Meristem. It must ingest resulting knowledge through the owner boundary and verify durable hydration through an independent graph read. A fake engine or catalog must not satisfy this contract. | Run `test_graph_workflow_receipt_behavior` in `tests/hooks/test_graph_workflow_receipt.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.75
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend the planned test-quality handoff verifier at pipelines_hooks/cli.py:13 through run_gate at line 59. Consume the owner acceptance receipt joining Meristem graph_orchestrate, execute_workflow and Medulla SourceIngest. The shared gate verifies provenance and outcomes; it must not become a runtime workflow orchestrator. | Run `test_graph_workflow_receipt_wiring` in `tests/hooks/test_graph_workflow_receipt.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.76
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing graph-load evidence, mismatched run identities, uncommitted ingestion or absent independent readback must fail acceptance. Unavailable real components or stale source bindings must exit 2. A cached or mocked catalog result must not become a real graph-load receipt. | Run `test_graph_workflow_receipt_refusal` in `tests/hooks/test_graph_workflow_receipt.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.77
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emit producer revisions, persisted workflow identity, selected decision, executed step IDs and committed ingestion receipt. Record independent readback query, expected hydrated identities and observed digest. Separate Scion SDK source effects from graph durability and retain failure/cancellation evidence. | Run `test_graph_workflow_receipt_evidence` in `tests/hooks/test_graph_workflow_receipt.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.78
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The actual test-quality CLI must consume a real graph-to-Meristem-to-ingestion acceptance run. An independent client must read hydrated identities after commit. Remove readback, substitute a fake catalog or mismatch the decision identity; each must refuse. A passing helper-only test must not satisfy the receipt. | Run `test_graph_workflow_receipt_cli` in `tests/hooks/test_graph_workflow_receipt.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.79
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define coverage runner, declared project/path universe and per-project uncovered-line report contract. | Run `test_pipe9_coverage_runner_model` in `tests/hooks/test_coverage_closure.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.80
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Measure uncovered lines by project, declare path scope and produce per-project inventory for closure. | Run `test_pipe9_inventory_behavior` in `tests/hooks/test_coverage_closure.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.81
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Wire coverage runner before closure gate decision, refusing incomplete closure with PIPE:14 owner. | Run `test_pipe9_gate_wiring` in `tests/hooks/test_coverage_closure.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.82
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Untested paths prevent closure even at 80 percent threshold, exit 1 with per-project location. | Run `test_pipe9_threshold_refusal` in `tests/hooks/test_coverage_closure.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.83
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Per-project uncovered-line enumeration and closure decision evidence bound to source. | Run `test_pipe9_closure_evidence` in `tests/hooks/test_coverage_closure.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.84
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Coverage report closes with PIPE:14 owner review; missing/incomplete projects fail. | Run `test_pipe9_closure_cli` in `tests/hooks/test_coverage_closure.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.85
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define workflow-load and SourceIngest producer receipts plus Meristem execution consumer definition. | Run `test_pipe10_workflow_model` in `tests/hooks/test_graph_workflow_receipt.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.86
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Join graph-load/execution/hydration/readback contract with independent verification. | Run `test_pipe10_readback_behavior` in `tests/hooks/test_graph_workflow_receipt.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.87
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Bind Medulla producer to Meristem consumer, independent readback in gate, no runtime orchestrator. | Run `test_pipe10_gate_wiring` in `tests/hooks/test_graph_workflow_receipt.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.88
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing graph-load or independent readback proof prevents acceptance receipt, exit 2. | Run `test_pipe10_readback_refusal` in `tests/hooks/test_graph_workflow_receipt.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.89
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Hot-path receipt joining producer/consumer/readback with durable source bindings. | Run `test_pipe10_receipt_evidence` in `tests/hooks/test_graph_workflow_receipt.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.90
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** graph_orchestrate → SourceIngest → independent readback through published CLI. | Run `test_pipe10_cli_proof` in `tests/hooks/test_graph_workflow_receipt.py`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R025
    Packaging role-to-extra closure contracts and build gates
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Packaging role-to-extra closure contracts and build gates.** Rollup of the children below. Declare supported package role/extra combinations and ensure build gates prove dependency closure for each role. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R025.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define role/extra inventory and closure assertions. | Run packaging gate test.
    requirementPIPE-PAGESSPECIFIEDtests/hooks/test_packaging_roles.py:113
    PIPE-PAGES-R025.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Build gate verifies role-specific closure. | Run role verification test.
    requirementPIPE-PAGESSPECIFIEDtests/hooks/test_packaging_roles.py:121
    PIPE-PAGES-R025.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Import harness binds gate to packaging workflow. | Run integration test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R025.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Out-of-extra imports and role violations fail. | Run violation test.
    requirementPIPE-PAGESSPECIFIEDtests/hooks/test_packaging_roles.py:136
    tests/hooks/test_packaging_roles.py:151
    PIPE-PAGES-R025.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Closure evidence proves package constraint. | Run evidence test.
    requirementPIPE-PAGESSPECIFIEDtests/hooks/test_packaging_roles.py:167
    PIPE-PAGES-R025.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** `uvx pipelines-hook` validates role matrix. | Run `test_packaging_role_closure_cli`.
    requirementPIPE-PAGESSPECIFIEDtests/hooks/test_packaging_roles.py:177
    PIPE-PAGES-R026
    User story and artifact schema generation contracts
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **User story and artifact schema generation contracts.** Rollup of the children below. Bind generator skills to UserStory, AcceptanceCriteria and Task Pydantic schema contracts. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R026.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Three artifact model schemas with versioned generator. | Run schema validation test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R026.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Generator emits valid schemas matching contract. | Run generator test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R026.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Consumer deserialization validates artifact models. | Run consumer test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R026.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Malformed artifacts and schema mismatch fail. | Run refusal test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R026.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Emitted schemas round-trip through validation. | Run round-trip test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R026.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** `uvx pipelines-hook` validates generated artifacts. | Run `test_artifact_schema_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R027
    Specification tooling compatibility and layout standard
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Specification tooling compatibility and layout standard.** Rollup of the children below. Support external artifact formats and reconcile with current directory standards. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R027.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** External format/version contract. | Run format test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R027.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Unchanged-file interoperability fixture passes. | Run interop test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R027.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Ingestion classifies standard layout. | Run classification test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R027.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Incompatible format and layout failures fail. | Run compat test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R027.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Standard layout and version agreement proven. | Run agreement test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R027.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** `uvx pipelines-hook` validates format support. | Run `test_spec_format_compat_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R028
    Release coordination with multi-phase version-bump policy
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Release coordination with multi-phase version-bump policy.** Rollup of the children below. Configure phase ordering, inter-phase delays and live status reporting. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R028.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Phase/wait policy with typed status contract. | Run phase test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R028.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Coordinator executes phases with configurable delays. | Run execution test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R028.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** CLI/UI consumes live project-status stream. | Run stream test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R028.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing policy and status event failures fail. | Run event test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R028.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Phase transitions and wait periods recorded. | Run transition test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R028.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Coordinator CLI observes configured phases. | Run `test_release_phase_coordination_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R029
    Skill-scoped dependency audit and version-update proposal workflow
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Skill-scoped dependency audit and version-update proposal workflow.** Rollup of the children below. Inventory skill dependencies, bind reports to Medulla proposals and control installation. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R029.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Skill inventory snapshot and version-update proposal. | Run inventory test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R029.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Audit supplies durable proposal with provenance. | Run audit test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R029.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Approval gate prevents direct skill install. | Run approval test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R029.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Unauthorized installs and audit gaps fail. | Run auth test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R029.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Proposal ID and audit binding proven. | Run binding test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R029.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Vulnerable skill yields zero install until approved. | Run `test_skill_dependency_audit_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R030
    Project-version reference discovery and code-enhancer binding
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Project-version reference discovery and code-enhancer binding.** Rollup of the children below. Define discoverable scope and require safe static inventory completeness. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R030.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Reference discovery policy and inventory-completeness contract. | Run discovery test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R030.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Code-enhancer compares discovered vs. configured. | Run comparison test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R030.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Unmapped reference refusal integrated in workflow. | Run refusal test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R030.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Undeclared version references fail without evaluation. | Run undeclared test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R030.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Discovered set and mapping gaps located. | Run gap test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R030.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Undeclared reference blocks, then passes after mapping. | Run `test_version_reference_discovery_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R023.19
    Aggregate skill grader call contract and lineage preservation
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Aggregate skill grader call contract and lineage preservation.** Same repository-analysis invocation discovers skills, calls grader and includes results in aggregate. | Run `test_aggregate_skill_grade_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R031
    Package source-path portability and cross-platform legality
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Package source-path portability and cross-platform legality.** Rollup of the children below. Define path policy and wire pre-commit refusal for illegal paths. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    4061148a6359
    742c49315101
    c175cd490b06
    tests/hooks/test_hygiene_published_evidence.py:30
    tests/hooks/test_hygiene_published_evidence.py:44
    tests/hooks/test_source_path_portability.py:103
    tests/hooks/test_source_path_portability.py:123
    tests/hooks/test_source_path_portability.py:132
    PIPE-PAGES-R031.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Path-length, reserved-name and normalization rules. | Run rules test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_source_path_portability.py:25
    PIPE-PAGES-R031.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Portability check rejects Windows/macOS violations. | Run platform test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_source_path_portability.py:41
    PIPE-PAGES-R031.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Shared check in build and pre-commit gates. | Run gate test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    4061148a6359
    tests/hooks/test_hygiene_published_evidence.py:30
    tests/hooks/test_source_path_portability.py:67
    tests/hooks/test_source_path_portability.py:77
    PIPE-PAGES-R031.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Reserved names and too-long paths fail without sanitizing. | Run sanitize test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_source_path_portability.py:103
    tests/hooks/test_source_path_portability.py:123
    tests/hooks/test_source_path_portability.py:132
    PIPE-PAGES-R031.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Policy version and violation locations proven. | Run location test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_source_path_portability.py:142
    PIPE-PAGES-R031.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Reserved name and long path both fail then pass. | Run `test_path_portability_cli`.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_hygiene_published_evidence.py:44
    tests/hooks/test_source_path_portability.py:161
    PIPE-PAGES-R032
    Lossless OWL/RDF workflow export-import with version refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Lossless OWL/RDF workflow export-import with version refusal.** Rollup of the children below. Preserve original export-time condition and define exact version comparison to prevent silent forward/backward compatibility moves. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R032.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define export-time coordinator decision condition and version refusal semantics. | Run export-import model test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R032.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Lossless workflow round-trip and exact version comparison without weakening freshness. | Run round-trip behavior test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R032.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Wire to existing skill-package owner for export/import contract. | Run export wiring test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R032.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Version move without strict comparison or loss of export condition prevents import. | Run version refusal test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R032.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Export-time condition and version comparison verified per round-trip. | Run version comparison evidence test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R032.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Test equal/older/newer export flows without R100 freshness weakening. | Run `test_eg56_export_import_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R033
    Installer skill entry binding with supported IDE/agent target matrix
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Installer skill entry binding with supported IDE/agent target matrix.** Rollup of the children below. Bind installer contract explicitly to skill/command and per-target configuration/parser/client proof. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R033.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define installer entry, supported target/version matrix and per-target binding contract. | Run installer model test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R033.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Bind existing installer contract to skill/command with per-target proof. | Run target binding behavior test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R033.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Link CLI.py registration to versioned harness adapters and target configuration. | Run harness wiring test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R033.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Supported targets cannot be unaccounted for; missing per-target proof fails. | Run target proof refusal test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R033.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Target set and per-target configuration/parser/client proof locations bound. | Run target coverage evidence test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R033.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Per-target configuration/parser/client proof verified via published CLI. | Run `test_au96_target_binding_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R034
    Single-binary portable deployment with zero external-service dependency parity
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Single-binary portable deployment with zero external-service dependency parity.** Rollup of the children below. Extend portable deployment definitions with concrete single binary/image profile and capability/refusal parity matrix. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R034.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define portable deployment profile with zero external-service dependency specification. | Run portable profile model test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R034.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Concrete single binary/image with external-dependency-free acceptance and parity. | Run dependency-free behavior test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R034.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Extend deployment package definitions with capability/refusal parity matrix. | Run parity matrix wiring test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R034.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Incomplete profiles or missing parity matrix prevent single-binary deployment claim. | Run parity refusal test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R034.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Dependency inventory and clustered capability/refusal parity proven. | Run parity evidence test.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R034.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Single binary/image deployment without external services verified. | Run `test_eg53_portable_deployment_cli`.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R035
    Stable prompt JSON/Pydantic disk formatting with difference oracle
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Stable prompt JSON/Pydantic disk formatting with difference oracle.** Rollup of the children below. Define stable prompt format and exact difference semantics retaining new semantic roundtrip coverage. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    4061148a6359
    7228a30b5eb2
    tests/hooks/test_hygiene_published_evidence.py:63
    tests/hooks/test_hygiene_published_evidence.py:76
    tests/hooks/test_prompt_format.py:108
    tests/hooks/test_prompt_format.py:121
    tests/hooks/test_prompt_format.py:142
    PIPE-PAGES-R035.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define stable prompt JSON and Pydantic disk format with difference oracle. | Run prompt format model test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_prompt_format.py:33
    PIPE-PAGES-R035.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Establish exact difference oracle and semantic roundtrip coverage. | Run roundtrip behavior test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_prompt_format.py:44
    PIPE-PAGES-R035.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Link R094.2-.7 exports/adopts to disk serializer and difference oracle. | Run serializer wiring test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    4061148a6359
    tests/hooks/test_hygiene_published_evidence.py:63
    tests/hooks/test_prompt_format.py:65
    PIPE-PAGES-R035.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Semantic roundtrip cannot weaken earlier R094 export coverage. | Run coverage refusal test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_prompt_format.py:142
    tests/hooks/test_prompt_format.py:86
    PIPE-PAGES-R035.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Disk-format semantics and difference oracle proof bound to snapshots. | Run oracle evidence test.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_prompt_format.py:108
    PIPE-PAGES-R035.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Equal/older/newer disk format round-trip verified via published CLI. | Run `test_au121_roundtrip_cli`.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_hygiene_published_evidence.py:76
    tests/hooks/test_prompt_format.py:121
    tests/hooks/test_prompt_format.py:170
    tests/hooks/test_prompt_format.py:197
    PIPE-PAGES-R021.91
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Record former validate behaviors and their deployment state. | Complete inventory lists every validation action.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.92
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Map each behavior to every supported project hook. | Hook adopters configure and pass both success and failure cases.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.93
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Require configured pre-commit parity before hook passes. | Pre-commit configuration names every mapped behavior for all projects.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.94
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing historical baseline cannot mask incomplete coverage. | Baseline gaps remain visible in inventory and findings.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.95
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Bind behavior inventory and baseline to source snapshot. | Baseline state appears in all hook findings.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R021.96
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Installed hook rejects unmapped project behavior. | Test missing behavior in pre-commit configuration.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R037
    Unit-test profile with enforced external determinism
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Unit-test profile with enforced external determinism.** Rollup of the children below. Unit tests must isolate external dependencies and refuse network or container access. | Rollup is minimum state of children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R037.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define unit-test profile with declared external dependency categories. | Profile specifies doubles for database, API, client code.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R037.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Enforce deterministic doubles for all declared external seams. | Unit runner rejects planted network and container attempts.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R037.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Wire unit profile enforcement into test-quality gate. | Profile adoption gates must reject unmocked external dependencies.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R037.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing doubles or network egress causes unit test fail. | Runner cannot silently skip external dependency mocking.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R037.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record declared external categories, discovered doubles and test scope. | Evidence separates unit isolation from integration tests.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R037.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Installed gate blocks unmocked network access in tests. | Test planted database and API calls.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R038
    Python-only pre-commit hook for ontology governance validation
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Python-only pre-commit hook for ontology governance validation.** Rollup of the children below. Python hook consumes Medulla-owned ontology checks with fail-closed authority. | Rollup is minimum state of children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R038.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define Python-only execution boundary and governance rule set. | Hook declares ontology file inputs and check outputs.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R038.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Hook consumes Medulla-generated verdicts without local semantic authority. | Failed verdict causes commit refusal via hook exit.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R038.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Pre-commit hook integration consumes Medulla's published check service. | Hook reaches Medulla service identity and pins verdict version.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R038.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Unavailable Medulla service causes hook to fail closed. | Missing verdicts block commits rather than permit them.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R038.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record Medulla verdict identity, pinned version and applied rules. | Evidence separates local execution from remote verdict authority.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R038.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Planted ontology violation blocks commit through installed hook. | Test proves local authority cannot override Medulla.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R039
    Complete project test-layout inventory with isolation and order policies
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Complete project test-layout inventory with isolation and order policies.** Rollup of the children below. Every project declares fixtures, modules and test independence requirements. | Rollup is minimum state of children.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    4061148a6359
    tests/hooks/test_hygiene_published_evidence.py:127
    tests/hooks/test_hygiene_published_evidence.py:141
    tests/hooks/test_test_layout_independence.py:102
    tests/hooks/test_test_layout_independence.py:121
    tests/hooks/test_test_layout_independence.py:138
    PIPE-PAGES-R039.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define project layout inventory with shared fixtures and modules. | Inventory lists required fixtures, modules and isolation requirements.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_test_layout_independence.py:56
    tests/hooks/test_test_layout_independence.py:75
    PIPE-PAGES-R039.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Enforce test independence via fixture-isolation gate. | Tests must pass regardless of test order.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_test_layout_independence.py:102
    tests/hooks/test_test_layout_independence.py:121
    tests/hooks/test_test_layout_independence.py:152
    tests/hooks/test_test_layout_independence.py:165
    tests/hooks/test_test_layout_independence.py:83
    PIPE-PAGES-R039.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Wire inventory check into test-quality gate. | Gate verifies every project's fixture and module declarations.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    4061148a6359
    tests/hooks/test_hygiene_published_evidence.py:127
    tests/hooks/test_test_layout_independence.py:68
    PIPE-PAGES-R039.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing fixtures or test order dependencies cause gate fail. | Gate refuses fixtures listed outside declared project inventory.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_test_layout_independence.py:138
    tests/hooks/test_test_layout_independence.py:178
    tests/hooks/test_test_layout_independence.py:251
    tests/hooks/test_test_layout_independence.py:269
    PIPE-PAGES-R039.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record project inventory, discovered fixtures and independence check results. | Evidence documents failed isolation and order-dependency tests.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_test_layout_independence.py:190
    PIPE-PAGES-R039.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Gate blocks planted fixture dependency in test suite. | Test proves missing fixture causes isolation failure.
    requirementPIPE-PAGESVERIFIED2a00d9d10fb2
    tests/hooks/test_hygiene_published_evidence.py:141
    tests/hooks/test_test_layout_independence.py:215
    PIPE-PAGES-R040
    Coverage-decrease refusal in Meristem proposal and admission
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Coverage-decrease refusal in Meristem proposal and admission.** Rollup of the children below. Meristem must reject every enhancement or refactor decreasing test coverage. | Rollup is minimum state of children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R040.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Extend approval criteria with baseline and candidate evidence. | Proposal must carry coverage baseline and candidate measurements.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R040.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Reject proposals where coverage decreases from baseline. | Gate compares candidate metrics against baseline deterministically.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R040.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Wire coverage check into Meristem proposal admission. | Baseline and candidate evidence bind to revision.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R040.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing or stale coverage evidence causes proposal rejection. | Unmeasured coverage proposals fail rather than pass.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R040.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record baseline and candidate coverage with proposal identity. | Evidence preserves graph authorization and materialization receipt.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R040.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Gate rejects proposal that decreases coverage metrics. | Test planted coverage decrease in candidate revision.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R041
    Configured structural limits with named-function failure reporting
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Configured structural limits with named-function failure reporting.** Rollup of the children below. Build failures name each violating function and state limit. | Rollup is minimum state of children.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R041.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** Define function-argument-count and try-block-statement-count limits. | Configuration specifies nonnegative integer limits for each.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R041.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** Build fails when function or try-block exceeds limit. | Every violation identifies repository-relative path and function.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R041.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** Wire limits into shared KISS gate and Arbora build. | Arbora configuration pins both limits and invokes check.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R041.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** Missing configuration or unsupported measurement causes build failure. | Missing limits exit 2; violations above limits exit 1.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R041.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** Record policy digest, per-function count and configured limits. | Evidence identifies repository-relative path and qualified function.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R041.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** Build fails on function exceeding argument-count limit. | Test keyword-only, variadic and nested-try function cases.
    requirementPIPE-PAGESSPECIFIEDNo recorded commit/test evidence
    PIPE-PAGES-R042
    One generated architecture explorer, always current
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **One generated architecture explorer, always current.** The canonical architecture explorer is published at `https://knuckles-team.github.io/.github/architecture/`. The organization site builds it with this generator in github mode every 30 minutes and on a `specs-changed` repository dispatch; the reusable `notify_org_site.yml` is the one implementation that sends that dispatch, and each core repository calls it from `.github/workflows/org-site.yml` on every push to main with no path filter. It does nothing, and exits 0, until both optional `org_site_app_id` and `org_site_app_private_key` secrets exist (the org secrets `ORG_SITE_APP_ID` and `ORG_SITE_APP_PRIVATE_KEY` reach it through `secrets: inherit`), then mints a GitHub App token for `.github` with a SHA-pinned `actions/create-github-app-token` and posts with it; a failed mint or post only warns. Github mode scans every public, unarchived organization repository that has `specs/`, so a new repository appears and a removed repository, row or connector part disappears on the next build. The explorer places each row on the deepest architecture part, lists each row that it cannot place under an Unmapped part and fails the build until a part owns it (the reviewed allowlist stays empty, so a new row needs a part in `model.json`, for example WEBUI-APPS-R050 on the composed deployment acceptance part), and stamps its corner with the build time and the head commit of every scanned repository. A pinned layered layout engine precomputes every level, so the page needs no runtime layout. Each core repository site serves `/architecture/` as a redirect to the canonical explorer that keeps the `#<node>` anchor, and the shared theme links it from every page at the node of the current repository. A content page that shows the static runtime diagram must also link the explorer. | `tests/test_architecture_explorer.py` places fixture rows, proves a deleted row disappears, reconciles discovery, fits the connector fleet, checks the stamp and builds the page and redirect variants offline; `tests/test_pages_pipeline_contract.py` and `tests/test_spec_delivery_nav.py` check the workflow step, the dispatch and the theme link; `tests/test_sync_mkdocs_theme.py::test_check_requires_the_diagram_to_link_the_explorer` checks the diagram link.
    requirementPIPE-PAGESVERIFIED07557fa5390a
    07e22bc44394
    0a82ba72ff9d
    0c089432fdc8
    1127e9047bfa
    tests/test_architecture_explorer.py:1006
    tests/test_architecture_explorer.py:1030
    tests/test_architecture_explorer.py:105
    tests/test_architecture_explorer.py:1086
    tests/test_architecture_explorer.py:1107
    PIPE-PAGES-R042.1
    Index
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Index.** The build emits one compact search index in the page: every spec row as ID, title, owning repository, spec family, status and the node it maps to; every node as name, description and code paths; and the retired-ID aliases read from each repository's `.config/spec-aliases.toml`. Repeated strings are stored once in shared tables, so the index adds no row text beyond the title; search also reads each row's description from the page's own rows (R042.6). | `tests/test_architecture_explorer.py::test_search_index_covers_every_row_and_maps_it_to_a_node` and `tests/test_architecture_explorer.py::test_search_index_carries_repository_aliases`.
    requirementPIPE-PAGESVERIFIED22a4c85e6a09
    tests/test_architecture_explorer.py:539
    tests/test_architecture_explorer.py:562
    PIPE-PAGES-R042.2
    Ranking
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Ranking.** A search box ranks client-side with no dependency: an exact ID (or retired alias) first, then rows whose title words match every term, then node descriptions and node names. A query shaped like an ID matches by ID only, with the exact row followed by its sub-rows. A title shared by many rows ranks below the one unique row, so the owning row of a capability comes first. | `tests/test_architecture_explorer.py::test_a_capability_search_ranks_the_owning_row_first` and `tests/test_architecture_explorer.py::test_an_id_search_is_exact`.
    requirementPIPE-PAGESVERIFIED22a4c85e6a09
    tests/test_architecture_explorer.py:572
    tests/test_architecture_explorer.py:583
    PIPE-PAGES-R042.3
    Deep links
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Deep links.** The page opens at `#q=<query>` (the top result is selected and the ranked list stays open) and at `#node=<id>`; the older `#<node>` anchor keeps working so repository redirects and the shared theme link are unchanged. The page writes the matching hash back as the view settles. | `tests/test_architecture_explorer.py::test_deep_links_parse`.
    requirementPIPE-PAGESVERIFIED22a4c85e6a09
    tests/test_architecture_explorer.py:604
    PIPE-PAGES-R042.4
    Landing and access
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Landing and access.** Choosing a result flies the camera to the owning node with the same fit and openness rules as a part click, zooming in just far enough that every ancestor box is open, highlights the node, and shows the matching rows in its panel with a link to the spec file on GitHub. The `/` key focuses the box; arrow keys, Enter and Escape drive it; the box and list carry combobox and listbox roles with a live result count; the colors follow the light and dark themes. The three outside boxes (people, clients, source systems) are all marked external: the map shows "external system" instead of spec counts and no status bar for them, the side panel is headed "Outside the ecosystem" and says no spec rows are written for the box and the connected parts own the rows, and no row places on them. | `tests/test_architecture_explorer.py::test_a_q_deep_link_lands_on_the_owning_part_in_a_browser` loads the page in a headless Chromium when one is installed.
    requirementPIPE-PAGESVERIFIED22a4c85e6a09
    7e98f025d34c
    tests/test_architecture_explorer.py:126
    tests/test_architecture_explorer.py:659
    PIPE-PAGES-R042.5
    Viewport
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Viewport.** The map fills the browser window at any aspect ratio. The page has no width cap and narrow margins, and the map and side panel take the full height below the toolbar, so the page never scrolls on a desktop screen. The overview layout is at least 1.6 times as wide as it is tall. The overview background bands span the full width of the map at any zoom, with their labels at the layout's right edge. A full-screen button and the `F` key show the map alone, and a panel button hides the side panel; both refit the current view. | `tests/test_architecture_explorer.py::test_the_map_fills_the_viewport_with_full_screen_and_panel_toggle`.
    requirementPIPE-PAGESVERIFIED5ca115dab2f1
    c1c4645b2f48
    tests/test_architecture_explorer.py:690
    PIPE-PAGES-R042.6
    Row description
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Row description.** Each spec row in the panel list shows a short plain-text description under its title: the first sentence of its requirement text in the family's `requirements.md`, at most 160 characters, with markdown removed and a bold lead that only repeats the title skipped. The description is muted and clamped to two lines, is carried on the row in the page, and is matched by search below every title, ID, family and part match. The page holds no other requirement text, so its size grows by at most the description of each row. | `tests/test_architecture_explorer.py::test_description_is_the_first_plain_sentence_capped_at_160`, `tests/test_architecture_explorer.py::test_page_rows_carry_desc_and_never_the_full_text`, `tests/test_architecture_explorer.py::test_page_size_grows_by_a_bounded_amount_per_row` and `tests/test_architecture_explorer.py::test_search_matches_a_description_only_after_title_and_id_matches`.
    requirementPIPE-PAGESVERIFIED72f7362888b8
    9ad2ff194f2a
    tests/test_architecture_explorer.py:778
    tests/test_architecture_explorer.py:799
    tests/test_architecture_explorer.py:920
    tests/test_architecture_explorer.py:936
    PIPE-PAGES-R042.7
    Expandable full spec
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Expandable full spec.** A row expands inline from its title button (`aria-expanded`) or a click on the row, and the panel offers Expand all shown and Collapse all over the filtered rows; the status filter, part scope and paging are unchanged. An expanded row shows the full requirement, the acceptance text, the status with `landed_in` commits, `verified_by` test lines and `rollup_of` rows (commits and test files link to GitHub on the default branch), the test-spec lines that name the row, links to the family files, and a Design section with collapsible Plan, design or architecture, and Test spec documents. The build writes one JSON file per family at `spec-details/<repo>/<family>.json` next to the page, replacing any earlier set, and the page fetches a family on its first expand and caches it. The organization hub workflow uploads the page directory, so the files publish with the page. | `tests/test_architecture_explorer.py::test_one_family_json_is_written_per_family_with_full_row_detail`, `tests/test_architecture_explorer.py::test_a_row_whose_family_has_no_plan_still_gets_detail` and `tests/test_architecture_explorer.py::test_expanding_a_row_fetches_its_family_once_and_renders_it_safely`.
    requirementPIPE-PAGESVERIFIED72f7362888b8
    9ad2ff194f2a
    bf0cc60fbd80
    tests/test_architecture_explorer.py:336
    tests/test_architecture_explorer.py:819
    tests/test_architecture_explorer.py:853
    tests/test_architecture_explorer.py:961
    PIPE-PAGES-R042.8
    Safe rendering
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Safe rendering.** Spec markdown is rendered to HTML at build time as a safe subset (headings, paragraphs, lists, code, tables, links) with every source character escaped, so raw HTML never reaches a page or a family file. Only http(s) links and links relative to the family directory (resolved to GitHub) are kept. The page parses the rendered HTML inertly and copies it through a tag allowlist, uses no `innerHTML`, and loads no third-party script; tables and code scroll inside their own block so an expanded row never widens the page. | `tests/test_architecture_explorer.py::test_markdown_escapes_raw_html_and_drops_unsafe_links` and `tests/test_architecture_explorer.py::test_page_never_assigns_markup_and_exposes_the_expand_controls`.
    requirementPIPE-PAGESVERIFIED72f7362888b8
    tests/test_architecture_explorer.py:867
    tests/test_architecture_explorer.py:902
    PIPE-PAGES-R042.9
    Every scanned repository has a part
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Every scanned repository has a part.** Each repository in the explorer registry that has specs is owned by a part of the model, so its rows place on that part and none rely on the unmapped allowlist. The skill-graphs repository is scanned and owned by the Skill graphs part under the skills box, which describes packaged skill graphs served through the Scion SDK convention and takes the `catalog-content` family. | `tests/test_architecture_explorer.py::test_every_registered_repository_has_a_part_and_its_rows_place_without_the_allowlist`.
    requirementPIPE-PAGESVERIFIED9dd3e4967209
    bf0cc60fbd80
    tests/test_architecture_explorer.py:1006
    tests/test_architecture_explorer.py:336
    PIPE-PAGES-R042.10
    The explorer links back to the contribution front door
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **The explorer links back to the contribution front door.** The page footer carries one muted line linking the contribution guide (`CONTRIBUTING.md` in the organization repository) and the organization front door, and states that the explorer is rebuilt on every merge to main and at least every 30 minutes. The header carries no such links. The expanded detail of a `SPECIFIED` row adds an open-work line linking the contribution guide and the owner repository's `specs/<family>/` directory; other statuses do not. | `tests/test_architecture_explorer.py::test_footer_links_the_guide_and_front_door_and_only_specified_rows_point_to_the_guide`.
    requirementPIPE-PAGESVERIFIEDa97422e107a9
    tests/test_architecture_explorer.py:1030
    PIPE-PAGES-R042.11
    The explorer states the contribution path in a form a person or an agent finds without guessing
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **The explorer states the contribution path in a form a person or an agent finds without guessing.** Below the footer the page carries a collapsed `How to contribute (for people and agents)` block with five ordered steps: the front door, the contribution guide, picking a `SPECIFIED` row, setting up with the `arbora-development` skill, and opening a pull request whose commit carries a `Spec:` trailer. The page head declares `rel="help"` (the contribution guide), `rel="start"` (the front door) and a description that names the front door. Every build writes `llms.txt` beside the page with the front door, the guide, the skills directory, the spec-details file pattern and the same five steps. | `tests/test_architecture_explorer.py::test_contribution_path_is_in_the_page_head_details_and_llms_txt` and `tests/test_architecture_explorer.py::test_a_build_writes_llms_txt_beside_the_page`.
    requirementPIPE-PAGESVERIFIEDdbbaf2116d8c
    tests/test_architecture_explorer.py:1086
    tests/test_architecture_explorer.py:1107
    PIPE-PAGES-R043
    Agent-readiness and static documentation delivery
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Agent-readiness and static documentation delivery.** Rollup of the children below. | The rollup is the minimum state of its children.
    requirementPIPE-PAGESVERIFIEDafcf5e9611e3
    tests/test_pages_pipeline_contract.py:146
    tests/test_pages_readiness.py:195
    tests/test_pages_readiness.py:247
    tests/test_pages_readiness.py:367
    tests/test_pages_readiness.py:377
    PIPE-PAGES-R043.1
    Model
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Model.** The readiness validator must consume declared input, schema, readiness manifest, and Markdown mirror manifest without another generator. | Run `tests/test_pages_readiness.py::test_second_build_and_offline_tck_are_idempotent`.
    requirementPIPE-PAGESVERIFIEDafcf5e9611e3
    tests/test_pages_readiness.py:247
    PIPE-PAGES-R043.2
    Behavior
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Behavior.** The delivery builder must publish declared Markdown fallbacks and discovery files while preserving existing site directives. | Run `tests/test_pages_readiness.py::test_build_publishes_source_markdown_and_served_mime`.
    requirementPIPE-PAGESVERIFIEDafcf5e9611e3
    tests/test_pages_readiness.py:195
    PIPE-PAGES-R043.3
    Wiring
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Wiring.** The workflow at `.github/workflows/pages_pipeline.yml:253` must invoke the readiness CLI only through explicit opt-in. | Run `tests/test_pages_pipeline_contract.py::test_enabled_path_checks_strict_build_and_runs_owned_tck`.
    requirementPIPE-PAGESVERIFIEDafcf5e9611e3
    tests/test_pages_pipeline_contract.py:146
    PIPE-PAGES-R043.4
    Refusal
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Refusal.** The validator must reject stale source digests and private capability references before publication. | Run `tests/test_pages_readiness.py::test_stale_source_digest_fails_closed`.
    requirementPIPE-PAGESVERIFIEDafcf5e9611e3
    tests/test_pages_readiness.py:367
    PIPE-PAGES-R043.5
    Evidence
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Evidence.** The CLI must report versioned failure results rather than imply successful validation. | Run `tests/test_pages_readiness.py::test_cli_failure_result_is_versioned`.
    requirementPIPE-PAGESVERIFIEDafcf5e9611e3
    tests/test_pages_readiness.py:377
    PIPE-PAGES-R043.6
    Hot-path proof
    Definition — PIPE-PAGES / PIPE-PAGES — Ecosystem Pages parity and release receiptCanonical requirement and verification source
    **Hot-path proof.** The direct script entry must load the sparse readiness package and validate the declared content source. | Run `tests/test_pages_readiness.py::test_direct_entry_requires_and_loads_the_sparse_readiness_package`.
    requirementPIPE-PAGESVERIFIEDafcf5e9611e3
    tests/test_pages_readiness.py:836
    PIPE-GATES
    PIPE-GATES — Gate landing policy
    specNoneSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R001
    Pre-land fast set and post-land full set
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pre-land fast set and post-land full set.** The eight blocking gates partition into a pre-land fast set and a post-land full set. The fast set is `format`, `hygiene`, `secrets`, `types`, and `tests-fast`; it runs server-side against the changeset's tree in seconds and decides whether the changeset lands. The full set is the remaining blocking gates, `spec`, `tests`, and `supply-chain`; it runs after landing. Landing applies no merge queue. | The partition test asserts both sets' exact membership from the published gate configuration and asserts that the full set is the fast set's complement within the eight blocking gates.
    requirementPIPE-GATESVERIFIED54442c92173d
    tests/hooks/test_gate_runner.py:119
    tests/hooks/test_gate_runner.py:34
    tests/hooks/test_gate_runner.py:45
    tests/hooks/test_gate_runner.py:55
    tests/hooks/test_gate_runner.py:62
    PIPE-GATES-R002
    Auto-revert versus fix-forward
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auto-revert versus fix-forward.** A failed post-land gate triggers a recorded decision. The failure class decides it. The gate runner classifies each failure as `product` or `infrastructure`. An infrastructure failure means the gate produced no result, for example a lost runner. An unclassified failure is `product`. Auto-revert is the default; it reverts the failed changeset without operator action. Fix-forward applies only when the owner opens a fix-forward task within 300 s of the failed verdict. A passing re-run never changes the decision for a product failure. An infrastructure failure may re-run once. A passing re-run records `infrastructure-rerun`, and nothing reverts. The decision record carries the gate ID, the changeset ID, the verdict, the failure class, the threshold that fired, and the evidence digest. The record is replayable. | The policy test asserts the decision and the complete record for each failure class and threshold. A product failure whose re-run passes auto-reverts.
    requirementPIPE-GATESVERIFIED47057b890626
    5792bcbbd148
    tests/hooks/test_landing_policy.py:103
    tests/hooks/test_landing_policy.py:111
    tests/hooks/test_landing_policy.py:119
    tests/hooks/test_landing_policy.py:127
    tests/hooks/test_landing_policy.py:133
    PIPE-GATES-R003
    Gates run against the engine tree
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Gates run against the engine tree.** Every blocking gate runs against the Medulla tree without a local checkout. The gate reads file content by path and blob digest. Its verdict and evidence digest agree with the same gate run on a materialized checkout of the same revision. No working copy is required to land. | The contract test runs one blocking gate on an engine-tree fixture and on an identical materialized checkout and asserts that both runs produce the same verdict and evidence digest.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R004
    Gate verdicts publish to the engine (rollup)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Gate verdicts publish to the engine (rollup).** Each blocking gate run must publish its verdict as an EG-SCM-R008 record through the arbora `source.*` HTTP operations. The record binds gate id, input digest, verdict, evidence digest and duration. A publish failure never changes the verdict. Children `.1` and `.2` deliver it. | See each child.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R004.1
    Wiring
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wiring.** `run_gate_on` at `pipelines_hooks/gate_runner.py:62` calls `publish_verdict` in `pipelines_hooks/verdict_publish.py` after each gate. It uses plain HTTP and no ecosystem package. The arbora endpoint and token come from the CI environment. With no endpoint, the publish is skipped and logged. | `tests/test_verdict_publish.py::test_gate_run_posts_one_verdict` runs one gate against a fixture endpoint.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R004.2
    Hot-path proof
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Hot-path proof.** The test runs the fast gate set against a fixture tree with a fixture arbora endpoint. It observes one verdict record per gate with the tree digest. An endpoint error leaves every verdict unchanged. | `tests/test_verdict_publish.py::test_fast_set_publishes_and_survives_endpoint_error` asserts both cases.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006
    Changeset migration waves with entry and exit criteria (rollup)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Changeset migration waves with entry and exit criteria (rollup).** Repositories move to engine changesets in seven ordered waves. A wave starts only when its entry criteria hold and the prior wave has exited. Each wave exits on its own criteria. GitHub stays a byte-identical mirror in every wave. Children `.1` to `.7` name the waves. | Satisfied only when `.1` to `.7` are verified.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006.1
    Wave 1: webarchiver
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1: webarchiver.** Entry: EG-SCM-R001 to R004 and EG-SCM-R010 are verified. RM-SCM-R001 and RM-SCM-R002 are verified. ARBORA-OPS-R848.2 and ARBORA-OPS-R849 are verified. Exit: 20 changesets land through `source.land`. Each mirror commit has the tree hash of its changeset. One auto-revert rehearsal of PIPE-GATES-R002 passes. The mirror shows no divergence for 7 days. | `tests/hooks/test_migration_waves.py::test_wave_1_entry_and_exit` evaluates a fixture ledger and asserts each criterion.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006.2
    Wave 2: small connectors
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 2: small connectors.** A small connector has under 10,000 source lines. Entry: wave 1 has exited. EG-SCM-R007 is verified. Exit: every small connector meets the wave 1 exit criteria for itself. | `test_wave_2_entry_and_exit` asserts the size bound and the per-repository exit.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006.3
    Wave 3: the remaining connectors
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 3: the remaining connectors.** Entry: wave 2 has exited. EG-SCM-R011 is verified. Exit: every connector meets the wave 1 exit criteria. Each connector release publishes from the mirror unchanged. | `test_wave_3_entry_and_exit` asserts the criteria.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006.4
    Wave 4: skills, pipelines and the user interfaces
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 4: skills, pipelines and the user interfaces.** Entry: wave 3 has exited. PIPE-GATES-R003 is verified, so every blocking gate runs on the engine tree. Exit: universal-skills, pipelines, Overstory, Tuig and Axil meet the wave 1 exit criteria. | `test_wave_4_entry_and_exit` asserts the criteria.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006.5
    Wave 5: the Scion SDK and the harness
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 5: the Scion SDK and the harness.** Entry: wave 4 has exited. SDK-SCM-R002 and AU-SCM-R001 are verified. Exit: Scion SDK and Meristem meet the wave 1 exit criteria. | `test_wave_5_entry_and_exit` asserts the criteria.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006.6
    Wave 6: arbora
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 6: arbora.** Entry: wave 5 has exited. ARBORA-OPS-R850 and ARBORA-OPS-R851 are verified. Exit: arbora meets the wave 1 exit criteria. One release deploys from a changeset tree. | `test_wave_6_entry_and_exit` asserts the criteria.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R006.7
    Wave 7: Medulla, last
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 7: Medulla, last.** Entry: wave 6 has exited. EG-SCM-R009 is verified. One restore of the engine source from the git mirror passes. Exit: Medulla meets the wave 1 exit criteria. A second restore rehearsal passes. | `test_wave_7_entry_and_exit` asserts the criteria and the two restores.
    requirementPIPE-GATESSPECIFIEDNo recorded commit/test evidence
    PIPE-GATES-R005
    Spec text names no third-party product
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Spec text names no third-party product.** `pipelines-hook spec-standard` must refuse a third-party product or project name in authored `specs/**/*.md` text. The denylist is `pipelines_hooks/specs/third_party_names.toml`. Its `[allow]` table lets a connector name its own target system. Inline code, fenced code, URLs, link targets and spec IDs are ignored. Open standards and protocol names are never listed. | `tests/test_spec_third_party_names.py` asserts a finding for each named product, a pass for identifiers, code, links and standards, and the per-repository allowance.
    requirementPIPE-GATESVERIFIEDd0cb9114aec1
    tests/test_spec_third_party_names.py:50
    tests/test_spec_third_party_names.py:87
    PIPE-GATES-R007
    Canonical legacy-concept check
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Canonical legacy-concept check.** Publish `no-legacy-concepts` from pipelines, not product repositories. Scan tracked Python, Rust and Markdown for the original numeric-pillar marker pattern, retaining historical filename/directory exclusions and path/line diagnostics. Explicit target repositories and worktrees are independent of ambient Git selectors, including the index. Findings fail with exit one; Git/read failures fail closed with exit two. This opt-in gate does not change the eight-gate landing partition. | Real Git fixtures cover detection, exclusions, tracked versus ignored/untracked files, foreign worktrees, polluted Git variables and CLI failure exits.
    requirementPIPE-GATESVERIFIEDafcf5e9611e3
    tests/hooks/test_no_legacy_concepts.py:106
    tests/hooks/test_no_legacy_concepts.py:20
    tests/hooks/test_no_legacy_concepts.py:64
    PIPE-GATES-R008
    Lock artifact version mirrors
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Lock artifact version mirrors.** Publish opt-in `lockfile-version-mirrors` for an explicit consumer repository root. Compare the self-package literal uv.lock version to project.version (fallback .bumpversion.cfg current_version); accept omitted editable versions and absent artifacts. Direct requirements.txt pins must satisfy project.dependencies and non-pin ranges must match them. This does not replace uv lock --check. | `tests/hooks/test_lockfile_version_mirrors.py` exercises the public CLI, version fallback, editable omission, pins, ranges and missing artifacts.
    requirementPIPE-GATESVERIFIED180d570777d4
    5ff231c270b1
    tests/hooks/test_connector_central.py:428
    tests/hooks/test_lockfile_version_mirrors.py:14
    PIPE-GATES-R008.1
    No version mirror outside `pyproject.toml`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **No version mirror outside `pyproject.toml`.** A connector's version is the `[project]` `version` line alone. `connector-standard` (member `connector-files`) fails a tracked `.bumpversion.cfg` and any tracked Python file that spells `__version__ = "<project version>"`; code reads package metadata. `pipelines-connector version bump {major,minor,patch}` changes only that line and keeps its trailing comment. | `tests/hooks/test_connector_central.py::test_a_hardcoded_package_version_is_a_finding_and_metadata_is_not` and `::test_bump_changes_pyproject_only_and_keeps_the_comment`.
    requirementPIPE-GATESVERIFIED5ff231c270b1
    tests/hooks/test_connector_central.py:428
    PIPE-GATES-R009
    Configured static import boundary
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Configured static import boundary.** Publish opt-in `coupling` over consumer-configured package paths and denied module prefixes with allowed submodule prefixes. Scan tracked Python AST imports using the target repository's own index. Missing policy, paths, invalid source or Git failures refuse with exit two; prohibited imports give located exit-one findings. No file exemptions or sibling discovery. This checks static imports, not dynamic runtime access. | `tests/hooks/test_coupling.py` exercises the public CLI, allowed client imports, forbidden internals, syntax refusal, tracked-only scope and polluted Git selectors.
    requirementPIPE-GATESVERIFIED180d570777d4
    tests/hooks/test_coupling.py:17
    PIPE-GATES-R010
    Connector names agree with the declared fleet name
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Connector names agree with the declared fleet name.** Publish `connector-name` from pipelines. It reads the fleet name a connector declares as its single `agent_connector_sdk.connector` entry point in `pyproject.toml`. It compares that name with the `CONNECTOR` constant of each generated `connector_sources.py` (read by AST, never imported) and each `connector=` literal in a `ConnectorContent` or `IngestBinding` call. A disagreeing literal fails the gate and names the file. An undeclared connector with a literal gets a warning; `--strict` makes it a failure. A repository with neither passes. | `tests/hooks/test_connector_name.py` covers agreement, disagreement, the undeclared warning, `--strict`, a non-connector repository and that a leftover `connector_manifest.yml` is never read.
    requirementPIPE-GATESVERIFIEDa268ca1599c8
    cf912c89cd2f
    tests/hooks/test_connector_name.py:11
    PIPE-GATES-R011
    Shared hooks are current and snapshots accept symlinks
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Shared hooks are current and snapshots accept symlinks.** `gates_pipeline.yml` keys its pre-commit cache on the config hash and the current pipelines `main` commit. A cache restore then never serves hooks older than pipelines `main`. `jscpd_snapshot.materialize` skips a tracked symlink and keeps its in-tree target. It still refuses every other non-regular entry. | `tests/hooks/test_jscpd_snapshot.py` snapshots a tree with a symlinked root manifest. The workflow cache key names `steps.hook-rev.outputs.sha`.
    requirementPIPE-GATESVERIFIED147049d18114
    270b968a56a4
    tests/hooks/test_jscpd_snapshot.py:13
    PIPE-GATES-R012
    A connector that imports GraphQL declares it via the Scion SDK extra
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **A connector that imports GraphQL declares it via the Scion SDK extra.** Publish `connector-graphql` from pipelines. It applies to a repository whose non-test Python imports `gql` or `graphql`. Its core dependencies must hold `scion-sdk` (the legacy `agent-connector-sdk` alias remains accepted during transition) with the `graphql` extra. A direct `gql` or `graphql-core` requirement in the core dependencies or any extra is a duplicate. Each finding names the file or section. Findings warn by default; `--strict` makes them failures. A repository without such imports passes, and the Scion SDK itself is exempt. | `tests/hooks/test_connector_graphql.py` covers the declared extra, the missing extra, direct declarations, function-level imports, skipped tests and exempt repositories.
    requirementPIPE-GATESVERIFIEDc16b8de6ac2d
    tests/hooks/test_connector_graphql.py:11
    PIPE-GATES-R013
    A connector uses the Scion SDK capability instead of its own copy
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **A connector uses the Scion SDK capability instead of its own copy.** Publish `sdk-conformance` from pipelines. It applies to a repository that depends on `scion-sdk` or the legacy `agent-connector-sdk` alias, other than the Scion SDK. It scans non-test Python, outside `tests`, `scripts`, `examples` and `docs`, and `pyproject.toml`. Each finding cites the Scion SDK row it breaks: `SDK-CENTRALIZED-CAPABILITIES-R001` for a direct `requests` import, a hand-built `httpx` client or call, or an own retry loop; `R008` for TLS verification turned off, a silenced insecure-request warning, or a hand-built SSL context; `R009` for a hand-parsed `env://` or `openbao://` reference; `R016` for an own GraphQL client on the protocol library's `Client` or transports; `R040` for a direct requirement on a package a Scion SDK extra carries, one finding per package. The direct GraphQL library declaration stays with `connector-graphql` (`PIPE-GATES-R012`). Findings warn by default; `--strict` makes them failures, and a repository turns strict on in its own configuration once migrated. | `tests/hooks/test_sdk_conformance.py` covers each pattern and its row, clean Scion SDK use, one finding per pinned package, the skipped paths, non-connector and Scion SDK repositories, the default warning and `--strict`.
    requirementPIPE-GATESVERIFIED635e34079332
    db468196e870
    tests/hooks/test_sdk_conformance.py:11
    PIPE-GATES-R014
    A connector ships and serves all five surfaces with a parent-linked ontology
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **A connector ships and serves all five surfaces with a parent-linked ontology.** Publish `connector-surface-audit` from pipelines. It reads one connector checkout, or every repository of a fleet directory at a ref in detached worktrees, and prints one sorted JSON record per connector. Each record holds the `agent_connector_sdk.connector`, `skill_providers`, `prompt_providers` and `ontology_providers` entry points and any plugin group outside the Scion SDK namespace. It holds the counts of `<package>/skills/<name>/SKILL.md`, `<package>/prompts/<name>.json` with an `instructions.core_directive`, `<package>/ontology/*.ttl` and `<package>/ontology/shapes/*.ttl`. It records whether the server source registers that content with the Scion SDK (`ConnectorContent`, `register_connector_content` or `register_ontology_resources`). For each ontology file it records the `owl:Ontology` header, whether `owl:imports` names the parent IRI `http://knuckles.team/kg`, and each declared class as a parent term, linked (a direct or transitive `rdfs:subClassOf` that reaches a parent class) or orphan. The parent classes come from the Medulla parent ontology directory given with `--parent-ontology`. A record is complete when it has no gap. The audit reports by default; `--strict` exits 1 when any record is incomplete. The live surface and the engine pack contents are read by the arbora acceptance `surface_audit.py`, not by this audit. | `tests/hooks/test_connector_surface.py` builds fixture connectors and a fixture parent ontology in a temporary directory. It checks a complete connector, an orphan vocabulary, unserved content, a plugin group outside the SDK namespace, IRIs that hold `#`, literals that hold `.` and `#`, deterministic output and `--strict`.
    requirementPIPE-GATESVERIFIEDd98a324dd874
    fe1919ed8edb
    tests/hooks/test_connector_surface.py:12
    PIPE-GATES-R015
    Orphan connector classes get a reviewed parent class
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Orphan connector classes get a reviewed parent class.** Publish `connector-ontology-map` from pipelines. `propose` reads each connector's ontology files at a git ref and the Medulla parent ontology directory. For each orphan root class (the audit's reading of `orphan`) it scores candidate parent classes from an exact match of local name, label or alias, a head-noun match, a curated synonym table, a shared parent property, and a parent class named in the class comment. Each proposal carries its confidence and its reasons. Only an exact match is accepted unreviewed, and an exact match on a generic or BFO class is not. A class with no candidate is listed as a candidate for a new parent class. `decide` turns proposals and a reviewer's overrides into links and refuses an override that names a class the parent ontology lacks, so no parent class is invented. `apply` writes `rdfs:subClassOf` lines into the connector's Turtle text, and `owl:imports` of the parent IRI where the header lacks it, and changes nothing else in the file. `scaffold` writes the connector's `tests/test_ontology_parent_link.py`, which reads the ontology with the standard library only and asserts that the orphan classes are exactly the pending set. | `tests/hooks/test_ontology_orphan_map.py` builds a fixture parent ontology and connector ontologies in a temporary directory. It checks the exact, head-noun and synonym signals, the generic-class rule, the synonym entry that names a missing parent class, the new-parent candidate, the override check, the apply output (links, import, idempotence, unchanged text elsewhere) and deterministic output.
    requirementPIPE-GATESVERIFIED147049d18114
    e4e8fe71c024
    f58ea0355db7
    tests/hooks/test_ontology_orphan_map.py:12
    PIPE-GATES-R016
    The composed ontology graph is reachable and bridged
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **The composed ontology graph is reachable and bridged.** Model: `connector-ontology-map graph-check` composes every Medulla `*.ttl` at a ref (optionally overlaid with the ontology files an extra ref changed) and every fleet connector pack (`<pkg>/ontology/*.ttl`, shapes, and the generated `<pkg>/connector_sources.py`, whose `source_meta` entries, `SCHEMA_MAPPINGS` and `RESOURCES` are read statically by AST without importing the package) into one rdflib graph, with one module per Medulla file and one per pack. Behavior: it reports findings with the codes `PARSE_ERROR`, `ORPHAN_CLASS` (with chain length), `ISLAND_MODULE`, `ISLAND_PACK`, `DANGLING_REFERENCE` (file and line), `PROPERTY_UNTYPED`, `ISOLATED_CLASS` (data-only classes listed, not flagged), `UNBRIDGED_SAME_CONCEPT`, `INGEST_TYPE_MISSING`, `MAPPING_TARGET_MISSING`, `NO_JOIN_KEY`, `CONFLICTING_PARENT`, `DUPLICATE_LABEL` and `CQ_PATH_BROKEN`; it counts connected components of the module graph (reference edges and shared-IRI edges); it evaluates competency questions from a data file, each with the class and property hops it needs, and names every missing hop; and it groups the exact triples to add by owning repository (shared concepts in Medulla, system-specific ones in the pack). Refusal: the exit code is 1 when any finding exists and 0 when clean; `--warn` always exits 0; an unparseable file is a finding and never aborts the run. Evidence: the JSON result (summary per code, pack and module, questions, fix plan, findings) and a Markdown report, deterministic with sorted keys and no timestamps. Hot-path: a read-only pass over `git show` output; no checkout and no network, about 25 seconds for the whole fleet. | `tests/hooks/test_ontology_graph_check.py` builds fixture graphs that exercise every code, the question evaluation with a missing hop, the owner grouping of the fix plan, determinism, the exit codes and the Markdown report, the static declaration read (never imported, a broken declaration is a `PARSE_ERROR`, a legacy manifest is ignored) and the command against a temporary git repository.
    requirementPIPE-GATESVERIFIED03512169cad3
    072841d0fc31
    0e879efdfea4
    10797d760f22
    12874ccce7f9
    tests/hooks/test_connector_central.py:388
    tests/hooks/test_connector_central.py:408
    tests/hooks/test_connector_central.py:419
    tests/hooks/test_connector_central.py:491
    tests/hooks/test_connector_central.py:505
    PIPE-GATES-R016.1
    An import bridges modules
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **An import bridges modules.** In the module graph an `owl:imports` of an ontology IRI joins the importing module to the module that declares that ontology, in both edge sets. An import-only catalog is therefore not an island (EG-ORCH-VOCAB-R008.2). | `tests/hooks/test_ontology_graph_check.py::test_owl_imports_bridges_modules` composes an import-only module and its target and asserts one component.
    requirementPIPE-GATESVERIFIED296583a3f006
    tests/hooks/test_ontology_graph_check.py:257
    PIPE-GATES-R016.2
    An individual's type is a reference
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **An individual's type is a reference.** A named individual typed by a class joins its module to the module declaring that class. A module holding only individuals is not an island. | `tests/hooks/test_ontology_graph_check.py::test_individual_type_bridges_modules` asserts the edge and one component.
    requirementPIPE-GATESVERIFIED296583a3f006
    tests/hooks/test_ontology_graph_check.py:271
    PIPE-GATES-R016.3
    Test-fixture ontologies are outside the corpus
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Test-fixture ontologies are outside the corpus.** A file under any directory whose name ends in `fixture` or `fixtures` is skipped for Medulla and pack sources, by that path rule and not by file name. | `tests/hooks/test_ontology_graph_check.py::test_fixture_dirs_are_excluded` asserts the rule and the filtered Medulla source listing.
    requirementPIPE-GATESVERIFIED296583a3f006
    tests/hooks/test_ontology_graph_check.py:282
    PIPE-GATES-R016.4
    A pack import of Medulla is a finding, never a bridge
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **A pack import of Medulla is a finding, never a bridge.** `owl:imports` joins modules only for Medulla-internal modules; an individual's type likewise bridges Medulla modules only. A pack that imports the Medulla catalog or any ontology a Medulla module declares gets `PACK_IMPORTS_CORE` with file and line. Islands come from class and property edges only. | `tests/hooks/test_ontology_graph_check.py::test_pack_import_of_eg_is_finding_and_not_a_bridge` asserts two components and one finding.
    requirementPIPE-GATESVERIFIED1e870800c5cb
    tests/hooks/test_ontology_graph_check.py:303
    PIPE-GATES-R016.5
    Every pack class rolls up to Medulla core
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Every pack class rolls up to Medulla core.** `NOT_ROLLED_UP_TO_CORE` flags a pack class whose `subClassOf`/`equivalentClass` chain never reaches a class declared in a Medulla module; reaching BFO or a pack-local root does not count. It replaces the pack side of `ORPHAN_CLASS`, which stays for Medulla modules. | `tests/hooks/test_ontology_graph_check.py::test_rollup_requires_eg_class_not_bfo_or_pack_root` asserts the flagged set and no pack `ORPHAN_CLASS`.
    requirementPIPE-GATESVERIFIED1e870800c5cb
    tests/hooks/test_ontology_graph_check.py:315
    PIPE-GATES-R016.6
    `connector-ontology-map fix` drops imports and stops redeclaration (R1, R2)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **`connector-ontology-map fix` drops imports and stops redeclaration (R1, R2).** The subcommand works on one pack dir (`--pack`, applies unless `--dry-run`) or the fleet (`--fleet`, dry-run only) and patches `.ttl` files only. R1 removes the pack's `owl:imports` of a Medulla ontology. R2 removes a pack's `subClassOf`, label and comment triples for an IRI that Medulla also declares and keeps other pack triples. A rewritten file keeps the prefixes the file declares (a `schema:` prefix stays `schema:`), and the codemod writes no `.ttl` file unless every changed file re-parses as Turtle; otherwise it writes nothing and exits non-zero. | `tests/hooks/test_ontology_codemod.py::test_r1_drops_only_the_eg_import`, `::test_r2_removes_redeclared_parent_label_comment_keeps_rest`, `::test_drop_triples_keeps_schema_org_prefix_and_reparses` and `::test_codemod_refuses_to_write_a_file_that_does_not_reparse`.
    requirementPIPE-GATESVERIFIED1e870800c5cb
    6f525f99c1b7
    ac14690526b3
    tests/hooks/test_ontology_codemod.py:235
    tests/hooks/test_ontology_codemod.py:247
    tests/hooks/test_ontology_codemod.py:79
    tests/hooks/test_ontology_codemod.py:86
    PIPE-GATES-R016.7
    Roll-up is mechanical, the residue is reviewed (R3, R4, R5)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Roll-up is mechanical, the residue is reviewed (R3, R4, R5).** R3 adds `subClassOf` to the one Medulla class matching a pack class by name, label or `skos:altLabel` (case-insensitive, singularized); an alias shared by two Medulla classes is ambiguous and goes to review. R4 applies the checked-in override table (`ontology_codemod_overrides.json`), which maps pack-local classes onto the Medulla domain-module classes where one fits; a null or non-Medulla target goes to review. R5 only proposes a head-noun parent into the review queue. | `tests/hooks/test_ontology_codemod.py::test_r3_exact_name_singularized_and_r4_override_and_r5_proposal`, `::test_r3_matches_eg_alt_label_and_sends_shared_alias_to_review` and `::test_overrides_map_the_domain_module_classes`.
    requirementPIPE-GATESVERIFIED1e870800c5cb
    6f525f99c1b7
    tests/hooks/test_ontology_codemod.py:186
    tests/hooks/test_ontology_codemod.py:205
    tests/hooks/test_ontology_codemod.py:96
    PIPE-GATES-R016.8
    Mappings and dangling references never invent classes (R6, R7)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Mappings and dangling references never invent classes (R6, R7).** R6 reports a null `ontology_class` whose type name resolves to a declared class, or has none, in the review queue and patches no manifest. R7 rewrites an undeclared IRI to the single declared class or property with the same normalized name and queues the rest. | `tests/hooks/test_ontology_codemod.py::test_r6_report_only_never_patches_manifest` and `::test_r7_rewrites_unique_match_and_queues_the_rest`.
    requirementPIPE-GATESVERIFIED1e870800c5cb
    tests/hooks/test_ontology_codemod.py:113
    tests/hooks/test_ontology_codemod.py:121
    PIPE-GATES-R016.9
    Untyped properties and the run contract (R8)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Untyped properties and the run contract (R8).** R8 adds a missing domain or range from SHACL shapes and manifest relations only when exactly one candidate exists. Every decision is taken on the original composed graph, so the run is idempotent and independent of input order. The output is per-repo patches, `summary.json` (files and rule counts per repo, findings before and after from a re-run over the patched sources) and `review-queue.json` grouped by repo and rule; `ISOLATED_CLASS` is listed, never fixed. | `tests/hooks/test_ontology_codemod.py::test_r8_infers_only_a_single_candidate`, `::test_idempotent_deterministic_and_projection` and `::test_cli_dry_run_writes_patch_summary_and_queue`.
    requirementPIPE-GATESVERIFIED1e870800c5cb
    tests/hooks/test_ontology_codemod.py:134
    tests/hooks/test_ontology_codemod.py:144
    tests/hooks/test_ontology_codemod.py:157
    PIPE-GATES-R016.10
    Declarations from the retired files (migrate a)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Declarations from the retired files (migrate a).** `connector-ontology-map migrate` writes `<pkg>/connector_sources.py` from the manifest, presets and ingest sources by a fixed template: sorted keys, one `source_meta(tool=...)` per tool (a preset and an ingest source on the same tool merge; the ingest id wins), schema mappings and resources as data. No tool function is edited. A source with no tool, id field or valid id is a blocking review item and nothing is written. | `tests/hooks/test_connector_migrate.py::test_declarations_are_generated_sorted_and_loadable`, `::test_record_type_rule_prefers_tool_noun_then_doc_type` and `::test_unresolvable_preset_is_a_blocking_review_item`.
    requirementPIPE-GATESVERIFIED64c83743091d
    tests/hooks/test_connector_migrate.py:128
    tests/hooks/test_connector_migrate.py:145
    tests/hooks/test_connector_migrate.py:152
    PIPE-GATES-R016.11
    Cut files and packaging (migrate b)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Cut files and packaging (migrate b).** The five cut files and their `pyproject` package-data and `MANIFEST.in` entries are deleted; the certification digests of them are dropped. | `tests/hooks/test_connector_migrate.py::test_cut_files_and_packaging_entries_are_removed` and `::test_manifest_schema_mapping_reads_are_redirected_and_certification_digests_dropped`.
    requirementPIPE-GATESVERIFIED072841d0fc31
    tests/hooks/test_connector_migrate.py:163
    tests/hooks/test_connector_migrate.py:261
    PIPE-GATES-R016.12
    Prompts (migrate c)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Prompts (migrate c).** `extends` and `compose` lines are removed from `prompts/*.json`, keeping the file format; a file that does not strip cleanly is a review item. | `tests/hooks/test_connector_migrate.py::test_prompt_extends_and_compose_are_stripped_keeping_format`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_migrate.py:175
    tests/hooks/test_connector_migrate.py:176
    PIPE-GATES-R016.13
    Scion SDK floor and version (migrate e)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Scion SDK floor and version (migrate e).** Every Scion SDK floor below 0.4.1 becomes `>=0.4.1` and the patch version is bumped through the repo's `.bumpversion.cfg` file list; a floor already at 0.4.0 changes nothing. `uv.lock` is refreshed. | `tests/hooks/test_connector_migrate.py::test_sdk_floor_and_patch_bump_follow_the_repo_bump_config` and `::test_floor_already_at_or_above_leaves_version_alone`.
    requirementPIPE-GATESVERIFIEDe51a658f9189
    tests/hooks/test_connector_migrate.py:185
    tests/hooks/test_connector_migrate.py:195
    PIPE-GATES-R016.14
    Tests (migrate f)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Tests (migrate f).** Tests that read the cut files are rewritten by fixed rules (ingest-source and schema-mapping reads go to the generated module) or deleted (manifest, fingerprint and preset tests); every other match goes to the review list unedited. | `tests/hooks/test_connector_migrate.py::test_tests_are_redirected_or_deleted_by_fixed_rules`, `::test_unmatched_test_goes_to_review_unedited` and `::test_mapping_item_access_follows_the_declaration_model` and `::test_connector_name_read_from_the_manifest_uses_the_entry_point_identity` and `::test_scaffolded_parent_import_assertion_is_dropped_because_r1_removes_the_import` (the scaffolded parent-link test no longer asserts the Medulla import that R1 removes).
    requirementPIPE-GATESVERIFIED64c83743091d
    65d2cf8bb640
    fbcdac36c764
    tests/hooks/test_connector_migrate.py:204
    tests/hooks/test_connector_migrate.py:216
    tests/hooks/test_connector_migrate.py:262
    tests/hooks/test_connector_migrate.py:286
    tests/hooks/test_connector_migrate.py:298
    PIPE-GATES-R016.15
    Idempotent hard cutover
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Idempotent hard cutover.** A second run changes nothing and equal inputs give equal output. Any tracked file still naming a cut file is a blocking review item; the exit code is 2 when any blocking item exists. | `tests/hooks/test_connector_migrate.py::test_second_run_is_a_no_op_and_output_is_deterministic`, `::test_leftover_reference_to_a_cut_file_is_blocking` and `::test_cli_writes_the_report_and_exit_code_follows_blocking_items`.
    requirementPIPE-GATESVERIFIED569c0031884d
    tests/hooks/test_connector_migrate.py:227
    tests/hooks/test_connector_migrate.py:240
    tests/hooks/test_connector_migrate.py:249
    PIPE-GATES-R016.16
    Batch driver and verify
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Batch driver and verify.** `scripts/connector_migrate_batch.py` runs worktree, migrate, commit, verify, push, PR, `gates` and squash-merge per repo, 4 in flight at most, with a resumable JSON ledger and `review.json`; `scripts/connector_verify.py` starts the server over stdio and checks `connector://resources`, `ontology://` and `shapes://` and that no `manifest://` alias is served. A test that reads the connector name from the manifest is rewritten to `connector_name()` of the entry-point identity. | `tests/hooks/test_connector_migrate.py``::test_driver_dry_run_migrates_commits_verifies_and_records_the_ledger` and `::test_driver_failure_stops_that_repo_and_lands_in_the_ledger` run the driver on a fixture repo with the external commands stubbed; `::test_driver_applies_a_reviewed_per_repo_patch_after_migrate` covers the reviewed one-off `scripts/connector_migrate_patches/<repo>.patch`, applied after migrate and never a codemod rule.
    requirementPIPE-GATESVERIFIED10797d760f22
    3c9520af33c8
    64c83743091d
    6feb14333fd2
    7a345cc4295e
    tests/hooks/test_connector_migrate.py:1158
    tests/hooks/test_connector_migrate.py:372
    tests/hooks/test_connector_migrate.py:387
    tests/hooks/test_connector_migrate.py:401
    tests/hooks/test_connector_migrate.py:408
    PIPE-GATES-R016.17
    Docs (migrate g)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Docs (migrate g).** In README and docs (`.md`, `.rst`), a line or table row that only names a cut file (a bare bullet, a tree entry with an optional comment, a table row whose first cell is the file) is removed; any other mention stays and is a non-blocking review item. | `tests/hooks/test_connector_migrate.py::test_docs_lines_that_only_name_a_cut_file_are_removed_and_ambiguous_ones_stay` and `::test_migrate_edits_docs_and_leaves_ambiguous_mentions_as_non_blocking_review`.
    requirementPIPE-GATESVERIFIEDe51a658f9189
    tests/hooks/test_connector_migrate.py:466
    tests/hooks/test_connector_migrate.py:476
    PIPE-GATES-R016.18
    Re-bump of a migrated repo
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Re-bump of a migrated repo.** `migrate --rebump` (driver `--rebump`) raises the Scion SDK floor, bumps the patch version through `.bumpversion.cfg` and refreshes the lock, and changes nothing else; a second run changes nothing. | `tests/hooks/test_connector_migrate.py::test_rebump_raises_the_floor_bumps_the_patch_and_touches_nothing_else`.
    requirementPIPE-GATESVERIFIEDe51a658f9189
    tests/hooks/test_connector_migrate.py:486
    tests/hooks/test_connector_migrate.py:733
    PIPE-GATES-R016.19
    Reference strings (migrate f)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Reference strings (migrate f).** In tests, relation and mapping reference assertions follow the live layout: `resources/<C>/relations/<R>` becomes `relations/<C>/<R>`, an `endswith` of `relations/<R>` or `/relations/<R>` becomes `/<R>`, `schema_mappings/` becomes `mappings/`, `manifest:<name>#...` becomes `connector:<name>#...`, `rsplit("/relations/", 1)` becomes `rsplit("/", 1)`, and an Scion SDK floor literal below 0.4.1 becomes 0.4.1; the re-bump applies the same rewrite. | `tests/hooks/test_connector_migrate.py::test_reference_strings_follow_the_live_layout_and_sdk_literals_follow_the_floor` and `::test_rebump_also_points_reference_assertions_at_the_live_layout`.
    requirementPIPE-GATESVERIFIED25a9ac7195f6
    2cf12e1a110e
    tests/hooks/test_connector_migrate.py:562
    PIPE-GATES-R016.20
    Cut reads in tests (migrate f)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Cut reads in tests (migrate f).** The fleet-name test, with or without the `manifest_path` fallback, asserts `connector_name("<pkg>")` and drops the fingerprint block; a bare string item naming a cut file is removed; a test function that reads a cut file or `manifest://` is deleted whole with its spec ids reported (non-blocking), and a test file left without tests is deleted. | `tests/hooks/test_connector_migrate.py::test_fleet_name_test_with_manifest_path_fallback_reads_connector_name_instead`, `::test_list_items_naming_cut_files_and_test_functions_reading_them_are_deleted` and `::test_migrate_deletes_cut_tests_and_files_left_without_tests`.
    requirementPIPE-GATESVERIFIEDabd6a72f11b7
    tests/hooks/test_connector_migrate.py:537
    tests/hooks/test_connector_migrate.py:622
    tests/hooks/test_connector_migrate.py:633
    PIPE-GATES-R016.21
    Source prose and wiring (migrate g)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Source prose and wiring (migrate g).** Docstring, comment and `.ttl` comment mentions of a cut file name `<pkg>.connector_sources`; a `connectors/__init__.py` that is only a docstring gets the fixed docstring; the `manifest_path=` keyword of `ConnectorContent` is removed. | `tests/hooks/test_connector_migrate.py::test_prose_mentions_the_connectors_init_and_manifest_path_follow_the_generated_module`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_migrate.py:644
    tests/hooks/test_connector_migrate.py:645
    PIPE-GATES-R016.22
    Packaging and generator scripts (migrate b)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Packaging and generator scripts (migrate b).** The `source_connector_providers` entry point and comment blocks naming a cut file leave `pyproject.toml`; cut names leave hook `exclude` patterns; `scripts/generate_tool_schemas.py` and `compute_tool_fingerprints.py` (when they name a cut file), the scripts that only drive them, their pre-commit hooks and `<pkg>/connectors/adapters.py` are deleted, and tests importing a deleted module are deleted. | `tests/hooks/test_connector_migrate.py::test_provider_entry_point_hook_alternatives_scripts_and_adapters_go`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_migrate.py:660
    tests/hooks/test_connector_migrate.py:661
    PIPE-GATES-R016.23
    Certification and version targets (migrate b, e)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Certification and version targets (migrate b, e).** `ontology/certification.json` is rewritten in canonical format with the cut digests dropped, whatever its previous format; a version-bump target that does not contain the version string is skipped with a non-blocking review item. | `tests/hooks/test_connector_migrate.py::test_certification_is_canonicalized_then_stripped_and_missing_bump_targets_are_skipped`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_migrate.py:695
    tests/hooks/test_connector_migrate.py:696
    PIPE-GATES-R016.24
    Action tools and list values (migrate a)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Action tools and list values (migrate a).** Without a served-tool list a preset that calls its tool with an `action` is a non-blocking review item (see R016.27); list values inside a source declaration are written as JSON lists, never tuples. | `tests/hooks/test_connector_migrate.py::test_an_action_preset_is_reported_and_lists_in_presets_stay_json_lists`.
    requirementPIPE-GATESVERIFIEDac8d6790d275
    tests/hooks/test_connector_migrate.py:713
    PIPE-GATES-R016.25
    Driver isolation and sync
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Driver isolation and sync.** Each repo gets its own `PRE_COMMIT_HOME`; a re-run of a failed repo starts from a clean `origin/main` worktree; the environment is synced again after migrate so the verify run uses the raised Scion SDK; when `--all-extras` cannot build, sync uses the `sync-args` of the repo's own `connector-pr.yml`. | `tests/hooks/test_connector_migrate.py::test_driver_sync_falls_back_to_the_pr_gate_extras_and_each_repo_gets_its_own_pre_commit_home`, `::test_driver_retry_starts_clean_and_resyncs_after_migrate_with_per_repo_envs`.
    requirementPIPE-GATESVERIFIED1abb4303df99
    tests/hooks/test_connector_migrate.py:744
    tests/hooks/test_connector_migrate.py:773
    PIPE-GATES-R016.26
    Typed module and test rules
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Typed module and test rules.** The generated `connector_sources.py` is fully type-annotated and already ruff-formatted (`SOURCES`, `SCHEMA_MAPPINGS`, `RESOURCES`, `specs`), so strict mypy and the formatter hook leave it unchanged. Tests: `assert HUB_IRI in imports` is dropped with the hub import; a `>=X.Y.Z` literal on a line naming the Scion SDK is raised to the floor; a test function naming `source_connector_providers` is deleted with its spec ids reported. The leftover scan skips the frozen `validation/` evidence directory, and verify requires `shapes://` only when `ontology/shapes/*.ttl` exists. | `tests/hooks/test_connector_migrate.py::test_generated_module_is_fully_typed_and_test_rules_follow_the_live_layout` and `::test_validation_evidence_is_not_a_leftover_and_verify_needs_shapes_only_with_shape_files`.
    requirementPIPE-GATESVERIFIED16df550a8c49
    9667f5c5649c
    tests/hooks/test_connector_migrate.py:863
    tests/hooks/test_connector_migrate.py:884
    PIPE-GATES-R016.27
    Action tools resolved from the served tool list
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Action tools resolved from the served tool list.** The driver lists the tools the connector serves over stdio before migrate (`connector_served_tools.py`, `--served-tools`). A preset with an `action` becomes the one served tool named `<tool prefix>_<action>[_<rest of tool>]`, `<tool>_<action>` or `<server stem>_<action>[_<tool>]` and drops the `action` argument; zero or several candidates are a blocking review item, never a guess. | `tests/hooks/test_connector_migrate.py::test_an_action_preset_resolves_to_the_one_served_split_tool_else_is_a_blocking_review_item`.
    requirementPIPE-GATESVERIFIED16df550a8c49
    aaf473b4312d
    tests/hooks/test_connector_migrate.py:896
    tests/hooks/test_connector_migrate.py:984
    PIPE-GATES-R016.28
    Changelog entry
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Changelog entry.** A `CHANGELOG.md` with `## [x]` headings gets one fixed entry for the bumped version (Scion SDK floor and declared sources), once; release-version tests pin it. | `tests/hooks/test_connector_migrate.py::test_changelog_gets_one_fixed_entry_for_the_bumped_version`.
    requirementPIPE-GATESVERIFIED16df550a8c49
    tests/hooks/test_connector_migrate.py:574
    tests/hooks/test_connector_migrate.py:923
    PIPE-GATES-R016.29
    Driver commit loop and reviewed patches
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Driver commit loop and reviewed patches.** The commit hooks format the allowlist; a failed commit whose hooks changed the tree is re-staged and retried while each attempt changes something (at most 4, a no-change failure is final), runs with the synced venv first on `PATH` and an ignored missing `.env` created from `.env.example`; an earlier commit ahead of `origin/main` is kept, and nothing to stage with nothing ahead is a no-op recorded as merged only when the cut files are absent on `origin/main`. A pytest abort with `Fatal Python error: Illegal instruction` (host CPU lacks an instruction set a wheel needs) is recorded as `local_tests_skipped` and the PR gates run the tests. A reviewed `<repo>.pre.patch` applies before migrate (`<repo>.patch` still after), both with `git apply --recount` because the whitespace hooks trim blank context lines of a stored patch. | `tests/hooks/test_connector_migrate.py::test_commit_restages_after_a_formatter_hook_stops_when_nothing_changes_and_reports_noop`.
    requirementPIPE-GATESVERIFIED16df550a8c49
    27ead1c901f9
    aaf473b4312d
    tests/hooks/test_connector_migrate.py:947
    PIPE-GATES-R016.30
    Mapping reads in tests
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Mapping reads in tests.** `schema_mappings[<key>]["ontology_class"]` and `["fields"]` on the generated declaration become attribute reads (the declaration's mappings are models). | `tests/hooks/test_connector_migrate.py::test_mapping_subscripts_on_the_declaration_become_attribute_reads`.
    requirementPIPE-GATESVERIFIEDaaf473b4312d
    tests/hooks/test_connector_migrate.py:996
    PIPE-GATES-R016.31
    Scripts that drive a deleted script
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Scripts that drive a deleted script.** The scripts deleted with the cut generators are found to a fixed point (a driver sorting before the script it imports is deleted too) and by module stem as well as file name, so a test importing `from scripts import <deleted>` is deleted with the module-level import it cannot run. | `tests/hooks/test_connector_migrate.py::test_scripts_driving_a_deleted_script_go_to_a_fixed_point_and_tests_importing_them_are_deleted`.
    requirementPIPE-GATESVERIFIED12a4ba5cbca4
    tests/hooks/test_connector_migrate.py:1008
    PIPE-GATES-R016.32
    Prompt key assertions
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Prompt key assertions.** `assert x["extends"] == ...`, `assert x["compose"] == ...` and `assert "extends" in x` are dropped from tests, because the prompt no longer carries the stripped keys. | `tests/hooks/test_connector_migrate.py::test_assertions_on_the_stripped_prompt_keys_are_dropped`.
    requirementPIPE-GATESVERIFIED12a4ba5cbca4
    tests/hooks/test_connector_migrate.py:1032
    PIPE-GATES-R016.33
    Package name from `pyproject.toml`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Package name from `pyproject.toml`.** The startup-test form that derives the package from the checkout directory name (`.parent.parent.name.replace("-", "_")`) reads `[project].name` instead, so it passes in any worktree directory. | `tests/hooks/test_connector_migrate.py::test_a_startup_test_reads_the_package_name_from_pyproject_not_the_checkout_directory`.
    requirementPIPE-GATESVERIFIED12a4ba5cbca4
    tests/hooks/test_connector_migrate.py:1044
    PIPE-GATES-R016.34
    Empty-source module and file endings
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Empty-source module and file endings.** A connector declaring no source gets `SOURCES: tuple[Any, ...] = ()` and no `source_meta` import (the formatter and ruff leave it unchanged); a test file left by deleting cut tests ends with exactly one newline. | `tests/hooks/test_connector_migrate.py::test_a_connector_without_sources_renders_an_import_free_empty_tuple_and_cut_tests_leave_no_trailing_blank_lines`.
    requirementPIPE-GATESVERIFIED12a4ba5cbca4
    tests/hooks/test_connector_migrate.py:1070
    PIPE-GATES-R016.35
    Hooks a connector's own workflow covers
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Hooks a connector's own workflow covers.** `connector_pr_pipeline.yml` takes a `skip-hooks` input (default `docker-compose-check`); a connector whose hook cannot run on a hosted runner passes it there. The hosted PR gate installs the pinned dupehound itself (R016.40). The reviewed `webarchiver.patch` skips `scanner-versions`. | `tests/test_connector_release_pipeline.py::test_connector_pr_workflow_forwards_skip_hooks_and_the_webarchiver_patch_skips_the_scanner_hook`.
    requirementPIPE-GATESVERIFIED12a4ba5cbca4
    tests/test_connector_release_pipeline.py:100
    PIPE-GATES-R016.36
    Entity ids are validated strings
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Entity ids are validated strings.** In package source, `Entity(id=r.get("id"), node_type=r.get("node_type"), ...)` (typed `Any \| None`, while Scion SDK 0.4 requires `str`) reads both through one `_required_text` helper that raises `ValueError` for a missing or empty value; the comment saying validation is left to the Scion SDK goes with it. | `tests/hooks/test_connector_migrate.py::test_entity_ids_read_with_get_become_validated_strings`.
    requirementPIPE-GATESVERIFIED2e3dfbb4af02
    9a1fb34a84ee
    tests/hooks/test_connector_migrate.py:1091
    PIPE-GATES-R016.37
    Provider entry point under either group
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Provider entry point under either group.** The source-provider entry-point table is dropped whether it sits under `agent_connector_sdk.` or `agent_utilities.source_connector_providers`. | `tests/hooks/test_connector_migrate.py::test_the_source_provider_entry_point_is_dropped_under_either_group`.
    requirementPIPE-GATESVERIFIED9a1fb34a84ee
    tests/hooks/test_connector_migrate.py:1117
    PIPE-GATES-R016.38
    Illegal-instruction detection
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Illegal-instruction detection.** The driver looks for the `Fatal Python error: Illegal instruction` header in the full pytest output, not in the 2000-character tail kept in the ledger, so a crash dump that pushes the header out of the tail is still recorded as `local_tests_skipped`. | `tests/hooks/test_connector_migrate.py::test_an_illegal_instruction_abort_is_found_in_the_full_output_not_the_cut_tail`.
    requirementPIPE-GATESVERIFIED9a1fb34a84ee
    tests/hooks/test_connector_migrate.py:1128
    PIPE-GATES-R016.39
    Ontology artifacts are generated at release, not committed
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ontology artifacts are generated at release, not committed.** `pipelines-connector generate` writes `<pkg>/ontology/shapes/connector.shacl.ttl` (one `<Class>GovernanceShape` per `:Class a owl:Class` of `<pkg>/ontology/<ontology_source>.ttl`, sorted, or `[tool.pipelines.ontology] shape_classes`) and `<pkg>/ontology/certification.json` (SHA-256 digests of the committed artifacts and the generated shapes, fixed compatibility, `validated_at` from `SOURCE_DATE_EPOCH` or the last commit time) into the build tree; the same inputs give the same bytes. `python_pipeline.yml` takes `connector` and runs it before the wheel is built; `connector-files` fails a tracked copy of either file. | `tests/hooks/test_connector_central.py::test_generate_is_deterministic_and_derives_shapes_from_declared_classes`, `::test_generate_honours_the_shape_classes_override_and_refuses_a_missing_source` and `::test_python_release_workflow_generates_before_the_build`.
    requirementPIPE-GATESVERIFIED5ff231c270b1
    tests/hooks/test_connector_central.py:388
    tests/hooks/test_connector_central.py:408
    tests/hooks/test_connector_central.py:419
    PIPE-GATES-R016.40
    The connector PR gate runs dupehound
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **The connector PR gate runs dupehound.** `connector_pr_pipeline.yml` passes `scanners: dupehound` to `gates_pipeline.yml`, which builds the pinned dupehound with `scripts/install_scanners.sh <root> dupehound` (cached on the installer) and puts it on PATH before the hooks, so `dupehound-changed` runs instead of failing closed. The installer builds and prints only the named scanners; with none named it installs all four. | `tests/hooks/test_connector_central.py::test_connector_pr_workflow_builds_the_pinned_dupehound_instead_of_skipping_it` and `::test_scanner_installer_installs_only_the_named_scanners`.
    requirementPIPE-GATESVERIFIED5ff231c270b1
    tests/hooks/test_connector_central.py:491
    tests/hooks/test_connector_central.py:520
    PIPE-GATES-R016.41
    The repo-local version hook leaves the connector (migrate e)
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **The repo-local version hook leaves the connector (migrate e).** The migrate codemod removes the `check-bumpversion` hook from `.pre-commit-config.yaml`, because `pipelines-connector version` owns the version and the PR runner has no `bump2version`; the other hooks stay, and the version bump through `.bumpversion.cfg` is unchanged until the central-config pass removes that file. A second run changes nothing. | `tests/hooks/test_connector_migrate.py::test_repo_local_check_bumpversion_hook_is_removed_and_the_rest_stays`.
    requirementPIPE-GATESVERIFIED8ac2fce8e6c1
    tests/hooks/test_connector_migrate.py:1137
    PIPE-GATES-R016.42
    The connector PR gate installs the identity catalog from the caller's variable
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **The connector PR gate installs the identity catalog from the caller's variable.** `connector_pr_pipeline.yml`'s setup command writes the caller's `PROHIBITED_IDENTITY_CATALOG` Actions variable (passed to the setup step by `gates_pipeline.yml`) to `~/.config/agent-utilities/governance/prohibited-identities.json` before the project sync, the way the core repositories' CI does. The `tracked-privacy` member of the `secrets` hook stays fail-closed: a caller without the variable fails with `CANNOT RUN`, and no skip is offered. | `tests/hooks/test_connector_central.py::test_connector_pr_workflow_installs_the_identity_catalog_from_the_callers_variable_and_stays_fail_closed`.
    requirementPIPE-GATESVERIFIED89e96300d187
    tests/hooks/test_connector_central.py:505
    PIPE-GATES-R016.43
    Home paths are case-sensitive path segments
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Home paths are case-sensitive path segments.** `tracked-privacy` flags `/home/<name>/` and `/Users/<name>/` (and `/mnt/<drive>/Users/<name>/`) only with that exact case, and Windows drive paths (`C:\Users\<name>`) in any case; a lowercase `/users/me/` API route is not a home path. A stand-in account from the documented list still passes. | `tests/hooks/test_privacy.py::test_privacy_ignores_a_lowercase_users_api_route` and `::test_privacy_still_fires_on_real_home_paths`.
    requirementPIPE-GATESVERIFIEDa40c555e675c
    tests/hooks/test_privacy.py:32
    tests/hooks/test_privacy.py:38
    PIPE-GATES-R016.44
    The connector repository set is the workspace manifest's `agents` group intersected with the non-archived GitHub repositories
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **The connector repository set is the workspace manifest's `agents` group intersected with the non-archived GitHub repositories.** The batch driver and the census build their repository list from `workspace.yml` and `gh repo list --no-archived`; local checkout directories are never the source, an archived or unlisted repository is excluded, and an explicit repository list is filtered the same way. | `tests/hooks/test_connector_central_fleet.py::test_the_set_is_the_agents_group_of_the_manifest` and `::test_an_archived_repository_is_excluded_and_an_unlisted_local_checkout_never_enters`.
    requirementPIPE-GATESVERIFIED313d63c9dbce
    7b82e010533f
    tests/hooks/test_connector_central_fleet.py:32
    tests/hooks/test_connector_central_fleet.py:37
    PIPE-GATES-R016.50
    Wave 1 (Scion SDK 0.5) rule `w1.g1`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.g1`.** `connector-ontology-map migrate --central`: entry point value names `<pkg>:connector`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_order_lists_every_wave1_rule_and_all_are_registered`, `::test_g1_entry_point_names_the_connector_value`, `::test_g1_tests_asserting_the_entry_point_table_follow_the_connector_value`, `::test_g1_unmatched_value_goes_to_review_and_unreviewed_bootstrap_is_untouched`.
    requirementPIPE-GATESVERIFIED16bb950f6cf8
    8e8272f805dd
    tests/hooks/test_connector_central_wave1.py:276
    tests/hooks/test_connector_central_wave1.py:284
    tests/hooks/test_connector_central_wave1.py:294
    tests/hooks/test_connector_central_wave1.py:311
    PIPE-GATES-R016.51
    Wave 1 (Scion SDK 0.5) rule `w1.g2`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.g2`.** `connector-ontology-map migrate --central`: console script becomes `agent_connector_sdk.cli:serve`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_g2_console_script_becomes_serve`, `::test_g2_unknown_script_value_is_reviewed`.
    requirementPIPE-GATESVERIFIED30ef5ecba1fc
    39e835a22c93
    tests/hooks/test_connector_central_wave1.py:1521
    tests/hooks/test_connector_central_wave1.py:326
    tests/hooks/test_connector_central_wave1.py:336
    PIPE-GATES-R016.52
    Wave 1 (Scion SDK 0.5) rule `w1.g3`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.g3`.** `connector-ontology-map migrate --central`: `mcp_server.py` bootstrap is deleted and its values extracted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_g3_clusters.py::test_dispatch_with_a_stdio_fallback_else_is_the_sdk_run_loop`, `::test_dispatch_with_extra_stderr_banner_lines_and_an_error_exit`, `::test_dispatch_serving_a_subset_declares_the_transports`, `::test_dispatch_that_changes_what_a_transport_does_is_refused`, `::test_tools_module_imported_from_the_package_becomes_a_dotted_tools_value`, `::test_tools_module_that_is_not_a_package_module_is_refused`, `::test_surface_without_client_declares_no_api`, `::test_verbose_targets_computed_from_the_configuration_is_refused`, `::test_verbose_targets_from_a_function_that_reads_nothing_moves_to_import_time`, `::test_computed_client_class_stays_in_review`, `::test_registrars_become_discovery_of_the_module_namespace`, `::test_registrars_with_another_register_function_in_the_module_are_refused`, `::test_literal_tool_registry_with_derived_tags_is_expressed_as_discovery`, `::test_imported_tool_registry_with_derived_tags_names_that_module`, `::test_manifest_becomes_the_first_verbose_target`, `::test_manifest_keeps_the_given_verbose_targets_after_the_main_client`, `::test_logging_that_reads_anything_else_stays_in_review`, `::test_inert_openapi_import_block_and_its_dead_lists_are_deleted`, `::test_openapi_block_under_a_different_condition_stays_in_review`, `::test_constant_health_payload_with_headers_is_deleted`, `::test_hand_built_server_names_the_registration_context_adapter_to_write`, `::test_comment_mentioning_get_mcp_instance_in_another_module_does_not_block`, `::test_code_using_get_mcp_instance_in_another_module_still_blocks`, `::test_imported_function_called_with_the_server_gets_a_registration_context_adapter`, `::test_server_and_args_must_come_first_in_the_returned_tuple`, `::test_omitted_tools_module_is_not_defaulted_to_mcp_server`, `::test_omitted_tools_module_with_a_package_tools_module_is_refused`, `::test_g3_accepts_forwarded_command_args_and_delegates_the_build_server_wrapper`, `::test_g3_refuses_a_wrapper_that_does_more_than_return_the_server`, `::test_options_dispatch_is_the_sdk_run_loop`, `::test_instructions_variable_and_argv_isolation_are_the_sdk_defaults`, `::test_bootstrap_in_a_second_module_is_extracted_and_the_wrapper_loses_the_reexport`, `::test_g3_deletes_a_main_guard_that_skips_under_pytest`, `::test_tool_registry_with_a_hyphenated_tag_becomes_connector_tool_registry`, `::test_literal_registry_written_in_the_bootstrap_is_inlined`, `::test_imported_registry_with_underived_tags_becomes_a_tuple_of_the_import`, `::test_registry_that_is_not_a_literal_stays_refused`, `::test_register_split_action_tools_becomes_action_tools_and_prefixes`, `::test_action_split_module_stays_when_a_test_still_imports_it`, `::test_serve_action_tools_in_a_tags_guard_and_a_surface_free_bootstrap`, `::test_action_registration_without_a_tool_surface_declares_no_client`, `::test_action_registration_from_outside_the_package_is_refused`, `::test_inline_tools_are_hoisted_and_declared`, `::test_inline_tool_that_reads_the_server_is_refused`, `::test_inline_tool_calling_another_inline_tool_is_refused`, `::test_health_route_that_probes_the_backend_becomes_readiness`, `::test_ready_route_becomes_readiness_beside_the_plain_health_route`, `::test_two_backend_probes_are_refused`, `::test_other_custom_route_becomes_a_declared_route`, `::test_route_with_other_custom_route_keywords_is_refused`, `::test_local_one_parameter_registration_takes_the_registration_context`, `::test_local_registration_function_used_elsewhere_gets_an_adapter_instead`, `::test_calls_with_other_arguments_become_one_register_extras`, `::test_extra_call_reading_a_bootstrap_local_is_refused`, `::test_registration_before_the_tool_surface_is_refused`, `::test_content_that_restates_the_convention_is_dropped`, `::test_content_under_a_subdirectory_becomes_content_root`, `::test_content_under_another_connector_name_is_noted_for_review`, `::test_content_that_is_not_the_package_directory_is_refused`, `::test_discovered_registrars_stay_listed_so_the_unused_import_tidy_keeps_them`, `tests/hooks/test_connector_central_wave1.py::test_g3_bootstrap_is_deleted_and_only_its_imports_are_pruned`, `tests/hooks/test_connector_central_wave1.py::test_g3_registration_beyond_the_plain_surface_goes_to_review_untouched`, `tests/hooks/test_connector_central_wave1.py::test_g3_known_os_environ_lines_are_dropped_with_a_non_blocking_note`, `tests/hooks/test_connector_central_wave1.py::test_g3_any_other_os_environ_key_or_value_stays_blocking`, `tests/hooks/test_connector_central_wave1.py::test_g3_registered_tags_assignment_and_tags_banner_are_deleted_with_the_bootstrap`, `tests/hooks/test_connector_central_wave1.py::test_g3_registered_tags_used_outside_the_bootstrap_stays_blocking`, `tests/hooks/test_connector_central_wave1.py::test_g3_bare_local_function_call_becomes_extra_registrations_in_source_order`, `tests/hooks/test_connector_central_wave1.py::test_g3_bare_call_outside_the_allowed_set_stays_blocking`, `tests/hooks/test_connector_central_wave1.py::test_g3_bare_call_before_the_surface_registration_stays_blocking`, `tests/hooks/test_connector_central_wave1.py::test_g3_version_banner_goes_with_the_version_and_k1_no_longer_blocks`, `tests/hooks/test_connector_central_wave1.py::test_g3_version_banner_is_kept_when_the_version_is_read_elsewhere`, `tests/hooks/test_connector_central_wave1.py::test_g3_copies_surface_keywords_and_a_module_constant_instructions`, `tests/hooks/test_connector_central_wave1.py::test_g3_manifest_keyword_is_reviewed`.
    requirementPIPE-GATESVERIFIED56a34a613573
    cc72dc4172bc
    tests/hooks/test_connector_central_g3_clusters.py:1004
    tests/hooks/test_connector_central_g3_clusters.py:1020
    tests/hooks/test_connector_central_g3_clusters.py:1039
    tests/hooks/test_connector_central_g3_clusters.py:1060
    tests/hooks/test_connector_central_g3_clusters.py:1069
    PIPE-GATES-R016.53
    Wave 1 (Scion SDK 0.5) rule `w1.g4`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.g4`.** `connector-ontology-map migrate --central`: package `__init__.py` declares `connector = Connector(...)`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_g3_clusters.py::test_g4_deletes_the_tests_that_import_the_scaffold_helpers`, `::test_g4_keeps_the_scaffold_when_a_read_sits_outside_a_test`, `::test_g4_deletes_tests_that_read_the_package_through_the_scaffold`, `::test_g4_deletes_a_test_file_whose_every_test_is_scaffold_only`, `::test_g4_keeps_a_scaffold_only_file_that_another_file_imports`, `::test_g4_does_not_repeat_the_g3_reason_when_there_is_nothing_to_extract`, `tests/hooks/test_connector_central_wave1.py::test_g4_init_declares_the_connector`, `tests/hooks/test_connector_central_wave1.py::test_g4_without_an_extractable_bootstrap_is_reviewed`.
    requirementPIPE-GATESVERIFIED12874ccce7f9
    tests/hooks/test_connector_central_g3_clusters.py:538
    tests/hooks/test_connector_central_g3_clusters.py:557
    tests/hooks/test_connector_central_g3_clusters.py:573
    tests/hooks/test_connector_central_g3_clusters.py:594
    tests/hooks/test_connector_central_g3_clusters.py:612
    PIPE-GATES-R016.54
    Wave 1 (Scion SDK 0.5) rule `w1.g5`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.g5`.** `connector-ontology-map migrate --central`: `__main__.py` calls `run()`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_g3_clusters.py::test_g5_main_with_a_docstring_and_future_import_is_the_plain_entry`, `tests/hooks/test_connector_central_wave1.py::test_g5_main_calls_run`, `tests/hooks/test_connector_central_wave1.py::test_g5_main_that_runs_the_mcp_server_in_another_way_is_reviewed`, `tests/hooks/test_connector_central_wave1.py::test_g5_main_that_runs_the_package_cli_is_left_alone`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_g3_clusters.py:492
    tests/hooks/test_connector_central_g3_clusters.py:493
    tests/hooks/test_connector_central_wave1.py:628
    tests/hooks/test_connector_central_wave1.py:639
    tests/hooks/test_connector_central_wave1.py:649
    PIPE-GATES-R016.55
    Wave 1 (Scion SDK 0.5) rule `w1.g6`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.g6`.** `connector-ontology-map migrate --central`: the repo's own `/health` route is deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_g6_health_route_is_deleted_with_the_bootstrap`, `::test_g6_stray_health_route_elsewhere_is_reported`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_wave1.py:570
    tests/hooks/test_connector_central_wave1.py:571
    tests/hooks/test_connector_central_wave1.py:579
    PIPE-GATES-R016.56
    Wave 1 (Scion SDK 0.5) rule `w1.g7`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.g7`.** `connector-ontology-map migrate --central`: tests importing deleted bootstrap functions are deleted or reviewed. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_g7_test_calling_the_deleted_entry_point_is_deleted`, `::test_g7_three_tuple_unpack_becomes_build_server_in_a_function`, `::test_g7_args_are_kept_when_read_and_the_old_tags_slot_is_dropped`, `::test_g7_star_target_and_module_level_unpack`, `::test_g7_other_names_in_the_import_are_kept`, `::test_g7_test_reading_middlewares_is_deleted_with_a_non_blocking_item`, `::test_g7_patching_tests_are_deleted_one_by_one_and_unused_imports_pruned`, `::test_g7_class_loses_its_unexpressible_methods_and_goes_when_none_are_left`, `::test_g7_a_docstring_or_comment_naming_the_function_is_not_a_use`, `::test_g7_module_attribute_call_becomes_build_server_and_the_dead_import_goes`, `::test_g7_subscript_of_the_result_and_a_literal_argv_patch`, `::test_g7_other_uses_of_the_result_are_refused_untouched`, `::test_g7_orphaned_fixture_is_pruned_but_a_fixture_use_blocks`, `::test_g7_module_level_use_next_to_a_test_use_keeps_the_file_untouched`, `::test_g7_deleting_tests_is_idempotent`, `::test_g7_rewrite_is_idempotent_and_leaves_no_stale_import`, `::test_g7_with_k1_and_k4_a_package_version_assert_leaves_nothing_blocking`, `::test_g7_scaffold_test_is_left_to_rule_h`.
    requirementPIPE-GATESVERIFIED313d63c9dbce
    74ad5d0baab0
    tests/hooks/test_connector_central_wave1.py:670
    tests/hooks/test_connector_central_wave1.py:682
    tests/hooks/test_connector_central_wave1.py:694
    tests/hooks/test_connector_central_wave1.py:706
    tests/hooks/test_connector_central_wave1.py:719
    PIPE-GATES-R016.57
    Wave 1 (Scion SDK 0.5) rule `w1.h`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.h`.** `connector-ontology-map migrate --central`: scaffold tests and conftest env lines are deleted by fingerprint. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_h_scaffold_test_matching_a_fingerprint_is_deleted`, `::test_h_unmatched_file_is_left_and_reported_with_its_hash`, `::test_h_ontology_parent_link_with_pending_entries_is_reviewed`, `::test_h_conftest_env_line_only_file_is_deleted_and_fixture_conftest_keeps_its_fixtures`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_wave1.py:1325
    tests/hooks/test_connector_central_wave1.py:1326
    tests/hooks/test_connector_central_wave1.py:1338
    tests/hooks/test_connector_central_wave1.py:1350
    tests/hooks/test_connector_central_wave1.py:1369
    PIPE-GATES-R016.58
    Wave 1 (Scion SDK 0.5) rule `w1.k1`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.k1`.** `connector-ontology-map migrate --central`: `__version__` assignments are deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_fixes7b.py::test_k1_a_non_test_module_reading_the_version_through_an_alias_is_reviewed`, `tests/hooks/test_connector_central_i1_clusters.py::test_k1_in_module_readers_use_installed_metadata`, `tests/hooks/test_connector_central_i1_clusters.py::test_k1_reader_in_a_module_that_binds_the_alias_uses_another_alias`, `tests/hooks/test_connector_central_i1_clusters.py::test_k1_assigned_elsewhere_is_reviewed`, `tests/hooks/test_connector_central_i1_clusters.py::test_k1_import_of_version_with_author_and_credits`, `tests/hooks/test_connector_central_i1_clusters.py::test_k1_test_attribute_reads_use_installed_metadata`, `tests/hooks/test_connector_central_i1_clusters.py::test_k1_non_test_attribute_read_is_reviewed`, `tests/hooks/test_connector_central_i1_clusters.py::test_k1_test_reading_all_that_lists_version_is_reviewed`, `tests/hooks/test_connector_central_wave1.py::test_k1_version_assignments_are_deleted`, `tests/hooks/test_connector_central_wave1.py::test_k1_version_still_read_in_the_module_is_reviewed`, `tests/hooks/test_connector_central_wave1.py::test_k1_connector_importer_gets_metadata_version`, `tests/hooks/test_connector_central_wave1.py::test_k1_test_importer_with_other_use_is_reviewed`.
    requirementPIPE-GATESVERIFIEDefa9b98ace15
    tests/hooks/test_connector_central_fixes7b.py:34
    tests/hooks/test_connector_central_fixes7b.py:63
    tests/hooks/test_connector_central_i1_clusters.py:209
    tests/hooks/test_connector_central_i1_clusters.py:221
    tests/hooks/test_connector_central_i1_clusters.py:230
    PIPE-GATES-R016.59
    Wave 1 (Scion SDK 0.5) rule `w1.k2`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.k2`.** `connector-ontology-map migrate --central`: `.bumpversion.cfg` reduced (then deleted by n). A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_k2_bumpversion_reduced_to_pyproject_only`, `::test_k2_without_pyproject_section_is_reviewed`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_wave1.py:981
    tests/hooks/test_connector_central_wave1.py:982
    tests/hooks/test_connector_central_wave1.py:993
    PIPE-GATES-R016.60
    Wave 1 (Scion SDK 0.5) rule `w1.k3`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.k3`.** `connector-ontology-map migrate --central`: README package-version lines are deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_k3_readme_package_version_line_is_deleted`, `::test_k3_prose_mentions_are_left`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_wave1.py:1003
    tests/hooks/test_connector_central_wave1.py:1004
    tests/hooks/test_connector_central_wave1.py:1015
    PIPE-GATES-R016.61
    Wave 1 (Scion SDK 0.5) rule `w1.k4`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.k4`.** `connector-ontology-map migrate --central`: `__version__` assertions in tests are deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_fixes7b.py::test_k4_version_tests_left_with_only_dead_setup_are_deleted_and_noted`, `::test_k4_keeps_other_tests_and_drops_only_the_setup_that_fed_the_assertion`, `::test_k4_keeps_assignments_with_side_effects_or_later_reads`, `tests/hooks/test_connector_central_i1_clusters.py::test_k4_presence_checks_of_version_are_deleted`, `tests/hooks/test_connector_central_i1_clusters.py::test_k4_class_left_without_tests_is_deleted`, `tests/hooks/test_connector_central_wave1.py::test_k4_version_assertions_are_deleted`, `tests/hooks/test_connector_central_wave1.py::test_k4_other_comparisons_are_left`, `tests/hooks/test_connector_central_wave1.py::test_k4_not_none_and_bare_version_asserts_are_deleted`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_fixes7b.py:147
    tests/hooks/test_connector_central_fixes7b.py:148
    tests/hooks/test_connector_central_fixes7b.py:157
    tests/hooks/test_connector_central_fixes7b.py:171
    tests/hooks/test_connector_central_i1_clusters.py:316
    PIPE-GATES-R016.62
    Wave 1 (Scion SDK 0.5) rule `w1.i1`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.i1`.** `connector-ontology-map migrate --central`: `connector_sources.declaration()` is deleted and call sites use `load_declaration`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_i1_clusters.py::test_i1_typed_declaration_cluster_is_migrated`, `::test_i1_typed_declaration_without_docstring_is_migrated`, `::test_i1_typed_declaration_with_package_call_sites`, `::test_i1_nested_import_keeps_its_indentation`, `tests/hooks/test_connector_central_wave1.py::test_i1_declaration_is_deleted_and_call_sites_use_load_declaration`, `tests/hooks/test_connector_central_wave1.py::test_i1_module_attribute_and_connector_constant_users_are_rewritten`, `tests/hooks/test_connector_central_wave1.py::test_i1_modified_declaration_body_is_reviewed`, `tests/hooks/test_connector_central_wave1.py::test_i1_callable_passed_around_is_reviewed_untouched`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_i1_clusters.py:121
    tests/hooks/test_connector_central_i1_clusters.py:122
    tests/hooks/test_connector_central_i1_clusters.py:136
    tests/hooks/test_connector_central_i1_clusters.py:144
    tests/hooks/test_connector_central_i1_clusters.py:156
    PIPE-GATES-R016.63
    Wave 1 (Scion SDK 0.5) rule `w1.i2`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.i2`.** `connector-ontology-map migrate --central`: identical schema-mapping field dicts become `FIELD_SETS`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_i1_clusters.py::test_i1_then_i2_groups_the_shared_fields_of_an_annotated_module`, `tests/hooks/test_connector_central_wave1.py::test_i2_identical_field_dicts_become_field_sets`, `tests/hooks/test_connector_central_wave1.py::test_i2_without_repeated_dicts_or_literals_nothing_changes`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_i1_clusters.py:179
    tests/hooks/test_connector_central_i1_clusters.py:180
    tests/hooks/test_connector_central_wave1.py:1102
    tests/hooks/test_connector_central_wave1.py:1124
    PIPE-GATES-R016.64
    Wave 1 (Scion SDK 0.5) rule `w1.l1`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.l1`.** `connector-ontology-map migrate --central`: conventional provider entry-point tables are deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_l1_conventional_provider_tables_and_their_comment_are_deleted`, `::test_l1_non_conventional_value_stays_and_is_reviewed`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_wave1.py:1141
    tests/hooks/test_connector_central_wave1.py:1142
    tests/hooks/test_connector_central_wave1.py:1153
    PIPE-GATES-R016.65
    Wave 1 (Scion SDK 0.5) rule `w1.l2`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.l2`.** `connector-ontology-map migrate --central`: empty content `__init__.py` markers are deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_l2_empty_marker_deleted_when_package_data_covers_the_content`, `::test_l2_missing_package_data_glob_is_added`, `::test_l2_non_empty_marker_is_kept`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_wave1.py:1166
    tests/hooks/test_connector_central_wave1.py:1174
    tests/hooks/test_connector_central_wave1.py:1186
    PIPE-GATES-R016.66
    Wave 1 (Scion SDK 0.5) rule `w1.l3`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.l3`.** `connector-ontology-map migrate --central`: the lazy-import scaffold is deleted from `__init__.py`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_wave1.py::test_l3_tests_asserting_the_deleted_scaffold_are_deleted`, `::test_l3_scaffold_is_deleted_with_the_connector_and_test_imports_follow`, `::test_l3_unresolvable_name_keeps_the_scaffold_and_is_reviewed`, `::test_l3_scaffold_with_extra_code_is_not_deleted`, `::test_l3_scaffold_survives_when_the_bootstrap_was_not_migrated`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_wave1.py:1196
    tests/hooks/test_connector_central_wave1.py:1197
    tests/hooks/test_connector_central_wave1.py:1216
    tests/hooks/test_connector_central_wave1.py:1228
    tests/hooks/test_connector_central_wave1.py:1238
    PIPE-GATES-R016.67
    Wave 1 (Scion SDK 0.5) rule `w1.l4`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Wave 1 (Scion SDK 0.5) rule `w1.l4`.** `connector-ontology-map migrate --central`: Scion SDK floor, merged extras and dropped one-element extras. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_fixes7b.py::test_l4_extras_of_a_dropped_one_element_extra_move_to_the_pin`, `tests/hooks/test_connector_central_wave1.py::test_l4_sdk_floor_merged_extras_and_dropped_one_element_extras`, `tests/hooks/test_connector_central_wave1.py::test_l4_pin_uses_base_sdk_pin_for_the_plain_mcp_extra`, `tests/hooks/test_connector_central_wave1.py::test_l4_multi_element_extra_stays_and_missing_dependency_is_reviewed`, `tests/hooks/test_connector_central_wave1.py::test_l4_an_all_extra_naming_the_deleted_mcp_extra_is_dropped_with_it`, `tests/hooks/test_connector_central_wave1.py::test_l4_repairs_an_already_migrated_repo_whose_all_extra_dangles`.
    requirementPIPE-GATESVERIFIEDa879bf2fe9bb
    ac8367c08c89
    cd9696207d4c
    db468196e870
    f4b1cc173371
    tests/hooks/test_connector_central_fixes7b.py:110
    tests/hooks/test_connector_central_wave1.py:1259
    tests/hooks/test_connector_central_wave1.py:1270
    tests/hooks/test_connector_central_wave1.py:1280
    tests/hooks/test_connector_central_wave1.py:1295
    PIPE-GATES-R016.68
    Auth standardization rule `auth.r1`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r1`.** `connector-ontology-map migrate --central`: static bearer token declaration. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r1_bearer_rewrite`, `::test_r1_unmatched_shape_goes_to_review_untouched`, `::test_no_scheme_rule_is_one_review_item`, `::test_second_run_changes_nothing`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:123
    tests/hooks/test_connector_central_auth.py:124
    tests/hooks/test_connector_central_auth.py:133
    tests/hooks/test_connector_central_auth.py:457
    tests/hooks/test_connector_central_auth.py:474
    PIPE-GATES-R016.69
    Auth standardization rule `auth.r2`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r2`.** `connector-ontology-map migrate --central`: API key in a fixed header declaration. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r2_api_key_header_rewrite`, `::test_r2_authorization_token_prefix_and_extra_setting_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:146
    tests/hooks/test_connector_central_auth.py:147
    tests/hooks/test_connector_central_auth.py:155
    PIPE-GATES-R016.70
    Auth standardization rule `auth.r3`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r3`.** `connector-ontology-map migrate --central`: API key in a query parameter declaration. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r3_api_key_query_rewrite`, `::test_r3_default_url_goes_to_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:171
    tests/hooks/test_connector_central_auth.py:172
    tests/hooks/test_connector_central_auth.py:180
    PIPE-GATES-R016.71
    Auth standardization rule `auth.r4`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r4`.** `connector-ontology-map migrate --central`: basic user and password declaration. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r4_basic_rewrite`, `::test_r4_and_r11_evidence_is_several_rules`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:198
    tests/hooks/test_connector_central_auth.py:199
    tests/hooks/test_connector_central_auth.py:207
    PIPE-GATES-R016.72
    Auth standardization rule `auth.r5`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r5`.** `connector-ontology-map migrate --central`: client credentials declaration. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r5_client_credentials_rewrite`, `::test_r5_without_a_literal_token_url_goes_to_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:227
    tests/hooks/test_connector_central_auth.py:228
    tests/hooks/test_connector_central_auth.py:241
    PIPE-GATES-R016.73
    Auth standardization rule `auth.r6`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r6`.** `connector-ontology-map migrate --central`: refresh token declaration. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r6_refresh_token_rewrite`, `::test_r6_two_token_urls_go_to_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:259
    tests/hooks/test_connector_central_auth.py:260
    tests/hooks/test_connector_central_auth.py:273
    PIPE-GATES-R016.74
    Auth standardization rule `auth.r7`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r7`.** `connector-ontology-map migrate --central`: per-thread delegation holder is deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r7_delegation_holder_is_review_with_delegation_proposal`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_auth.py:299
    PIPE-GATES-R016.75
    Auth standardization rule `auth.r8`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r8`.** `connector-ontology-map migrate --central`: delegation wrappers are deleted for `delegation=True`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r8_delegation_wrappers_are_review`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_auth.py:308
    PIPE-GATES-R016.76
    Auth standardization rule `auth.r9`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r9`.** `connector-ontology-map migrate --central`: resolved TLS profile becomes `tls="<name>"`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r9_tls_profile_becomes_tls_name`, `::test_r9_missing_tls_profile_is_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:318
    tests/hooks/test_connector_central_auth.py:319
    tests/hooks/test_connector_central_auth.py:327
    PIPE-GATES-R016.77
    Auth standardization rule `auth.r10`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r10`.** `connector-ontology-map migrate --central`: hand-configured requests session is deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r10_hand_configured_session_is_review`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_auth.py:336
    PIPE-GATES-R016.78
    Auth standardization rule `auth.r11`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r11`.** `connector-ontology-map migrate --central`: cookie login becomes `SessionLogin`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r11_session_login_rewrite`, `::test_r11_two_login_paths_are_reviewed_with_an_exact_fallback_reason`.
    requirementPIPE-GATESVERIFIED1abb4303df99
    tests/hooks/test_connector_central_auth.py:356
    tests/hooks/test_connector_central_auth.py:367
    PIPE-GATES-R016.79
    Auth standardization rule `auth.r12`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r12`.** `connector-ontology-map migrate --central`: global client singleton becomes `client_factory`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r12_singleton_becomes_factory_with_close_alias`, `::test_r12_non_singleton_has_no_close_alias`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:381
    tests/hooks/test_connector_central_auth.py:382
    tests/hooks/test_connector_central_auth.py:392
    PIPE-GATES-R016.80
    Auth standardization rule `auth.r13`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r13`.** `connector-ontology-map migrate --central`: local-only tool becomes `NoAuth()`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r13_local_tool_without_url_deletes_unused_auth`, `::test_r13_noauth_for_public_api_with_url_only`, `::test_r13_imported_auth_is_not_deleted`, `::test_no_auth_py_is_silent`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:400
    tests/hooks/test_connector_central_auth.py:401
    tests/hooks/test_connector_central_auth.py:410
    tests/hooks/test_connector_central_auth.py:422
    tests/hooks/test_connector_central_auth.py:467
    PIPE-GATES-R016.81
    Auth standardization rule `auth.r14`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Auth standardization rule `auth.r14`.** `connector-ontology-map migrate --central`: plaintext setting becomes `allow_plaintext_env`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_auth.py::test_r14_allow_plaintext_setting_becomes_env_name`, `::test_r14_unknown_extra_flag_is_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_auth.py:431
    tests/hooks/test_connector_central_auth.py:432
    tests/hooks/test_connector_central_auth.py:445
    PIPE-GATES-R016.82
    Ingest (Scion SDK 0.5.2) rule `ingest.i1`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i1`.** `connector-ontology-map migrate --central`: duplicated ingest plumbing is deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i1_deletes_standard_plumbing_only`, `::test_i1_name_insensitive_match`, `::test_i1_connector_mismatch_derives_from_the_sdk_identity`, `::test_i1_nonstandard_body_goes_to_review`, `::test_no_kg_ingest_is_a_silent_no_op`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_ingest.py:216
    tests/hooks/test_connector_central_ingest.py:217
    tests/hooks/test_connector_central_ingest.py:234
    tests/hooks/test_connector_central_ingest.py:245
    tests/hooks/test_connector_central_ingest.py:254
    PIPE-GATES-R016.83
    Ingest (Scion SDK 0.5.2) rule `ingest.i2`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i2`.** `connector-ontology-map migrate --central`: `STREAM = SourceStream...` replaces `_BINDING`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i2_for_package_stream_and_imports`, `::test_i2_explicit_binding_before_wave1_entry_point`, `::test_i2_without_i1_plan_does_nothing`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_ingest.py:271
    tests/hooks/test_connector_central_ingest.py:272
    tests/hooks/test_connector_central_ingest.py:283
    tests/hooks/test_connector_central_ingest.py:293
    PIPE-GATES-R016.84
    Ingest (Scion SDK 0.5.2) rule `ingest.i3`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i3`.** `connector-ontology-map migrate --central`: ingest call sites use `STREAM.entities` and `STREAM.documents`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i3_rewrites_call_sites_and_deletes_helper_tests`, `::test_i3_function_local_relative_import`, `::test_i3_aliased_import_or_monkeypatch_goes_to_review_untouched`, `::test_all_rules_idempotent`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_ingest.py:310
    tests/hooks/test_connector_central_ingest.py:311
    tests/hooks/test_connector_central_ingest.py:329
    tests/hooks/test_connector_central_ingest.py:342
    tests/hooks/test_connector_central_ingest.py:534
    PIPE-GATES-R016.85
    Ingest (Scion SDK 0.5.2) rule `ingest.i4`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i4`.** `connector-ontology-map migrate --central`: exact dispatch tables become stream mappers. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i4_dispatch_table_is_noted`.
    requirementPIPE-GATESVERIFIED1bd2f8fcfb6c
    tests/hooks/test_connector_central_ingest.py:360
    tests/hooks/test_connector_central_ingest.py:370
    PIPE-GATES-R016.86
    Ingest (Scion SDK 0.5.2) rule `ingest.i5`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i5`.** `connector-ontology-map migrate --central`: exact mapper bodies become `RecordMap`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i5_mapper_functions_are_noted`.
    requirementPIPE-GATESVERIFIED1bd2f8fcfb6c
    tests/hooks/test_connector_central_ingest.py:377
    tests/hooks/test_connector_central_ingest.py:386
    PIPE-GATES-R016.87
    Ingest (Scion SDK 0.5.2) rule `ingest.i6`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i6`.** `connector-ontology-map migrate --central`: local helpers equal to Scion SDK helpers are replaced. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i6_helper_equal_to_sdk_is_replaced`, `::test_i6_helper_that_differs_is_kept`.
    requirementPIPE-GATESVERIFIED072841d0fc31
    tests/hooks/test_connector_central_ingest.py:411
    tests/hooks/test_connector_central_ingest.py:423
    PIPE-GATES-R016.88
    Ingest (Scion SDK 0.5.2) rule `ingest.i7`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i7`.** `connector-ontology-map migrate --central`: checkpointed paging goes to review. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i7_paging_is_review_and_stops_i1`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_ingest.py:443
    tests/hooks/test_connector_central_ingest.py:444
    PIPE-GATES-R016.89
    Ingest (Scion SDK 0.5.2) rule `ingest.i8`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i8`.** `connector-ontology-map migrate --central`: best-effort wrapper and split document stream options. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i8_best_effort_wrapper_is_review_and_stops_i1`.
    requirementPIPE-GATESVERIFIED1bd2f8fcfb6c
    8d8cc8f2e3ba
    tests/hooks/test_connector_central_ingest.py:465
    tests/hooks/test_connector_central_ingest.py:476
    PIPE-GATES-R016.90
    Ingest (Scion SDK 0.5.2) rule `ingest.i9`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Ingest (Scion SDK 0.5.2) rule `ingest.i9`.** `connector-ontology-map migrate --central`: media and mixed change sets use `STREAM.media` and `STREAM.batch`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_ingest.py::test_i9_media_change_set_is_review_and_stops_i1`.
    requirementPIPE-GATESVERIFIED1bd2f8fcfb6c
    tests/hooks/test_connector_central_ingest.py:500
    tests/hooks/test_connector_central_ingest.py:515
    PIPE-GATES-R016.91
    Pipelines-owned boilerplate rule `pl.n`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.n`.** `connector-ontology-map migrate --central`: version lives in `pyproject.toml` only. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pipelines.py::test_n_removes_bumpversion_readme_line_literal_and_test_assertion`, `::test_n_resolves_dynamic_version_from_bumpversion`, `::test_n_reviews_version_still_read_and_leaves_file`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_pipelines.py:142
    tests/hooks/test_connector_central_pipelines.py:143
    tests/hooks/test_connector_central_pipelines.py:162
    tests/hooks/test_connector_central_pipelines.py:176
    PIPE-GATES-R016.92
    Pipelines-owned boilerplate rule `pl.o`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.o`.** `connector-ontology-map migrate --central`: container files are rendered, not committed. The rendered template is the standard: a developer `debug.Dockerfile`, a `../.env.example` env file, an image variable with a default, a health probe that only adds a timeout, `ENTRYPOINT` for `CMD`, the `ARG PORT` default and a combined mcp+agent compose file differ non-functionally and are replaced; a published port other than 8000 is read from the compose file into the table `port`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pl_clusters.py::test_o_nonfunctional_compose_and_dockerfile_differences_are_normalised`, `::test_o_an_image_variable_with_a_default_becomes_the_required_digest_form`, `::test_o_an_env_example_env_file_is_dropped_as_not_functional`, `::test_o_the_sdist_names_of_a_single_stage_dockerfile_are_not_part_of_its_form`, `tests/hooks/test_connector_central_fixes7.py::test_generations_scan_set_is_the_drivers_set_not_the_directories`, `::test_generations_recorded_entries_survive_while_one_repo_carries_them`, `tests/hooks/test_connector_central_pipelines.py::test_o_removes_rendered_files_and_wires_callers`, `tests/hooks/test_connector_central_pipelines.py::test_o_ports_exceptions_into_the_container_table`, `tests/hooks/test_connector_central_pipelines.py::test_o_unexpected_difference_is_blocking_and_files_stay`, `tests/hooks/test_connector_central_pipelines.py::test_o_accepts_the_dist_extra_that_rule_l4_dropped`, `tests/hooks/test_connector_central_pipelines.py::test_o_other_extra_difference_stays_blocking`, `tests/hooks/test_connector_central_pipelines.py::test_o_accepts_a_stale_semver_on_the_dist_own_pin`, `tests/hooks/test_connector_central_pipelines.py::test_o_another_package_pin_difference_stays_blocking`, `tests/hooks/test_connector_central_pipelines.py::test_o_ports_compose_limits_only_when_they_differ_from_the_template`, `tests/hooks/test_connector_central_pipelines.py::test_o_default_limits_leave_the_render_and_table_unchanged`, `tests/hooks/test_connector_central_pipelines.py::test_container_limits_table_rejects_unknown_keys`, `tests/hooks/test_connector_central_pipelines.py::test_render_without_config_mounts_has_no_volumes_block`, `tests/hooks/test_connector_central_pipelines.py::test_render_writes_each_config_mount_as_a_read_only_bind_between_restart_and_env_file`, `tests/hooks/test_connector_central_pipelines.py::test_o_ports_committed_read_only_binds_into_the_container_table`, `tests/hooks/test_connector_central_pipelines.py::test_o_unknown_workflow_shape_is_blocking`, `tests/hooks/test_connector_central_pipelines.py::test_second_run_changes_nothing`, `tests/hooks/test_connector_central_pl_clusters.py::test_generation_table_entries_each_occur_in_several_repositories`, `tests/hooks/test_connector_central_pl_clusters.py::test_a_recorded_insertion_rewrite_is_not_applied_twice`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_accepts_the_recorded_single_stage_dockerfile`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_a_changed_single_stage_dockerfile_stays_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_accepts_the_stub_debug_image_and_stub_compose`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_an_edited_stub_compose_stays_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_deletes_an_agent_compose_file_whose_agent_image_is_gone`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_keeps_an_agent_compose_file_when_the_dockerfile_still_has_an_agent_stage`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_ports_an_optional_env_file_into_the_container_table`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_accepts_the_mcp_service_with_the_agent_image_variable`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_ports_the_config_mount_and_accepts_the_shared_image_variable`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_accepts_a_config_mount_with_a_default_host_path`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_an_image_default_recorded_in_fewer_than_three_repositories_stays_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_a_mount_outside_etc_stays_blocking_with_the_reason`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_a_read_write_volume_stays_blocking_with_the_reason`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_reads_a_compose_environment_mapping_as_the_list_the_render_writes`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_an_environment_mapping_with_a_changed_value_stays_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_the_debug_host_rewrite_follows_the_host_the_runtime_image_binds`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_a_difference_outside_the_clusters_stays_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_keeps_the_extras_the_committed_image_installed`, `tests/hooks/test_connector_central_pl_clusters.py::test_install_extras_default_is_unchanged_without_the_key`, `tests/hooks/test_connector_central_pl_clusters.py::test_o_an_edited_older_compose_stays_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_rewrites_carry_captured_text_delete_blocks_and_insert_once`.
    requirementPIPE-GATESVERIFIED4f7150db2361
    85d002cae68d
    8e8272f805dd
    bd6eef95bcc3
    f74978beb345
    tests/hooks/test_connector_central_fixes7.py:261
    tests/hooks/test_connector_central_fixes7.py:273
    tests/hooks/test_connector_central_pipelines.py:186
    tests/hooks/test_connector_central_pipelines.py:204
    tests/hooks/test_connector_central_pipelines.py:226
    PIPE-GATES-R016.93
    Pipelines-owned boilerplate rule `pl.p`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.p`.** `connector-ontology-map migrate --central`: ontology artifacts are generated, not committed. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pipelines.py::test_p_removes_generated_artifacts_when_identical`, `::test_p_subset_of_shapes_writes_shape_classes_and_reviews`, `::test_p_other_test_reading_artifacts_is_blocking_and_files_stay`, `::test_p_deletes_certification_tests`, `tests/hooks/test_connector_central_pl_clusters.py::test_p_names_an_ontology_file_that_is_not_the_ontology_source`, `tests/hooks/test_connector_central_pl_clusters.py::test_p_two_ontology_files_do_not_guess`, `tests/hooks/test_connector_central_pl_clusters.py::test_the_ttl_key_changes_nothing_when_it_is_absent`.
    requirementPIPE-GATESVERIFIED54057df19bfb
    tests/hooks/test_connector_central_pipelines.py:552
    tests/hooks/test_connector_central_pipelines.py:562
    tests/hooks/test_connector_central_pipelines.py:571
    tests/hooks/test_connector_central_pipelines.py:586
    tests/hooks/test_connector_central_pipelines.py:598
    PIPE-GATES-R016.94
    Pipelines-owned boilerplate rule `pl.q`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.q`.** `connector-ontology-map migrate --central`: `.pre-commit-config.yaml` is the shared reference. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_fixes7.py::test_q_config_wide_exclude_and_file_path_are_ported`, `::test_q_exclude_that_is_not_a_path_list_is_blocking`, `::test_q_ruff_ignore_args_become_lint_ignore_and_nothing_more`, `::test_q_existing_lint_ignore_is_extended_only_by_missing_codes`, `::test_tidy_fixes_safe_findings_and_reports_the_rest_with_rule_ids`, `tests/hooks/test_connector_central_pipelines.py::test_q_replaces_config_and_lists_unknown_hooks`, `tests/hooks/test_connector_central_pipelines.py::test_q_unparseable_config_is_noted_and_replaced`, `tests/hooks/test_connector_central_pipelines.py::test_q_ports_the_ruff_exclude_to_extend_exclude`.
    requirementPIPE-GATESVERIFIED74ad5d0baab0
    dce5c83d89db
    tests/hooks/test_connector_central_fixes7.py:103
    tests/hooks/test_connector_central_fixes7.py:111
    tests/hooks/test_connector_central_fixes7.py:118
    tests/hooks/test_connector_central_fixes7.py:134
    tests/hooks/test_connector_central_fixes7.py:287
    PIPE-GATES-R016.95
    Pipelines-owned boilerplate rule `pl.r`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.r`.** `connector-ontology-map migrate --central`: `security_sanitizer.py` and `.codespellignore` are provided. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_fixes7.py::test_r_old_words_and_excludes_go_to_the_repo_table_not_the_defaults`, `::test_r_words_already_central_leave_no_table`, `::test_codespell_hook_honours_the_repo_words_and_excludes`, `::test_standard_names_the_failed_members_and_runs_all`, `tests/hooks/test_connector_central_pipelines.py::test_r_deletes_sanitizer_and_moves_codespell_words`, `tests/hooks/test_connector_central_pipelines.py::test_r_conflicting_codespell_table_is_blocking_and_file_stays`.
    requirementPIPE-GATESVERIFIED27777c97c34a
    3185d3c28743
    4dc52a397e5f
    tests/hooks/test_connector_central_fixes7.py:162
    tests/hooks/test_connector_central_fixes7.py:175
    tests/hooks/test_connector_central_fixes7.py:196
    tests/hooks/test_connector_central_fixes7.py:222
    tests/hooks/test_connector_central_pipelines.py:651
    PIPE-GATES-R016.96
    Pipelines-owned boilerplate rule `pl.s`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.s`.** `connector-ontology-map migrate --central`: workflow flags: skip-hooks, bump2version, render and rebuild callers. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pipelines.py::test_s_drops_dupehound_skip_and_bump2version_step`, `::test_s_other_bump2version_shape_goes_to_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_pipelines.py:785
    tests/hooks/test_connector_central_pipelines.py:786
    tests/hooks/test_connector_central_pipelines.py:800
    PIPE-GATES-R016.97
    Pipelines-owned boilerplate rule `pl.t`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.t`.** `connector-ontology-map migrate --central`: `.security/*` is provided. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pipelines.py::test_t_removes_security_dir_and_ports_licenses`, `::test_t_keeps_contract_when_validator_is_tracked`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_pipelines.py:693
    tests/hooks/test_connector_central_pipelines.py:694
    tests/hooks/test_connector_central_pipelines.py:705
    PIPE-GATES-R016.98
    Pipelines-owned boilerplate rule `pl.u`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.u`.** `connector-ontology-map migrate --central`: `scripts/bootstrap.sh` is deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pipelines.py::test_u_deletes_bootstrap_and_rewrites_setup_line`, `::test_u_other_mention_goes_to_review`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_pipelines.py:718
    tests/hooks/test_connector_central_pipelines.py:719
    tests/hooks/test_connector_central_pipelines.py:730
    PIPE-GATES-R016.99
    Pipelines-owned boilerplate rule `pl.v`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.v`.** `connector-ontology-map migrate --central`: `verify_api_integration.py` becomes `connector-api-parity`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pipelines.py::test_v_ports_baseline_and_deletes_script_and_test`, `::test_v_stale_baseline_is_lowered_and_reviewed`, `::test_v_missing_entry_means_no_table_and_unreadable_baselines_are_blocking`, `::test_v_dynamic_baselines_table_is_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_v_extracts_the_exact_100_percent_threshold`, `tests/hooks/test_connector_central_pl_clusters.py::test_v_ports_the_implied_baseline_and_deletes_the_script`, `tests/hooks/test_connector_central_pl_clusters.py::test_v_an_openapi_source_check_stays_blocking`, `tests/hooks/test_connector_central_pl_clusters.py::test_v_a_script_with_another_threshold_is_not_extracted`.
    requirementPIPE-GATESVERIFIEDd0a48752cbf3
    tests/hooks/test_connector_central_pipelines.py:746
    tests/hooks/test_connector_central_pipelines.py:747
    tests/hooks/test_connector_central_pipelines.py:759
    tests/hooks/test_connector_central_pipelines.py:767
    tests/hooks/test_connector_central_pipelines.py:776
    PIPE-GATES-R016.100
    Connector identity rule `id.name`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Connector identity rule `id.name`.** `connector-ontology-map migrate --central`: hard-coded connector names in `kg_*.py` and `mappings/*.yaml` derive from or match the Scion SDK identity. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_fixes7b.py::test_name_constant_that_a_binding_takes_as_connector_derives_from_the_identity`, `::test_two_constants_of_the_same_name_are_reviewed_not_guessed`, `tests/hooks/test_connector_central_identity.py::test_name_mismatch_derives_from_the_sdk_identity_and_mapping_yaml_follows`.
    requirementPIPE-GATESVERIFIED1af3f83b7fb7
    545ef1911dce
    efa9b98ace15
    tests/hooks/test_connector_central_fixes7b.py:103
    tests/hooks/test_connector_central_fixes7b.py:86
    tests/hooks/test_connector_central_identity.py:24
    tests/hooks/test_connector_central_identity.py:296
    tests/hooks/test_connector_central_identity.py:313
    PIPE-GATES-R016.101
    Pipelines-owned boilerplate rule `pl.w`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.w`.** `connector-ontology-map migrate --central`: own pipelines workflow refs are `@main`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_own_workflow_refs_are_main`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_identity.py:58
    PIPE-GATES-R016.102
    Pipelines-owned boilerplate rule `pl.x`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.x`.** `connector-ontology-map migrate --central`: unreferenced non-scaffold root files are deleted. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_pipelines.py::test_x_row_and_order`, `::test_x_deletes_unreferenced_files`, `::test_x_referenced_file_stays_with_a_review_item_naming_the_referrers`, `::test_x_match_is_a_whole_name`, `::test_x_dockerignore_stays_while_a_dockerfile_exists`, `::test_x_dockerignore_goes_after_pl_o_removes_the_dockerfile`, `::test_x_mcp_config_is_referenced_by_package_data_and_manifest_globs`, `::test_x_second_run_changes_nothing`.
    requirementPIPE-GATESVERIFIEDdea7f89e4bfd
    tests/hooks/test_connector_central_pipelines.py:842
    tests/hooks/test_connector_central_pipelines.py:850
    tests/hooks/test_connector_central_pipelines.py:867
    tests/hooks/test_connector_central_pipelines.py:880
    tests/hooks/test_connector_central_pipelines.py:891
    PIPE-GATES-R016.103
    Pipelines-owned boilerplate rule `pl.y`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.y`.** `connector-ontology-map migrate --central`: `.github/workflows/org-site.yml` notifies the org site (only when pipelines main provides it). A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_org_site_workflow_is_written_only_when_pipelines_provides_the_shared_one`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_identity.py:74
    PIPE-GATES-R016.104
    Pipelines-owned boilerplate rule `pl.z`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.z`.** `connector-ontology-map migrate --central`: every local spec is indexed in `specs/README.md`. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_unindexed_local_spec_is_added_to_the_readme_index`.
    requirementPIPE-GATESVERIFIEDb0453687acf9
    tests/hooks/test_connector_central_identity.py:91
    PIPE-GATES-R016.105
    Pipelines-owned boilerplate rule `pl.aa`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.aa`.** `connector-ontology-map migrate --central`: the shared MkDocs theme files match the canonical copy. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_missing_theme_files_are_synced_from_the_canonical_copy_and_a_second_run_is_a_no_op`, `::test_no_mkdocs_site_means_no_theme_files`.
    requirementPIPE-GATESVERIFIED03512169cad3
    8e8272f805dd
    tests/hooks/test_connector_central_identity.py:109
    tests/hooks/test_connector_central_identity.py:125
    PIPE-GATES-R016.106
    Pipelines-owned boilerplate rule `pl.ab`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.ab`.** `connector-ontology-map migrate --central`: the `[[project.authors]]` block is the neutral organisation author. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_authors_block_becomes_the_neutral_organisation_author_and_passes_the_privacy_classifier`, `::test_authors_block_with_other_fields_is_reviewed_untouched`.
    requirementPIPE-GATESVERIFIED313d63c9dbce
    8e8272f805dd
    eee545e082ed
    tests/hooks/test_connector_central_identity.py:132
    tests/hooks/test_connector_central_identity.py:154
    tests/hooks/test_connector_central_identity.py:255
    PIPE-GATES-R016.107
    Pipelines-owned boilerplate rule `pl.ac`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.ac`.** `connector-ontology-map migrate --central`: example credential URIs in docs code and internal hostname literals in `tests/**/*.py`, `README.md`, `docs/**/*.md` and the skill markdown and shell files are the placeholder form the privacy gate accepts (`USER:PASSWORD`, the reserved `.example` name). A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_example_credential_uris_in_docs_code_become_the_gate_placeholder_form`, `::test_internal_hostnames_in_tests_become_the_reserved_example_form`, `::test_internal_hostnames_in_docs_and_skills_become_the_reserved_example_form`.
    requirementPIPE-GATESVERIFIED1aa60109f447
    74ad5d0baab0
    bc1c1dffa20b
    fb079953f3db
    tests/hooks/test_connector_central_identity.py:164
    tests/hooks/test_connector_central_identity.py:198
    tests/hooks/test_connector_central_identity.py:275
    PIPE-GATES-R016.108
    Pipelines-owned boilerplate rule `pl.ad`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.ad`.** `connector-ontology-map migrate --central`: the fleet's SHA-pinned `actions/checkout` and `actions/setup-python` replace mutable tags. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_mutable_checkout_and_setup_python_tags_become_the_fleet_pins`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_identity.py:219
    PIPE-GATES-R016.109
    Pipelines-owned boilerplate rule `pl.ae`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.ae`.** `connector-ontology-map migrate --central`: the publication-workflow test expects the shared hook revision `main`, not the old SHA pin. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_identity.py::test_publication_workflow_test_expects_the_shared_main_revision`.
    requirementPIPE-GATESVERIFIEDc2b8fce00aac
    tests/hooks/test_connector_central_identity.py:239
    PIPE-GATES-R016.110
    Pipelines-owned boilerplate rule `pl.af`
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Pipelines-owned boilerplate rule `pl.af`.** `connector-ontology-map migrate --central`: codespell findings are fixed or classified. A shape the rule does not match exactly is left untouched and listed in the review report with the reason. | `tests/hooks/test_connector_central_spelling.py::test_doc_typo_is_fixed_but_not_inside_code`, `::test_comment_and_docstring_typos_are_fixed_and_code_is_untouched`, `::test_identifier_goes_to_ignore_words_sorted_lowercase_and_idempotent`, `::test_ignore_words_table_is_created_when_missing`, `::test_string_literal_stays_a_review_item`, `::test_multiple_suggestions_in_a_comment_stay_a_review_item`, `::test_other_file_types_and_generated_files_are_not_rewritten`, `::test_second_run_changes_nothing`.
    requirementPIPE-GATESVERIFIED295d80aff385
    74ad5d0baab0
    9d2259faab12
    fb3e2489a321
    tests/hooks/test_connector_central_spelling.py:100
    tests/hooks/test_connector_central_spelling.py:108
    tests/hooks/test_connector_central_spelling.py:117
    tests/hooks/test_connector_central_spelling.py:126
    tests/hooks/test_connector_central_spelling.py:137
    PIPE-GATES-R016.111
    Central driver and verify
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **Central driver and verify.** `scripts/connector_migrate_batch.py --central` runs worktree, `migrate --central`, commit, verify, push, PR, `gates` and squash-merge per repo; verify runs the Scion SDK conformance plugin (`-k connector_conformance`), `connector-standard`, `pipelines-connector render --check`, `graph-check`, the repo's fast tests and `scripts/connector_verify.py` (stdio: tools, prompts, `connector://resources`, `ontology://`). `--sdk-path` installs the Scion SDK from a path for the dry run. The patch version is bumped once, only when a rule changed something, so a second run changes nothing. | `tests/hooks/test_connector_central_driver.py::test_central_pass_is_idempotent_and_bumps_once` and `::test_central_driver_flags`.
    requirementPIPE-GATESVERIFIED0e879efdfea4
    27bde72e9d5c
    39e835a22c93
    8408c527fc35
    d2ee1f62b996
    tests/hooks/test_connector_central_driver.py:102
    tests/hooks/test_connector_central_driver.py:117
    tests/hooks/test_connector_central_driver.py:128
    tests/hooks/test_connector_central_driver.py:153
    tests/hooks/test_connector_central_driver.py:83
    PIPE-GATES-R016.112
    A method call is not an internal hostname
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **A method call is not an internal hostname.** `tracked-privacy` reads `name.lan`, `name.internal`, `name.corp` and `name.arpa` as a hostname only when the name is not the callee of a call; `ipmi.lan("print")` is a method, `ipmi.lan` and `http://a.lan` stay hostnames. | `tests/hooks/test_privacy_hostnames.py::test_a_called_method_is_not_a_hostname`.
    requirementPIPE-GATESVERIFIED54cb9fede351
    tests/hooks/test_privacy_hostnames.py:10
    PIPE-GATES-R016.113
    An endpoint route literal is not a home path
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **An endpoint route literal is not a home path.** `tracked-privacy` does not read `/Users/<segment>` as a macOS home path when it is the value assigned to an `endpoint` name (`endpoint = "/Users/Me"`) or the container home setting (`home = "/home/app"` in the pyproject container table); the same text elsewhere stays a home path. | `tests/hooks/test_privacy_hostnames.py::test_an_endpoint_route_literal_is_not_a_home_path`, `::test_the_container_home_setting_is_not_a_home_path`.
    requirementPIPE-GATESVERIFIED7888b25e7587
    d2ee1f62b996
    tests/hooks/test_privacy_hostnames.py:19
    tests/hooks/test_privacy_hostnames.py:29
    PIPE-GATES-R016.114
    A variable reference is not a URI credential
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **A variable reference is not a URI credential.** `tracked-privacy` does not read `scheme://user:${TOKEN}@host` (or `$TOKEN`, `${{ secrets.X }}`) as a credential-bearing URI: the secret is resolved at run time. A literal secret still fires. | `tests/hooks/test_privacy_hostnames.py::test_a_variable_reference_as_the_uri_secret_is_not_a_credential`.
    requirementPIPE-GATESVERIFIEDd2ee1f62b996
    tests/hooks/test_privacy_hostnames.py:37
    PIPE-GATES-R016.115
    The skill gates are a `connector-standard` member
    Definition — PIPE-GATES / PIPE-GATES — Gate landing policyCanonical requirement and verification source
    **The skill gates are a `connector-standard` member.** `connector-standard` runs atomicity (atomic skills, dual-mode workflows), cross-agent frontmatter portability and cross-platform path portability over the connector's package `skills` directory, with the universal-skills gate logic ported under `pipelines_hooks/connector/skill_checks`; a connector without skills passes, and `[tool.pipelines.skills] path_exclude` leaves generated reference directories out of the path check. A connector adds no hook and no wrapper script. | `tests/hooks/test_connector_skills.py::test_a_connector_without_skills_passes`, `::test_a_conforming_skill_passes_all_three_checks`, `::test_a_non_portable_frontmatter_fails_and_is_named`, `::test_a_long_path_fails_unless_its_directory_is_excluded`, `::test_connector_standard_runs_the_skills_member`.
    requirementPIPE-GATESVERIFIEDcb2d1a651c7f
    tests/hooks/test_connector_skills.py:34
    tests/hooks/test_connector_skills.py:40
    tests/hooks/test_connector_skills.py:49
    tests/hooks/test_connector_skills.py:60
    tests/hooks/test_connector_skills.py:78
    PIPE-RELEASE
    PIPE-RELEASE — Dependency-ordered digest release orchestration
    specNoneSPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001
    Pipelines publishes images in dependency order with digest pins
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Pipelines publishes images in dependency order with digest pins.** pipelines builds each repository's container image with an immutable digest pin, pushes repositories to GitHub in dependency order, and awaits hosted CI on each pushed revision before publishing the next stage, stopping before any downstream publication on failure. | Verified by an integration test with three ordered candidates confirming each stage's hosted CI must pass before the next stage publishes, per FR-3.
    requirementPIPE-RELEASESPECIFIED59dd4e7b91c6
    PIPE-RELEASE-R002
    Release tags point to the exact qualified commit
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release tags point to the exact qualified commit.** pipelines verifies that a published GitHub release tag points to the exact source commit recorded in the qualified candidate manifest, rejecting any mismatch between the tag, the commit, and the published package artifact. Before any build, `python_pipeline.yml` and `maturin_pipeline.yml` run `verify-release-version`, which fails when the pushed tag `vX.Y.Z` differs from the version the build will stamp (`[project].version`, or the maturin manifest's `[package].version` when dynamic), when `.bumpversion.cfg` or `.config/bumpversion.cfg` `current_version` differs, or when that version is already on PyPI (a failed lookup also blocks). | Verified by a negative test that a tag or artifact whose commit does not match the candidate manifest's recorded commit is rejected, per FR-1, and by `tests/test_release_version_guard.py` (`test_stale_version_under_new_tag_is_refused`, `test_version_already_on_pypi_is_refused`, `test_bumpversion_disagreement_is_refused`, `test_maturin_dynamic_version_reads_the_manifest`, `test_every_shared_release_path_runs_the_guard_before_building`).
    requirementPIPE-RELEASEVERIFIED0f9f73b150d7
    455654369f2f
    8b68968bb542
    8f6b2234e190
    d6a43376acc9
    tests/test_release_version_guard.py:108
    tests/test_release_version_guard.py:115
    tests/test_release_version_guard.py:128
    tests/test_release_version_guard.py:136
    tests/test_release_version_guard.py:57
    PIPE-RELEASE-R003
    Release build job sources environment values safely
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release build job sources environment values safely.** The release workflow's local build job writes and sources environment variables, including compiler flags such as CFLAGS, in a properly quoted form so a multi-token value is never misinterpreted as a shell command, and the build verifies byte-identical, reproducible wheels as part of its checks. | Verified by a build run whose steps complete via the real product build path rather than aborting early from an environment-sourcing error, and whose reproducibility check confirms byte-identical wheels across independent builds.
    requirementPIPE-RELEASELANDED3778a909bcad
    59dd4e7b91c6
    622a53f14803
    PIPE-RELEASE-R004
    Release gate fails when a compiled kernel wheel is missing
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release gate fails when a compiled kernel wheel is missing.** Every published wheel set must hold one wheel with compiled numeric kernel binaries for each supported platform and Python version. The packaging gate must block publication when any combination is absent. | Run `test_missing_kernel_combination_blocks_release` in `tests/test_wheel_kernel_completeness.py`; expects exit 1 naming the missing combination.
    requirementPIPE-RELEASEVERIFIED46c29c66d460
    928faad60ad2
    935d6b72d3b8
    9e3899b6ad99
    tests/test_wheel_kernel_completeness.py:212
    tests/test_wheel_kernel_completeness.py:229
    tests/test_wheel_kernel_completeness.py:242
    tests/test_wheel_kernel_completeness.py:324
    tests/test_wheel_kernel_completeness.py:333
    PIPE-RELEASE-R004.1
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Add `KernelCell(target, python_tag, wheel)` and `KernelMatrix(required, found)` in new `.github/actions/wheel-readiness/kernels.py`. Existing `TARGETS` in `.github/actions/wheel-readiness/targets.py:7` lists four platforms. The canonical target validator and Maturin publisher require CPython 3.14 (`cp314`); this existing publisher axis is the named default, while callers may pass another reviewed axis explicitly. | Run `test_kernel_matrix_model_is_closed` in `tests/test_wheel_kernel_completeness.py` expects one cell per target and tag.
    requirementPIPE-RELEASEVERIFIED46c29c66d460
    928faad60ad2
    935d6b72d3b8
    9e3899b6ad99
    tests/test_wheel_kernel_completeness.py:212
    PIPE-RELEASE-R004.2
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** Add `required_cells(targets, python_tags)` and `missing_cells(matrix)`. Each wheel counts only when its archive lists at least one compiled extension file (`.so`, `.pyd` or `.dylib`) matching its platform tag. The supported Python range is a named default, replaceable per publisher. | Run `test_wheel_without_binary_is_missing` in `tests/test_wheel_kernel_completeness.py` expects the pure-Python wheel to count as missing.
    requirementPIPE-RELEASEVERIFIED46c29c66d460
    928faad60ad2
    935d6b72d3b8
    9e3899b6ad99
    tests/test_wheel_kernel_completeness.py:229
    PIPE-RELEASE-R004.3
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Implementation is new `kernels.py`; no production caller today. Call `missing_cells` from `aggregate` at `.github/actions/wheel-readiness/bundle.py:98`, which `main` calls at `.github/actions/wheel-readiness/readiness.py:343` for the release publication step. | Run `test_aggregate_calls_kernel_gate` in `tests/test_wheel_kernel_completeness.py` expects `aggregate` to raise on a missing cell.
    requirementPIPE-RELEASEVERIFIED46c29c66d460
    928faad60ad2
    935d6b72d3b8
    9e3899b6ad99
    tests/test_wheel_kernel_completeness.py:324
    PIPE-RELEASE-R004.4
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** `aggregate` must raise `KernelCellMissing` listing every absent `target/python_tag` pair. It must write no readiness receipt and must not publish. A repository that declares no compiled kernel must abstain with `no-kernel-declared`. | Run `test_missing_cell_refusal_lists_all_pairs` in `tests/test_wheel_kernel_completeness.py` expects every absent pair named.
    requirementPIPE-RELEASEVERIFIED46c29c66d460
    928faad60ad2
    935d6b72d3b8
    9e3899b6ad99
    tests/test_wheel_kernel_completeness.py:242
    tests/test_wheel_kernel_completeness.py:333
    PIPE-RELEASE-R004.5
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** The aggregate receipt must carry a `kernel_cells` field with each required cell, its wheel file and its binary file names. A refused run must carry the missing pairs in the refusal message. | Run `test_receipt_records_kernel_cells` in `tests/test_wheel_kernel_completeness.py` expects `kernel_cells` equal to the required set.
    requirementPIPE-RELEASEVERIFIED46c29c66d460
    928faad60ad2
    935d6b72d3b8
    9e3899b6ad99
    tests/test_wheel_kernel_completeness.py:345
    PIPE-RELEASE-R004.6
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** The entry point is the `aggregate` run of `readiness.py` in the release bundle step, reached through `main` at `.github/actions/wheel-readiness/readiness.py:325`. A wheel directory missing one platform build must exit non-zero and write no receipt. | Run `test_release_bundle_blocks_missing_kernel_wheel` in `tests/test_wheel_kernel_completeness.py` expects non-zero exit and no receipt file.
    requirementPIPE-RELEASEVERIFIED46c29c66d460
    928faad60ad2
    935d6b72d3b8
    9e3899b6ad99
    tests/test_wheel_kernel_completeness.py:359
    PIPE-RELEASE-R005
    Dependency gate blocks circular dependency loops
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Dependency gate blocks circular dependency loops.** The dependency gate must detect loops among root, optional and development dependency groups. It must report each loop with its members and block landing until the loop is broken. | Run `test_dependency_loop_fails_gate` in `tests/hooks/test_dependency_cycles.py`; expects exit 1 naming the loop.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R005.1
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Add `DependencyEdge(source_group, target_group, via)` and `DependencyLoop(members)` in new `pipelines_hooks/supply_chain/dependency_cycles.py`. Groups are `root`, each optional extra and each development group. Existing `declared_dependencies` at `pipelines_hooks/supply_chain/dependencies.py:32` flattens groups and loses edges. | Run `test_group_graph_model` in `tests/hooks/test_dependency_cycles.py` expects one node per group.
    requirementPIPE-RELEASEVERIFIED6bf8524c1644
    tests/hooks/test_dependency_cycles.py:43
    PIPE-RELEASE-R005.2
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** Add `group_edges(document)` and `find_loops(edges)`. An edge comes from an `include-group` entry or from the project's own name with an extra. `find_loops` returns strongly connected components of size above one, plus self-loops, as `import_cycles.py:41` does. | Run `test_include_group_cycle_found` in `tests/hooks/test_dependency_cycles.py` expects a two-group loop reported.
    requirementPIPE-RELEASEVERIFIED6bf8524c1644
    tests/hooks/test_dependency_cycles.py:59
    tests/hooks/test_dependency_cycles.py:71
    PIPE-RELEASE-R005.3
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Implementation is new `dependency_cycles.py`; no production caller today. Call `loop_findings` from `dependency_findings` at `pipelines_hooks/supply_chain/dependencies.py:79` next to `_pyproject_findings`. `gate.py:71` calls `dependency_findings`; `supply-chain` is registered at `pipelines_hooks/cli.py:28`. | Run `test_dependency_findings_include_loops` in `tests/hooks/test_dependency_cycles.py` expects a loop finding.
    requirementPIPE-RELEASEVERIFIED6bf8524c1644
    86d2275e8f65
    916078bcf41f
    a52f3f5f244f
    tests/hooks/test_dependency_cycles.py:147
    PIPE-RELEASE-R005.4
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** The gate must emit a finding with rule `SC-DEP-LOOP` per loop and exit 1. The finding must stay until the loop is broken. A manifest that fails to parse must give a typed parse finding, not an empty pass. | Run `test_unparseable_manifest_is_not_a_pass` in `tests/hooks/test_dependency_cycles.py` expects a parse finding.
    requirementPIPE-RELEASEVERIFIED6bf8524c1644
    86d2275e8f65
    916078bcf41f
    a52f3f5f244f
    tests/hooks/test_dependency_cycles.py:174
    tests/hooks/test_dependency_cycles.py:85
    PIPE-RELEASE-R005.5
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** Each `SC-DEP-LOOP` finding message must list loop members in sorted order and the manifest path. The gate summary must count loops found. | Run `test_loop_finding_lists_sorted_members` in `tests/hooks/test_dependency_cycles.py` expects sorted members.
    requirementPIPE-RELEASEVERIFIED6bf8524c1644
    tests/hooks/test_dependency_cycles.py:190
    PIPE-RELEASE-R005.6
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** The entry point is `pipelines-hook supply-chain` through `main` in `pipelines_hooks/cli.py:79` on a fixture repository whose `pyproject.toml` has two groups including each other. The hook must exit 1 and print `SC-DEP-LOOP`. | Run `test_supply_chain_hook_blocks_dependency_loop` in `tests/hooks/test_dependency_cycles.py` expects exit 1 and the rule name.
    requirementPIPE-RELEASEVERIFIED6bf8524c1644
    86d2275e8f65
    916078bcf41f
    a52f3f5f244f
    tests/hooks/test_dependency_cycles.py:109
    tests/hooks/test_dependency_cycles.py:213
    PIPE-RELEASE-R006
    One bump configuration keeps project versions consistent
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **One bump configuration keeps project versions consistent.** Rollup of the children below. The gate checks metadata, source and documentation against one canonical project version. | The rollup is the minimum state of its children.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R006.1
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Add `ProjectVersionInventory`, `VersionLocation` and `VersionCheck` in new `pipelines_hooks/release/project_version.py`. One canonical bump configuration owns current version and each location: repository-relative path, role (`metadata`, `source`, `documentation`), extraction selector, search/replacement templates and expected match count. Checks bind actual and expected values, line locations, configuration digest and Git snapshot. Every role requires at least one explicit location. | Run `test_project_version_inventory` in `tests/hooks/test_project_version_sync.py`. Accept a complete three-role inventory; reject unknown roles, duplicate locations and missing role coverage.
    requirementPIPE-RELEASEVERIFIED01378f786cba
    336628614998
    fa4ad80cd25b
    tests/hooks/test_project_version_sync.py:65
    PIPE-RELEASE-R006.2
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** The `exact-project-version` default compares every selected value with the canonical current version in the same Git snapshot. Parse metadata, literal source assignments and marked documentation text without imports or execution. Require selectors and bump templates to identify exactly the declared occurrences and preserve all other text. Validate template/extractor round trips; no implicit version normalization or whole-file version search is allowed. Historical release notes and dependency versions are outside the inventory unless explicitly declared. | Run `test_project_version_values` in `tests/hooks/test_project_version_sync.py`. Equal values pass; independently changing metadata, source, documentation or canonical current version fails at the exact location.
    requirementPIPE-RELEASEVERIFIED01378f786cba
    336628614998
    fa4ad80cd25b
    tests/hooks/test_project_version_sync.py:89
    PIPE-RELEASE-R006.3
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Create `project-version-sync` in `GATES` at `pipelines_hooks/cli.py:13`, called by `run_gate` at `pipelines_hooks/cli.py:59`. Add its shared hook beside `.pre-commit-hooks.yaml:67`, catalogue and self-run configuration consumed by `.github/workflows/ci.yml:86`. Reuse snapshot selection at `pipelines_hooks/core/comparison.py:53` and blob reads at `pipelines_hooks/core/gitenv.py:81`. Inspect the full declared inventory in the index or selected committed tree, including the configuration; never mix worktree bytes. No production caller reaches this gate today. | Run `test_project_version_hook_wiring` in `tests/hooks/test_project_version_sync.py`. The installed CLI and published hook select the same snapshot and fail on an inconsistent unchanged declared surface.
    requirementPIPE-RELEASEVERIFIED01378f786cba
    336628614998
    fa4ad80cd25b
    tests/hooks/test_project_version_sync.py:176
    PIPE-RELEASE-R006.4
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** Return located `version-mismatch` findings and exit 1 for unequal extracted values. Raise `CannotRun` with a closed reason (`config-missing`, `config-invalid`, `config-ambiguous`, `inventory-incomplete`, `location-unreadable`, `selector-ambiguous`, `unsupported-extraction` or `snapshot-unavailable`) and exit 2 when any declared surface is unchecked. Reject match counts that differ from the declared positive count, duplicate authorities, traversal, symlink entries and dynamic source expressions. Never skip an unreadable surface or repair files during checking. | Run `test_project_version_refusals` in `tests/hooks/test_project_version_sync.py`. Missing, malformed or competing configs and ambiguous extraction exit 2; mismatches exit 1 and cannot produce a passing receipt.
    requirementPIPE-RELEASEVERIFIED01378f786cba
    336628614998
    fa4ad80cd25b
    tests/hooks/test_project_version_sync.py:127
    PIPE-RELEASE-R006.5
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** Emit sorted role/path/line observations with expected and actual version, selector identity, checked count, configuration and blob digests, snapshot identity and typed refusals. A success record requires every location in every role to be checked. Record index-tree identity locally and commit/tree identity in CI. Print repository-relative locations only; do not publish unrelated source text or local machine paths. | Run `test_project_version_evidence` in `tests/hooks/test_project_version_sync.py`. Evidence identifies the exact checked Git bytes and all three roles; unchecked cases have no successful verdict.
    requirementPIPE-RELEASEVERIFIED01378f786cba
    336628614998
    fa4ad80cd25b
    tests/hooks/test_project_version_sync.py:158
    PIPE-RELEASE-R006.6
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** Use entry point `pipelines-hook project-version-sync --root <fixture>` in `tests/hooks/test_project_version_sync.py` on a real temporary Git repository. Equal metadata, literal source and marked docs pass. Change and stage each surface independently: the published CLI and hook exit 1 at that line. Malformed, missing and ambiguous configs exit 2. An unstaged repair cannot hide an indexed mismatch; an unstaged mismatch cannot change a clean committed-tree result. Run the configured bump tool in the disposable fixture and prove it updates all three surfaces before the gate passes. | Run `test_project_version_sync_cli` in `tests/hooks/test_project_version_sync.py`. Assert real dispatcher/hook exit codes, exact locations, snapshot isolation, all-surface bumping and unchanged caller files during gate checks.
    requirementPIPE-RELEASEVERIFIED01378f786cba
    336628614998
    975ea62b6b54
    fa4ad80cd25b
    tests/hooks/test_project_version_sync.py:189
    PIPE-RELEASE-R005.7
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Add RoleExtraManifest in proposed pipelines_hooks/release/role_closure.py. Bind the package owner export by repository, source revision and digest. Its complete supported-role set must equal the manifest role set. Each role names root distribution, extras, entry modules and platform-qualified transitive closure. Mandatory root dependencies include `medulla[full]` under AU-INTEGRATION-R006; pipelines must not invent the supported roles. | Run `test_role_extra_closure_model` in `tests/hooks/test_role_extra_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R005.8
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** Build each declared role artifact and install only its frozen dependency closure in an isolated environment. Resolve environment markers for each declared target. Required imports must include mandatory root and selected-extra dependencies. Forbidden probes cover only imports outside that resolved closure. A package shared with an unselected extra remains allowed when mandatory or transitively required. Each role must supply a packaged positive case and an actually excluded negative case. | Run `test_role_extra_closure_behavior` in `tests/hooks/test_role_extra_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R005.9
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Register role-closure at pipelines_hooks/cli.py:13 through run_gate at line 59. Proposed role_closure.main must consume the package producer artifact before release readiness aggregation at .github/actions/wheel-readiness/bundle.py:98. Reuse dependency groups from R005 and static boundaries from PIPE-PAGES-R021.7. Static import analysis alone cannot prove installed closure. | Run `test_role_extra_closure_wiring` in `tests/hooks/test_role_extra_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R005.10
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** Missing owner role exports, unresolved dependency markers or versions, incomplete target coverage and stale locks must exit 2. Missing required imports or a successful excluded import must exit 1. If no excluded import exists, report that limitation; never fabricate a negative case or claim that obligation proved. The checker must not install dependencies to repair the candidate. | Run `test_role_extra_closure_refusal` in `tests/hooks/test_role_extra_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R005.11
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** Emit complete role-to-extra mappings, artifact and lock digests, installed distributions and measured import outcomes. Record mandatory base dependencies separately from selected extras. Report every unsupported role explicitly. A smaller artifact must not imply complete supported-role coverage. | Run `test_role_extra_closure_evidence` in `tests/hooks/test_role_extra_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R005.12
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** The role-closure CLI must consume actual built artifacts and the owner role export. Verify set equality for all supported roles and targets. Test two roles with different extras, mandatory dependencies and a shared transitive dependency. The shared dependency must remain importable. Remove one mandatory dependency or omit one exported role; both must block readiness. Each actual excluded import must fail. | Run `test_role_extra_closure_cli` in `tests/hooks/test_role_extra_closure.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.1
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Add ReleasePhasePolicy in proposed pipelines_hooks/release/phases.py. Declare unique project membership, dependency predecessors, bump argv, delay_seconds and timeout_seconds. Delays must be finite and nonnegative. A version-1 event contains run ID, sequence, phase, project and completion sets. A subscriber buffer holds at most 256 events. The owner inventory determines phase membership and dependency order. | Run `test_release_phase_progress_model` in `tests/hooks/test_release_phase_progress.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.2
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** Start the inter-phase monotonic timer after every predecessor project completes its bump, publication and required hosted CI. The next phase must wait the full configured delay after that point. Emit before and after each project transition. Failure or cancellation stops downstream work and preserves completed effects. Paused or restarted runs must start a fresh full delay after revalidating predecessor receipts. | Run `test_release_phase_progress_behavior` in `tests/hooks/test_release_phase_progress.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.3
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Create release-phases at pipelines_hooks/cli.py:13 through run_gate at line 59. Proposed phases.main must consume repository-manager readiness and ordered candidate exports before invoking release producers. Repository-manager retains fleet-order authority. The CLI emits JSON lines to its consuming UI. Overflow disconnects that subscriber with an explicit sequence-gap record; resumption requires a fresh authoritative progress snapshot. | Run `test_release_phase_progress_wiring` in `tests/hooks/test_release_phase_progress.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.4
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** Duplicate phase membership, dependency-order violations, invalid delays or missing pinned candidate data must refuse before mutation. A failed bump, CI failure, timeout or cancellation must stop downstream publication. Resumption must bind the prior run and completed artifact digests; it must not silently rerun completed mutations. | Run `test_release_phase_progress_refusal` in `tests/hooks/test_release_phase_progress.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.5
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** Record policy digest, finite delay, monotonic start/end values and elapsed wait. Completed means all required project stages passed. Active means currently executing; remaining means not started. Record failed and cancelled sets separately; all five sets must be disjoint and cover the run inventory. A cancelled run must show unstarted projects explicitly. Sequence gaps must not imply continuous observation. | Run `test_release_phase_progress_evidence` in `tests/hooks/test_release_phase_progress.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.6
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** The release-phases CLI must execute real bump commands for three disposable projects in two phases. Use a one-second delay and verify elapsed time from final predecessor qualification, independently of CI duration. Observe live set transitions. Failure and cancellation must prevent downstream execution. A slow subscriber must receive a gap and fresh snapshot after the 256-event buffer overflows. | Run `test_release_phase_progress_cli` in `tests/hooks/test_release_phase_progress.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R006.7
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Extend ProjectVersionInventory with a versioned static discovery policy. Version 1 discovers project.version metadata, literal module-level __version__ assignments in first-party package roots and marked project-version documentation spans. Other names such as VERSION require an explicit project-version ownership selector. Dependency constants and historical release text remain excluded unless explicitly declared. Every discovered location must map to one canonical bump selector. | Run `test_version_inventory_completeness_model` in `tests/hooks/test_version_inventory_completeness.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIEDa5cc6e652e41
    tests/hooks/test_version_inventory_completeness.py:72
    PIPE-RELEASE-R006.8
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** Compare discovered locations with configured selectors before checking values. An undeclared __version__ assignment within supported package roots must fail even when its value matches. Discovery must not evaluate code or search arbitrary version strings. A dependency constant named VERSION must remain excluded without project-version ownership metadata. Ambiguous assignments and computed project versions must remain unsupported, not guessed. | Run `test_version_inventory_completeness_behavior` in `tests/hooks/test_version_inventory_completeness.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIED008269c3085b
    a5cc6e652e41
    tests/hooks/test_version_inventory_completeness.py:104
    PIPE-RELEASE-R006.9
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Extend proposed project_version.main through pipelines_hooks/cli.py:13 and run_gate at line 59. Reuse R006 snapshot selection. Add a code-enhancer consumer binding: owner repository, revision, real entry-point path and function, invocation argv and inventory digest. That entry must invoke project-version-sync before admitting a version proposal. Its concrete owner call site remains unresolved; a generic CLI pass cannot prove consumer integration. | Run `test_version_inventory_completeness_wiring` in `tests/hooks/test_version_inventory_completeness.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R006.10
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** Unmapped discovered references or duplicate mappings must fail with exact locations. Unsupported grammar, missing roots, dynamic assignments or ambiguous canonical authority must exit 2. The consumer must not rewrite undeclared references or broaden discovery to dependency and historical version text. | Run `test_version_inventory_completeness_refusal` in `tests/hooks/test_version_inventory_completeness.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R006.11
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** Emit discovered and configured sets, their difference, per-location role and selector, policy digest and source snapshot. State the exact supported discovery grammar and excluded categories. A pass proves completeness within that grammar only, not every possible textual version mention. | Run `test_version_inventory_completeness_evidence` in `tests/hooks/test_version_inventory_completeness.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R006.12
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** The project-version-sync CLI must inspect a disposable package with a new unmapped module-level __version__ assignment. It must fail, then pass after mapping. An unrelated dependency VERSION constant and historical text must remain unchanged. After resolving its owner binding, the real code-enhancer entry must refuse the same proposal. A missing consumer binding or dynamic expression leaves integration unproved. | Run `test_version_inventory_completeness_cli` in `tests/hooks/test_version_inventory_completeness.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.7
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Add MajorUpgradeCandidate to proposed release phase policy. It must enumerate every supported consumer package, prior and target dependency pins, source revisions and compatibility profile. Each receipt must bind package artifact, target major version, Scion SDK certification revision and observed result. One owner inventory must define fleet membership. | Run `test_major_upgrade_pre_pin_model` in `tests/hooks/test_major_upgrade_pre_pin.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.8
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** Before any pin write, gather passing Scion SDK certification receipts for every owner-declared consumer package at exact target artifacts. Bind admission to unchanged prior pins and source revisions. Failed or incomplete preflight must leave every pin unchanged. After admission, apply owner-ordered updates with per-repository expected-head checks. This contract does not claim an atomic transaction across repositories. | Run `test_major_upgrade_pre_pin_behavior` in `tests/hooks/test_major_upgrade_pre_pin.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.9
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Extend the proposed release-phases entry at pipelines_hooks/cli.py:13 through run_gate at line 59. Place the Scion SDK compatibility adapter before version-bump argv execution and pin writes. Repository-manager retains fleet rollout admission; Scion SDK retains compatibility semantics. Pipelines must consume those producer receipts without duplicating certification rules. | Run `test_major_upgrade_pre_pin_wiring` in `tests/hooks/test_major_upgrade_pre_pin.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.10
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** A failed preflight result must refuse admission with zero pin writes. Missing, stale, skipped or mismatched receipts must exit 2. A changed expected head invalidates admission. After writes begin, failure stops remaining updates and reports already-applied changes explicitly. Resumption requires revalidation; it must neither claim global rollback nor repeat an already-applied update silently. | Run `test_major_upgrade_pre_pin_refusal` in `tests/hooks/test_major_upgrade_pre_pin.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.11
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** Record complete owner package inventory, old/new pins, artifacts, certification profiles and all compatibility receipts. Bind admission to expected source heads. Preflight refusals require byte-identical pin evidence. Post-admission reports must distinguish applied, failed and unstarted updates, including exact resulting heads. Import success alone cannot replace package compatibility. | Run `test_major_upgrade_pre_pin_evidence` in `tests/hooks/test_major_upgrade_pre_pin.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.12
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** The actual rollout entry must certify two packaged consumers before any writes. One incompatible or missing result must preserve every pin. After passing admission, change a second repository head while the first update completes. The second update must refuse; the receipt must show the first applied and the second unstarted. Revalidation must precede resumption. | Run `test_major_upgrade_pre_pin_cli` in `tests/hooks/test_major_upgrade_pre_pin.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R001.13
    Versions and container files are derived
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Versions and container files are derived.** The connector release reads the version from `pyproject.toml` alone and holds no `.bumpversion.cfg` file list. `pipelines-connector render` writes `Dockerfile`, `debug.Dockerfile` and `<target>.compose.yml` from `pipelines_hooks/connector/templates` and `[project]` plus the optional `[tool.pipelines.container]` table (`host`, `compose_host`, `port`, `uid`, `home`, `entrypoints`, `sdist_deps`, `builder_apt`, `runtime_apt`, `runtime_copies`, `stage_copies`, `extra_stages`, `extra_runtime_stages`, `debug_apt`, `debug_extras`, `install_extras`, `compose_env`, `env_file_mode`, `env_file_optional`, `image_var`, `restart`, `tmpfs_size`, `publish_port`, `container_name`, `hostname`, `health_timeout`, `health_command_timeout`, `config_mounts`, `state_volumes`, `limits`); `compose_host` is one canonical host-binding field and accepts a validated IPv4/IPv6 literal or a typed `{env, default}` binding whose default is a validated IP; `publish_port` accepts a validated port literal or the same typed binding. The renderer uses Compose long-form ports (`host_ip`, `published`, `target`) so IPv4, IPv6 and typed bindings cannot corrupt short syntax. An unknown or ambiguous key (including the retired `publish_host` alias), malformed environment name/default, invalid selector/value, host-with-port or missing entrypoint refuses, and equal inputs give equal bytes. `container_pipeline.yml` takes `render_connector` and renders before the build; when the canonical `docker/Dockerfile` is absent it also renders only for a recognized connector identity (`agent_connector_sdk.connector` or a tracked `connector_sources.py`), while custom Dockerfile paths remain caller-owned. `--check` and `connector-files` fail a committed rendering. | `tests/hooks/test_connector_central.py::test_render_is_deterministic_and_driven_by_the_table`, `::test_render_preserves_explicit_runtime_contract`, `::test_render_uses_a_validated_compose_host`, `::test_render_resolves_typed_bindings_through_compose`, `::test_render_refuses_invalid_runtime_contract`, `::test_render_refuses_an_invalid_compose_host`, `::test_render_refuses_malformed_typed_bindings`, `::test_render_refuses_the_retired_publish_host_alias`, `::test_render_refuses_an_unknown_table_key_and_a_missing_entrypoint`, `::test_render_writes_files_and_check_fails_on_a_committed_rendering`, `tests/test_container_pipeline_contract.py::test_connector_render_is_selected_only_for_missing_canonical_dockerfile` and `::test_connector_sources_identity_enables_canonical_render`, and `::test_pipelines_connector_command_dispatches_and_refuses_unknown`.
    requirementPIPE-RELEASEVERIFIED0f2baf0bc01f
    520609e0ae33
    5b1843a5a360
    5ff231c270b1
    8a5d41d64229
    tests/hooks/test_connector_central.py:143
    tests/hooks/test_connector_central.py:185
    tests/hooks/test_connector_central.py:201
    tests/hooks/test_connector_central.py:234
    tests/hooks/test_connector_central.py:254
    PIPE-RELEASE-R001.14
    A new Scion SDK release rebuilds connector images
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **A new Scion SDK release rebuilds connector images.** The rendered image refreshes the detected Scion SDK distribution, accepting the legacy `agent-connector-sdk` alias and the new `scion-sdk` distribution; the migration path emits the new distribution while old consumers remain accepted. The image uses `ARG SDK_VERSION`; `container_pipeline.yml` takes `sdk_version` and optional `sdk_distribution`, passes the version as the build argument and adds `<version>-sdk<sdk_version>` for the legacy distribution or `<version>-sdk-scion-sdk-<sdk_version>` for Scion (with the target suffix). `connector_sdk_rebuild_pipeline.yml` accepts the validated distribution from the dispatch input or payload, resolves the Scion SDK version (input, payload, then PyPI), checks the matching distribution-specific registry tag, and otherwise rebuilds through the container pipeline. | `tests/hooks/test_connector_central.py::test_container_workflow_renders_and_tags_by_sdk_version` and `::test_sdk_rebuild_workflow_skips_a_built_tag_and_rebuilds_through_the_container_pipeline`.
    requirementPIPE-RELEASEVERIFIED5ff231c270b1
    tests/hooks/test_connector_central.py:335
    tests/hooks/test_connector_central.py:353
    PIPE-RELEASE-R007
    Shared gates workflow, tag-only publish guard and fast-tests hook
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Shared gates workflow, tag-only publish guard and fast-tests hook.** Rollup of the children below. Implements the pipelines prerequisite of the CI standard; nothing changes for a caller that adds no input. | The rollup is the minimum state of its children.
    requirementPIPE-RELEASEVERIFIED3cfd039fe3e2
    3d0455152b96
    4f1e1f0aff4a
    5655978dd7c2
    6e39e9664fd1
    tests/hooks/test_fast_tests.py:10
    tests/hooks/test_fast_tests.py:27
    tests/hooks/test_fast_tests.py:35
    tests/hooks/test_fast_tests.py:46
    tests/hooks/test_pr_test_scope.py:189
    PIPE-RELEASE-R007.1
    Model
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Model.** Add `.github/workflows/gates_pipeline.yml`, a `workflow_call` workflow with exactly the inputs `config`, `test-scope`, `src-root`, `runner`, `rust`, `all-files`, `extra-manual-hooks`, `skip-hooks` and `timeout-minutes`. Every input is optional with a default (`.config/pre-commit.yaml`, `tests`, derived, hosted runner, no Rust, diff scope, none, none, 15), no secrets are declared and no publish step exists, so adopting it needs no `with:` block. | Run `test_gates_workflow_inputs_all_default` in `tests/test_gates_pipeline_contract.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIED3d0455152b96
    4f1e1f0aff4a
    5655978dd7c2
    6e39e9664fd1
    75a70f90aed9
    tests/test_gates_pipeline_contract.py:44
    tests/test_gates_pipeline_contract.py:52
    PIPE-RELEASE-R007.2
    Behavior
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Behavior.** The `gates` job fetches full history, resolves the pull request base (merge-base fallback), runs the caller's pre-commit file at the commit stage and the pre-push stage with `--from-ref/--to-ref`, or `--all-files` when `all-files` is true, then runs the `pr-test-scope` subset (`NONE` skips, `FULL` runs the tests directory). The job honours `timeout-minutes`. The header carries the copyable caller concurrency block (cancel for pull request and main groups) and `paths-ignore` list. | Run `test_gates_workflow_scopes_to_the_diff_and_caps_time` in `tests/test_gates_pipeline_contract.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIED3d0455152b96
    4f1e1f0aff4a
    tests/test_gates_pipeline_contract.py:65
    PIPE-RELEASE-R007.3
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** `python_pipeline.yml` gains input `require-tag` (default `false`) and a first step guarded by it, so existing callers are unchanged. `templates/workflows/gates-skip.yml` is the inverse-`paths:` companion that reports the required `gates` check for docs/spec-only changes. Shared hook `fast-tests` is registered in `pipelines_hooks/cli.py` and published at the pre-push stage in `.pre-commit-hooks.yaml`. | Run `test_require_tag_defaults_off_and_guards_the_publish_step` in `tests/test_gates_pipeline_contract.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIED3d0455152b96
    4f1e1f0aff4a
    tests/test_gates_pipeline_contract.py:78
    PIPE-RELEASE-R007.4
    Refusal
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Refusal.** With `require-tag` true, a ref that is not `refs/tags/v*` fails the job before the build and publish steps and names the ref. `fast-tests` exceeding its cap (default 120 s) fails the hook with exit 1 instead of hanging the push; a non-positive timeout is `CannotRun` (exit 2). | Run `test_require_tag_refuses_a_branch_ref_and_names_it` in `tests/test_gates_pipeline_contract.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIED4f1e1f0aff4a
    tests/hooks/test_fast_tests.py:46
    tests/test_gates_pipeline_contract.py:93
    PIPE-RELEASE-R007.5
    Evidence
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Evidence.** `fast-tests` states why it ran nothing: `no affected tests` for `NONE`, and that main CI owns the suite for `FULL`. The refusal message of the tag guard names the offending ref. The gates workflow logs the `pr-test-scope` result before running tests. | Run `test_fast_tests_reports_no_affected_tests` in `tests/hooks/test_fast_tests.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIED4f1e1f0aff4a
    tests/hooks/test_fast_tests.py:27
    tests/hooks/test_fast_tests.py:35
    tests/test_gates_pipeline_contract.py:104
    PIPE-RELEASE-R007.6
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** Run `pipelines-hook fast-tests --base-ref <base> --src-root pkg` on a real temporary Git repository with one affected and one unrelated failing test: the affected test passes (exit 0), the unrelated test never runs, and breaking the affected module exits 1. A sleeping affected test with `--timeout 2` exits 1. | Run `test_fast_tests_runs_only_the_affected_subset` in `tests/hooks/test_fast_tests.py`. Assert the stated contract through its declared boundary.
    requirementPIPE-RELEASEVERIFIED3d0455152b96
    4f1e1f0aff4a
    tests/hooks/test_fast_tests.py:10
    PIPE-RELEASE-R007.7
    Release bumps keep the Rust scope narrow
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release bumps keep the Rust scope narrow.** `pr-test-scope --lang rust` compares each changed `Cargo.toml` and `Cargo.lock` with the merge base. A change that only moves workspace-member versions maps to no crate. Any other lock change still prints `FULL`. A release bump then keeps the pull-request crate sweep inside its 10-minute budget. | Run the three version-bump tests in `tests/hooks/test_pr_test_scope.py`. A member-version bump prints `NONE`, a registry bump prints `FULL`, and a new dependency names its crate.
    requirementPIPE-RELEASEVERIFIED3cfd039fe3e2
    tests/hooks/test_pr_test_scope.py:189
    tests/hooks/test_pr_test_scope.py:197
    tests/hooks/test_pr_test_scope.py:207
    PIPE-RELEASE-R008
    Python release publishes the wheel and the source distribution together
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Python release publishes the wheel and the source distribution together.** `publish-python-package` builds the sdist into `dist-sdist/` and keeps `dist/` wheel-only for the wheel guard. The readiness `source` phase must prove the sdist by an isolated wheel rebuild. The publish step must upload both files and refuse an sdist whose version is not the release version. `maturin_pipeline.yml` must build its sdist from the same project as its wheels and publish it with them. `reference/python-release-readiness.md` must state the consumer rule: install wheels only, except for `allow-source-build` packages. A version with a compatible wheel is available. A missing sdist on that version is the advisory `sdist_missing`, not a failure. `partial_publish` applies only while the release run is in progress. | `tests/test_python_sdist_output.py` checks the step order, the proof, the upload set, a real offline sdist build, the maturin sdist job and the documented readiness rule.
    requirementPIPE-RELEASEVERIFIED05f3ffe79a66
    5433baf91995
    8d87cddcb719
    c5cad0580cf9
    tests/test_python_sdist_output.py:106
    tests/test_python_sdist_output.py:27
    tests/test_python_sdist_output.py:47
    tests/test_python_sdist_output.py:55
    tests/test_python_sdist_output.py:83
    PIPE-RELEASE-R009
    Release records publish to the engine (rollup)
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release records publish to the engine (rollup).** After a successful publish, the release workflow must record the release through the arbora `release.record` operation of `ARBORA-OPS-R853`. The record names repository, version, tag, head commit and artifact digests. Children `.1` and `.2` deliver it. | See each child.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R009.1
    Wiring
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Wiring.** Add a final step `record-release` to `.github/workflows/main_pipeline.yml` after the publish job. It posts the record over plain HTTP. A failure of this step marks the run but never withdraws the release. | `tests/test_release_record_step.py::test_workflow_has_record_step_after_publish` parses the workflow.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R009.2
    Hot-path proof
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Hot-path proof.** The test runs the step script against a fixture endpoint with two artifact digests. It observes one release record with both digests. | `tests/test_release_record_step.py::test_step_posts_release_with_digests` reads the posted record.
    requirementPIPE-RELEASESPECIFIEDNo recorded commit/test evidence
    PIPE-RELEASE-R010
    Named per-repository source-build allowance
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Named per-repository source-build allowance.** A consumer repository may name sdist-only dependencies in `[tool.pipelines] allow-source-build`. The default is empty. Wheel readiness adds `--no-binary` only for the listed names. The resolver admits a public sdist only for those names. A wildcard, an invalid name or the published package itself must refuse. The receipt records the list, and the verify step checks it again. | `tests/test_wheel_readiness.py`: the allowance defaults to empty, reads named packages, refuses wildcards and bad names, and refuses the published package.
    requirementPIPE-RELEASEVERIFIEDd0cb9114aec1
    tests/hooks/test_connector_central.py:106
    tests/hooks/test_connector_central.py:120
    tests/hooks/test_connector_central.py:132
    tests/test_wheel_readiness.py:510
    tests/test_wheel_readiness.py:517
    PIPE-RELEASE-R011
    Connector pull request workflow
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Connector pull request workflow.** `connector_pr_pipeline.yml` wraps `gates_pipeline.yml` for a connector. It runs the caller's `.pre-commit-config.yaml` at the commit stage, then the affected unit tests, within 10 minutes. It skips `docker-compose-check`, which needs deployment values. A `setup-command` syncs the lock with all extras and groups, installs `bump2version` and `bun` and puts them on `PATH` (the project packages go on `PYTHONPATH` too, because pre-commit runs under uvx), because the connector hooks are `language: system`. It never publishes. `gates_pipeline.yml` gains the optional input `stages` (default `pre-commit pre-push`). | `tests/test_connector_release_pipeline.py::test_connector_pr_workflow_is_fast_commit_stage_and_never_publishes` and `::test_gates_stage_loop_reads_the_stages_input`.
    requirementPIPE-RELEASEVERIFIED202653782839
    242bc1dcb02b
    3d0455152b96
    8f223cc5bbbd
    9e908499d247
    tests/test_connector_release_pipeline.py:19
    tests/test_connector_release_pipeline.py:20
    tests/test_connector_release_pipeline.py:41
    tests/test_connector_release_pipeline.py:42
    PIPE-RELEASE-R012
    A connector release publishes PyPI and Docker, and verifies both
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **A connector release publishes PyPI and Docker, and verifies both.** Each release publishes the PyPI version and the `<version>-mcp` Docker image. The last step of `container_pipeline.yml` fails the run when either is missing after the publish. | `tests/test_connector_release_pipeline.py::test_verification_passes_when_both_artifacts_exist` and `::test_verification_fails_naming_the_missing_artifact`.
    requirementPIPE-RELEASEVERIFIED07ffdeee05fb
    08735fb01481
    0f2baf0bc01f
    154f96235334
    23b1e1111638
    tests/hooks/test_distribution_aliases.py:22
    tests/test_connector_release_pipeline.py:82
    tests/test_connector_release_pipeline.py:83
    tests/test_connector_release_pipeline.py:88
    tests/test_connector_release_pipeline.py:89
    PIPE-RELEASE-R012.1
    Published-wheel image preflight
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Published-wheel image preflight.** The shared release-version action offers an explicit `published-wheel` mode for a named distribution and Python package module. The central container workflow invokes it for each main-branch connector target before the builder, registry login or image build, derives a sole identity from the selected immutable build context when the caller leaves the names empty, selects that target's package extra from the reviewed renderer metadata (including a bare exact pin when MCP is supplied by a base dependency), and skips non-connectors. It verifies the selected immutable source Docker pin (using the provider renderer for an absent canonical connector Dockerfile), project version, public pure-Python wheel SHA256, and exact package file inventory and bytes against committed source plus the deterministic ontology artifacts generated into the release wheel. Missing or extra files, altered bytes, absent package, stale pin, ambiguous wheel, unavailable renderer/generator checkout, unavailable public evidence or an untracked selected custom Dockerfile refuse. It does not claim native ABI qualification. An explicit `release_repair` workflow-call input is false by default; when a caller opts in, only a `workflow_dispatch` at the current immutable `main` HEAD using either the canonical renderer or an explicit `legacy_profile` wheel-only path may proceed. The legacy path requires `render_connector=false`, a tracked canonical Dockerfile with the wheel-only marker and no source copy, and compares the public wheel against the immutable original package source while taking the Dockerfile from the current reviewed main checkout; package name/version metadata must match across both trees. The source SHA must be an ancestor of current main, its checkout and epoch must match, and the guarded container build and public-wheel proof use these explicit immutable source boundaries; the already published version may be republished as a container with the same public-wheel/source-version guard and post-publish verification before registry login/build without republishing PyPI. The default unpublished release guard is unchanged. | `tests/test_public_wheel_guard.py` exercises matching payload, generated ontology payload binding, tracked legacy payload preservation with a separate current Docker source, generated Dockerfile rendering for both connector identities, target-extra selection for connectors with and without MCP extras across generated and tracked Dockerfiles, identity refusal/skip, nonconnector/custom/provider-checkout refusals, wheel-only legacy Dockerfile refusals, inventory and byte tampering, digest refusal before ZIP parsing, committed-source isolation, stale-pin refusal before network and explicit action wiring; `tests/test_container_pipeline_contract.py` exercises main-release ordering, target-extra wiring, connector/nonconnector identity wiring, immutable source checkout/epoch/ancestry and canonical/legacy release-repair opt-in/refusals.
    requirementPIPE-RELEASEVERIFIED07ffdeee05fb
    08735fb01481
    0f2baf0bc01f
    154f96235334
    23b1e1111638
    tests/test_container_pipeline_contract.py:104
    tests/test_container_pipeline_contract.py:173
    tests/test_container_pipeline_contract.py:358
    tests/test_container_pipeline_contract.py:414
    tests/test_container_pipeline_contract.py:434
    PIPE-RELEASE-R013
    Release-standard check
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release-standard check.** Hook `release-standard` warns when a connector repository (it declares the `agent_connector_sdk.connector` entry point or tracks a `connector_sources.py`; an Scion SDK dependency or a manifest file no longer marks one) lacks a tracked `docker/Dockerfile` or an enabled workflow job that calls `container_pipeline.yml` with either a tracked selected custom Dockerfile or the provider's canonical renderer path. `--strict` blocks. A repository that is not a connector passes. | `tests/hooks/test_release_standard.py` binds the warn, strict, generated-render, custom-path, disabled-job and exempt cases and the entry-point and `connector_sources.py` detection.
    requirementPIPE-RELEASEVERIFIED0f2baf0bc01f
    242bc1dcb02b
    cf912c89cd2f
    tests/hooks/test_release_standard.py:19
    tests/hooks/test_release_standard.py:28
    tests/hooks/test_release_standard.py:36
    tests/hooks/test_release_standard.py:42
    tests/hooks/test_release_standard.py:59
    PIPE-RELEASE-R014
    Release readiness proves runtime profiles concurrently and without bytecode compilation
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release readiness proves runtime profiles concurrently and without bytecode compilation.** Wheel readiness resolves and installs each runtime profile (base, mcp, agent, all, plus declared ones) in its own disposable home and venv, at most four at a time, and keeps the declared profile order in the receipt. Any failing profile fails the proof. The install passes `--no-compile` because the venv is never imported. The index, public-host, wheel-only and no-cache constraints are unchanged. | `tests/test_wheel_readiness.py::test_profiles_are_proven_concurrently_in_declared_order` and `::test_profile_install_skips_bytecode_compilation`.
    requirementPIPE-RELEASEVERIFIED29f674f887fa
    tests/test_wheel_readiness.py:581
    tests/test_wheel_readiness.py:611
    PIPE-RELEASE-R015
    Release image builds reuse one persistent BuildKit builder per runner pod
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release image builds reuse one persistent BuildKit builder per runner pod.** `container_pipeline.yml` does not create and remove a builder in every job. A named builder is created if absent, booted with a bounded wait, replaced when it does not boot, and passed to every build attempt. The local cache is pruned to a bound after the build. The registry `cache-from` and `cache-to` per target and the post-release verification are unchanged. | `tests/test_container_pipeline_contract.py::test_release_builds_use_one_persistent_builder`.
    requirementPIPE-RELEASEVERIFIED29f674f887fa
    tests/test_container_pipeline_contract.py:1170
    PIPE-RELEASE-R016
    Release builds keep uv downloads and managed interpreters in the runner tool cache
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **Release builds keep uv downloads and managed interpreters in the runner tool cache.** `publish-python-package` points `UV_CACHE_DIR` and `UV_PYTHON_INSTALL_DIR` at the runner tool cache before any uv call. uv keys its cache by package, version and hash, so a lock change misses. No check is skipped. | `tests/test_python_pipeline_contract.py::test_publish_action_persists_uv_cache_in_tool_cache`.
    requirementPIPE-RELEASEVERIFIED29f674f887fa
    tests/test_python_pipeline_contract.py:133
    PIPE-RELEASE-R017
    A pull request builds the image when a container input changes
    Definition — PIPE-RELEASE / PIPE-RELEASE — Dependency-ordered digest release orchestrationCanonical requirement and verification source
    **A pull request builds the image when a container input changes.** `container_build_check.yml` takes `dockerfile` (default `docker/Dockerfile`), `context` (default `.`) and an optional `target`, and runs `docker buildx build` with no push and no login on the self-hosted runner; it exits cleanly when the Dockerfile is absent. `connector_pr_pipeline.yml` runs the job `container-inputs`, which diffs `origin/<base>...HEAD` and sets `build` only when a changed path is under `docker/`, is a `Dockerfile*`, `.dockerignore`, `pyproject.toml`, `uv.lock`, `package.json`, `pnpm-lock.yaml` or is under `patches/`; it sets `build=false` when `docker/Dockerfile` is absent. The job `container-build` calls the check only when `build` is `true`. | `tests/test_connector_release_pipeline.py::test_connector_pr_builds_the_image_only_when_a_container_input_changes`.
    requirementPIPE-RELEASEVERIFIED149439ae20cc
    2cdfc98f4b32
    tests/test_connector_release_pipeline.py:111
    tests/test_connector_release_pipeline.py:112
    PIPE-VALIDATION
    PIPE-VALIDATION — Shared validation
    specNoneVERIFIEDNo recorded commit/test evidence
    PIPE-VALIDATION-R001
    Bounded shared repository validation
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Bounded shared repository validation.** The validation package runs declared offline checks with structured required and advisory outcomes. | The child requirements below cover the command.
    requirementPIPE-VALIDATIONVERIFIED0a8cf7ab17e8
    0f9f73b150d7
    21f7b1955972
    5ff231c270b1
    af9b1ddcb25f
    tests/hooks/test_connector_central.py:440
    tests/hooks/test_connector_central.py:459
    tests/hooks/test_connector_central.py:467
    tests/hooks/test_connector_central.py:478
    tests/hooks/test_connector_security_scaffold.py:111
    PIPE-VALIDATION-R001.1
    Strict policy
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Strict policy.** `validation/policy.py` rejects unknown keys, duplicate IDs or gates, unsupported gates, missing acceptance mappings, and invalid deadlines before dispatch. | `test_policy_refuses_ambiguous_checks` and `test_policy_accepts_repository_group`.
    requirementPIPE-VALIDATIONVERIFIEDb76625874902
    tests/hooks/test_validation.py:41
    tests/hooks/test_validation.py:48
    PIPE-VALIDATION-R001.2
    Passive events do no work
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Passive events do no work.** `validation/cli.py` returns an explicit inactive result for post-merge, post-checkout, and post-rewrite without loading policy or dispatching checks. | `test_passive_git_event_does_not_dispatch` uses disposable Git repositories and sentinel tools.
    requirementPIPE-VALIDATIONVERIFIEDb76625874902
    tests/hooks/test_validation.py:120
    PIPE-VALIDATION-R001.3
    Required checks fail closed
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Required checks fail closed.** `validation/runner.py` reports missing prerequisites separately; required failures, unavailable results, and timeouts block. Advisory outcomes remain visible. | `test_required_and_advisory_outcomes` and `test_missing_git_is_unavailable`.
    requirementPIPE-VALIDATIONVERIFIEDb76625874902
    tests/hooks/test_validation.py:70
    tests/hooks/test_validation.py:87
    PIPE-VALIDATION-R001.4
    Bounded execution
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Bounded execution.** `validation/runner.py` enforces check and run deadlines, terminates its process group, and records measured duration. SIGTERM and SIGINT clean up worker descendants while preserving the runner signal exit; prior signal policies are restored. | `test_deadline_terminates_child_process`, `test_run_budget_marks_remaining_checks`, and `test_runner_signal_cleans_worker_group_and_keeps_signal_exit`.
    requirementPIPE-VALIDATIONVERIFIED0f9f73b150d7
    af9b1ddcb25f
    b76625874902
    tests/hooks/test_validation.py:181
    tests/hooks/test_validation.py:202
    tests/hooks/test_validation_lifecycle.py:112
    tests/hooks/test_validation_lifecycle.py:148
    PIPE-VALIDATION-R001.5
    Actionable evidence
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Actionable evidence.** `validation/cli.py` prints grouped concise results and writes a versioned report with check logs, remedies, acceptance IDs, and elapsed time. Published and self-run pre-commit registrations expose advisory output even when the aggregate exit is zero. | `test_summary_matches_evidence` verifies clean and failed runs; `test_advisory_report_is_visible_through_pre_commit` covers advisory fail, unavailable, and timeout through actual pre-commit.
    requirementPIPE-VALIDATIONVERIFIEDaf9b1ddcb25f
    b76625874902
    tests/hooks/test_validation.py:100
    tests/hooks/test_validation_lifecycle.py:50
    PIPE-VALIDATION-R001.6
    Retain Meristem ignore acceptance
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Retain Meristem ignore acceptance.** The shared gitignore checker retains all 16 Meristem patterns and rejects tracked build, dist, and target families without confusing ordinary source filenames. | `test_au_ignore_acceptance_is_retained` runs real disposable Git fixtures.
    requirementPIPE-VALIDATIONVERIFIEDb76625874902
    tests/hooks/test_validation_acceptance.py:27
    tests/hooks/test_validation_acceptance.py:49
    PIPE-VALIDATION-R001.7
    Standard repo files are provided, not copied
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Standard repo files are provided, not copied.** The `connector-standard` hook runs `connector-files`, `connector-codespell`, `connector-security` and `connector-api-parity`. A tracked `scripts/security_sanitizer.py` (the shared `security-sanitizer` inside `secrets` replaces it), `.codespellignore`, `.bumpversion.cfg`, `docker/{Dockerfile,debug.Dockerfile,mcp.compose.yml,agent.compose.yml}`, `.security/{repository_fuzz.py,authenticated_negative.py}`, `.security/security-contract.json`, `scripts/bootstrap.sh`, `scripts/verify_api_integration.py`, `tests/test_verify_api_integration.py`, or the generated ontology files is a finding. | `tests/hooks/test_connector_central.py::test_committed_copies_of_central_files_fail_and_a_clean_repo_passes` and `::test_connector_standard_is_a_group_and_a_published_hook`.
    requirementPIPE-VALIDATIONVERIFIED5ff231c270b1
    tests/hooks/test_connector_central.py:440
    tests/hooks/test_connector_central.py:459
    PIPE-VALIDATION-R001.8
    Ignore-file defaults are shared
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Ignore-file defaults are shared.** `connector-codespell` runs codespell over tracked files outside tests and scripts with the shared default word list; extra words come from `[tool.pipelines.codespell] ignore_words` in `pyproject.toml`. Without codespell it fails closed in CI. | `tests/hooks/test_connector_central.py::test_codespell_defaults_are_shared_and_extended_from_pyproject`.
    requirementPIPE-VALIDATIONVERIFIED5ff231c270b1
    tests/hooks/test_connector_central.py:467
    PIPE-VALIDATION-R001.9
    One reference connector configuration
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **One reference connector configuration.** `templates/connector/pre-commit-config.yaml` is the whole connector pre-commit file: upstream hygiene and ruff hooks plus `connector-standard`, `secrets`, `spec` and `tests-fast` from this repository at `rev: main`, under 60 lines, naming only published hook ids and no copied sanitizer or bumpversion hook. | `tests/hooks/test_connector_central.py::test_reference_connector_config_names_only_published_hooks`.
    requirementPIPE-VALIDATIONVERIFIED5ff231c270b1
    d9ae8754cd03
    tests/hooks/test_connector_central.py:478
    PIPE-VALIDATION-R001.10
    The security scaffold is provided
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **The security scaffold is provided.** `pipelines-connector security {fuzz,authenticated-negative} OUT` writes the bounded fuzz and workflow control-plane evidence (privileged trigger, broad permissions, secret in shell, mutable action or container reference; a third-party action must be pinned to a commit SHA, while the organization's own shared workflows `Knuckles-Team/pipelines/.github/workflows/<file>.yml@main` are referenced at `main`, never pinned, and are the only branch reference allowed) that `.security/repository_fuzz.py` and `.security/authenticated_negative.py` copies wrote. `pipelines-connector security contract [--out PATH]` prints the effective contract: the packaged default hooks and license policy plus `[tool.pipelines.security] license_allowed / license_denied`; an unknown key or an allow/deny overlap is refused. The `connector-security` member of `connector-standard` runs both checks against the contract thresholds. A tracked `.security/security-contract.json` is a finding unless `scripts/security_contract.py` is tracked, because that validator still reads the file. | `tests/hooks/test_connector_security_scaffold.py::test_fuzz_and_negative_checks_write_the_evidence_the_contract_expects`, `::test_a_risky_workflow_is_a_finding_and_fails_the_check`, `::test_the_organizations_own_shared_workflows_are_allowed_at_main`, `::test_every_other_branch_or_tag_reference_stays_a_mutable_action`, `::test_contract_is_the_shared_default_plus_pyproject_license_additions`, `::test_contract_refuses_unknown_keys_and_an_allow_deny_overlap` and `::test_committed_security_files_are_findings_unless_a_legacy_validator_reads_the_contract`.
    requirementPIPE-VALIDATIONVERIFIED0a8cf7ab17e8
    tests/hooks/test_connector_security_scaffold.py:111
    tests/hooks/test_connector_security_scaffold.py:133
    tests/hooks/test_connector_security_scaffold.py:143
    tests/hooks/test_connector_security_scaffold.py:40
    tests/hooks/test_connector_security_scaffold.py:56
    PIPE-VALIDATION-R001.11
    `scripts/bootstrap.sh` is not provided
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **`scripts/bootstrap.sh` is not provided.** A tracked `scripts/bootstrap.sh` is a finding naming its replacement: `uv sync --locked` installs the pinned Python from `.python-version` and the locked environment, and `uvx pre-commit install --hook-type pre-commit --hook-type pre-push` installs the hooks. No pipelines script replaces it. | `tests/hooks/test_connector_security_scaffold.py::test_committed_bootstrap_script_is_a_finding_that_names_what_replaces_it`.
    requirementPIPE-VALIDATIONVERIFIED21f7b1955972
    tests/hooks/test_connector_security_scaffold.py:162
    tests/hooks/test_connector_security_scaffold.py:171
    PIPE-VALIDATION-R001.12
    API-to-MCP parity is a shared check
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **API-to-MCP parity is a shared check.** The `connector-api-parity` member of `connector-standard` (also `pipelines-connector api-parity`) measures the share of public `api_client*.py` methods that an MCP tool in `mcp_server.py` or its sibling `mcp/*.py` calls through `client`, `api` or `self`, including a `resolve_action(.., <NAME>_ACTIONS)` catalog dispatched with `getattr`. A tool is a `.tool`-decorated function or one named with a `[tool.pipelines.api_integration] tool_prefixes` prefix. Coverage below `baseline` (default 0.0) fails; coverage below 100 always lists the unmapped methods. A repository without a client or a server passes; an unknown key or an invalid value is refused. | `tests/hooks/test_connector_security_scaffold.py::test_parity_counts_decorated_tools_and_catalog_dispatch_and_prefixed_tools_only_when_configured`, `::test_parity_fails_below_the_pyproject_baseline_and_lists_unmapped_methods`, `::test_parity_passes_without_a_client_or_server_and_refuses_bad_configuration` and `::test_a_committed_parity_script_is_a_finding_and_standard_runs_every_member`.
    requirementPIPE-VALIDATIONVERIFIED21f7b1955972
    tests/hooks/test_connector_security_scaffold.py:210
    tests/hooks/test_connector_security_scaffold.py:221
    tests/hooks/test_connector_security_scaffold.py:233
    tests/hooks/test_connector_security_scaffold.py:247
    tests/hooks/test_connector_security_scaffold.py:260
    PIPE-VALIDATION-R002
    Privacy identity provenance
    Definition — PIPE-VALIDATION / PIPE-VALIDATION — Shared validationCanonical requirement and verification source
    **Privacy identity provenance.** Match Git-display-name-only candidates in identity fields or explicit attribution. Account, host, home-path, email, explicit override and prohibited-catalog identities remain strict everywhere. Independent strict provenance wins when sources overlap. No product-name allowlist applies. A bare personal name outside attribution can pass when Git display name is its sole source. | `tests/hooks/test_privacy_provenance.py` exercises the real CLI, contextual attribution, independent sources, same-line leaks and catalog precedence. Existing catalog refusal tests remain required.
    requirementPIPE-VALIDATIONVERIFIEDd718d2c96c8c
    tests/hooks/test_privacy_provenance.py:25
    tests/hooks/test_privacy_provenance.py:33
    tests/hooks/test_privacy_provenance.py:53
    tests/hooks/test_privacy_provenance.py:75
    tests/hooks/test_privacy_provenance.py:82
    TitleSpec delivery: pipelines
    RepositoryKnuckles-Team/pipelines
    Commit2bfb34d15ff8
    Captured (UTC)2026-10-28T23:19:32
    Snapshotsnapshot.json (v1)
    Sourcespecs/*/status.json
    Sheet1 of 1