sica-fondt/docs/plans/A8-etr.md
Claude 169ff3e21a
docs/plans: component build specs — index + OpenHermes↔metacog + Drive-Box (A1–A8)
Per-sub-organ build plans so each organ can be made independently. Each spec
follows a shared 10-section template (contract + stubs => standalone build/test).

- README.md: index, template, integration DAG, build waves
- C1: OpenHermes Agent <-> metacognitive cycling (priority)
- A1 hub, A2 Energy, A3 PS+, A4 endomotiv array, A5 priors, A6 Eth-Int,
  A7 conviction array, A8 ETR

Numbers stay disowned per restart discipline; unfitted constants marked C1.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-13 20:03:39 +00:00

2.4 KiB

A8 — ETR (Existential Temporality Relief) — torus

1. Component

Driver 4: a single point on three independent toroidal axes (X assertion↔inheritance, Y endured↔witnessed, Z alimentation↔transmutation). Handles the stress PS+/Eth-Int generate; Z-sign selects maintain-vs-evolve at migration.

2. Status / certainty

SCAFFOLD — built and tested this session (run_etr_tests.sh → 12 PASS / 2 FAIL-by-design / 2 PEND). 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.
  • Does-not: generate its own drift (caller-fed, L4) or compute coupling yet (open seam).

5. Interface contract

  • etr_init(coord) -> s · etr_axis_wrap(v) · etr_axis_restoring_dir(v) · etr_step(s, drift, stress) -> s' · etr_status(s) -> per-axis {BELOW|IN_BAND|ABOVE}.
  • 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 opposition C5 · L4 AI-drift C4 · L5 cross-axis coupling via stress C1 · L6 Z-path C3 · L7 no-zero-cross C2 · L8 mechanism C2).

8. Build steps (remaining)

  1. Fit RESTORE_GAIN → the 2 red tests (magnitude + band-convergence) go green.
  2. Confirm L8 (restoring = force vs cost) and L7 (no-zero-crossing) → promote from PEND.
  3. Define L5 coupling (the stress→cross-axis mapping; G1) → replace the identity stub.
  4. 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 (currently 12/2/2 — the 2 reds are the to-fit work).

10. Open items

  • RESTORE_GAIN curve (C1) · L5 coupling mapping (C1, shared with G1) · L7/L8 confirmation (C2) · R↔Octave bridge transport (C1, shared with A1/C3/D2).