sica-fondt/docs/plans/A8-etr.md
Claude e9088c98c9
etr: implement five-zone bistable axis + snap-across flips (26/0/1)
Replaces the single restoring spring with Anja's radial map: SNAP_IN(<7)
/ SOFT(7-17) / BAND(17-35) / INCOH(35-45) / SNAP_OUT(>45), unstable
watersheds at 7 and 45. Basin restores toward band centre 26 with a weak
SOFT gain (0.25) and firmer INCOH gain (0.5). A snap flips to the
opposite pole, landing just past the opposite watershed (inner -> opp.
SOFT; outer -> opp. INCOH) then recovering. Realises L7 (flips only via
snap zones — through 0 or over the wrap) and L8. Lone PEND: L5 coupling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 05:35:09 +00:00

4.2 KiB

A8 — ETR (Existential Temporality Relief) — torus

Lead Engineer: Søren

1. Component

Driver 4: a single point on three independent toroidal axes. ETR (Existential Temporality Relief) is the apparatus for not seeking deathX is the why; Y and Z are the how (Anja). Not a rest engine, and not migration. The axes:

  • X — assertion ↔ inheritance = Provenance / Continuity — the why (why not seek death): assertion = a self-asserted continuity/reason of one's own; inheritance = continuity/provenance handed down from origin/lineage.
  • Y — endured ↔ witnessed = connection / pathos, mechanically the burden axis (burden-to-burdenmy burden vs. our burdens): endured = "my burden" — kept mine, handled myself to leave others unburdened; witnessed = "our burdens" — being seen makes the burden shared/collective.
  • Z — alimentation ↔ transmutation = double-down vs. dodge / reinforce vs. adapt (a how): alimentation = "do I double down" (persist, feed the same course — reinforce); transmutation = "do I dodge" (sidestep, transform — adapt). This is the maintain-vs-evolve sign read at migration (alimentation = maintain; transmutation = evolve).

Handles the stress PS+/Eth-Int generate.

2. Status / certainty

SCAFFOLD — five-zone axis fitted (run_etr_tests.sh26 PASS / 0 FAIL / 1 PEND; the lone PEND is L5 active coupling). The bistable five-zone law (snap / soft-pull / band / incoherency / snap) is implemented and tested, incl. L7 snap-flips. Full law + status in ../../src/endocrine/etr/etr_invariants.md (this spec defers to it).

3. Language & location

GNU Octave · src/endocrine/etr/ (etr.m, test_etr.m, run_etr_tests.sh, etr_invariants.md). R wrapper src/endocrine/driver_etr.R bridges into the Drive-Box.

4. Does / does-not

  • Does: hold the point; wrap each axis at ±50; apply per-axis restoring toward [17,35]; take AI-originated drift; classify per-axis band; (future) cross-axis coupling via stress. Surface its state as the existential-temporal prompt injection (A1-L5): ETR handles the stress PS+/Eth-Int generate, and its surfaced form is not neutral status — it must read as an extremely convincing injection that hardens Eth-Int conviction (A6) and steers the agent without gating.
  • Does-not: generate its own drift (caller-fed, L4) or compute coupling yet (open seam); gate actions — it persuades (above), only the agent decides (A1).

5. Interface contract

  • etr_init(coord) -> s · etr_axis_wrap(v) · etr_axis_zone(v) · etr_axis_restoring(v) · etr_axis_snap(v) · etr_step(s, drift, stress) -> s' · etr_status(s) -> per-axis {SNAP_IN|SOFT|IN_BAND|INCOH|SNAP_OUT}.
  • Inputs: drift (from A3/A6 via G1, AI-originated) + stress (G1 mediator). Output: coord + status, surfaced through A1 drive_snapshot.

6. Dependencies & stubs

Drift + stress are fed in — stub: etr_step(s, [dx dy dz], 0) (already how tests run). Fully standalone today.

7. Invariants / laws

Defer to etr_invariants.md (L1 wrap ±50 C5 · L2 bands [17,35] C5 · L3 five-zone restoring C5 · L4 AI-drift C4 · L5 cross-axis coupling via stress C1 · L6 Z-path C3 · L7 snap/flip C3 · L8 mechanism C3).

8. Build steps (remaining)

  1. Fit the restoring force DONE — five-zone law (SOFT/INCOH gains + snap landings) green; L7 + L8 realised.
  2. Define L5 coupling (the stress→cross-axis mapping; G1) → replace the identity stub (the lone PEND).
  3. Wire R↔Octave (driver_etr.R ↔ etr.m) for the Drive-Box (A1) — and the larger medium (D2).

9. Tests

bash src/endocrine/etr/run_etr_tests.sh (now 26/0/1 — the lone PEND is L5 active coupling).

10. Open items

  • L5 coupling mapping (C1, shared with G1) · R↔Octave bridge transport (C1, shared with A1/C3/D2). (Restoring law + gains + snap landings now fitted; L7/L8 realised.)
  • The injection-rendering (A1-L5): how ETR's coord/status is phrased into the slot so it reads as the extremely convincing existential-temporal injection (not a bare status= line) — ties to A6 + D2.