Graduate the KirkpatrickBaez focusing-pair Assembly into the catalog#541
Merged
Conversation
The 81-beamline fleet earns a reusable Kirkpatrick-Baez mirror-pair blueprint past the rule-of-three that graduated Diffractometer: many beamlines compose the same crossed vertical/horizontal focusing mirrors, yet each binds loose Mirror Assets with no shared composition. Model it as two Exactly1 Mirror slots (vertical_mirror, horizontal_mirror) because the pair is physically two mirrors everywhere in the fleet, with distinct focusing direction, axis maps, and addressing. Beamlines that carry the pair as one collapsed Mirror Asset split it into the two mirrors that physically exist when they materialize the Fixture. It presents no Role, matching the Optics sub-assembly: a KB pair focuses the beam and none of the six catalog Roles names that function. Additive catalog data only; the descriptor schema and fixture aggregate already support arbitrary slot blueprints. Gate-reviewed (three baseline plus naming-r3, all clean).
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.
Summary
KirkpatrickBaezAssembly tocatalog/catalog.yaml(a Kirkpatrick-Baez focusing mirror pair), earned by the fleet past the rule-of-three that graduatedDiffractometer.Exactly1Mirror slots (vertical_mirror,horizontal_mirror): the pair is physically two mirrors everywhere in the fleet, with distinct focusing direction, axis maps, and addressing. Beamlines that carry the pair as one collapsed Mirror Asset split it into the two mirrors that physically exist when they materialize the Fixture.presents_as: [], matching theOpticssub-assembly: a KB pair focuses the beam and none of the six catalog Roles names that function.Why two slots, not
OneOrMoreThe fleet models KB three ways today (two Assets V+H; one collapsed Asset; per-station Assets), but the V/H split is physically real in every case. A single
OneOrMore mirrorsslot would re-enshrine the collapse-for-authoring-convenience shortcut in cross-facility vocabulary and hide a distinction the hardware always has.Gate review
Passed: 3 baseline reviewers (correctness/schema, modeling fidelity, conventions/docs) + naming-r3 specialist, all clean. Two findings folded in before commit: dropped a fleet-count from the note (kept specific earn-in beamlines) and recorded the p13/p14 re-model-on-adopt caveat (they model KB as a LinearStage stage with no Mirror Asset).
Test plan
test_catalog_descriptor+test_catalog_markersgreenmake docs-build(mkdocs --strict) green; KB renders into the generated assemblies pageGenerated with Claude Code