Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
429 changes: 429 additions & 0 deletions .bitcode/v34-deployment-host-capability-catalog.json

Large diffs are not rendered by default.

275 changes: 275 additions & 0 deletions .bitcode/v34-environment-lane-contracts.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
{
"artifactId": "v34-environment-lane-contracts",
"closureCommand": "pnpm run check:v34-gate2",
"coverage": {
"credentialsSerialized": false,
"laneCount": 7,
"mainnetReadyDryRunAdmission": "dry_run_only",
"missingLaneIds": [],
"observedLaneIds": [
"local",
"regtest",
"signet",
"staging-testnet",
"public-testnet",
"mainnet-ready-dry-run",
"value-bearing-mainnet"
],
"protectedSourceVisible": false,
"valueBearingMainnetAdmission": "blocked_future_canon_required",
"valueBearingMainnetAdmittedHostCount": 0,
"valueBearingMainnetHidden": false
},
"currentTarget": "V33",
"generatedAt": "2026-05-22T00:00:00.000Z",
"laneContractRoot": "v34-environment-lane-contracts:4c4874984efa54e0eac959a7",
"lanes": [
{
"admittedHostIds": [
"website",
"api",
"mcp_api",
"chatgpt_app",
"pipeline_workers",
"proof_services",
"repair_jobs",
"object_storage",
"database_projection"
],
"bitcoinNetworkPosture": "none",
"laneId": "local",
"laneRoot": "v34-environment-lane-contract:74296544dca9b29e341ea7c8",
"supabaseProjectPosture": "local_process",
"telemetryProofHookId": "deployment.telemetry.lane.local",
"valueBearingAdmission": "not_value_bearing",
"vercelProjectPosture": "local_process",
"walletPolicy": "no_wallet"
},
{
"admittedHostIds": [
"api",
"pipeline_workers",
"runtime_observers",
"ledger_broadcasters",
"proof_services",
"repair_jobs",
"object_storage",
"database_projection",
"ledger_projection"
],
"bitcoinNetworkPosture": "regtest",
"laneId": "regtest",
"laneRoot": "v34-environment-lane-contract:7d91c2c69a9939b4e6aca64c",
"supabaseProjectPosture": "local_project",
"telemetryProofHookId": "deployment.telemetry.lane.regtest",
"valueBearingAdmission": "not_value_bearing",
"vercelProjectPosture": "local_project",
"walletPolicy": "regtest_wallet"
},
{
"admittedHostIds": [
"api",
"pipeline_workers",
"runtime_observers",
"ledger_broadcasters",
"proof_services",
"repair_jobs",
"object_storage",
"database_projection",
"ledger_projection"
],
"bitcoinNetworkPosture": "signet",
"laneId": "signet",
"laneRoot": "v34-environment-lane-contract:e438d47a5e32d600ef07e9cb",
"supabaseProjectPosture": "staging_testnet_project",
"telemetryProofHookId": "deployment.telemetry.lane.signet",
"valueBearingAdmission": "not_value_bearing",
"vercelProjectPosture": "staging_testnet_project",
"walletPolicy": "signet_wallet"
},
{
"admittedHostIds": [
"website",
"api",
"mcp_api",
"chatgpt_app",
"pipeline_workers",
"runtime_observers",
"ledger_broadcasters",
"proof_services",
"repair_jobs",
"object_storage",
"database_projection",
"ledger_projection"
],
"bitcoinNetworkPosture": "signet",
"laneId": "staging-testnet",
"laneRoot": "v34-environment-lane-contract:6653d398e7f72c5c09b73c25",
"supabaseProjectPosture": "staging_testnet_project",
"telemetryProofHookId": "deployment.telemetry.lane.staging-testnet",
"valueBearingAdmission": "not_value_bearing",
"vercelProjectPosture": "staging_testnet_project",
"walletPolicy": "signet_wallet"
},
{
"admittedHostIds": [
"website",
"api",
"mcp_api",
"chatgpt_app",
"pipeline_workers",
"runtime_observers",
"ledger_broadcasters",
"proof_services",
"repair_jobs",
"object_storage",
"database_projection",
"ledger_projection"
],
"bitcoinNetworkPosture": "testnet",
"laneId": "public-testnet",
"laneRoot": "v34-environment-lane-contract:25ca918cccc58f2b320c2235",
"supabaseProjectPosture": "public_testnet_project",
"telemetryProofHookId": "deployment.telemetry.lane.public-testnet",
"valueBearingAdmission": "not_value_bearing",
"vercelProjectPosture": "public_testnet_project",
"walletPolicy": "testnet_wallet"
},
{
"admittedHostIds": [
"website",
"api",
"mcp_api",
"chatgpt_app",
"pipeline_workers",
"runtime_observers",
"proof_services",
"repair_jobs",
"object_storage",
"database_projection",
"ledger_projection"
],
"bitcoinNetworkPosture": "mainnet",
"laneId": "mainnet-ready-dry-run",
"laneRoot": "v34-environment-lane-contract:097dee47502a17c5611d5c9c",
"supabaseProjectPosture": "production_project_dry_run",
"telemetryProofHookId": "deployment.telemetry.lane.mainnet-ready-dry-run",
"valueBearingAdmission": "dry_run_only",
"vercelProjectPosture": "production_project_dry_run",
"walletPolicy": "mainnet_watch_only"
},
{
"admittedHostIds": [],
"bitcoinNetworkPosture": "mainnet",
"laneId": "value-bearing-mainnet",
"laneRoot": "v34-environment-lane-contract:c08b11a2a29dbe2e4c20a035",
"supabaseProjectPosture": "production_project_blocked",
"telemetryProofHookId": "deployment.telemetry.lane.value-bearing-mainnet",
"valueBearingAdmission": "blocked_future_canon_required",
"vercelProjectPosture": "production_project_blocked",
"walletPolicy": "mainnet_value_blocked"
}
],
"passed": true,
"requiredLaneIds": [
"local",
"regtest",
"signet",
"staging-testnet",
"public-testnet",
"mainnet-ready-dry-run",
"value-bearing-mainnet"
],
"schemaId": "bitcode.v34.environmentLaneContracts.v1",
"sharedFixtureFiles": [
"packages/btd/src/deployment-host-capability-catalog.ts",
"packages/btd/src/index.ts",
"BITCODE_SPEC_V34.md",
"BITCODE_SPEC_V34_DELTA.md",
"BITCODE_SPEC_V34_PARITY_MATRIX.md",
"packages/btd/__tests__/deployment-host-capability-catalog.test.ts",
"scripts/check-v34-gate2-host-capability-environment-lanes.mjs"
],
"sourceEvidence": [
{
"digest": "sha256:b4e7d2ef3b7ee2ce09922527aa88a5796ae4093c1bd77ff926f822bf13038a5a",
"relativePath": "packages/btd/src/deployment-host-capability-catalog.ts",
"requiredTokens": [
{
"present": true,
"token": "ENVIRONMENT_LANE_CONTRACT_IDS"
},
{
"present": true,
"token": "mainnet-ready-dry-run"
},
{
"present": true,
"token": "value-bearing-mainnet"
},
{
"present": true,
"token": "blocked_future_canon_required"
},
{
"present": true,
"token": "buildEnvironmentLaneContracts"
}
]
},
{
"digest": "sha256:ddbf849e72492008f814fde47e1c4ebf0565a445a579d01942cd543e18ff6b74",
"relativePath": "BITCODE_SPEC_V34_DELTA.md",
"requiredTokens": [
{
"present": true,
"token": "local, regtest, signet, staging-testnet, public testnet, mainnet-ready dry run, and value-bearing mainnet lanes are represented"
},
{
"present": true,
"token": ".bitcode/v34-environment-lane-contracts.json"
}
]
}
],
"sourceSafetyVerdict": "source-safe-environment-lane-contract-metadata",
"testEvidence": [
{
"digest": "sha256:3f620773822bfd97dde2617fd166318991d1d454bf624c17baff96b0d2bc3532",
"relativePath": "packages/btd/__tests__/deployment-host-capability-catalog.test.ts",
"requiredTokens": [
{
"present": true,
"token": "catalogs local, regtest, signet, staging-testnet, public testnet, mainnet dry run, and blocked value-bearing mainnet lanes"
},
{
"present": true,
"token": "fails closed when value-bearing mainnet admits hosts or stops being blocked"
},
{
"present": true,
"token": "fails closed when mainnet-ready dry run is made value-bearing"
}
]
},
{
"digest": "sha256:da4dbd254c1804bb44eb3bd6e32d37f51715bf77bdacfe57c7af4ec8d1bcd8ff",
"relativePath": "scripts/check-v34-gate2-host-capability-environment-lanes.mjs",
"requiredTokens": [
{
"present": true,
"token": "value-bearing-mainnet"
},
{
"present": true,
"token": "blocked_future_canon_required"
},
{
"present": true,
"token": "environment-lane-contracts"
}
]
}
],
"version": "V34"
}
2 changes: 2 additions & 0 deletions .github/workflows/bitcode-gate-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ jobs:
fi
node scripts/check-v33-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check
node scripts/check-v34-gate1-deployment-roadmap-opening.mjs --skip-branch-check
node scripts/check-v34-gate2-host-capability-environment-lanes.mjs --skip-branch-check
else
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2
exit 1
Expand Down Expand Up @@ -183,6 +184,7 @@ jobs:
pnpm --filter @bitcode/btd test -- --runTestsByPath __tests__/api-schema-compatibility-matrix.test.ts
pnpm --filter @bitcode/btd test -- --runTestsByPath __tests__/interface-telemetry-proof-hook.test.ts
pnpm --filter @bitcode/btd test -- --runTestsByPath __tests__/interface-consumer-ux-regression-proof.test.ts
pnpm --filter @bitcode/btd test -- --runTestsByPath __tests__/deployment-host-capability-catalog.test.ts
pnpm --filter @bitcode/btd test -- --runTestsByPath __tests__/v32-testnet-mainnet-readiness-rehearsal.test.ts
pnpm --dir packages/protocol exec node --test --test-force-exit test/v32-promotion-proof-generation.test.js
pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/btd-crypto.test.ts --runInBand
Expand Down
25 changes: 15 additions & 10 deletions BITCODE_SPEC_V34.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
## Status

