V30: Canonical Promotion#43
Conversation
Open the V30 draft spec family over active V29 canon, refresh the specifications roadmap and contributor docs for V30 branch posture, and add Gate 1 validation for roadmap, workflow, and active/draft checks. Wire gate and canon quality workflows to validate V29 active / V30 draft posture while preserving V29 promotion readiness checks. Validated with check:v30-gate1, V29 promoted spec family, V29 canonical inputs, V29 promotion readiness, V30 draft spec family, V29/V30 posture drift, strict V30 spec quality, @bitcode/protocol tests, and git diff hygiene.
…-gating V30 Gate 1: Roadmap And Gating
Move shared BTD route-facing builders, parsers, settlement constructors, registry snapshots, and JSON-safe serialization into @bitcode/btd so API routes delegate protocol policy instead of owning it. Add package boundary tests, update route tests to import package builders directly, document accepted import direction, and wire the V30 Gate 2 checker into gate-quality.
…ckage-api-boundaries V30 Gate 2: Protocol Package API Boundaries
Adds package-owned BTC fee network policy and Taproot PSBT posture types, enforces quote timestamp windows and signed-PSBT evidence, extends BTD/API tests for no-custody handoff, replacement, reorg, and mainnet blocking, and wires V30 Gate 3 specification parity plus checker/workflow coverage.
…root-psbt-fee-rigor V30 Gate 3: Bitcoin Taproot PSBT Fee Rigor
Add package-owned BTD AssetPack mint, read, and rights-transfer receipt primitives with source-safe preview, paid unlock, delivery admission, ledger projection, and BTC finality boundaries. Expose receipt construction through BTD API boundaries, stream/store mint/read receipt evidence from the Sandbox harness, and surface receipt payloads through Terminal detail/read models. Update V30 spec family, BTD documentation, gate workflow, and add the Gate 4 checker plus BTD/API/Terminal coverage.
…ck-mint-read-receipts V30 Gate 4: BTD AssetPack Mint And Read Receipts
Adds package-owned object-storage artifact facts and secret-free Supabase staging-testnet readback receipts to BTD reconciliation reports. Wires the report through the AssetPack Sandbox harness and Terminal journal reconciliation UI so ledger, database, object-storage, and private facts remain distinct with deterministic repair roots. Covers drift, quarantine, retry, protected-source rejection, staging readback blocking, API serialization, harness generation, Terminal rendering, V30 spec parity, and the Gate 5 workflow checker.
Allow Terminal reconciliation cards to render historical or partial journal snapshots that predate object-storage fact projection while preserving the new object-storage section for current reports. Proof: pnpm --dir uapi exec jest --runTestsByPath tests/api/readReviewRoute.test.ts tests/api/pipelineHarnessRoute.test.ts tests/terminalPipelineHarnessClient.test.ts tests/terminalDepositReadWorkbench.test.ts tests/terminalTransactionQuery.test.ts tests/terminalTransactionReadModel.test.ts tests/terminalWalletBtcOperation.test.ts tests/terminalJournalReconciliation.test.ts tests/terminalOrganizationAuthority.test.ts tests/protocolCommercialBoundary.test.ts tests/terminalTransactionDetailCards.test.tsx tests/terminalTransactionDetailSnapshot.test.ts tests/terminalUxBrowserProof.test.tsx tests/pipelineExecutionLogHeader.test.tsx --runInBand; pnpm -C uapi exec jest --coverage; pnpm --dir uapi exec tsc --noEmit --pretty false
…ger-projection-hardening V30 Gate 5: Testnet Ledger Projection Hardening
Add package-owned SourceToSharesProof primitives for contribution weights, BTD range slices, BTC fee allocation, settlement conservation, zero-cell/refit tail posture, ancestry evidence, and no-overpayment/no-underpayment theorem verdicts. Expose the proof through the BTD API boundary and Next route, add focused BTD/API tests, document the Gate 6 protocol contract, and wire check:v30-gate6 into gate quality. Proof: pnpm --filter @bitcode/btd typecheck; pnpm --filter @bitcode/api build; pnpm --filter @bitcode/btd test; pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/btd-crypto.test.ts --runInBand; pnpm --dir uapi exec tsc --noEmit --pretty false; pnpm run check:v30-gate6; git diff --check.
…hares-proof-cleanup V30 Gate 6: Source-To-Shares Proof Cleanup
Introduce a package-owned BridgeReadinessResearchPosture for Taproot, BitVM, BSC/opBNB, Binance Web3 Wallet, and future distribution path research without admitting any bridge as current BTD chain-of-record truth. Expose the source-safe posture through BTD API and Next route boundaries, add BTD/API coverage, update V30 spec family and README documentation, and wire the Gate 7 checker into gate-quality CI. Proof: pnpm --filter @bitcode/btd typecheck; pnpm --filter @bitcode/btd test -- --runTestsByPath __tests__/bridge-readiness.test.ts --runInBand; pnpm --filter @bitcode/btd test; pnpm --filter @bitcode/api build; pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/btd-crypto.test.ts --runInBand; pnpm --dir uapi exec tsc --noEmit --pretty false; pnpm run check:v30-gate7; node scripts/check-v30-gate2-protocol-package-api-boundaries.mjs --skip-branch-check through gate7; git diff --check; git diff --cached --check.
…iness-research-boundaries V30 Gate 7: Bridge Readiness Research Boundaries
Adds package-owned BTD protocol telemetry envelopes, source-safe telemetry records, and proof hooks for receipts, BTC fee states, ledger projections, source-to-shares proofs, and bridge-readiness posture. Exposes the JSON-safe /btd/protocol-telemetry boundary, documents Terminal consumption and V30 spec parity, wires the Gate 8 checker into gate quality, and covers the slice with focused BTD/API tests. Proof run: pnpm --filter @bitcode/btd typecheck; pnpm --filter @bitcode/btd test; pnpm --filter @bitcode/api build; pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/btd-crypto.test.ts --runInBand; pnpm --dir uapi exec tsc --noEmit --pretty false; node scripts/check-v30-gate1-roadmap-and-gating.mjs --skip-branch-check through node scripts/check-v30-gate8-protocol-telemetry-proof-hooks.mjs; node scripts/check-bitcode-spec-family.mjs --version V30 --mode draft --current-target V29; node scripts/check-bitcode-canonical-inputs.mjs --current-target V29; node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V29 --draft-target V30; git diff --check; git diff --cached --check.
…lemetry-proof-hooks V30 Gate 8: Protocol Telemetry And Proof Hooks
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.
Add the V30 promotion workflow, Gate 10 readiness checker, promotion command support, and generated V30 proof artifacts. Extend canonical proven generation and runtime/spec-family promotion helpers for V30, update roadmap and QA documentation, and wire Gate 10 into repository checks.\n\nProof: pnpm run check:v30-gate10; git diff --cached --check; staged secret-marker scan for Supabase/OpenAI credential markers.
…readiness V30 Gate 10: Promotion Readiness
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
https://github.com/engineeredsoftware/ENGI/blob/2d18901e6e04badaffa2cb2e15e45599c55e3d05/packages/api/src/routes/btd-crypto.ts#L1110-L1111
Reject out-of-range integer strings before Number coercion
String inputs that match the integer regex are converted with Number(value) and returned without a safe-integer check. Large DB values (for example range bounds or IDs) can be rounded or become non-exact, which can silently corrupt access/range calculations even though this helper claims to enforce safe integers.
ℹ️ 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".
| activeCanonicalPointer: input.activeCanonicalPointer ?? 'V29', | ||
| draftTargetVersion: input.draftTargetVersion ?? 'V30', |
There was a problem hiding this comment.
Update registry snapshot defaults for promoted V30 posture
This hard-codes activeCanonicalPointer/draftTargetVersion to V29/V30, so after the promotion flow moves BITCODE_SPEC.txt to V30, /btd/registry will still report the previous posture unless every caller overrides these fields (the route currently does not). That produces stale canon metadata and can cause automation or UI consumers to evaluate the wrong gate state for a promoted branch.
Useful? React with 👍 / 👎.
Broaden the runtime canon promotion README rewrite so promoted V30 demonstration docs move from draft-target wording to V30 active/V31 draft posture before drift validation. Add fixture coverage for the V30 Protocol/BTD hardening README shape.\n\nProof: npm --prefix protocol-demonstration run test:v22-canon-drift; git diff --check; git diff --cached --check.
Broaden the runtime promotion README rewrite so it handles the real demonstration paragraph when the generated appendix path is wrapped onto the next line. Proof: npm --prefix protocol-demonstration run test:v22-canon-drift; node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V29 --draft-target V30; copied promotion repro with V30/V31 drift check.
Normalize the canonical proven appendix renderer so promotion-generated markdown ends with exactly one trailing newline and no blank EOF line. Apply the same behavior to the demonstration renderer and cover it with the proven generator test. Proof: - node --test --test-force-exit protocol-demonstration/test/proven-generator.test.js - git diff --check - node scripts/generate-bitcode-proven.mjs --version V30 --commit 9d0adf7 --worktree-state clean --allow-dirty --stdout > /tmp/BITCODE_SPEC_V30_PROVEN.md && node -e "const fs=require('fs'); const s=fs.readFileSync('/tmp/BITCODE_SPEC_V30_PROVEN.md','utf8'); if(!s.endsWith('\n')||s.endsWith('\n\n')) process.exit(1);"
Summary\n- Promotes V30 from the closed version branch into main after all V30 gate branches have merged.\n- Runs the V30 promotion workflow to validate the promoted canon posture, regenerate proof artifacts, and commit the standalone BITCODE_SPEC.txt pointer change when promotion validations pass.\n\n## Promotion basis\n- V30 gates 1-10 are merged into version/v30.\n- Gate 10 PR #42 passed gate quality, app quality, Vercel preview, actionlint, and repository checks before merge.\n- The version branch contains the V30 promotion workflow, checker, generated proof surfaces, QA doc, and roadmap/spec-family updates.\n\n## Expected automation\n- The V30 canon promotion workflow should run promotion-grade validations and update BITCODE_SPEC.txt from V29 to V30 on this branch if no drift remains.