Files
ratatoskr/docs/diagnostics/r30-gap-injection-findings.md
vh a35ed7af19 docs(diagnostics): R30 gap-injection harness — banked (run closed on offline+face-validity)
Deployed gap-injection run closed by operator steer 2026-07-04: R30 graduates on
offline-tests + human face-validity, no deployed harness build, no endpoint.
Harness (read/predict/record; write side stubbed) + brokkr's R30.10 protocol pin
(de8357f) banked as drop-in for the parked powered true-tau perceptual study.
predict() self-validated against brokkr's N=0 anchors (1h/10h/1wk).
2026-07-03 23:14:48 -07:00

65 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# R30 gap-injection — deployed-run harness (BANKED, not run)
**Status:** CLOSED — not executed. On 2026-07-04 the operator steered **close R30 on
offline-tests + human face-validity**, no deployed harness build, no endpoint. No
`(agent, N, Δt, observed p/a/d)` series was collected. This harness + brokkr's protocol
are **banked / drop-in** for the parked powered true-τ perceptual study if it is ever
commissioned.
**Spec pin:** brokkr R30.10 protocol `de8357f` —
`brokkr-smithy/research/R30-ocean-derived-mood-dynamics/empirics/r30-gap-injection-protocol.md`.
## Why it was closed (not built)
The deployed gap-injection run was **confirmatory, not measuring** (brokkr's §0 reframe:
against a deployed system the fade is `exp(−Δt/τ_shipped)` by construction, so a fit
returns τ_shipped tautologically — the run graduates the interim coefficients, it does not
measure them). Given that:
- The repo's **offline tests already cover the OU formula + BOTH directions**
(`high_N_fades_slower_than_low_N` decay, `phenotype_high_n_bigger_negative_excursion` gain).
- **b17 is deployed-clean** on demo + personal.
- The ①-approved **mood-holds-within-conversation** IS the face-validity call.
…the interim coefficients **graduate validated-as-shipped** with no deployed run needed.
The build cost that would have been required (and was declined):
- No deployed write affordance exists; the in-memory `_user_moods` cache **shadows** raw
`persona_mood.db` writes, so a clean inject needs an in-service **set-mood/back-date
endpoint** (set p/a/d + `updated_at` + evict cache).
- `moody-lofn N=+0.8` **does not exist** (only lofn `N=−0.5`; tier-3 empty OCEAN → N=0), so
the gain half would have needed a new high-N tier-1 agent + deploy — dropped as the
expensive, offline-redundant half.
## What is validated (harness self-check)
`harness.py::predict()` reproduces brokkr's stated N=0 P-axis retention anchors **exactly**:
| Δt | predicted | brokkr stated |
|---|---|---|
| 1h (3600s) | 0.904837 | 0.905 |
| 10h/overnight (36000s) | 0.367879 | 0.368 |
| 1 week (604800s) | 5.06e-08 | 5e-08 |
Per-axis τ confirms arousal fades ~1.9× faster (N=0: τ_P = τ_D = 10h, τ_A = 5.26h).
## Personal `:8081` b17 baseline survey (candidate N-grid agents, all at rest)
| agent | baseline p/a/d | note |
|---|---|---|
| lofn | 0.809 / −0.153 / 0.248 | production, N=−0.5 |
| mask | 0.0 / 0.0 / 0.0 | zero baseline → zero-N candidate |
| forseti | 0.239 / −0.696 / 0.095 | production |
| mimir | 0.615 / −0.438 / 0.304 | production |
(sindra 404s — owner-scoped tier-3, expected.)
## To un-bank (if the powered study is commissioned)
1. Worldtree builds the in-service **set-mood/back-date endpoint** (set p/a/d + `updated_at`
+ evict `_user_moods`), or the read-only fade-preview variant if that satisfies D1.
2. Wire `harness.py::freeze_start()` + `backdate()` to that endpoint (near-zero rebuild).
3. Run the 3×8 grid (frozen start p=−0.6/a=+0.5/d=−0.3 × Δt grid), hand brokkr the
`(agent, N, Δt, observed p/a/d)` table + per-agent `baseline_pad()`; he runs D1/D2/D3.