Skip to content

fix: a conformance verdict that never said which version gave it - #39

Merged
rldyourmnd merged 1 commit into
mainfrom
fix/a-verdict-that-did-not-say-who-gave-it
Aug 28, 2026
Merged

fix: a conformance verdict that never said which version gave it#39
rldyourmnd merged 1 commit into
mainfrom
fix/a-verdict-that-did-not-say-who-gave-it

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Rendered from the private source.

Codex is refused by the consumer's released checker, and nothing noticed.

artifact target_scope
provider-kit/v3/provider-info.schema.json, kit 0.2.4 (verified byte-for-byte) project, user_root
ai_stp_cli/provider/protocol_v3.py:555, CLI 0.0.7 project

Six harnesses pass 23 of 23. Antigravity's project scope passes every case, so the scoped-profile machinery is not in question -- one enum member is.

The declaration stands: it is true against the artifact a provider is told to build against, and which ships with a checksum manifest so a provider can prove it did. Nothing routes to user_root yet. Raised with the consumer, who owns both artifacts.

The README section that already told readers to check the checker's version now names both versions and both answers -- its closing claim that all seven pass against a checker carrying the field is no longer true.

Also here:

  • claude 2.1.248 -> 2.1.250, re-fetched and re-hashed rather than copied; every other baseline re-measured.
  • The codex baseline key permission_profiles is product_permission_profiles. It held the product's own beta permissions feature; provider-info's field of the same name is the protocol's list. Two axes, one word, zero readers -- which is when a collision is cheapest to remove. Refused now by surfaces::disagreements, which reads the forbidden names from the kit's own schema rather than from a list that would drift the moment the contract gained a field.

https://claude.ai/code/session_01BgFJL6e1vwwzimvP9tJDHY

Codex is refused by ai-stp-cli 0.0.7 -- 'a scoped projection profile names an
unknown target scope' -- while the provider kit this program vendors and
verifies byte-for-byte, 0.2.4, gives target_scope the enum
["project", "user_root"]. The checker shipped beside that kit carries
["project"] alone. Six harnesses pass 23 of 23.

The declaration stands: it is true against the artifact a provider is told to
build against. Raised with the consumer, who owns both. The README section that
already warned to check the checker's version now gives both versions and both
answers, because its closing claim that all seven pass against a checker
carrying the field is no longer true.

Also here: claude moves to 2.1.250 with every other pin re-measured; the codex
baseline key permission_profiles becomes product_permission_profiles, because a
baseline records what the vendor does and provider-info declares what this
provider does, and one word on two axes gets bound together by somebody --
refused now by surfaces::disagreements, reading the forbidden names from the
kit's own schema rather than from a list that would drift.

Claude-Session: https://claude.ai/code/session_01BgFJL6e1vwwzimvP9tJDHY
@rldyourmnd
rldyourmnd merged commit f04dece into main Aug 28, 2026
26 checks passed
@rldyourmnd
rldyourmnd deleted the fix/a-verdict-that-did-not-say-who-gave-it branch August 28, 2026 04:19
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