Skip to content

Publish WP9 managed-MCP Action Mapping claim contracts - #58

Merged
sftimeless merged 2 commits into
mainfrom
codex/wp9-contract-publication
Aug 29, 2026
Merged

Publish WP9 managed-MCP Action Mapping claim contracts#58
sftimeless merged 2 commits into
mainfrom
codex/wp9-contract-publication

Conversation

@sftimeless

Copy link
Copy Markdown
Member

Summary

  • Publish verifier-claims.v7 and keel.permit.universal_verification.v6 for the managed_mcp:action_mapping surface, with pinned predecessor digests and distinct execution, structural_decision, and post_claim_execution artifact classes.
  • Add the 45-vector claim-registry/recipe-chain corpus, offline reference executor, CI wiring, live-artifact reachability checks, and fail-closed mutation coverage.
  • Hash-address the new artifacts and make the documented release-artifact count deterministic and repository-checked.

Boundary

These are registry- and recipe-composition contracts. They do not adjudicate the producer-owned keel.mcp_action_mapping_evidence.v1 artifact and do not establish dispatch, provider acceptance, downstream effect, or independent WebAuthn ceremony verification. Permit schemas and binding versions, semantic/fact/consequence/presentation registries, and released predecessor bytes are unchanged.

Local verification

  • make test
  • make lint
  • make dco
  • git diff --check origin/main..HEAD
  • independent 45-vector audit: 2 resolved, 43 refused, 43 effective mutations, all required outcomes reachable
  • deterministic release archive: 794 files across two identical builds

sftimeless and others added 2 commits August 28, 2026 21:35
Publish claim registry `verifier-claims.v7` and the
`keel.permit.universal_verification.v6` recipe extension, both byte-identical
to the keel-verifier copies at 31bdf16 so the specification and the reference
verifier resolve the same bytes.

v7 adds four managed-MCP Action Mapping evidence claims and separates the three
artifact classes that carry different authority: `execution` is signed into the
Permit before either relational claim exists, `structural_decision` is
non-approvable evidence with no Permit and no resume or dispatch semantics, and
`post_claim_execution` is durable standalone evidence emitted after both
relational claims commit. Only `post_claim_execution` may name a dispatch
claim.

Add `spec/verifier-claims-v7.md`. `claim_registry/README.md` requires a spec
revision for every new registry version, and v3, v4, and v6 each shipped
without one; this version does not repeat that.

Hash-address both artifacts in the Permit-to-X manifest and validate the v6->v7
registry and v5->v6 recipe chains, including that a successor may not redefine
a released claim.

Additive only. No released artifact is rewritten, no Permit schema or binding
version changes, and the target governance action is deliberately not a
semantic-registry selector. Conformance vectors for the new claims are not
published here yet, which the changelog states rather than implying coverage
the repository does not carry.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: sftimeless <37782990+sftimeless@users.noreply.github.com>
`claim_registry/README.md` requires test vectors covering each new or changed
claim definition. The v7 publication shipped without them and said so; this
closes that requirement.

Add `keel.claim_registry_chain_vectors.v1`: 45 native vectors over the two
extension chains this repository owns, with an offline reference executor that
resolves a chain from the rules in `spec/verifier-claims-v2.md` as narrowed by
`spec/verifier-claims-v7.md`. One positive per chain resolves the published
artifacts. Every negative is a documented single-delta mutation of a valid
parent, covering a missing or altered inherited digest, a predecessor whose
bytes changed underneath a published pin, claim redefinition against the
transitive base, duplication, a missing or extra Action Mapping claim, a
registry/recipe version mismatch, a mutated artifact-class mapping, semantic
substitution through `mcp.tool.call` or `payment.refund`, and injection of a
semantic selector, fact profile, consequence entry, presentation entry, or
Permit binding field.

Reasons are ordered so each refusal is reachable on its own: a claim renamed
onto an inherited name reports redefinition rather than a generic set mismatch,
and a claim moved between artifact classes reports a class-binding mismatch,
because the class decides whether a dispatch claim may be named at all.

These are composition vectors. Adjudicating a
`keel.mcp_action_mapping_evidence.v1` artifact is deliberately not vectored
here: that artifact and its schema are producer-owned and are not vendored.

`tools/check_permit_to_x_artifacts.py` separately checks that the corpus still
describes the artifacts this repository ships, so it cannot drift into passing
its own executor while asserting nothing.

Also correct the README's release-manifest artifact count. It was accurate at
v1.20.1 and drifted through three releases because nothing recomputed it;
`tools/check_repo_integrity.py` now recomputes it from `git archive HEAD`, the
same composition the release builder archives.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: sftimeless <37782990+sftimeless@users.noreply.github.com>
@sftimeless
sftimeless merged commit b14ebb9 into main Aug 29, 2026
5 checks passed
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