Skip to content

Commit 3ececca

Browse files
V47 Gate 10: Repair promoted-family rewrite ordering
Fix the V47 promoted-family rewrite in prepare-bitcode-spec-family-promotion.mjs: earlier substring rules ('until V47 promotion', 'V47 draft work') rewrote text before the longer exact draft-posture rules could match, leaving two orphaned "V46 remains active canon" fragments that failed the promoted spec-family stale-phrase scan during the promote step (which correctly failed closed before committing). Add orphan-specific rewrites plus a final catch-all so no "V46 remains active canon" fragment can survive promotion. Validated with a full local promote-step simulation: spec-family promotion preparation, pointer flip, runtime promotion preparation, promoted spec-family check, promoted PROVEN regeneration (16 runs, fullyProven=true), canonical inputs for V47, and canon posture drift V47/V48 all pass; draft state restored afterward. Regenerate the promotion readiness artifact against the repaired script digest; check:v47-gate10 passes including the promotion dry-run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent f2c102c commit 3ececca

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@
195195
{
196196
"relativePath": "scripts/prepare-bitcode-spec-family-promotion.mjs",
197197
"present": true,
198-
"digest": "sha256:fba727ba98dd08c1285eb7b6ef870c3b07679e719b49c32cb3649df35cae6eaa",
198+
"digest": "sha256:81c6ca92e3cac8726ffb031698528d526630aadedcc46db8ee4f7941041e9ba1",
199199
"requiredTokens": [
200200
{
201201
"token": "if (version === 'V47')",

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,10 @@ function rewriteV47PromotedDraftPosture(content, version) {
248248
.replaceAll('Active generated proof appendix: `BITCODE_SPEC_V46_PROVEN.md`', 'Active generated proof appendix: `BITCODE_SPEC_V47_PROVEN.md`')
249249
.replaceAll('V47 state: draft opening for commercial website testnet launch readiness; V46 remains active canon', 'V47 state: canonical promotion complete; V47 is the active commercial website testnet launch canon')
250250
.replaceAll('V47 state: draft parity opening; V46 remains active canon while V47 scopes website commercial testnet launch readiness', 'V47 state: canonical promotion complete; V47 parity truth, generated launch artifacts, browser proof, staging-testnet rehearsal, gate closure, and promotion automation are aligned')
251-
.replaceAll('V47 is the active draft target opened from active V46 posture.', 'V47 is the active promoted canon over the prior V46 anchor.');
251+
.replaceAll('V47 is the active draft target opened from active V46 posture.', 'V47 is the active promoted canon over the prior V46 anchor.')
252+
.replaceAll('V46 remains active canon through V47 promotion.', 'V47 replaced V46 as active canon through the promotion workflow.')
253+
.replaceAll('V46 remains active canon during V47 promoted canon work.', 'V47 is active canon; V46 is the prior promoted anchor.')
254+
.replaceAll('V46 remains active canon', 'the prior V46 canon is superseded');
252255
}
253256

254257
/**

0 commit comments

Comments
 (0)