Skip to content

feat: day-zero migration map for the mirrored results tree (#442 PR 1) - #444

Merged
Jammy2211 merged 2 commits into
mainfrom
feature/likelihood-lifecycle-p0-profiling
Oct 23, 2026
Merged

Jammy2211 merged 2 commits into
mainfrom
feature/likelihood-lifecycle-p0-profiling

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

PR 1 of 6 for #442 (likelihood-lifecycle 0B). This PR moves nothing. It adds the day-zero migration map for the human to review before the move-only PR.

What it adds

  • scripts/misc/tooling/build_migration_map.py: a deterministic generator with a --check mode. Dates come only from file names and file content, never git history.
  • catalogue/migration_day_zero.json (schema v2): old path → new path + sha256 for all 1,509 files (1,481 tracked results/ files plus 28 wiki/campaigns/*.md pages). Each file is covered once, with no collisions.
  • scripts/misc/test/test_build_migration_map.py.

Map summary

kind files
mirrored (§3.7 cell, incl. 23 comparison aggregates) 212
scan (<cell>/scans/) 204
experiment (<cell>/experiments/) 418
misc (results/misc/<group>/) 198
archive (archive/YYYY/MM/<slug>/) 272
lens_component 97
wiki_campaign 82
unchanged 3
unresolved 23

The 23 unresolved files all have a setup axis that is not recorded anywhere:

  • 19 dense interferometer/datacube rows with no transformer or inversion path in the JSON.
  • 4 cluster image_plane files with no instrument.

Human rulings applied (2026-10-23)

  1. Optional <model_variant> path segment after <host_class> for non-default variants (e.g. …/hpc_a100/light_fixed/).
  2. Size scans go to <cell>/scans/, and experiment arms and experiment-script outputs to <cell>/experiments/. Where no cell can be derived they go to results/misc/<group>/. None of them is ever current.
  3. CPU jobs run on RAL GPU nodes are classed hpc_ral_cpu. Versioned _v… summaries with no recorded host are archived.
  4. Sparse interferometer W~ routes are named …_sparse_…_wtilde per report §3.3: the setup_id names the likelihood route, not the transformer class.

Review asks

  • Light-fixed sizes. Plain fixed-light rows carry an _nN token at every size, so 66 of them land in scans/. Only the two size-less rows are current. If one nN per mesh is the production default, it needs naming before the builder PR.
  • Ledger routing. LEDGER_ROUTES is a hand-written ledger → wiki-variant table and is worth a read.
  • No history yet. history/ is empty: every multi-release series was host-less and so archived.

Sequencing

Checks

  • 39 tests pass (test_build_migration_map.py + test_build_catalogue.py).
  • ruff check and ruff format --check are clean.
  • build_catalogue --check, build_readme --check and check_results_layout --check pass.

Tier: judge, so this merges through human /prm.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HhogiUPH3y6uuAVz17P89B

Jammy2211 and others added 2 commits October 23, 2026 18:38
Add scripts/misc/tooling/build_migration_map.py (stdlib, deterministic,
--check) and its output catalogue/migration_day_zero.json: old -> new path
+ sha256 + kind for all 1,481 tracked results/ files and the 28
wiki/campaigns pages, per epic report section 3.7 and ruling R1
(setup_id = backend_device_operator_precision[_transformer], host/tier ->
host_class). Axes come only from the legacy config grammar, the
script_routes legacy stems and the result JSON; anything not derivable,
or where path and content disagree, is listed under `unresolved` with a
reason group and an optional proposed path. Collisions refuse the write.
Nothing moves in this PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhogiUPH3y6uuAVz17P89B
- Optional <model_variant> path segment for non-default variants
  (light_fixed, rtu, mge_mass); the fixed-light outputs are mirrored.
- <cell>/scans/<name>/ for size scans and <cell>/experiments/<name>/ for
  arm suffixes, experiment scripts and job sidecars; new kinds scan and
  experiment, never current. Files with no derivable cell go to
  results/misc/<group>/.
- CPU on any RAL node is hpc_ral_cpu; hostless versioned summaries are
  archived (month from the _v release).
- Sparse interferometric rows are the W~ route (_wtilde) per report 3.3.
- Ledgers spanning variants -> wiki/campaigns/<dt>/, spanning dataset
  types -> wiki/campaigns/; logs outside logs/ -> results/misc/logs/;
  undated archive files take a citing ledger's month, else
  archive/undated/<slug>/.

Map schema version 2. Unresolved 952 -> 23. Nothing moves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhogiUPH3y6uuAVz17P89B
@Jammy2211
Jammy2211 merged commit aeef275 into main Oct 23, 2026
1 check passed
@Jammy2211
Jammy2211 deleted the feature/likelihood-lifecycle-p0-profiling branch October 23, 2026 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant