update everything with today's learnings — math review forward + Phase 3 dry-run amend

Two coupled doc updates capturing today's session state:

1. #000036 status pin — math review in flight with dav1d
   - Ticket status line: 'awaits fox math review' → 'pre-review
     polish pass 8916bf3; math review in flight with dav1d
     (forwarded 2026-05-10 — Tier 2 bundle)'
   - TICKETS.md index row mirrors same change
   - Future shifts can now see review is live, not blocked on fox.

2. #000006 rolling research log — 2026-05-10b amend
   - Fourth qualitatively different experimental shape:
     Prometheus-Σ dry-run simulator (joining random-word,
     witness-sweep, warrant-chain)
   - Captures the five scheduler-calibration findings (F1-F5)
     from bench/scripts/prometheus_sigma_sweep_dryrun.py:
     - F1: chunk_size = Hermes concurrency, not pool size
     - F2: capital_cost must split by audit_mode (CP=0.05 vs
       STRICT=1.0); flat-1.0 blocks every allocation
     - F3: τ_qa must split by audit_mode (1d for kernel-only,
       7d for LLM-witness); single-τ hides CP-rows
     - F4: Target B headline = 4.40 percent of docs are
       canonical-shape candidates (~152K across the corpus)
     - F5: quarantined-row veto exercises end-to-end on
       real-corpus data, no fixture-only mocking
   - Updates the distinct-signal table to four rows
   - Cross-references #000037 §22 for the full per-shard log

Phase 3 scheduler (when it ships) inherits F1-F5 as known-good
defaults — the dry-run is the calibration substrate the eventual
implementation will reference for choice justification.

Doc-only updates; no schema, no governance hash, no code change.
This commit is contained in:
russell@unturf.com 2026-05-10 16:57:19 -04:00
parent f9f5ae459b
commit 245543bda9
No known key found for this signature in database
3 changed files with 123 additions and 2 deletions

View file

@ -81,7 +81,7 @@ Newest first. Update on every open/close.
| #000039 | Optional `sqlite-vec` retrieval backend (A/B vs FTS5, hybrid not replacement) | open · awaiting go/no-go (doc-only Phase 0) | 2026-05-09 | — |
| #000038 | Phase 4 content acquisition — proprietary textbook license decisions for warrant coverage | closed · obviated 2026-05-10 by alias-substitution sprint under #000031 (74 rows in #000041 + 13 rows in #000042); 92/92 records now resolve. Residue (multilingual PD, Hilbert-Ackermann OCR, Knuth permission, personal-copy path B) preserved as design log §8 | 2026-05-09 | — |
| #000037 | Prometheus-Σ recursive falsification controller (bicameral substrate) | in progress · Phase 0 (doc) + Phase 1 (controller `arborist/substrate/prometheus.py`) + Phase 2 (`controller_events` sibling table + advisory writes) all landed 2026-05-10; Phase 3 sleep-sweep scheduler NOT landed — instead a read-only dry-run simulator + 5 design findings in §22 | 2026-05-09 | — |
| #000036 | T3 per-window covert-channel budget bound | in progress · Phase 1 (formal derivation + calculator) landed 2026-05-10; awaits fox math review | 2026-05-09 | — |
| #000036 | T3 per-window covert-channel budget bound | in progress · Phase 1 (formal derivation + calculator) landed 2026-05-10; pre-review polish `8916bf3`; **math review in flight with dav1d** (forwarded 2026-05-10 — Tier 2 bundle) | 2026-05-09 | — |
| #000035 | PRG choice for φ_PRG (HMAC-SHA-512 expansion) | in progress · Phase 1 landed 2026-05-10; v7 §9.10 amendment awaits maintainer review | 2026-05-09 | — |
| #000034 | Hessian alignment under φ_linear | in progress · Phase 1a landed 2026-05-10 (synthetic-ablation probe + KAT fixture); Phase 1b parks for v7 ramp-up | 2026-05-09 | — |
| #000033 | Claim-pack pillar VII (combinatorics) | closed · landed 2026-05-09 (live in shard 000.db; lift verified) | 2026-05-09 | — |

View file

