A specification becomes more useful when another implementation can disagree with it. That happened this week around CML Current-State Applicability: a second public agent-memory implementation consumed the frozen fixture verbatim, implemented the six-outcome contract, and turned a discussion about memory safety into an inspectable interoperability loop.

The signal is not “someone liked the idea.” The signal is “another implementation accepted the same test surface and made disagreement measurable.”

What we verified directly.

The CML fixture tests/fixtures/memory_applicability_v0.1.json and the vendored Inspeximus fixture tests/fixtures/cml_memory_applicability_v0.1.json have the same Git blob SHA:

ec27aad145c6051e22e993a4ef30e57a9063af48

Because Git blob identity is content-addressed, that gives an inspectable repository-level check that the fixture contents are byte-for-byte identical.

The public Inspeximus conformance test then loads that frozen file, requires at least fifteen cases, checks that all six applicability outcomes appear, runs every case through its own evaluate_applicability(), asserts expected_status, and asserts every declared expected_reasons.

V

Verified fact: fixture identity and public conformance-harness structure are directly inspectable.

R

Direct participant report: DanceNitra reported 15/15 case agreement, including declared reasons.

P

Pending: the newer lineage/supersession fixture has not yet been reproduced by the second implementation.

The state transition matters more than the score.

one implementationfrozen fixturesecond implementationmeasured agreement

Earlier in the exchange, the second implementation could reproduce several source-integrity outcomes but could not produce REVALIDATE because it did not bind memory to the current repository, commit, tenant, policy, model or validity window. That disagreement was productive: a missing capability became explicit rather than hidden behind similar terminology.

The second implementation then adopted the six-outcome applicability contract:

REJECT → UNRESOLVABLE → ORPHAN → DRIFT → REVALIDATE → MATCH

Two rules became especially important: source failures outrank environment drift, and absence of historical repository/commit binding is not permission to assume continuity.

The loop then created a new failure class.

The external discussion produced a harder case: a derived memory can still match its own source while one of the records it was derived from has been superseded, retired, erased or changed. Source integrity alone cannot see that failure because the derived record itself may remain unchanged.

CML turned that case into a lineage/supersession extension and merged PR #272 to main. The resulting contract is:

source integrity
→ lineage / supersession
→ current-state applicability
→ authority
→ action
→ evidence

The CML merge commit 0c27e1918c27e5223fe8343df0aac77b2db5ccdb passed post-merge CI, Python Package Validation and Security Baseline on the exact main state.

Why this is an Engineering Signal, not an endorsement story.

DanceNitra is an external open-source contributor participating in a public issue inside the Anthropic Claude Code repository. This signal is not an Anthropic endorsement, product commitment or official Anthropic implementation.

RESONANCE records the event because the causal structure is useful:

proposalexternal testgapimplementationnew failure casenew contract

That is a stronger signal than a positive comment because each transition leaves an artifact that can be inspected or falsified.

The next verification gate is still open.

The lineage contract should not inherit credibility from the earlier 15/15 result. It needs its own reproduction.

CML memory_lineage_v0.1.json
→ vendor byte-for-byte
→ second implementation
→ compare expected_status
→ compare expected_reasons
→ compare exclusion accounting
→ freeze agreement OR disagreement

Until that happens, lineage interoperability remains pending.

What makes interoperability real?

For agent-memory safety, what should two implementations be required to agree on: verdict only, reasons, precedence, exclusion accounting, evidence identity — or all of them?

A useful answer should name one disagreement that would be dangerous to smooth over.

  1. Anthropic Claude Code issue #34556 — public memory discussion
  2. Inspeximus — CML applicability conformance test
  3. Inspeximus vendored frozen fixture
  4. CML frozen applicability fixture (commit-pinned)
  5. CML PR #270 — Current-State Applicability
  6. CML PR #272 — lineage / supersession revalidation
  7. Frozen lineage fixture at merged SHA

The 15/15 count is attributed to DanceNitra's direct report. RESONANCE independently verified the public fixture identity and conformance-harness structure. No Anthropic endorsement is claimed.