Skip to content

V30: Canonical Promotion#43

Merged
geraldarthurdavis merged 24 commits into
mainfrom
version/v30
May 22, 2026
Merged

V30: Canonical Promotion#43
geraldarthurdavis merged 24 commits into
mainfrom
version/v30

Conversation

@geraldarthurdavis

Copy link
Copy Markdown
Contributor

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.

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.
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
@geraldarthurdavis
geraldarthurdavis requested a review from a team May 21, 2026 23:58
@vercel

vercel Bot commented May 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
engi-uapi Ready Ready Preview, Comment May 22, 2026 1:41am

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

https://github.com/engineeredsoftware/ENGI/blob/2d18901e6e04badaffa2cb2e15e45599c55e3d05/packages/api/src/routes/btd-crypto.ts#L1110-L1111
P2 Badge 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".

Comment on lines +663 to +664
activeCanonicalPointer: input.activeCanonicalPointer ?? 'V29',
draftTargetVersion: input.draftTargetVersion ?? 'V30',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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);"
@geraldarthurdavis
geraldarthurdavis merged commit 78ebe82 into main May 22, 2026
8 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