Mint new hunt IDs in the legacy HNNN format (+ migrate 4 strays)#296
Merged
Conversation
…rays The auto-draft generators (generate_from_cti.py, process_hunt_submission.py) had started minting year-based IDs (H-2026-001…) that ignored the existing H001–H199 sequence, so new auto-intel/submission hunts looked nothing like the catalog. - Generators now continue the legacy sequence: Flames HNNN, Embers BNNN, Alchemy MNNN (next is H204). Their allocators read old-format files instead of only the year format. - Fixed a latent bug: the submission script minted Alchemy as 'A' though the catalog uses 'M'. - hunt_ids.py / reassign_hunt_id.py (collision tooling) switched to the HNNN format; tests updated (9 passing). - Migrated the 4 existing strays: H-2026-001..004 -> H200..H203 (rename + heading), and regenerated hunts-data.json / hunts-data.js / actor-mentions.json. The 200 existing hunts are untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The auto-draft generators had started minting year-based IDs (
H-2026-001,H-2026-002, …) that ignored the catalog's existingH001–H199sequence. So new auto-intel and submission hunts looked nothing like the 200 hunts already in the repo, and the year-format allocator restarted at001each time.Fix
New hunts now continue the legacy
HNNNsequence (next is H204), matching the whole catalog:generate_from_cti.py(auto-intel) andprocess_hunt_submission.py(form submissions): mintH{NNN}/B{NNN}/M{NNN}, and their allocators read old-format files (^H\d+$) instead of only the year format. Removed a duplicated, year-only number block in the CTI script.A###, but the catalog usesM###. NowM.hunt_ids.py+reassign_hunt_id.py(collision tooling): switched to theHNNNformat.check_hunt_id_collisions.pyneeded no change (format-agnostic).H-2026-001..004 → H200..H203(rename + heading rewrite via the existingrewrite_hunt_idhelper), and regeneratedpublic/hunts-data.json,hunts-data.js,public/actor-mentions.json.The 200 existing hunts are untouched.
Verification
H001–H199contiguous (no gaps/dups); noA###strays; no otherH-2026refs anywhere in tracked files.pytest scripts/tests/test_hunt_ids.py→ 9/9 (updated for the new format).git grep H-2026→ clean.database/hunts.db(gitignored) regenerated locally to confirm:hunt_idrows nowH200–H203, zeroH-2026. The update-hunt-database workflow rebuilds it on merge.🤖 Generated with Claude Code