#000037 Phase 0: §12 trigger probe + Phase 1 test scaffolding
Phase 0 of ticket #000037 (Prometheus-Σ recursive falsification controller) is doc-only and gates Phase 1 on §12 measured-pressure triggers. This commit lands the empirical-evidence harness fox needs for the go/no-go decision, plus the §16.2 test scaffolding so the contract is discoverable from the test runner today. bench/prometheus_sigma_trigger_probe.py ======================================= Read-only walk of audit_events + capital_ledger across shards. Reports each §12 trigger: - Trigger 1 (branch density, ≥4 branches/checkpoint): looks for a fork_score branch-set table; reports "no data — single-validator ForkScore Phase 1a" when absent. Trigger structurally cannot fire until #000012 multi-branch persistence lands. - Trigger 2 (divergence variance, N≥30 + ratio>0.5 OR abs>0.10): aggregates providence_canonical_witness audit-event bodies, maps each agreement_label per #000028 §1.2 to a binary LLM-divergence score, computes mean/stddev/ratio. Defensive on the max(mean,ε) guard from §12 itself. - Trigger 3 (witness cost share > 0.30): aggregates capital_ledger rows; uses `material` (kWh proxy) as the canonical compute axis; surfaces both `material` and `financial` so fox can pick a different form if needed. Tags the report with the caveat that the current ledger reflects ad-hoc activity, not a controlled #000026 sweep. - Trigger 4 (operator mission need): n/a — operator decision. Pure measurement, no LLM, no schema change, no mutation. Output is a markdown report at $(PROMETHEUS_PROBE_OUT) (default bench/results/prometheus-sigma-triggers-<utc-date>.md). Wired via `make prometheus-trigger-probe`. bench/results/prometheus-sigma-triggers-2026-05-10.md ===================================================== First captured baseline. Verdict on current shards: Trigger 1: NO (no fork_score branch-set table; #000012 Phase 1a is single-validator) Trigger 2: NO (16 samples; N_min=30. But mean=0.625, σ=0.5, ratio=0.8 — both ratio AND abs floors would fire if N reaches 30. Signal is there; just needs more samples.) Trigger 3: NO (witness/total material = 0.005, well under 0.30 threshold. Caveated: ledger is ad-hoc, not a controlled #000026 sweep.) Trigger 4: n/a (operator-stated) Empirical answer: no §12 measured-pressure trigger has fired yet. Phase 1 of #000037 remains paper-only unless fox invokes Trigger 4. tests/test_prometheus_sigma.py ============================== 17 skip-stubs pinning the §16.2 acceptance contract. Each test: - Collects today via `pytest --collect-only` so the test surface is discoverable. - Skips with reason "Phase 1 not landed; controller module arborist/v9/prometheus.py absent" until that import succeeds. - Carries a one-sentence intent line tying it back to a numbered ticket section (§5 / §6 / §7 / §10 / §13 / §14 / §16.1 / §4.4). When Phase 1 lands, the implementer adds the controller module under arborist/v9/prometheus.py per §13; CONTROLLER_AVAILABLE becomes True; each test gets its body filled in. The names, intents, and skip-reason strings are the durable contract. Hygiene ======= - make test → 1623 passed, 45 skipped (was 28; +17 new skips). - make chain-check-shards → 0 breaks across all 7 shards. - No code touched outside the new probe + scaffolding files + Makefile target wiring. fox's in-flight #000037 ticket modifications left untouched.
This commit is contained in:
parent
f6951f4472
commit
c422216428
4 changed files with 768 additions and 0 deletions
11
Makefile
11
Makefile
|
|
@ -33,6 +33,7 @@ SEARCH_Q ?= computer
|
|||
chain-check chain-check-shards \
|
||||
falsify burn burn-kindergarten inspect bootstrap-crawler test-crawler crawl-ingest \
|
||||
recrawl-check bench-qa bench-qa-smoke bench-qa-progressive-and \
|
||||
prometheus-trigger-probe \
|
||||
bootstrap-math clean clean-db clean-data help \
|
||||
textbooks-summary textbooks-urls fetch-textbooks textbooks-stats textbooks-verify \
|
||||
crawl-textbooks crawl-textbooks-stats textbook textbook-list
|
||||
|
|
@ -229,6 +230,16 @@ test-live: bootstrap ## live QA quality tests against Hermes (gated; -n auto par
|
|||
ARBORIST_LIVE_TESTS=1 ARBORIST_LIVE_SHARDS_DIR=$(SHARDS_DIR) \
|
||||
.venv/bin/pytest tests/test_qa_quality_live.py -v -n auto
|
||||
|
||||
# Prometheus-Σ §12 trigger probe (ticket #000037 Phase 0). Read-only
|
||||
# walk of audit_events + capital_ledger across shards; reports
|
||||
# whether any of triggers 1-3 have fired empirically. Output is the
|
||||
# evidence fox uses to decide go/no-go on Phase 1. Pure measurement.
|
||||
PROMETHEUS_PROBE_OUT ?= bench/results/prometheus-sigma-triggers-$(shell date -u +%Y-%m-%d).md
|
||||
prometheus-trigger-probe: bootstrap ## #000037 §12 measured-pressure probe → markdown report
|
||||
PYTHONUNBUFFERED=1 $(PY) bench/prometheus_sigma_trigger_probe.py \
|
||||
--shards-dir $(SHARDS_DIR) \
|
||||
--out $(PROMETHEUS_PROBE_OUT)
|
||||
|
||||
# Concept-layer backfill targets. Each runs an extractor across every
|
||||
# wiki shard; per-shard work is independent so we use GNU-parallel-
|
||||
# style concurrency with `xargs -P` to overlap the slow paths
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue