Skip to content

registry: Claude-family model identities from harness evidence#72

Open
datacraftdevelopment wants to merge 3 commits into
NateBJones-Projects:mainfrom
datacraftdevelopment:datacraft/claude-model-identity
Open

registry: Claude-family model identities from harness evidence#72
datacraftdevelopment wants to merge 3 commits into
NateBJones-Projects:mainfrom
datacraftdevelopment:datacraft/claude-model-identity

Conversation

@datacraftdevelopment

Copy link
Copy Markdown

What this adds

A claude engine block and four Claude-family model identities in registry/model-identity.toml:

Model key Display Lab Confidence
claude-opus-4-8 Claude Opus 4.8 Anthropic verified
claude-sonnet-5 Claude Sonnet 5 Anthropic verified
claude-haiku-4-5 Claude Haiku 4.5 Anthropic verified
claude-fable-5 Claude Fable 5 (Anthropic, alias) Anthropic unverified (alias)

Engine metadata: harness = "Claude Code", access = "Claude subscription", default_model_key = "claude-haiku-4-5".

Evidence basis (per docs/TAXONOMY.md)

Evidence precedence is harness-reported model first. The Claude Code worker stream self-reports the model it actually ran in its result-message modelUsage telemetry. Ringer's reported_model column stays null for these rows only because the capture regex is Codex-header–specific — so the self-report was read directly from the worker logs. Every source cites that self-report with run names + dates, plus Anthropic's own model page for the lab:

  • Opus 4.8modelUsage: {"claude-opus-4-8": …} in claude-family-audition (2026-07-12) and hello-world-bakeoff (2026-07-17).
  • Sonnet 5modelUsage: {"claude-sonnet-5": …} in claude-family-audition (2026-07-12) and hello-world-bakeoff (2026-07-17).
  • Haiku 4.5modelUsage: {"claude-haiku-4-5": …} in claude-family-audition (2026-07-12) and hello-world-site (2026-07-12). Also the engine's default_model_key, matching the runtime model_default.
  • Fable 5modelUsage: {"claude-fable-5": …} in fable-audition (2026-07-12), then crm-build (2026-07-16) and chronoline-build (2026-07-17).

The self-reported slug matches the manifest/config-resolved model in every case (no drift).

Fable 5: alias / unverified, not asserted lineage

Anthropic's Claude 5 family announcement names Fable 5 / Mythos 5 as a new tier above Opus sharing one underlying model; there is no public lineage beyond that. docs/TAXONOMY.md permits a registry alias only when the actual model lineage is not established, requires it be marked as an alias in both the registry and the displayed name, and forbids presenting it as a confirmed lineage. So Fable 5 is entered as:

  • alias = true, display Claude Fable 5 (Anthropic, alias) — marked in both places.
  • confidence = "unverified" — the lab (Anthropic) is verified from Anthropic's own announcement; the underlying model lineage is not, and is left unasserted pending public documentation.

The rationale is captured in a comment on the entry so the alias treatment isn't mistaken for an oversight.

Contributor credit (CONTRIBUTING.md enforcement)

tests/test_contributors.py audits git history against README's Contributors section and fails the whole suite on any omission — per CONTRIBUTING.md, "Credit is enforced, not promised." The registry commit in this PR is authored by datacraftdevelopment, so a second commit adds that entry to README's Contributors section, exactly as CONTRIBUTING.md sanctions ("Every merged community contributor is listed... the test fails the whole suite if anyone with merged work is missing"). The entry's PR-number citation reads "(this PR)" pending assignment — update it to "(#N)" once this PR is open.

Tests

All three identity/taxonomy suites the derivation quality gates on pass, and the full suite is green at current HEAD (includes the Contributors fix above):

python3 -m pytest -q tests/test_taxonomy.py tests/test_identity_evidence.py tests/test_model_db.py
  25 passed

python3 -m pytest -q            # full suite
  219 passed, 1 warning, 17 subtests passed

(The lone warning is a pre-existing test_steering.py return-value warning, unrelated to this change.) test_signal_contract.py, which loads this real registry to exercise the noncanonical-route guard, also passes — the grok route and every other existing entry resolve unchanged.

Scope

Two commits: registry/model-identity.toml (+47 lines, additive — the identity data) and README.md (+1 line — the Contributors credit required by tests/test_contributors.py, see above). No code paths change; existing engine/model rows and Contributors entries are untouched.

🤖 Generated with Claude Code

…tries

tests/test_contributors.py failed on this branch: the HEAD commit's
author, datacraftdevelopment (registry: Claude-family identities —
Opus 4.8, Sonnet 5, Haiku 4.5, Fable 5), had no entry in README's
Contributors section. CONTRIBUTING.md's credit policy is explicit that
this is enforced, not promised, and the remedy is a same-PR addition:
"Every merged community contributor is listed in the README's
Contributors section, and tests/test_contributors.py fails the whole
suite if anyone with merged work is missing."

Add the entry, following the existing bullet format. The PR number is
marked "(this PR)" pending assignment on GitHub — replace with the
real "(#N)" once the PR is open.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant