Skip to content

Commit ff8d9a5

Browse files
V46 Gate 8: Promotion Readiness And Canon Workflow
Closes the V46 promotion-readiness gate with generated promotion reports, V46 PROVEN support, canon-promotion workflow wiring, and deterministic Gate 8 checks.\n\nValidated by GitHub Actions Gate Quality, Canon Quality, CI, casing, docs refresh, UI SSOT, and Vercel preview checks.
1 parent 0ca7a96 commit ff8d9a5

34 files changed

Lines changed: 5043 additions & 148 deletions
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
{
2+
"reportId": "v46-canon-posture-drift-report",
3+
"version": "V46",
4+
"checkedActiveCanonVersion": "V45",
5+
"checkedDraftTargetVersion": "V46",
6+
"pointerVersion": "V45",
7+
"proofSourceCommit": "HEAD",
8+
"generatedAt": "2026-06-02T00:00:00.000Z",
9+
"generatorId": "bitcode.proven-generator.v1",
10+
"worktreeState": "dirty-preview",
11+
"passed": true,
12+
"checkCount": 10,
13+
"blockingFailureCount": 0,
14+
"blockingFailures": [],
15+
"runtimeSpecVersion": "Bitcode Spec V45 active canon / V46 system draft",
16+
"publicSpecVersion": "Bitcode Spec V45 active canon / V46 system draft",
17+
"activeProvenAppendixPath": "BITCODE_SPEC_V45_PROVEN.md",
18+
"policyRef": "policy://bitcode/spec-v45-active-v46-system-draft/current",
19+
"checkedFiles": [
20+
"protocol-demonstration/README.md",
21+
"protocol-demonstration/public/index.html",
22+
"protocol-demonstration/public/app.js",
23+
"protocol-demonstration/server.js"
24+
],
25+
"checks": [
26+
{
27+
"checkId": "pointer-active-canon-alignment",
28+
"passed": true,
29+
"detail": "BITCODE_SPEC.txt points to V45 while runtime expects V45."
30+
},
31+
{
32+
"checkId": "canon-posture-constant-alignment",
33+
"passed": true,
34+
"detail": "canon-posture constants resolve V45/V46 with operator label V45 active canon / V46 system draft."
35+
},
36+
{
37+
"checkId": "proven-appendix-alignment",
38+
"passed": true,
39+
"detail": "active generated appendix path is BITCODE_SPEC_V45_PROVEN.md."
40+
},
41+
{
42+
"checkId": "policy-ref-alignment",
43+
"passed": true,
44+
"detail": "policy reference is policy://bitcode/spec-v45-active-v46-system-draft/current."
45+
},
46+
{
47+
"checkId": "runtime-state-alignment",
48+
"passed": true,
49+
"detail": "buildInitialState() reports Bitcode Spec V45 active canon / V46 system draft with canon posture V45/V46."
50+
},
51+
{
52+
"checkId": "public-state-alignment",
53+
"passed": true,
54+
"detail": "publicState() reports Bitcode Spec V45 active canon / V46 system draft with canon posture V45/V46."
55+
},
56+
{
57+
"checkId": "server-api-alignment",
58+
"passed": true,
59+
"detail": "server.js keeps API posture sourced from SPEC_VERSION and buildPublicState(...)."
60+
},
61+
{
62+
"checkId": "browser-shell-placeholder-alignment",
63+
"passed": true,
64+
"detail": "public/index.html exposes canon-posture placeholders and no stale hardcoded hero posture."
65+
},
66+
{
67+
"checkId": "browser-shell-render-alignment",
68+
"passed": true,
69+
"detail": "public/app.js renders canon posture from runtime state and omits stale V15 explainer keys."
70+
},
71+
{
72+
"checkId": "readme-alignment",
73+
"passed": true,
74+
"detail": "README states V45 active canon and BITCODE_SPEC_V45_PROVEN.md as the current generated appendix."
75+
}
76+
]
77+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"reportId": "v46-canonical-input-report",
3+
"version": "V46",
4+
"proofSourceCommit": "HEAD",
5+
"generatedAt": "2026-06-02T00:00:00.000Z",
6+
"generatorId": "bitcode.proven-generator.v1",
7+
"worktreeState": "dirty-preview",
8+
"checkedTargetVersion": "V46",
9+
"pointerVersion": "V45",
10+
"passed": true,
11+
"failureCount": 0,
12+
"failures": [],
13+
"specPath": "BITCODE_SPEC_V46.md",
14+
"notesPath": "BITCODE_SPEC_V46_NOTES.md",
15+
"provenPath": "BITCODE_SPEC_V46_PROVEN.md",
16+
"parityPath": "BITCODE_SPEC_V46_PARITY_MATRIX.md",
17+
"requiredGeneratedArtifactPaths": [
18+
".bitcode/v46-spec-family-report.json",
19+
".bitcode/v46-canonical-input-report.json",
20+
".bitcode/v46-protocol-comprehension-object-model.json",
21+
".bitcode/v46-public-operator-claim-boundaries.json",
22+
".bitcode/v46-product-route-comprehension-readback.json",
23+
".bitcode/v46-interface-claim-contracts.json",
24+
".bitcode/v46-proof-readback-operator-explanation.json",
25+
".bitcode/v46-local-interface-comprehension-rehearsal.json",
26+
".bitcode/v46-promotion-readiness-report.json"
27+
],
28+
"requiredGeneratedArtifactCount": 9
29+
}

