Contract BUILDER-2026-10-04T10:29:39Z-cli (successor to 10:20:24Z-cli, same red evidence run 18322 lint job 51891). - henxels.yaml: the deliberate-duplicate registry — shared/** (deployed- vintage mirror tree), the named src/rune strangler shims, per-crate pyjson copies (self-contained zero-dep design), tiny zero-dep lockfiles, store/scaffold data, issue-template + completion_file mirrors, the interop/rebase-proof fixture - tests/test_rust_core_shims.py (new, 11/11): the thin pytest battery the diff-cover law owed the shim layer — drives the DELEGATION lines (loader resolves, envelope unpack, public-vs-fallback agreement) for spine_loader, ms_loader, cs_loader, tc_loader, and core_server's in-process shapes; skips cleanly on unbuilt crates Local: henxels all-hold green, battery 11/11.
128 lines
5.5 KiB
YAML
128 lines
5.5 KiB
YAML
settings:
|
|
warn_about_similar_files:
|
|
above: 0.85
|
|
ignore: ["docs/review-lessons.yaml", "docs/v1/**", "docs/wiki/**", "store/spine/**",
|
|
# shared/ is the DEPLOYED-VINTAGE mirror tree (strangler era):
|
|
# every src/rune <-> shared similarity here is intentional
|
|
# (the shim delegates to the crate; the mirror is the deployed
|
|
# vintage it strangles). Registering the deliberate pairs.
|
|
"shared/**",
|
|
"src/rune/drift_core.py", "src/rune/drift_compression.py",
|
|
"src/rune/drift_observability.py", "src/rune/shard_manager.py",
|
|
"src/rune/subconscious_pass.py",
|
|
# deliberate mirror pairs outside the strangler set:
|
|
# issue templates are mirrored into shared/issue_templates;
|
|
# completion_file.py is the bridge/daemon mirror of scripts/;
|
|
# interop/rebase-proof is a committed proof fixture.
|
|
".gitea/ISSUE_TEMPLATE/**", "shared/issue_templates/**",
|
|
"bridge/daemon/completion_file.py", "scripts/completion_file.py",
|
|
"interop/rebase-proof/**",
|
|
# per-crate copies by zero-dep design: each crate is
|
|
# self-contained (no shared crate dependency), so the pyjson
|
|
# JSON module is copied verbatim per crate and the tiny
|
|
# zero-dep lockfiles are near-identical by construction.
|
|
"src/rust/*/Cargo.lock", "src/rust/*/src/pyjson.rs",
|
|
"src/rust/query_memory/src/json_min.rs",
|
|
# store/scaffold is data (proof fixtures, gate objects),
|
|
# same class as the already-ignored store/spine.
|
|
"store/scaffold/**"]
|
|
|
|
henxels:
|
|
- henxel: "Canaries live at the repo's canary slot and are registered in CI"
|
|
in: ./src/rune/**/canary_*.py
|
|
ci_runs_all_canaries: true
|
|
|
|
- henxel: "No secrets in tracked files"
|
|
no_secrets: true
|
|
except: ["./tests/test_gitea_provision.py", "./tests/test_gitea_auth.py", "./.ci-venv/**", "./.test-venv/**", "./.canary-venv/**", "./backups/**"]
|
|
|
|
- henxel: "Plans are markdown, one per build"
|
|
in: ./plans
|
|
allowed_filetypes: [.md]
|
|
filename_casing: kebab-case
|
|
|
|
- henxel: "Top-level docs are markdown or yaml references"
|
|
in: ./docs/*
|
|
allowed_filetypes: [.md, .yaml]
|
|
except: ["./docs/v1/**", "./docs/wiki/**", "./docs/gitea_issue_reconciliation.json", "./docs/rebase/**"]
|
|
|
|
- henxel: "The known giant stays visible — file-size debt is tracked, not silent"
|
|
in: ./src/rune/*
|
|
except:
|
|
- ./src/rune/rune_tui.py
|
|
- ./src/rune/rune_operator.py
|
|
- ./src/rune/memory_store.py
|
|
- ./src/rune/curator.py
|
|
- ./src/rune/tool_executor.py
|
|
- ./src/rune/warm_router.py
|
|
max_lines: 1200
|
|
|
|
- henxel: "The umbrella impact map is complete and truthful — every module mapped, no phantom entries"
|
|
in: ./config/umbrellas.json
|
|
umbrella_manifest_is_complete: true
|
|
|
|
- henxel: "Umbrella canaries exist in the repo — the propagation gate cannot reference ghosts"
|
|
in: ./config/umbrellas.json
|
|
umbrella_canaries_exist: true
|
|
|
|
- henxel: "The umbrella dependency graph stays a DAG — reflexive updates cannot cycle"
|
|
in: ./config/umbrellas.json
|
|
umbrella_dag_acyclic: true
|
|
|
|
- henxel: "The bug-fix discharge contract is a governed doc — it exists, is markdown, and changes are deliberate"
|
|
in: ./docs/bugfix-contract.md
|
|
allowed_filetypes: [.md]
|
|
|
|
- henxel: "The discharge checker ships with the repo — red-first enforcement is structural"
|
|
in: ./scripts
|
|
required_files: [check_discharge_contract.py]
|
|
|
|
- henxel: "Discharge checker and its CI wiring change together"
|
|
changed_with:
|
|
when: scripts/check_discharge_contract.py
|
|
expect: ./.gitea/workflows/pipeline-gate.yml
|
|
|
|
- henxel: "Every workflow is registered in the pipeline registry — new pipeline machinery ships with documentation"
|
|
in: ./.gitea/workflows/*.yml
|
|
workflows_are_governed: true
|
|
|
|
- henxel: "Every TUI surface is registered — no silent UI growth"
|
|
in: ./src/rune/*tui*.py
|
|
tui_panels_are_governed: true
|
|
|
|
- henxel: "New rune modules ship with tests or a canary — no ungoverned code surfaces"
|
|
in: ./src/rune/*.py
|
|
new_rune_modules_have_canary_or_test_coverage: true
|
|
|
|
|
|
- henxel: "PRDs are living documents — their generated state sections regenerate identically from governed sources"
|
|
changed_with:
|
|
when: config/umbrellas.json
|
|
expect: ./docs/pipeline-prd.md
|
|
|
|
- henxel: "PRD staleness is a CI failure — docs rot is silent failure"
|
|
in: ./scripts/gen_prd_state.py
|
|
required_files: [gen_prd_state.py]
|
|
|
|
- henxel: "The adversarial review procedure is binding — dispatch templates must reference it"
|
|
in: ./docs/adversarial-review.md
|
|
required_files: [../docs/reviewer-dispatch-template.md]
|
|
|
|
- henxel: "The fixture pipeline ships with the repo — production failure capture is structural"
|
|
in: ./scripts
|
|
required_files: [capture_failure.py]
|
|
|
|
- henxel: "Production failure fixtures are a governed surface — the registry and its README exist"
|
|
in: ./tests/fixtures/production
|
|
required_files: [manifest.json, README.md]
|
|
|
|
- henxel: "Fixture payloads and the manifest travel together — tamper-evidence needs both"
|
|
changed_with:
|
|
when: tests/fixtures/production/**/payload.json
|
|
expect: tests/fixtures/production/manifest.json
|
|
|
|
- henxel: "The fixture manifest and its generated regression tests travel together"
|
|
changed_with:
|
|
when: tests/fixtures/production/manifest.json
|
|
expect: tests/fixtures/production/test_production_fixtures.py
|