Skip to content

Commit dfbd4a3

Browse files
Merge pull request #223 from engineeredsoftware/v45/gate-19-promotion-addendum
V45 Gate 19: Promotion Addendum And Stale Draft Enforcement
2 parents 2373977 + b2d56a7 commit dfbd4a3

21 files changed

Lines changed: 471 additions & 166 deletions

.bitcode/v45-promotion-readiness-report.json

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
{
2-
"reportId": "v45-promotion-readiness-report",
32
"artifactId": "v45-promotion-readiness-report",
43
"schemaId": "bitcode.v45.promotionReadinessReport.v1",
54
"version": "V45",
65
"currentTarget": "V44",
7-
"generatedAt": "2026-06-01T00:24:49-03:00",
6+
"generatedAt": "2026-05-31T00:00:00.000Z",
87
"sourceSafetyVerdict": "source-safe-v45-knowledge-commoditization-promotion-metadata",
98
"prePromotionPosture": "V44 active / V45 draft",
109
"postPromotionPosture": "V45 active / V46 draft",
@@ -149,8 +148,8 @@
149148
"relativePath": ".bitcode/v45-source-safe-e2e-rehearsal.json",
150149
"present": true,
151150
"parseable": true,
152-
"digest": "sha256:480d49a56e98d066f13b8011e7e56ddadade17da58b36434299da8c0807eee71",
153-
"byteLength": 50963,
151+
"digest": "sha256:8a1822c09036fc62970bf4e948b9e959e3ef548719d0394676e95bc8f24c5bb6",
152+
"byteLength": 50958,
154153
"sourceSafe": true,
155154
"artifactId": "v45-source-safe-e2e-rehearsal",
156155
"version": "V45",
@@ -303,7 +302,7 @@
303302
{
304303
"relativePath": ".github/workflows/bitcode-gate-quality.yml",
305304
"present": true,
306-
"digest": "sha256:b6cd8ff586db2a7da1659e126ccd81f6300d3813e06265ec24a9b4f47f4d98f3",
305+
"digest": "sha256:3a247433690c88f138a55a2824b557b7a00fbd2e82da79df5cdf426d0968b366",
307306
"requiredTokens": [
308307
{
309308
"token": "check-v45-gate18-promotion-readiness.mjs",
@@ -322,7 +321,7 @@
322321
{
323322
"relativePath": ".github/workflows/bitcode-canon-quality.yml",
324323
"present": true,
325-
"digest": "sha256:9172f9ebb908e9e8401fb36fffc22dcc6c0ea365927a9cf56151f6c02daf65c0",
324+
"digest": "sha256:d9f90a948a3d275a7c02b0693fecc4f6ab7e464c64134093cfd178bb3a725c3c",
326325
"requiredTokens": [
327326
{
328327
"token": "check-v45-gate18-promotion-readiness.mjs",
@@ -379,7 +378,7 @@
379378
{
380379
"relativePath": "packages/protocol/src/canonical/v21-specifying.js",
381380
"present": true,
382-
"digest": "sha256:fe0067ebcf5151993122a48e11181c8e6ab46c8d4ff66495e836e7910bf97af8",
381+
"digest": "sha256:0ef1d8025a3965c0083b9904907fcdef7e5aaed59c37a2898598bc3dda7097ea",
383382
"requiredTokens": [
384383
{
385384
"token": ".bitcode/v45-promotion-readiness-report.json",
@@ -390,7 +389,7 @@
390389
{
391390
"relativePath": "package.json",
392391
"present": true,
393-
"digest": "sha256:e02bbaeb176d193fbf1776a00322dbfea10e431e2f6db9dc33080a321aec873e",
392+
"digest": "sha256:d8ab37e08b2d784f87de7dbecd98c7acbb8fd52c34d353472cc20154c8eb9aa6",
394393
"requiredTokens": [
395394
{
396395
"token": "generate:v45-promotion-readiness",
@@ -411,7 +410,7 @@
411410
{
412411
"relativePath": "BITCODE_SPEC_V45.md",
413412
"present": true,
414-
"digest": "sha256:280c064caa74bf8cda9f20a8c7bb4189b9b614f4ef69c02a6d595b28733f4f58",
413+
"digest": "sha256:303eba5e7ebde2132d729f1f1bad1f6289f4d41d835ab9f1bbdc602752514aff",
415414
"requiredTokens": [
416415
{
417416
"token": "V45 promotion readiness canon",
@@ -430,7 +429,7 @@
430429
{
431430
"relativePath": "BITCODE_SPEC_V45_DELTA.md",
432431
"present": true,
433-
"digest": "sha256:92a125cd5335cbd241450c4969e0ae54285ea1f15745eeee9895dd8608630117",
432+
"digest": "sha256:c4e872c4e408ef7ecdfd660cb96e589ad6a2ad5b0a81bb8c294fdc686608f780",
434433
"requiredTokens": [
435434
{
436435
"token": "Gate 18: V45 Promotion Readiness",
@@ -449,7 +448,7 @@
449448
{
450449
"relativePath": "BITCODE_SPEC_V45_NOTES.md",
451450
"present": true,
452-
"digest": "sha256:8e19e9e50111c4ed1c797934cc97abbfdb3fc0a314dc64996f55520f67cf3232",
451+
"digest": "sha256:5c2c09076ac31a818f20223e22273df9fbe96081768528883b6220036b43f8bb",
453452
"requiredTokens": [
454453
{
455454
"token": "Gate 18: V45 Promotion Readiness",
@@ -468,7 +467,7 @@
468467
{
469468
"relativePath": "BITCODE_SPEC_V45_PARITY_MATRIX.md",
470469
"present": true,
471-
"digest": "sha256:2a7d283e133b0124fd1053402d0fef831f0cddd4cbc4db0b2db85d67e8c63366",
470+
"digest": "sha256:b60dac6cce013c4573c134234b59b0b7bbaf765f9a2ba474b60a930ac012d0d0",
472471
"requiredTokens": [
473472
{
474473
"token": "Gate 18 implementation readback",
@@ -487,7 +486,7 @@
487486
{
488487
"relativePath": "SPECIFICATIONS_ROADMAP.md",
489488
"present": true,
490-
"digest": "sha256:63e84ade4e277d2688171e6d4b48e09dedcd655a90f2cf847480cd96775dae1f",
489+
"digest": "sha256:41ae9160604d315d3973f92ab0d444a49a691ad2a86c75ee9fcef89fff2d58aa",
491490
"requiredTokens": [
492491
{
493492
"token": "V45 Gate 18 closure anchor",
@@ -581,9 +580,5 @@
581580
"artifactRoot": "v45-knowledge-commoditization-promotion-readiness-report:0089a6ef44f3078816056784",
582581
"passed": true,
583582
"failures": [],
584-
"validationCommand": "pnpm run check:v45-gate18",
585-
"proofSourceCommit": "23294cc578dcb2148a6b602c3463b3ca01f1fef1",
586-
"generatorId": "bitcode.proven-generator.v1",
587-
"worktreeState": "clean",
588-
"sourceSafe": true
583+
"validationCommand": "pnpm run check:v45-gate18"
589584
}

.bitcode/v45-source-safe-e2e-rehearsal.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"artifactId": "v45-source-safe-e2e-rehearsal",
33
"schemaId": "bitcode.v45.sourceSafeEndToEndRehearsal.v1",
44
"version": "V45",
5-
"currentTarget": "V44",
5+
"currentTarget": "V45",
66
"sourceSafetyVerdict": "source-safe-v45-end-to-end-rehearsal-metadata",
77
"generatedAt": "deterministic",
8-
"artifactRoot": "v45-source-safe-e2e-rehearsal:16f45a74038680700546fc58",
8+
"artifactRoot": "v45-source-safe-e2e-rehearsal:9a867aa6f196ee72938ff454",
99
"rehearsalStatus": "completed_source_safe",
1010
"passed": true,
1111
"laneIds": [
@@ -992,17 +992,17 @@
992992
],
993993
"repairCases": [],
994994
"sourceRoots": {
995-
"activePointer": "BITCODE_SPEC.txt:c986a5cd7104e321d4218fd5",
996-
"spec": "BITCODE_SPEC_V45.md:a15581cd77c3425f73ed1026",
997-
"delta": "BITCODE_SPEC_V45_DELTA.md:ce93b2b10b2f68d67c90a5f9",
998-
"notes": "BITCODE_SPEC_V45_NOTES.md:c305b0428f34236fdb0bc8cd",
999-
"parity": "BITCODE_SPEC_V45_PARITY_MATRIX.md:7a06feb42a1976657ec92714",
1000-
"roadmap": "SPECIFICATIONS_ROADMAP.md:63e84ade4e277d2688171e6d",
995+
"activePointer": "BITCODE_SPEC.txt:674f33696f4048b636f67e13",
996+
"spec": "BITCODE_SPEC_V45.md:303eba5e7ebde2132d729f1f",
997+
"delta": "BITCODE_SPEC_V45_DELTA.md:c4e872c4e408ef7ecdfd660c",
998+
"notes": "BITCODE_SPEC_V45_NOTES.md:5c2c09076ac31a818f20223e",
999+
"parity": "BITCODE_SPEC_V45_PARITY_MATRIX.md:b60dac6cce013c4573c13423",
1000+
"roadmap": "SPECIFICATIONS_ROADMAP.md:41ae9160604d315d3973f92a",
10011001
"readme": "README.md:1f8147b799cc880e570b0c66",
1002-
"protocolReadme": "packages/protocol/README.md:7c44af4ac2e0cc481543939c",
1003-
"packageJson": "package.json:e02bbaeb176d193fbf1776a0",
1004-
"gateWorkflow": ".github/workflows/bitcode-gate-quality.yml:b6cd8ff586db2a7da1659e12",
1005-
"canonWorkflow": ".github/workflows/bitcode-canon-quality.yml:9172f9ebb908e9e8401fb36f",
1002+
"protocolReadme": "packages/protocol/README.md:ae6773f09ef9c8530e23f6ae",
1003+
"packageJson": "package.json:d8ab37e08b2d784f87de7dbe",
1004+
"gateWorkflow": ".github/workflows/bitcode-gate-quality.yml:3a247433690c88f138a55a28",
1005+
"canonWorkflow": ".github/workflows/bitcode-canon-quality.yml:d9f90a948a3d275a7c02b069",
10061006
"commodityState": "packages/pipelines/asset-pack/src/asset-pack-commodity-state.ts:59c51e251fd516e2c268749e",
10071007
"scalarQuote": "packages/pipelines/asset-pack/src/btd-scalar-volume-quote.ts:eda1442a63433a49e4c561c9",
10081008
"settlementReadback": "packages/pipelines/asset-pack/src/asset-pack-settlement-rights-delivery.ts:3d2b0984fc9e2c3c108d6eb0",
@@ -1018,8 +1018,8 @@
10181018
"packsClient": "uapi/app/packs/PacksPageClient.tsx:68c61c8fd312e6c750d742ba",
10191019
"pipelineLogUi": "uapi/components/base/bitcode/execution/pipeline-execution-log.tsx:bb7e1773303e04b9027ae2c7",
10201020
"proofFamilySource": "packages/protocol/src/canonical/v45-proof-family-artifacts.js:1a2c8975783ccdc0263c8c61",
1021-
"source": "packages/protocol/src/canonical/v45-source-safe-e2e-rehearsal.js:2caff6adea44fdfb8db84273",
1022-
"test": "packages/protocol/test/v45-source-safe-e2e-rehearsal.test.js:6cc08eec0f4950e07b2de263",
1021+
"source": "packages/protocol/src/canonical/v45-source-safe-e2e-rehearsal.js:e674b884bafd330ff0abd1e0",
1022+
"test": "packages/protocol/test/v45-source-safe-e2e-rehearsal.test.js:240a9eca76b583de67a0a309",
10231023
"generator": "scripts/generate-v45-source-safe-e2e-rehearsal.mjs:10042b6c852bb180b8de9fc3",
10241024
"checker": "scripts/check-v45-gate17-source-safe-e2e-rehearsal.mjs:990c98b5753486f3064d145a",
10251025
"operatorScript": "scripts/rehearse-v45-source-safe-e2e.mjs:286a094f831e672b7d9211d9",
@@ -1040,7 +1040,7 @@
10401040
},
10411041
"predicateResults": [
10421042
{
1043-
"id": "active-canon-pointer-remains-v44",
1043+
"id": "active-canon-pointer-is-v45",
10441044
"sourcePath": "BITCODE_SPEC.txt",
10451045
"passed": true
10461046
},

.github/workflows/bitcode-canon-quality.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,9 @@ jobs:
414414
node scripts/check-bitcode-canonical-inputs.mjs --current-target V45
415415
node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V45 --draft-target V46
416416
node scripts/check-v45-gate18-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests
417+
if [ -f scripts/check-v45-gate19-promotion-addendum.mjs ]; then
418+
node scripts/check-v45-gate19-promotion-addendum.mjs --skip-branch-check --skip-package-tests
419+
fi
417420
else
418421
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2
419422
exit 1

.github/workflows/bitcode-gate-quality.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,9 @@ jobs:
543543
node scripts/check-bitcode-canonical-inputs.mjs --current-target V45
544544
node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V45 --draft-target V46
545545
node scripts/check-v45-gate18-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests
546+
if [ -f scripts/check-v45-gate19-promotion-addendum.mjs ]; then
547+
node scripts/check-v45-gate19-promotion-addendum.mjs --skip-branch-check --skip-package-tests
548+
fi
546549
else
547550
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2
548551
exit 1
@@ -577,6 +580,9 @@ jobs:
577580
node scripts/check-v44-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check
578581
else
579582
node scripts/check-v45-gate18-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests
583+
if [ -f scripts/check-v45-gate19-promotion-addendum.mjs ]; then
584+
node scripts/check-v45-gate19-promotion-addendum.mjs --skip-branch-check --skip-package-tests
585+
fi
580586
fi
581587
if [ "$POINTER" = "V43" ] && [ -f scripts/check-v44-gate1-scaled-economy-roadmap-opening.mjs ]; then
582588
node scripts/check-v44-gate1-scaled-economy-roadmap-opening.mjs --skip-branch-check

0 commit comments

Comments
 (0)