.bitcode/v46-interface-claim-contracts.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@
88
"artifactRoot": "v46-interface-claim-contracts:e336eab9588d13d70bf55365",
99
"sourceRoots": {
1010
"BITCODE_SPEC.txt": "BITCODE_SPEC.txt:674f33696f4048b636f67e13",
11-
"BITCODE_SPEC_V46.md": "BITCODE_SPEC_V46.md:b8ecb2f2cbe1f3d8cb9c71f5",
12-
"BITCODE_SPEC_V46_DELTA.md": "BITCODE_SPEC_V46_DELTA.md:7920d7f42161931f93cba093",
13-
"BITCODE_SPEC_V46_NOTES.md": "BITCODE_SPEC_V46_NOTES.md:189e67fc2acbf4811ebac052",
14-
"BITCODE_SPEC_V46_PARITY_MATRIX.md": "BITCODE_SPEC_V46_PARITY_MATRIX.md:b133273fc254880a52286b25",
15-
"SPECIFICATIONS_ROADMAP.md": "SPECIFICATIONS_ROADMAP.md:b2e9e71006d861deb008fc48",
16-
"README.md": "README.md:f6aaae9cb46c3c5ea9f88257",
17-
"packages/protocol/README.md": "packages/protocol/README.md:cf41e9679273e5b70040dbb3",
18-
"package.json": "package.json:163b54e4f8fd7d1e74369695",
19-
"packages/protocol/src/index.js": "packages/protocol/src/index.js:982ea139bf7924bc9d8060f8",
20-
"packages/protocol/src/index.d.ts": "packages/protocol/src/index.d.ts:69da86d924bf5e58a83a194c",
11+
"BITCODE_SPEC_V46.md": "BITCODE_SPEC_V46.md:6f837626fc89526e4aaaf192",
12+
"BITCODE_SPEC_V46_DELTA.md": "BITCODE_SPEC_V46_DELTA.md:bd5016d5d74128fcf34e78f4",
13+
"BITCODE_SPEC_V46_NOTES.md": "BITCODE_SPEC_V46_NOTES.md:458320e184655e6db64c77ab",
14+
"BITCODE_SPEC_V46_PARITY_MATRIX.md": "BITCODE_SPEC_V46_PARITY_MATRIX.md:fa5b05500caffc40b7a3c906",
15+
"SPECIFICATIONS_ROADMAP.md": "SPECIFICATIONS_ROADMAP.md:64b11cb963635e16fd70bf48",
16+
"README.md": "README.md:592ca0062eb52a55357c8f34",
17+
"packages/protocol/README.md": "packages/protocol/README.md:7a7dcc0ddbc3d737a26e395c",
18+
"package.json": "package.json:b79014968c556bc1b43ab341",
19+
"packages/protocol/src/index.js": "packages/protocol/src/index.js:1f16ea428bd71351a1292cb6",
20+
"packages/protocol/src/index.d.ts": "packages/protocol/src/index.d.ts:278dfc652c621533b5e86f4d",
2121
"packages/protocol/src/canonical/v46-interface-claim-contracts.js": "packages/protocol/src/canonical/v46-interface-claim-contracts.js:7bacc41bc1e35d1513baf796",
2222
"packages/protocol/test/v46-interface-claim-contracts.test.js": "packages/protocol/test/v46-interface-claim-contracts.test.js:f1dcb481edcbadee07f42127",
2323
"scripts/generate-v46-interface-claim-contracts.mjs": "scripts/generate-v46-interface-claim-contracts.mjs:c6faeaf341acbb26e4e51179",
2424
"scripts/check-v46-gate5-interface-claim-contracts.mjs": "scripts/check-v46-gate5-interface-claim-contracts.mjs:b6be899067bc320750689824",
25-
".github/workflows/bitcode-gate-quality.yml": ".github/workflows/bitcode-gate-quality.yml:6cbd2dbd8db154eef0c2c060",
26-
".github/workflows/bitcode-canon-quality.yml": ".github/workflows/bitcode-canon-quality.yml:eceb3e65f32dcf806f3a4ea9",
25+
".github/workflows/bitcode-gate-quality.yml": ".github/workflows/bitcode-gate-quality.yml:e5de1dddfaeeb0ee525b0c0f",
26+
".github/workflows/bitcode-canon-quality.yml": ".github/workflows/bitcode-canon-quality.yml:43cc4ded2bd9757dda9091dc",
2727
"packages/btd/src/api-schema-compatibility-matrix.ts": "packages/btd/src/api-schema-compatibility-matrix.ts:21527a4ab84909ce72247fab",
2828
"packages/btd/__tests__/api-schema-compatibility-matrix.test.ts": "packages/btd/__tests__/api-schema-compatibility-matrix.test.ts:32fa0cfd7301dc44808b3eac",
2929
"packages/btd/src/mcp-tool-contract.ts": "packages/btd/src/mcp-tool-contract.ts:ed7ff68bb55bd47afc9c538b",

.bitcode/v46-local-interface-comprehension-rehearsal.json

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"currentTarget": "V45",
66
"sourceSafetyVerdict": "source-safe-local-interface-comprehension-rehearsal",
77
"generatedAt": "deterministic",
8-
"artifactRoot": "v46-local-interface-comprehension-rehearsal:a0412888725a2842ee1357af",
8+
"artifactRoot": "v46-local-interface-comprehension-rehearsal:490343ca364de24538600bc6",
99
"rehearsalStatus": "completed_source_safe_local",
1010
"passed": true,
1111
"surfaceIds": [
@@ -688,7 +688,7 @@
688688
"uapi/components/base/bitcode/execution/pipeline-execution-log.tsx:bb7e1773303e04b9027ae2c7",
689689
"packages/protocol/src/canonical/v39-operational-telemetry-repair-readback.js:1647b3a170af58333c1553a3",
690690
"uapi/app/bitcode-ledger-storage-sync.ts:0907056993c1ebae7e9b921d",
691-
".bitcode/v46-proof-readback-operator-explanation.json:7792db1741defb2d2a3b697a"
691+
".bitcode/v46-proof-readback-operator-explanation.json:c94ce674bb3472564c0f953c"
692692
],
693693
"sourceFilesPresent": true,
694694
"requiredCopyPresent": true
@@ -699,31 +699,31 @@
699699
"artifactId": "v46-protocol-comprehension-object-model",
700700
"sourcePath": ".bitcode/v46-protocol-comprehension-object-model.json",
701701
"passed": true,
702-
"sourceRoot": ".bitcode/v46-protocol-comprehension-object-model.json:0a6c4f6f197f4ade34902bb4"
702+
"sourceRoot": ".bitcode/v46-protocol-comprehension-object-model.json:c98b7245189ffd042a48737e"
703703
},
704704
{
705705
"artifactId": "v46-public-operator-claim-boundaries",
706706
"sourcePath": ".bitcode/v46-public-operator-claim-boundaries.json",
707707
"passed": true,
708-
"sourceRoot": ".bitcode/v46-public-operator-claim-boundaries.json:b5b401be52a23560170c3de6"
708+
"sourceRoot": ".bitcode/v46-public-operator-claim-boundaries.json:dadc1f81a656efddc9dab40e"
709709
},
710710
{
711711
"artifactId": "v46-product-route-comprehension-readback",
712712
"sourcePath": ".bitcode/v46-product-route-comprehension-readback.json",
713713
"passed": true,
714-
"sourceRoot": ".bitcode/v46-product-route-comprehension-readback.json:97548fb00fad41b77e0232b1"
714+
"sourceRoot": ".bitcode/v46-product-route-comprehension-readback.json:d551ad187405f082859f21a3"
715715
},
716716
{
717717
"artifactId": "v46-interface-claim-contracts",
718718
"sourcePath": ".bitcode/v46-interface-claim-contracts.json",
719719
"passed": true,
720-
"sourceRoot": ".bitcode/v46-interface-claim-contracts.json:53b19b6e563b7622f79355e3"
720+
"sourceRoot": ".bitcode/v46-interface-claim-contracts.json:816c7239df0989ac38c98af5"
721721
},
722722
{
723723
"artifactId": "v46-proof-readback-operator-explanation",
724724
"sourcePath": ".bitcode/v46-proof-readback-operator-explanation.json",
725725
"passed": true,
726-
"sourceRoot": ".bitcode/v46-proof-readback-operator-explanation.json:7792db1741defb2d2a3b697a"
726+
"sourceRoot": ".bitcode/v46-proof-readback-operator-explanation.json:c94ce674bb3472564c0f953c"
727727
}
728728
],
729729
"predicateResults": [
@@ -795,27 +795,27 @@
795795
],
796796
"sourceRoots": {
797797
"activePointer": "BITCODE_SPEC.txt:674f33696f4048b636f67e13",
798-
"spec": "BITCODE_SPEC_V46.md:b8ecb2f2cbe1f3d8cb9c71f5",
799-
"delta": "BITCODE_SPEC_V46_DELTA.md:7920d7f42161931f93cba093",
800-
"notes": "BITCODE_SPEC_V46_NOTES.md:189e67fc2acbf4811ebac052",
801-
"parity": "BITCODE_SPEC_V46_PARITY_MATRIX.md:b133273fc254880a52286b25",
802-
"roadmap": "SPECIFICATIONS_ROADMAP.md:b2e9e71006d861deb008fc48",
803-
"readme": "README.md:f6aaae9cb46c3c5ea9f88257",
804-
"protocolReadme": "packages/protocol/README.md:cf41e9679273e5b70040dbb3",
805-
"packageJson": "package.json:163b54e4f8fd7d1e74369695",
806-
"packageIndex": "packages/protocol/src/index.js:982ea139bf7924bc9d8060f8",
807-
"packageTypes": "packages/protocol/src/index.d.ts:69da86d924bf5e58a83a194c",
808-
"packageSource": "packages/protocol/src/canonical/v46-local-interface-comprehension-rehearsal.js:c52b528dbbf885b76de6ceb7",
798+
"spec": "BITCODE_SPEC_V46.md:6f837626fc89526e4aaaf192",
799+
"delta": "BITCODE_SPEC_V46_DELTA.md:bd5016d5d74128fcf34e78f4",
800+
"notes": "BITCODE_SPEC_V46_NOTES.md:458320e184655e6db64c77ab",
801+
"parity": "BITCODE_SPEC_V46_PARITY_MATRIX.md:fa5b05500caffc40b7a3c906",
802+
"roadmap": "SPECIFICATIONS_ROADMAP.md:64b11cb963635e16fd70bf48",
803+
"readme": "README.md:592ca0062eb52a55357c8f34",
804+
"protocolReadme": "packages/protocol/README.md:7a7dcc0ddbc3d737a26e395c",
805+
"packageJson": "package.json:b79014968c556bc1b43ab341",
806+
"packageIndex": "packages/protocol/src/index.js:1f16ea428bd71351a1292cb6",
807+
"packageTypes": "packages/protocol/src/index.d.ts:278dfc652c621533b5e86f4d",
808+
"packageSource": "packages/protocol/src/canonical/v46-local-interface-comprehension-rehearsal.js:fd0c11d64902bbf01d31f6bd",
809809
"packageTest": "packages/protocol/test/v46-local-interface-comprehension-rehearsal.test.js:5b6ad282088791ea76ec2bbf",
810810
"generator": "scripts/generate-v46-local-interface-comprehension-rehearsal.mjs:d6a9dadb6f8ee51de50a529f",
811811
"checker": "scripts/check-v46-gate7-local-interface-comprehension-rehearsal.mjs:beb49c72404e73e730640a72",
812-
"gateWorkflow": ".github/workflows/bitcode-gate-quality.yml:6cbd2dbd8db154eef0c2c060",
813-
"canonWorkflow": ".github/workflows/bitcode-canon-quality.yml:eceb3e65f32dcf806f3a4ea9",
814-
"v46ProtocolArtifact": ".bitcode/v46-protocol-comprehension-object-model.json:0a6c4f6f197f4ade34902bb4",
815-
"v46PublicArtifact": ".bitcode/v46-public-operator-claim-boundaries.json:b5b401be52a23560170c3de6",
816-
"v46ProductArtifact": ".bitcode/v46-product-route-comprehension-readback.json:97548fb00fad41b77e0232b1",
817-
"v46InterfaceArtifact": ".bitcode/v46-interface-claim-contracts.json:53b19b6e563b7622f79355e3",
818-
"v46ProofArtifact": ".bitcode/v46-proof-readback-operator-explanation.json:7792db1741defb2d2a3b697a",
812+
"gateWorkflow": ".github/workflows/bitcode-gate-quality.yml:e5de1dddfaeeb0ee525b0c0f",
813+
"canonWorkflow": ".github/workflows/bitcode-canon-quality.yml:43cc4ded2bd9757dda9091dc",
814+
"v46ProtocolArtifact": ".bitcode/v46-protocol-comprehension-object-model.json:c98b7245189ffd042a48737e",
815+
"v46PublicArtifact": ".bitcode/v46-public-operator-claim-boundaries.json:dadc1f81a656efddc9dab40e",
816+
"v46ProductArtifact": ".bitcode/v46-product-route-comprehension-readback.json:d551ad187405f082859f21a3",
817+
"v46InterfaceArtifact": ".bitcode/v46-interface-claim-contracts.json:816c7239df0989ac38c98af5",
818+
"v46ProofArtifact": ".bitcode/v46-proof-readback-operator-explanation.json:c94ce674bb3472564c0f953c",
819819
"landingPage": "uapi/app/page.tsx:b1b707e58f8917b8a97717b4",
820820
"docsPage": "uapi/app/docs/page.tsx:75e5011c78a308e60f95cbd5",
821821
"docsContent": "uapi/app/(root)/components/PublicDocsPageContent.tsx:6efbf77a6f292e9e0c25b70e",

.bitcode/v46-product-route-comprehension-readback.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@
88
"sourceSafetyVerdict": "source-safe-product-route-comprehension-readback",
99
"sourceRoots": {
1010
"activePointer": "BITCODE_SPEC.txt:674f33696f4048b636f67e13",
11-
"spec": "BITCODE_SPEC_V46.md:b8ecb2f2cbe1f3d8cb9c71f5",
12-
"delta": "BITCODE_SPEC_V46_DELTA.md:7920d7f42161931f93cba093",
13-
"notes": "BITCODE_SPEC_V46_NOTES.md:189e67fc2acbf4811ebac052",
14-
"parity": "BITCODE_SPEC_V46_PARITY_MATRIX.md:b133273fc254880a52286b25",
15-
"roadmap": "SPECIFICATIONS_ROADMAP.md:b2e9e71006d861deb008fc48",
16-
"packageJson": "package.json:163b54e4f8fd7d1e74369695",
17-
"packageIndex": "packages/protocol/src/index.js:982ea139bf7924bc9d8060f8",
18-
"packageTypes": "packages/protocol/src/index.d.ts:69da86d924bf5e58a83a194c",
11+
"spec": "BITCODE_SPEC_V46.md:6f837626fc89526e4aaaf192",
12+
"delta": "BITCODE_SPEC_V46_DELTA.md:bd5016d5d74128fcf34e78f4",
13+
"notes": "BITCODE_SPEC_V46_NOTES.md:458320e184655e6db64c77ab",
14+
"parity": "BITCODE_SPEC_V46_PARITY_MATRIX.md:fa5b05500caffc40b7a3c906",
15+
"roadmap": "SPECIFICATIONS_ROADMAP.md:64b11cb963635e16fd70bf48",
16+
"packageJson": "package.json:b79014968c556bc1b43ab341",
17+
"packageIndex": "packages/protocol/src/index.js:1f16ea428bd71351a1292cb6",
18+
"packageTypes": "packages/protocol/src/index.d.ts:278dfc652c621533b5e86f4d",
1919
"packageSource": "packages/protocol/src/canonical/v46-product-route-comprehension-readback.js:c7b3e44d22703ca4b8f17ac3",
2020
"packageTest": "packages/protocol/test/v46-product-route-comprehension-readback.test.js:3118d40ad600a9fb1d025bf6",
2121
"generator": "scripts/generate-v46-product-route-comprehension-readback.mjs:131473a8dcd0d665f74f56a7",
2222
"checker": "scripts/check-v46-gate4-product-route-comprehension-readback.mjs:483822ed6cd2809c20ee8fe5",
23-
"gateWorkflow": ".github/workflows/bitcode-gate-quality.yml:6cbd2dbd8db154eef0c2c060",
24-
"canonWorkflow": ".github/workflows/bitcode-canon-quality.yml:eceb3e65f32dcf806f3a4ea9",
23+
"gateWorkflow": ".github/workflows/bitcode-gate-quality.yml:e5de1dddfaeeb0ee525b0c0f",
24+
"canonWorkflow": ".github/workflows/bitcode-canon-quality.yml:43cc4ded2bd9757dda9091dc",
2525
"productRouteShell": "uapi/components/base/bitcode/routes/product-route-shell.tsx:e71f90c289dec52fd158568a",
2626
"packsClient": "uapi/app/packs/PacksPageClient.tsx:68c61c8fd312e6c750d742ba",
2727
"packsModel": "uapi/components/base/bitcode/activity/pack-activity-model.ts:88d0334af8bc699e071ca2a1",

0 commit comments

Comments
 (0)