Skip to content

capture(claudecode): Model.Provider is filled with a value no transcript states #29

Description

@JumpTechCode

modelOf in parse.go sets Provider: "anthropic" whenever a model string is
present. No record in a transcript names a provider.

The harness routes to Bedrock and to Vertex under environment variables, and the
transcript it writes is identical in shape either way — only the model
identifier changes, and it is not reliably distinguishable. Feeding the parser a
Bedrock-shaped identifier yields
{Canonical: "anthropic.claude-…", Provider: "anthropic"}, which is an
assertion the evidence does not support.

assay.Session states the rule: a field that was not observed must be left
zero, because filling it produces something that reads as an observation. The
backend changing is one of the four conditions the README says an exam is
re-administered for; this field asserts it never did.

assay.CanSeeModelIdentity is already marked partial, for a different and
correctly stated reason (the transcript records what served a message, never the
alias that was asked for). That does not license the fabrication.

Fix

Delete Provider: "anthropic". An empty provider is what "not observed" looks
like.

Test

A record naming a Bedrock-shaped model must produce an empty Model.Provider.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcapture-adapterThe Claude Code capture adapter

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions