V30 Gate 9: Interface Integration And Regression Proof#41
Conversation
Add package-owned BTD interface integration contracts and regression proof builders, including source-safe coverage for Terminal, API, MCP, ChatGPT App, Auxillaries hooks, and Exchange hooks. Expose the JSON-safe API admission route, wire Terminal/MCP/ChatGPT adapter records, and update V30 spec, parity, notes, README, gate workflow, and checker coverage. Proof: BTD/API/MCP/ChatGPT/Terminal focused tests, touched typechecks, V30 Gate 1-9 checkers, spec-family/canonical-input/posture checks, and diff hygiene passed locally.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f9fff9c53f
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const proofId = | ||
| input.proofId ?? | ||
| stableInterfaceIntegrationRoot('btd-interface-integration-proof', [proofRoot]); |
There was a problem hiding this comment.
Sanitize caller-supplied proofId before building proof
buildBtdInterfaceIntegrationRegressionProof validates most incoming string fields with assertSourceSafeString, but input.proofId is accepted verbatim, so /btd/interface-integration-regression can return and persist identifiers containing secret-like or protected-source text even though this feature is explicitly source-safe. This creates a bypass of the commit’s own secret/source guardrails for any caller that sets proofId.
Useful? React with 👍 / 👎.
| consumerId: 'bitcode-mcp-interface', | ||
| packageExport: '@bitcode/btd/interface-integration-contract', | ||
| adapterPath: 'packages/executions-mcp/src/mcp-server/src/interface-integration.ts', | ||
| objectFamilies: ['source_to_shares_proof', 'organization_authority'], |
There was a problem hiding this comment.
Keep MCP surface record aligned with exported contract
The terminal regression proof hard-codes the MCP record without protocol_telemetry, even though buildMcpInterfaceIntegrationRecord declares that family for the same MCP consumer. Because gate coverage is computed from this terminal record set, the regression proof can pass while under-reporting MCP’s actual contract surface, weakening its ability to catch MCP interface regressions.
Useful? React with 👍 / 👎.
Summary
Proof