- Version: `V34`
- V34 state: Gate 1 deployment-roadmap opening is active over promoted V33 canon
- V34 state: Gate 2 host capability and environment lane catalog is closed over promoted V33 canon
- Current canonical/latest target: `V33`
- Prior canonical anchor: `BITCODE_SPEC_V33.md`
- Prior generated proof appendix: `BITCODE_SPEC_V33_PROVEN.md`
- Generated structured artifact inventory: draft V34 specifying artifacts `.bitcode/v34-spec-family-report.json`, `.bitcode/v34-canonical-input-report.json`, and later deployment-depth artifacts as gates close
- Source parity state: Gate 1 opens V34 deployment-depth parity; host capability, environment lane, distributed execution, storage, approval, rollback, repair, and rehearsal source parity is not closed until the relevant gates close
- Generated structured artifact inventory: draft V34 specifying artifacts `.bitcode/v34-spec-family-report.json`, `.bitcode/v34-canonical-input-report.json`, Gate 2 artifacts `.bitcode/v34-deployment-host-capability-catalog.json` and `.bitcode/v34-environment-lane-contracts.json`, and later deployment-depth artifacts as gates close
- Source parity state: Gate 2 closes V34 host capability and environment lane parity; distributed execution, storage, approval, rollback, repair, and rehearsal source parity is not closed until the relevant gates close
- Active canonical pointer during draft opening: `BITCODE_SPEC.txt` -> `V33`
- Notes companion: `BITCODE_SPEC_V34_NOTES.md`
- Delta companion: `BITCODE_SPEC_V34_DELTA.md`
Expand Down Expand Up @@ -194,7 +194,7 @@ Inherited V33 objects remain active: `Deposit`, `ReadRequest`, `ReadNeed`, `Find
V34 closes through ten gates:

1. **Gate 1: V34 Deployment Roadmap And Spec Opening** opens the V34 family over V33 canon, updates `SPECIFICATIONS_ROADMAP.md`, documents V33 active / V34 draft posture, and wires `check:v34-gate1`.
2. **Gate 2: Host Capability And Environment Lane Catalog** inventories runtime hosts, services, queues, observers, broadcasters, storage carriers, and lanes through `DeploymentHostCapabilityCatalog` and `EnvironmentLaneContract`.
2. **Gate 2: Host Capability And Environment Lane Catalog** inventories runtime hosts, services, queues, observers, broadcasters, storage carriers, and lanes through `DeploymentHostCapabilityCatalog` and `EnvironmentLaneContract`. It is closed by `packages/btd/src/deployment-host-capability-catalog.ts`, `.bitcode/v34-deployment-host-capability-catalog.json`, `.bitcode/v34-environment-lane-contracts.json`, `packages/btd/__tests__/deployment-host-capability-catalog.test.ts`, and `pnpm run check:v34-gate2`.
3. **Gate 3: Distributed Execution Runtime Contracts** defines `DistributedExecutionRuntimeReceipt` for long-running pipeline, ledger, wallet, proof, object-storage, and repair work.
4. **Gate 4: Ledger Database Object Storage Deployment Posture** hardens ledger-derived state, database projection, object storage, generated proof artifacts, audit logs, backup, retention, and rollback material.
5. **Gate 5: Secret Rotation And Credential Boundary Operations** defines secret families, storage owners, rotation commands, leak-response posture, CI masking, and runtime availability checks.
Expand Down Expand Up @@ -504,8 +504,11 @@ Primary V34 types: `DeploymentHostCapabilityCatalog`, `EnvironmentLaneContract`,
Primary surfaces: website, API, MCP API, ChatGPT App, workers, observers, broadcasters, repair jobs, ledger projection, database projection, object-storage projection, and proof replay.

Gate 2 catalog rows are package-owned source-safe metadata.
Required row ids include `website_app`, `public_api`, `mcp_api`, `chatgpt_app`, `pipeline_worker`, `ledger_observer`, `settlement_broadcaster`, `proof_service`, and `repair_job`.
Each row names owner package, runtime surface, host capability, lane contract, storage carrier, required secret family, validation command, compatibility status, failure mode, repair posture, telemetry proof hook id, and deterministic proof root.
Required host row ids are `website`, `api`, `mcp_api`, `chatgpt_app`, `pipeline_workers`, `runtime_observers`, `ledger_broadcasters`, `proof_services`, `repair_jobs`, `object_storage`, `database_projection`, and `ledger_projection`.
Required lane row ids are `local`, `regtest`, `signet`, `staging-testnet`, `public-testnet`, `mainnet-ready-dry-run`, and `value-bearing-mainnet`.
The `value-bearing-mainnet` lane is visible as `blocked_future_canon_required`; it admits no runtime hosts and carries `mainnet_value_blocked` wallet policy.
Each host row names owner package, runtime surface, runtime carrier, packages, network posture, secret family names without values, storage carrier, observer/broadcaster/repair capability, validation path, failure mode, repair posture, telemetry proof hook id, and deterministic proof root.
Each lane row names Bitcoin network posture, Supabase and Vercel project posture, value-bearing admission, retention, wallet policy, secret scope, proof requirements, admitted hosts, failure mode, repair posture, telemetry proof hook id, and deterministic proof root.

## Appendix B. Proof family closure catalog

Expand Down Expand Up @@ -541,8 +544,8 @@ V34 preserves operator-quality proof output expectations and extends them to dep
| --- | --- | --- | --- |
| `.bitcode/v34-spec-family-report.json` | protocol | source-safe | `node scripts/check-bitcode-spec-family.mjs --version V34 --mode draft --current-target V33` |
| `.bitcode/v34-canonical-input-report.json` | protocol | source-safe | `node scripts/check-bitcode-canonical-inputs.mjs --current-target V33` |
| `.bitcode/v34-deployment-host-capability-catalog.json` | protocol | source-safe | later V34 gate |
| `.bitcode/v34-environment-lane-contracts.json` | protocol | source-safe | later V34 gate |
| `.bitcode/v34-deployment-host-capability-catalog.json` | btd | source-safe-deployment-host-capability-metadata | `pnpm run check:v34-host-capability-environment-lanes` |
| `.bitcode/v34-environment-lane-contracts.json` | btd | source-safe-environment-lane-contract-metadata | `pnpm run check:v34-host-capability-environment-lanes` |
| `.bitcode/v34-distributed-execution-runtime-receipts.json` | protocol | source-safe | later V34 gate |
| `.bitcode/v34-deployment-storage-posture.json` | protocol | source-safe | later V34 gate |
| `.bitcode/v34-secret-rotation-boundary-operations.json` | protocol | source-safe | later V34 gate |
Expand All @@ -555,7 +558,8 @@ V34 preserves operator-quality proof output expectations and extends them to dep
### V34 specifying generated artifacts

Gate 1 requires `.bitcode/v34-spec-family-report.json` and `.bitcode/v34-canonical-input-report.json` to be declared.
Later V34 gates introduce the deployment artifacts listed above.
Gate 2 requires `.bitcode/v34-deployment-host-capability-catalog.json` and `.bitcode/v34-environment-lane-contracts.json` to be generated, source-safe, deterministic, and checked by `pnpm run check:v34-gate2`.
Later V34 gates introduce the remaining deployment artifacts listed above.

### Shared generated-artifact fields

Expand All @@ -581,7 +585,8 @@ Canonical regeneration fails closed when generated inputs drift, source safety f
## Appendix D. Validation and checking gate catalog

Gate 1 validation is `pnpm run check:v34-gate1`.
The gate also runs spec-family, canonical-input, canon-posture drift, and diff hygiene checks.
Gate 2 validation is `pnpm run check:v34-gate2`, with artifact freshness checked by `pnpm run check:v34-host-capability-environment-lanes` and focused package coverage in `packages/btd/__tests__/deployment-host-capability-catalog.test.ts`.
The gate-quality workflow also runs spec-family, canonical-input, canon-posture drift, and diff hygiene checks.
Later gates add generated artifact checks close to their deployment contract surfaces.

## Appendix E. Current canonical source map
Expand Down
Loading
Loading