CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 9s
CI Pipeline / go-surface (push) Failing after 20s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
Auto-version and Release / release (push) Canceled after 24s
CI Pipeline / unit-tests (push) Canceled after 24s
CI Pipeline / lint (push) Canceled after 22s
CI Pipeline / type-check (push) Canceled after 16s
CI Pipeline / canary (push) Canceled after 26s
CI Pipeline / rust-surface (push) Canceled after 26s
deploy / deploy (push) Canceled after 6s
CI Pipeline / gitea-offline (push) Canceled after 18s
Nick's order: enforce the dichotomy at the commit boundary via henxels, with the SRE rigor. dichotomy_language_verdict (henxels_checks.py) checks every src/rune/*.py against the measured map (store/rebase/classification.json): - D1 wrong-language kernel: a RUST-classified module owning only a Go dir (with the wave-3 exemption: cc_<stem> in cognition_core/lib.rs is a correct RUST landing) — and the mirror case - D2 dead-oracle facade: kernel ported (src/go|rust/<stem>/) but the Python module has zero delegation refs (cc_loader/_cc_core/sibling *_loader/ ctypes/CDLL). Pre-existing 62 facades seeded into store/rebase/dichotomy_debt.json — tracked, ONLY SHRINKS; new facades fail - D3 ratchet regression: a module in ported_ratchet.json (77-module floor) whose kernel directory vanished — ported work must never be deleted Every failure message IS the next implementation instruction (target path, parity-battery requirement, contract-first law) — the gate feeds Rune/ MiMo-Rune the correct implementation, not just a red X. SRE: gate starts GREEN (debt is tracked, not silent); ratchet floors never decrease; CI-enforced through the lint job's existing henxels check step. Verification: synthetic-fixture probes prove all three classes fire and all pass-cases stay silent; the probe itself found and fixed 2 statement bugs (dict-shaped ratchet read; missing delegation forms); real-tree gate clean; shims regression slice 122 passed.
151 lines
5.1 KiB
YAML
151 lines
5.1 KiB
YAML
settings:
|
|
warn_about_similar_files:
|
|
above: 0.85
|
|
ignore:
|
|
- docs/review-lessons.yaml
|
|
- docs/v1/**
|
|
- docs/wiki/**
|
|
- store/spine/**
|
|
- 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
|
|
- .gitea/ISSUE_TEMPLATE/**
|
|
- shared/issue_templates/**
|
|
- bridge/daemon/completion_file.py
|
|
- scripts/completion_file.py
|
|
- interop/rebase-proof/**
|
|
- src/rust/*/Cargo.lock
|
|
- src/rust/*/src/pyjson.rs
|
|
- src/rust/query_memory/src/json_min.rs
|
|
- 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 \u2014 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
|
|
- ./src/rune/spine.py
|
|
max_lines: 1250
|
|
- henxel: "The umbrella impact map is complete and truthful \u2014 every module mapped,\
|
|
\ no phantom entries"
|
|
in: ./config/umbrellas.json
|
|
umbrella_manifest_is_complete: true
|
|
- henxel: "Umbrella canaries exist in the repo \u2014 the propagation gate cannot\
|
|
\ reference ghosts"
|
|
in: ./config/umbrellas.json
|
|
umbrella_canaries_exist: true
|
|
- henxel: "The umbrella dependency graph stays a DAG \u2014 reflexive updates cannot\
|
|
\ cycle"
|
|
in: ./config/umbrellas.json
|
|
umbrella_dag_acyclic: true
|
|
- henxel: "The bug-fix discharge contract is a governed doc \u2014 it exists, is markdown,\
|
|
\ and changes are deliberate"
|
|
in: ./docs/bugfix-contract.md
|
|
allowed_filetypes:
|
|
- .md
|
|
- henxel: "The discharge checker ships with the repo \u2014 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 \u2014 new pipeline\
|
|
\ machinery ships with documentation"
|
|
in: ./.gitea/workflows/*.yml
|
|
workflows_are_governed: true
|
|
- henxel: "Every TUI surface is registered \u2014 no silent UI growth"
|
|
in: ./src/rune/*tui*.py
|
|
tui_panels_are_governed: true
|
|
- henxel: "New rune modules ship with tests or a canary \u2014 no ungoverned code\
|
|
\ surfaces"
|
|
in: ./src/rune/*.py
|
|
new_rune_modules_have_canary_or_test_coverage: true
|
|
- henxel: Rust crate files stay under a line budget
|
|
in: ./src/rust/*/src/*.rs
|
|
except:
|
|
- ./src/rust/*/src/pyjson.rs
|
|
- ./src/rust/*/src/json_min.rs
|
|
max_lines: 3000
|
|
- henxel: Go modules stay under a line budget
|
|
in: ./src/go/**/*.go
|
|
max_lines: 2000
|
|
- henxel: No secrets in Rust or Go source files
|
|
in:
|
|
- ./src/rust/*/src/*.rs
|
|
- ./src/go/**/*.go
|
|
no_secrets: true
|
|
- henxel: "PRDs are living documents \u2014 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 \u2014 docs rot is silent failure"
|
|
in: ./scripts/gen_prd_state.py
|
|
required_files:
|
|
- gen_prd_state.py
|
|
- henxel: "The adversarial review procedure is binding \u2014 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 \u2014 production failure capture\
|
|
\ is structural"
|
|
in: ./scripts
|
|
required_files:
|
|
- capture_failure.py
|
|
- henxel: "Production failure fixtures are a governed surface \u2014 the registry\
|
|
\ and its README exist"
|
|
in: ./tests/fixtures/production
|
|
required_files:
|
|
- manifest.json
|
|
- README.md
|
|
- henxel: "Fixture payloads and the manifest travel together \u2014 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
|
|
- henxel: "The dichotomy is enforced at the commit boundary — every src/rune module lands in its measured side, dead oracles and wrong-language kernels fail with the correct implementation as the instruction"
|
|
in: ./src/rune
|
|
dichotomy_language_verdict: true
|