Files
rune/docs/module-coverage-debt.md
T
Nick dac9bec488
CI Pipeline / lint (push) Successful in 39s
CI Pipeline / unit-tests (push) Successful in 39s
CI Pipeline / canary (push) Successful in 1m3s
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / type-check (push) Successful in 21s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / required-checks (push) Skipped
CI Pipeline / lint (pull_request) Failing after 17s
CI Pipeline / unit-tests (pull_request) Successful in 30s
CI Pipeline / canary (pull_request) Successful in 24s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / type-check (pull_request) Successful in 21s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / required-checks (pull_request) Skipped
feat(contract): pipeline-expansion henxels — workflows/TUI registries, module-coverage rule with shrinking debt ledger (#204, #147)
2026-09-07 17:46:46 +01:00

2.0 KiB

Module coverage debt ledger

Tracked, not silent — the repo's doctrine for known debt (same pattern as the file-size giants in henxels.yaml). The new_rune_modules_have_canary_or_test_coverage henxel fails any src/rune/*.py module with no test reference and no canary.

Rule: this list only shrinks. Every PR that adds a test or canary for a module removes it here. New modules can never be added — they ship governed. When the list is empty, this file records the fact and the henxel needs no escape.

Mechanism

The henxel reads this file: a module listed under ## Debt is tracked debt (warning-level in the ledger, visible here) instead of a contract failure. The distinction matters — nothing below is approved as "fine", it is known, owned, and scheduled for elimination via the P2 consolidation tranche (#125, #41).

Debt (58 modules as of 2026-09-07, baseline master 2975d76)

abstraction, audit_ledger, claim_audit, cognitive_budgeter, complexity_scorer, connection_pool, context_pressure, cron_engine, curator, dependency_tracker, drift_cache, drift_compression, drift_core, drift_observability, elastic_cognition, goal, graph_memory, growth_delta, hook_engine, identity_anchors, memory_consolidation, memory_env, message_queue, model_connect, model_registry, night_mode, outcome_ledger, parallel_processor, persona_definition, persona_gate, progressive_escalation, provider_budget, provider_registry, query_memory, recall_router, response_adapter, rune_graphic, rune_profiler, rune_spinner, salience_gate, self_improve, shard_manager, standardized_providers, subconscious_pass, system_registry, task_gate, task_persist, tiered_executor, tier_manager, time_awareness, token_optimizer, tui_validator, verification_layer, voicebox, voice_hybrid, voice_injector, voice_sync, warm_neuron_store, work_manager

Henxel escape: add the module name to this list only when the PR that touches the module cannot also carry its first test — and say why in the PR body.