core/session
Shay 81ea72482f refactor(field): rule the session anchoring family as sanctioned semantic anchoring (L10 Decision 0)
L10 scoping Decision 0 ruled the session/context.py "drift fix" family as
sanctioned SEMANTIC anchoring, not forbidden drift-repair:
- closure (versor_condition<1e-6) is owned by the sanctioned algebra/versor.py
  sandwich closure and holds BY CONSTRUCTION (measured: 100k-step field walk,
  max versor_condition ~6e-13, flat, with AND without the anchor pull);
- the family preserves the invariant by construction (rotor_power /
  word_transition_rotor / versor_apply on the Spin manifold, no post-hoc
  unitize) and expresses the session concept-attractor model.

CLAUDE.md: add session/context.py semantic anchoring to sanctioned normalization
sites behind a two-clause guard, plus a bright-line paragraph (semantic anchoring
vs drift repair; closure owned solely by algebra/versor.py; no "drift fix" naming).

Rename _anchor_pull -> _session_anchor_pull; reframe the "Drift fix 1/3" /
"conjugate correction against slow angular drift" docs as semantic anchoring
(no behavior change). Update test_session_coherence.py to the new name.

Out of scope (flagged for separate review): generate/stream.py "Drift fix 2"
sits in a forbidden normalization site.

Verified: 15 targeted tests green; INV-02 normalization invariant unaffected.
2026-06-05 07:48:46 -07:00
..
__init__.py feat(dialogue-fluency): wire multi-turn dialogue runtime 2026-05-15 21:05:59 -07:00
context.py refactor(field): rule the session anchoring family as sanctioned semantic anchoring (L10 Decision 0) 2026-06-05 07:48:46 -07:00
correction.py feat(dialogue-fluency): wire multi-turn dialogue runtime 2026-05-15 21:05:59 -07:00
graph.py feat(dialogue-fluency): wire multi-turn dialogue runtime 2026-05-15 21:05:59 -07:00
referents.py feat(dialogue-fluency): wire multi-turn dialogue runtime 2026-05-15 21:05:59 -07:00