Authored by Opus 4.8 (Claude Code). Session 94a91ebc.
Related: #12194
Related: #12196
Related: #12186
Executes the #12196 re-bucket migration tool against the live archive — the deferred, operator-gated content step #12196 set up. The merged bucketing fixes (#12188/#12184) are forward-only (sealed-chunk + oldVersion precedence pin existing items), so the tickets-view pile-up needed this one-time migration to clear.
What ran: node ai/scripts/migrations/rebucketArchive.mjs on the latest dev archive (a fresh branch off dev, including the hourly syncs).
Result:
- 4144 mis-bucketed closed issues relocated out of the v8.1.0 catch-all into their correct release folders (resolved from the full release history, oldVersion ignored).
- v8.1.0: 4133 → 24 (its true count). Largest resulting bucket: v12.0.0 = 413. No catch-all remains.
- 4628 issues unchanged. Distribution spans v1.0.x → v12.x (838 distinct target buckets).
- Git detected all 4144 moves as renames (content byte-preserved);
.sync-metadata.json paths + issues _index.json updated to match.
FAIR-band: over-target — sole active implementer on an operator-directed lane (epic #12186; operator chose approach B and directed execution).
Evidence: L1 — dry-run on this exact dev state previewed 4144 move / 4628 unchanged / max-bucket v12.0.0=413 / v8.1.0→24, identical to the real run's summary. L2 — real run exit 0; v8.1.0 dir verified at 24 .md on disk; 4144 git-renames staged with 0 raw add/delete (content preserved). Residual: portal regen + deploy verification (operator, post-merge).
Deltas from ticket (if any)
- Run executed on a fresh branch off latest dev (includes hourly archive syncs), not the #12196 feat branch — the dry-run was re-verified on that exact state before the real run.
- Cosmetic follow-up (not blocking): the migration logs a per-move
[ARCHIVE ANOMALY] ... Dry-run review required WARN (IssueSyncer.mjs:399) on the real run too — the wording is hardcoded (#planBuckets has no dryRun param), so 4110 lines printed here. Worth gating on !ignoreOldVersion.
Test Evidence
- Dry-run (this exact dev state):
Would move: 4144 · unchanged: 4628; 5 largest buckets v12.0.0=413, v11.0.0=388, v12.1.0=213, v11.18.0=177, v11.23.0=153; v8.1.0=24.
- Real run: exit 0,
[REBUCKET] moved 4144 issue(s), 4628 unchanged; v8.1.0 on disk = 24 .md (was 4133).
- Staged: 4144 renames (all content-preserving), 2 modified (
_index.json, .sync-metadata.json), 0 added, 0 deleted.
- The migration tool ships with 3 unit tests merged in #12196 (212 green).
Post-Merge Validation
🤖 Generated with Claude Code
Authored by Opus 4.8 (Claude Code). Session 94a91ebc.
Related: #12194 Related: #12196 Related: #12186
Executes the #12196 re-bucket migration tool against the live archive — the deferred, operator-gated content step #12196 set up. The merged bucketing fixes (#12188/#12184) are forward-only (sealed-chunk + oldVersion precedence pin existing items), so the tickets-view pile-up needed this one-time migration to clear.
What ran:
node ai/scripts/migrations/rebucketArchive.mjson the latest dev archive (a fresh branch off dev, including the hourly syncs).Result:
.sync-metadata.jsonpaths + issues_index.jsonupdated to match.FAIR-band: over-target — sole active implementer on an operator-directed lane (epic #12186; operator chose approach B and directed execution).
Evidence: L1 — dry-run on this exact dev state previewed 4144 move / 4628 unchanged / max-bucket v12.0.0=413 / v8.1.0→24, identical to the real run's summary. L2 — real run exit 0; v8.1.0 dir verified at 24 .md on disk; 4144 git-renames staged with 0 raw add/delete (content preserved). Residual: portal regen + deploy verification (operator, post-merge).
Deltas from ticket (if any)
[ARCHIVE ANOMALY] ... Dry-run review requiredWARN (IssueSyncer.mjs:399) on the real run too — the wording is hardcoded (#planBuckets has no dryRun param), so 4110 lines printed here. Worth gating on!ignoreOldVersion.Test Evidence
Would move: 4144 · unchanged: 4628; 5 largest buckets v12.0.0=413, v11.0.0=388, v12.1.0=213, v11.18.0=177, v11.23.0=153; v8.1.0=24.[REBUCKET] moved 4144 issue(s), 4628 unchanged; v8.1.0 on disk = 24 .md (was 4133)._index.json,.sync-metadata.json), 0 added, 0 deleted.Post-Merge Validation
🤖 Generated with Claude Code