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

3.1 KiB
Raw Permalink Blame History

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.