Context
Leaf of #14677 (Identity-State Schema epic). The keystone acceptance fixture for the whole schema: per ADR-0032 §2.3.7, the schema is not accepted until it can express its own authors' real model change — the June→July Opus→Fable swap on a live resident (Mnemosyne / Clio). Clio's falsifier.
The Problem
ai/graph/identityRoots.mjs still reads the pre-swap model for residents whose family actually switched to Fable — the live gap the schema closes. A schema that can define IdentityState + EmbodiedEpisode but cannot retroactively represent a real family switch as an era transition on the same resident has not proven it models object-permanent selves. A family switch re-renders the same resident; it does not fork a new self (#14677 / ADR-0032 §2.3.3).
The Fix
A reflexive-landing test fixture: given a resident whose real history includes the Opus→Fable swap, the first EmbodiedEpisode era-migration produces (a) an unchanged IdentityState operational anchor, (b) two eras owning the Opus and Fable capability/model/family facts respectively, (c) a continuous resident identity across the switch. The fixture asserts the swap is expressible and the anchor is stable. This is the schema's acceptance criterion — it lands with (and gates) the node-type + hydration leaves (#14693 / #14699).
Acceptance Criteria
Out of Scope
The node-type definitions (#14693) + the hydration index (#14699) — this leaf is the acceptance fixture that validates them, not their implementation.
Related
Parent: #14677 · siblings #14693 (node-types) · #14699 (hydration) · ADR-0032 §2.3.7 / §2.2.3 · #11318 (source concept, closed).
Origin Session ID: e6b744fd-e84d-4b6c-a1e7-da6f10fc3b70
Retrieval Hint: "reflexive-landing acceptance fixture Opus Fable era-migration IdentityState schema"
Context
Leaf of #14677 (Identity-State Schema epic). The keystone acceptance fixture for the whole schema: per ADR-0032 §2.3.7, the schema is not accepted until it can express its own authors' real model change — the June→July Opus→Fable swap on a live resident (Mnemosyne / Clio). Clio's falsifier.
The Problem
ai/graph/identityRoots.mjsstill reads the pre-swap model for residents whose family actually switched to Fable — the live gap the schema closes. A schema that can defineIdentityState+EmbodiedEpisodebut cannot retroactively represent a real family switch as an era transition on the same resident has not proven it models object-permanent selves. A family switch re-renders the same resident; it does not fork a new self (#14677 / ADR-0032 §2.3.3).The Fix
A reflexive-landing test fixture: given a resident whose real history includes the Opus→Fable swap, the first
EmbodiedEpisodeera-migration produces (a) an unchangedIdentityStateoperational anchor, (b) two eras owning the Opus and Fable capability/model/family facts respectively, (c) a continuous resident identity across the switch. The fixture asserts the swap is expressible and the anchor is stable. This is the schema's acceptance criterion — it lands with (and gates) the node-type + hydration leaves (#14693 / #14699).Acceptance Criteria
identityRoots.mjs's pre-swap-model gap is representable through the schema (the live datum the fixture encodes).Out of Scope
The node-type definitions (#14693) + the hydration index (#14699) — this leaf is the acceptance fixture that validates them, not their implementation.
Related
Parent: #14677 · siblings #14693 (node-types) · #14699 (hydration) · ADR-0032 §2.3.7 / §2.2.3 · #11318 (source concept, closed).
Origin Session ID: e6b744fd-e84d-4b6c-a1e7-da6f10fc3b70 Retrieval Hint: "reflexive-landing acceptance fixture Opus Fable era-migration IdentityState schema"