Skip to content

Extract research/ and scripts/reverse_engineer/ to xmap/research (private) - #788

Merged
xmap merged 1 commit into
mainfrom
remove-research-tree
Sep 9, 2026
Merged

Extract research/ and scripts/reverse_engineer/ to xmap/research (private)#788
xmap merged 1 commit into
mainfrom
remove-research-tree

Conversation

@xmap

@xmap xmap commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Moves research/ (facility surveys, per-beamline device passes, candidate descriptors: 248 files, 69 commits back to 2026-06-25) and scripts/reverse_engineer/ (the APS/PETRA-III/MXCuBE extraction tooling that produces them) to the new private repo xmap/research, history preserved via git-filter-repo.
  • Neither is imported by src/, neither is in mkdocs nav or docs.yml's path filters. deployments/ and catalog/ stay in cora: the site build globs them to generate 411 pages, and their vocabulary (SEED_ROLES, SEED_FAMILIES, the enums) is what the descriptor tests actually check against, so this is the one piece of the "pull production-adjacent trees out of core" effort that could move ahead of the deployments-site rework.
  • Deletes test_research_candidate_descriptors.py: its own non-vacuity assert would otherwise fail loudly the moment research/ disappears, which is exactly the point of that assert. Candidate descriptors now self-validate against CORA's real loader from the xmap/research side, via a new --cora flag on the extractor, before they're ever promoted into a descriptor here.
  • Moves (does not delete) test_reverse_engineer.py, 34 pure-function tests for the extractor's own parse/mapping/emit/cli logic, to xmap/research, since its subject moved with it.
  • Repoints the 15 PETRA-III beamline.yaml comments and one deployment doc page that named the old paths.
  • Drops the now-unused research/*/.cache/ .gitignore entries.

Test plan

  • uv run pytest apps/api/tests/unit/deployments/ — 830 passed
  • mkdocs build --strict — clean, no dangling nav or hook errors
  • In the extracted repo: pytest tests/test_reverse_engineer.py — 34 passed, including the 3 that round-trip a candidate through CORA's real descriptor loader via --cora
  • Confirmed github.com/xmap/research is private and returns 404 unauthenticated
  • grep-swept the tree for leftover research/ / reverse_engineer references outside the corrected cross-repo pointers

🤖 Generated with Claude Code

…esearch repo

This is production-adjacent, not core CORA: facility surveys, per-beamline
device passes, and candidate descriptors mined from public sources ahead
of modeling a deployment, plus the APS/PETRA-III/MXCuBE extraction
tooling that produces them. None of it is imported by src/, none of it
is in mkdocs nav or the docs.yml path filters, and its own README already
said "tracked in the repo, but not published to the docs site" - it was
just tracked in the wrong repo.

deployments/ and catalog/ stay here: mkdocs_hooks.py globs them at build
time to generate 411 site pages that mkdocs.yml hand-lists in nav, and
they carry the vocabulary (SEED_ROLES, SEED_FAMILIES, the enums) the
deployment/catalog descriptor tests actually check against. research/
carried none of that coupling, so it is the one piece that could leave
today rather than waiting on the deployments site rework.

History preserved via git-filter-repo (74 commits, research/ promoted to
the new repo's root, scripts/reverse_engineer/ alongside it as
reverse_engineer/) and pushed to github.com/xmap/research (private).

In cora:
- delete research/ and scripts/reverse_engineer/
- delete test_research_candidate_descriptors.py: its own non-vacuity
  assert would otherwise fail loudly the moment research/ is gone, by
  design; candidates now validate against the real loader on their own
  side, via reverse_engineer's new --cora flag, before ever being
  promoted into a descriptor here
- move test_reverse_engineer.py (34 pure-function tests for the
  extractor's parse/mapping/emit/cli logic) to the new repo rather than
  deleting it, since its subject moved with it
- drop the now-unused research/*/.cache/ .gitignore entries
- repoint the 15 PETRA-III beamline.yaml comments and one deployments
  doc page that named research/ or scripts/reverse_engineer/ at the
  new repo instead

Verified: apps/api/tests/unit/deployments/ (830 tests) green, mkdocs
build --strict clean, no remaining research/ or reverse_engineer
references outside the two corrected cross-repo pointers.
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Coverage report

This PR does not seem to contain any modification to coverable code.

@xmap
xmap merged commit b1dbd78 into main Sep 9, 2026
19 checks passed
@xmap
xmap deleted the remove-research-tree branch September 9, 2026 12:36
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