Skip to content

chore(adapters): strip self-pinning of repo-owned capability tables - #261

Merged
ScriptedAlchemy merged 2 commits into
mainfrom
chore/strip-self-pins
Sep 2, 2026
Merged

chore(adapters): strip self-pinning of repo-owned capability tables#261
ScriptedAlchemy merged 2 commits into
mainfrom
chore/strip-self-pins

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

Summary

Arc-end cleanup per the standing decision recorded mid-arc (#107): remove self-pinning metadata that hashes/pins repo-owned content, keeping hash verification only for vendored external content.

  • Removed capabilityRevision and capabilitySha256 from TargetAdapterMetadata, CapabilityEvidence, manifest targets, registry validation, and matchesTargetMetadata (AB6010). The four hardcoded per-adapter table hashes and the recomputed merge-evidence sha are gone — capability-table edits no longer churn shas or spuriously invalidate byte-identical emitted artifacts.
  • fix(cursor): honest workspace/open, real marketplace, three-host composite intersection #221 composite fingerprint decision: the plugin bundle's composite capabilitySha256 hashed the three hosts' capability-table hashes — repo-owned pins, and its stated purpose (manifest identity changes on any table correction "at the same observed version") is exactly the churn being removed. The real consumer contract survives via the existing monotonic adapterRevision (1.4.0) + composite observedVersion + vendored schema pins, so it was simplified per the mandate rather than kept.
  • Kept: observedVersion (dated external observation of host CLI/spec), adapterRevision, the vendored-schema schemas pins (name/revision/sha256 backed by PROVENANCE.json upstream URLs/commits, incl. the cursor/plugins marketplace schema from fix(cursor): honest workspace/open, real marketplace, three-host composite intersection #221), the agentSkills spec-derived schema pin, dated doc citations in capability reasons, and manifest file/source-input integrity hashes.
  • TargetHookContract.capabilityRevision renamed to hostContractRevision (same value — the observed host version); generated wrapper source is byte-identical.
  • Convention documented in the package README ("What gets hashed"); minor changeset (manifest target shape changes).
  • Separate fix-forward commit: ci: extract docs-only classifier tests and retry stale-diagnostic e2e flakes #259 landed a test importing scripts/classify-docs-only.mjs without a declaration, breaking pnpm typecheck on main; added a typed .d.mts.

Test plan

  • pnpm typecheck — pass (incl. workbench + create-agent-bundle projects)
  • pnpm lint — 913 files, 0 errors/warnings
  • pnpm test:unit — all pass
  • Fresh pnpm build + scoped integration pool over all 9 affected integration tests (api, artifact-validator, build, dev-workbench, hook-playground-service, mcp, public-api, target-hook-contract, target-mcp-runtime) — 236 tests, no failures
  • pnpm test:route-unit, pnpm test:projection — all pass
  • rg capabilitySha256 across src/tests/workbench/examples — zero matches; only deliberate generated-wrapper literals retain the capabilityRevision const name (emitted bytes unchanged)

Remove capabilityRevision and capabilitySha256 from adapter metadata,
capability evidence, manifest targets, and artifact validation. These
fields hashed/pinned repo-owned capability tables, churning on every
table edit while proving nothing git does not already prove. Hash pins
remain only for vendored external content (host schema PROVENANCE pins,
the Agent Skills spec-derived schema, emitted file integrity). The
composite plugin fingerprint collapses into the existing monotonic
adapterRevision plus the composite observedVersion.
TargetHookContract.capabilityRevision is renamed hostContractRevision;
generated wrapper source is byte-identical.
PR #259 added a test importing scripts/classify-docs-only.mjs without a
declaration, breaking pnpm typecheck on main. Minimal fix-forward.
@changeset-bot

changeset-bot Bot commented Sep 2, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8739fc3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
agent-bundle Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T02:52:42.348543Z 8739fc3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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