V46 Gate 7: Local Interface Comprehension Rehearsal#230
Conversation
Add package-backed V46LocalInterfaceComprehensionRehearsal with deterministic source-safe local rehearsal metadata for docs, product routes, API/MCP, ChatGPT App, Bitcode Chat, proof telemetry, and repair readback. Wire generator, checker, exports, focused protocol tests, Gate Quality and Canon Quality workflows, regenerated V46 artifacts, and spec/roadmap/README documentation for Gate 7 closure. Validation: pnpm run check:v46-gate1 --skip-branch-check; pnpm run check:v46-gate2 --skip-branch-check --skip-package-tests; pnpm run check:v46-gate3 --skip-branch-check --skip-package-tests; pnpm run check:v46-gate4 --skip-branch-check --skip-package-tests; pnpm run check:v46-gate5 --skip-branch-check --skip-package-tests; pnpm run check:v46-gate6 --skip-branch-check --skip-package-tests; pnpm run check:v46-gate7; pnpm --filter @bitcode/protocol typecheck; pnpm --filter @bitcode/protocol test; git diff --check.
|
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: 2d10043b3f
ℹ️ 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 allAuthorityIds = rows.flatMap((row) => row.authorityIds); | ||
| const rowsMissingRequiredCopy = rows.filter((row) => !row.requiredCopyPresent).map((row) => row.surfaceId); | ||
| const rowsMissingSourceFiles = rows.filter((row) => !row.sourceFilesPresent).map((row) => row.surfaceId); | ||
| const sourcePathsToScan = [ |
There was a problem hiding this comment.
Scan the rehearsed interface files for unsafe markers
When an unsafe marker or forbidden disclosure phrase lands in one of the actual rehearsed surfaces (for example uapi/app/packs/PacksPageClient.tsx, API/MCP contracts, ChatGPT App files, or proof telemetry files), Gate 7 still reports secretMarkerHits/forbiddenPhraseHits as empty because this scan list only covers spec/readme/script/test files and never includes rows.flatMap(row => row.sourcePaths). That lets the source-safety rehearsal pass while the local interfaces it claims to validate contain the very disclosures the artifact is supposed to catch.
Useful? React with 👍 / 👎.
Summary
Validation