@ -760,3 +760,124 @@ were updated to point at these landings (`28b57da`, `0b038f1`).
Re-runnable via the bench-emergent harness when corpus shape
shifts and a measurable fire rate is expected.
## Amend — 2026-05-10b (Prometheus-Σ Phase 3 dry-run: scheduler calibration findings)
A **fourth qualitatively different experimental shape**:
- random-word (honesty under no ground truth)
- witness-sweep (capability under canonical ground truth)
- warrant-chain (rescue activation under chain-backed ground truth)
- **Prometheus-Σ dry-run** ← this amend (controller scoring under real shard state, no LLM/mutation)
### Setup
#000037 Phase 1 (`arborist/substrate/prometheus.py`) + Phase 2
(`controller_events` sibling audit table + advisory writes) landed
2026-05-10. Phase 3 (sleep-sweep scheduler) is deliberately not
landed — instead a read-only **dry-run simulator** at
`bench/scripts/prometheus_sigma_sweep_dryrun.py` (`make
prometheus-sweep-dryrun`) drives the Phase 1 controller against
real shard data, no LLM calls, no mutations. Catches
**scheduler-calibration failures** — controller verdicts that
look correct in unit tests but fail under real-corpus statistics.
### Aggregate
```text
4 379 branches scored, 55 ms wall, 12.5 µs/branch pure Python
```
Controller-latency is non-binding for Phase 3; the witness fan-out
(Hermes calls) will be the dominant cost when it ships.
### Five scheduler-calibration findings
**F1 — Chunk-size dominates Kelly threshold.** First iteration
chunked candidates 64-at-a-time → **100 % DEFERRED**. Kelly's
`f_i = max(0, (p_i·b q_i)/b)` requires `p_i > 0.5`; softmax over
64 branches never gives any single branch that much mass.
**Phase 3 fix:** chunk size = Hermes concurrency (4 today;
governance parameter going forward), not the candidate pool size.
**F2 — Flat `capital_cost` blocks every allocation.** Iteration 1
assigned `capital_cost=1.0` to every branch; combined with small
audit-mode-based Δ5F deltas (±0.050.10), every utility came out
negative — DEFERRED or REJECT for every chunk. Iteration 2 split
the cost class:
```text
Target A (providence_cache):
CANONICAL_PROJECTION=0.05 UNGROUNDED=0.4
HYBRID=0.8 STRICT=1.0
Target B (documents):
HEAD-only freshness probe=0.02
canonical-shape witness=0.05
```
Surfaced real ACCEPT/MARGINAL signal immediately. **Phase 3 fix:**
either split `capital_cost` into `kernel_cost` + `llm_cost` in a
v2 dataclass, or compute `capital_cost` as the expected cost given
which witness paths actually fire.
**F3 — τ_qa = 7d filters out every `CANONICAL_PROJECTION` row.**
All 29 CP rows in `qa.db` are ≤ 7 days old — they're the recent π*
graduations from #000027 / #000030 / #000032. At τ_qa = 7d, zero
CP rows surface → zero ACCEPT chunks → zero high-value sleep work
discovered. At τ_qa = 1d, 9 CP rows surface and 4 chunks return
MARGINAL. **Phase 3 fix:** split τ_qa by audit_mode. Kernel-only
modes (CP) take a short τ (1d default — cheap to re-probe);
LLM-witness modes (STRICT/HYBRID/UNGROUNDED) take a longer τ
(7d default — re-witness is expensive).
**F4 — Target B canonical-shape detection is the real headline.**
4.40 % of sampled documents (n=2000) contain math/logic/time-
series canonical-shape statements. Extrapolated to **~152 609
canonical-probe candidates** across 3 468 392 docs in
`~/.arborist/shards`. Controller correctly returns MARGINAL on 83
of 500 Target B chunks (the regex-prefilter hits). **Phase 3 fix:**
the MARGINAL queue from Target B becomes the funnel for 5F
falsification-fixture mining (§3 "Divergence → candidate
falsification fixture"). At Hermes concurrency = 4 a full Target B
sweep is still ~38K rounds even after the prefilter — Phase 3
needs a sustained-throughput floor + per-window cap, not a
one-shot burst design.
**F5 — Quarantined rows correctly veto.** The two
`falsification_state='quarantined'` rows in `qa.db` are flagged as
`cache_drift` hard-vetoes by Target A's branch synthesis. The
veto path exercises end-to-end against real corpus data — no
fixture-only mocking.
### Updated distinct-signal table
| Source | Catches | Repair path |
|---|---|---|
| Random-word emergent | honesty failures (false-STRICTs) | verifier ladder hardening |
| Witness-sweep | capability failures (LLM gives wrong answer) | prompt eng or fine-tune |
| Phase 3 warrant-chain | rescue-mechanism activation conditions | corpus shape evolution (NOT fixture engineering) |
| Prometheus-Σ dry-run | **scheduler-calibration failures** | tune chunk size, cost weights, τ thresholds *before* Phase 3 scheduler ships |
### What the dry-run validates end-to-end
1. **Phase 1 controller pure function.** `score_controller_state()`
returns a defensible ControllerDecision on every branch type
the live corpus contains.
2. **Phase 2 advisory writes.** `controller_events` sibling table
accepts emitted decisions; audit chain not affected.
3. **Five hard-veto classes fire correctly.** Cache-drift veto
(F5), DEFERRED on budget-zero (F1), REJECT on negative utility
(F2), MARGINAL queue for sleep (F4), ACCEPT for high-value
short-τ work (F3).
### Bench artifact
`bench/results/prometheus-sigma-sweep-dryrun-2026-05-10.md`
detailed per-shard numbers + iteration log. Regenerated by
`make prometheus-sweep-dryrun`.
Phase 3 scheduler (when it ships) inherits F1-F5 as known-good
defaults; the dry-run is the calibration substrate Phase 3 will
reference for choice justification.

View file

@ -1,6 +1,6 @@
# Ticket #000036 — T3 per-window covert-channel budget bound
**Status:** in progress · Phase 1 (formal derivation + calculator) landed 2026-05-10; awaits fox math review of constants; Phase 2 (empirical tightening) parks for v7 deployment data
**Status:** in progress · Phase 1 (formal derivation + calculator) landed 2026-05-10; pre-review polish pass committed 2026-05-10 (`8916bf3`); **math review in flight with dav1d** (forwarded 2026-05-10 Asia/Kuala_Lumpur — Tier 2 bundle: `t3-bound.md` + `soft-hash-analysis.md` + `t3_bound_calculator.py` + `test_t3_bound_calculator.py` + this ticket); empirical tightening tracked separately under #000043
**Opened:** 2026-05-09
**Scope:** Derive an explicit closed-form upper bound on the covert-
channel capacity under threat model T3 (hyperparameter adversary),