Skip to content

Commit 23294cc

Browse files
V45 Promotion: Complete promoted spec rewrite
Extends the V45 promotion preparation step so the workflow rewrites source-of-truth hierarchy and parity judgments into promoted canon posture. Regenerates the promotion-readiness report after the script digest changed.
1 parent d4ca18a commit 23294cc

2 files changed

Lines changed: 59 additions & 2 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@
225225
{
226226
"relativePath": "scripts/prepare-bitcode-spec-family-promotion.mjs",
227227
"present": true,
228-
"digest": "sha256:37e540b043ba786cba8ba183eb069f4b33d77300ef2ff64c3e6c339a05fb1199",
228+
"digest": "sha256:723662a723f2e6da7c35512ca48f67e14fd19ecb157189616f67d5cc4ef241d6",
229229
"requiredTokens": [
230230
{
231231
"token": "if (version === 'V45')",

scripts/prepare-bitcode-spec-family-promotion.mjs

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,60 @@ function rewritePromotedParityJudgments(content, version) {
145145
].reduce((rewritten, heading) => rewritePromotedParityTableJudgments(rewritten, heading), content);
146146
}
147147

148+
/**
149+
* @param {string} content
150+
* @param {string} version
151+
*/
152+
function rewriteV45PromotedSourceOfTruthHierarchy(content, version) {
153+
if (version !== 'V45') return content;
154+
return content.replace(
155+
[
156+
'`BITCODE_SPEC.txt` points to `V44`; V44 remains active promoted canon.',
157+
'`BITCODE_SPEC_V45.md`, `BITCODE_SPEC_V45_DELTA.md`,',
158+
'`BITCODE_SPEC_V45_NOTES.md`, and `BITCODE_SPEC_V45_PARITY_MATRIX.md` are V45',
159+
'draft specification-family material. The V45 formal specification family is the',
160+
'only authority for the next implementation parity audit, but it is not active',
161+
'canon and cannot authorize source disclosure, settlement, rights transfer, or',
162+
'implementation behavior until V45 promotion.'
163+
].join('\n'),
164+
[
165+
'`BITCODE_SPEC.txt` points to `V45`; V45 is the active promoted Bitcode canon.',
166+
'`BITCODE_SPEC_V45.md`, `BITCODE_SPEC_V45_DELTA.md`,',
167+
'`BITCODE_SPEC_V45_NOTES.md`, and `BITCODE_SPEC_V45_PARITY_MATRIX.md` are the',
168+
'promoted V45 specification-family material. The V45 formal specification family',
169+
'is active canon and authorizes implementation behavior only through the',
170+
'source-safe, entitlement-bound, proof-backed boundaries it states.'
171+
].join('\n')
172+
);
173+
}
174+
175+
/**
176+
* @param {string} content
177+
* @param {string} version
178+
*/
179+
function rewriteV45PromotedParityMatrix(content, version) {
180+
if (version !== 'V45') return content;
181+
return content
182+
.replace(
183+
'source-grounded implementation parity audit completed from the formal V45 draft specification; V44 remains active canon until V45 promotion',
184+
'canonical promotion complete; V45 implementation parity is closed from the formal V45 specification and V45 is active canon'
185+
)
186+
.replace(
187+
'V45 formal law is supported by substantial V39-V44 implementation surfaces, but no accepted row is fully closed for V45 promotion until grouped implementation, proof, interface, rehearsal, and promotion gates below close',
188+
'V45 formal law is closed by accepted implementation, proof, interface, rehearsal, and promotion gates; generated proof and workflow receipts are aligned'
189+
)
190+
.replace(
191+
'V45 parity audit and grouped closure-gate authorization',
192+
'V45 canonical parity ledger for knowledge commoditization protocol precision'
193+
)
194+
.replace(
195+
'This matrix is the V45 Gate 11 source-grounded implementation parity audit. It\nreplaces the Gate 10 shell with source-grounded findings across source code,\ntests, generated artifacts, workflows, documentation, and product interfaces.\nThe matrix does not promote V45 and does not itself implement runtime\nbehavior. It authorizes the grouped closure gates required before V45 can be\npromoted.',
196+
'This matrix is the promoted V45 source-grounded implementation parity ledger. It\nrecords accepted source code, tests, generated artifacts, workflows,\ndocumentation, and product-interface evidence for the V45 knowledge\ncommoditization canon.'
197+
)
198+
.replaceAll('| substantially advanced |', '| closed |')
199+
.replaceAll('| spec closed; source gap |', '| closed |');
200+
}
201+
148202
/**
149203
* @param {string} version
150204
* @param {string} commit
@@ -670,7 +724,10 @@ function rewritePromotionStatus(version, commit, content, kind) {
670724
'V45 source-side AssetPack commodity lifecycle, BTD scalar-volume, BTC settlement, interface disclosure, proof readback, source-safe rehearsal, workflow, and promotion surfaces are canonicalized in the promoted V45 file family',
671725
'V45 state': stateByKind[kind]
672726
});
673-
return kind === 'parity' ? rewritePromotedParityJudgments(rewritten, version) : rewritten;
727+
const promotedSourceTruth = rewriteV45PromotedSourceOfTruthHierarchy(rewritten, version);
728+
return kind === 'parity'
729+
? rewriteV45PromotedParityMatrix(rewritePromotedParityJudgments(promotedSourceTruth, version), version)
730+
: promotedSourceTruth;
674731
}
675732

676733
if (!['V21', 'V22', 'V23', 'V24', 'V25'].includes(version)) {

0 commit comments

Comments
 (0)