Skip to content

V47 Gate 9: Staging-Testnet Deployment Rehearsal#241

Merged
geraldarthurdavis merged 1 commit into
version/v47from
v47/gate-9-staging-testnet-deployment-rehearsal
Jun 11, 2026
Merged

V47 Gate 9: Staging-Testnet Deployment Rehearsal#241
geraldarthurdavis merged 1 commit into
version/v47from
v47/gate-9-staging-testnet-deployment-rehearsal

Conversation

@geraldarthurdavis

Copy link
Copy Markdown
Contributor

Summary

Closes V47 Gate 9 (Staging-Testnet Deployment Rehearsal) into version/v47 while V46 remains active canon.

  • Rehearsal law (V47StagingTestnetDeploymentRehearsal, following the V34 staging-rehearsal and V45 Gate 17 dry-run receipt precedents): four lanes with dry-run receipts and liveExecutionOptInRequired:
    1. Staging-testnet full stack — binds the launch routes to the deployment truth sources: Vercel host (vercel.json), Supabase database/ledger projections (config.toml + canonical migrations), object-storage roots, long-runner pipeline host (Dockerfiles + infra/k8s/long-runner.yaml), BTC-testnet settlement provider.
    2. Realistic-data population — an explicit contract with minimums (24 deposit AssetPack options, 12 admitted Depository AssetPacks, 18 Read requests/accepted Needs, 12 source-safe previews/BTC-testnet quotes, 9 settlement observations/finality confirmations/BTD rights transfers, 6 repository PR deliveries/compensation statements, 3 repair cases) that fails closed below any minimum.
    3. BTC-testnet settlement observation — rehearses the production ordering law: observation → finality → BTD rights → repository delivery.
    4. Value-bearing mainnet blocked — rehearses as blocked_as_required.
  • Validation command catalog records the real rehearsal chain (supabase bringup, migration reset, uapi production build, test:e2e:ip-exchange browser proof, the gate checker chain); live deployment execution stays operator opt-in and no live credentials are ever serialized.
  • Spec family: SPEC, DELTA, NOTES, PARITY ("Staging-testnet rehearsal" row → implemented; promotion pending), roadmap (Gate 9 closure target/anchor; posture working=Gate 9, latest closed=Gate 8 — next queued: V47 Promotion Readiness); Gate 2–8 artifacts refreshed.

Validation

  • pnpm --filter @bitcode/protocol test (235 pass, includes 3 new Gate 9 rehearsal tests)
  • check:v47-gate1 (skip-branch-check) through check:v47-gate9 all pass
  • check:v46-gate8 --promotion-mode still green
  • Spec-family promoted V46 + draft V47, canonical inputs, canon posture drift, spec quality (basic), import casing, git diff --check all clean

🤖 Generated with Claude Code

Record Gate 9 staging-testnet deployment rehearsal law across
BITCODE_SPEC_V47, DELTA, NOTES, PARITY, and the roadmap, and advance roadmap
posture to working Gate 9 with Gate 8 recorded as latest closed.

Add the V47StagingTestnetDeploymentRehearsal protocol object binding four
dry-run rehearsal lanes — staging-testnet full stack, realistic-data
population, BTC-testnet settlement observation, and blocked value-bearing
mainnet — to the deployment truth sources (vercel.json, supabase config and
migrations, long-runner Dockerfiles and Kubernetes manifest, uapi build and
browser-proof commands). The realistic-data contract sets explicit minimums
(24 deposit options, 12 admissions, 18 Reads/accepted Needs, 12
previews/quotes, 9 observations/finalities/rights transfers, 6
deliveries/compensation statements, 3 repair cases); the settlement lane
rehearses the production ordering law (observation -> finality -> rights ->
delivery); lane receipts stay dry-run with live deployment execution as
operator opt-in and no serialized credentials.

Add the generator, Gate 9 checker, protocol tests, package exports,
package.json scripts, and gate/canon workflow wiring; generate
.bitcode/v47-staging-testnet-deployment-rehearsal.json and refresh the
Gate 2-8 artifacts against the advanced spec family.

Validated with:
- pnpm --filter @bitcode/protocol test (235 pass)
- node scripts/check-v47-gate1-scope-measurement-launch-freeze.mjs --skip-branch-check
- pnpm run check:v47-gate2 through check:v47-gate9
- node scripts/check-v46-gate8-promotion-readiness.mjs --promotion-mode
- node scripts/check-bitcode-spec-family.mjs --version V46 --mode promoted --current-target V46
- node scripts/check-bitcode-spec-family.mjs --version V47 --mode draft --current-target V46
- node scripts/check-bitcode-canonical-inputs.mjs --current-target V46
- node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V46 --draft-target V47
- node scripts/run-bitcode-spec-quality.mjs --mode basic
- node scripts/check-import-casing.mjs
- git diff --check

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 11, 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 Jun 11, 2026 8:41pm

@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

Here are some automated review suggestions for this pull request.

Reviewed commit: 7dca7b513b

ℹ️ 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".

},
{
commandId: 'v47-gate-checker-chain',
command: 'pnpm run check:v47-gate1 ... check:v47-gate9',

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Replace the ellipsis with an executable gate chain

When an operator follows this new validation catalog entry, it fails before running the gate chain: pnpm run --help documents pnpm run <command> [<args>...], so this invokes only check:v47-gate1 and passes ... check:v47-gate9 as arguments; I verified it exits with Unknown argument .... Since the artifact is meant to provide rehearsal validation commands, use an actual shell chain such as sequential pnpm run check:v47-gateN commands instead of the prose ellipsis.

Useful? React with 👍 / 👎.

@geraldarthurdavis
geraldarthurdavis merged commit fd63e8b into version/v47 Jun 11, 2026
28 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