Skip to content

Materialize the KirkpatrickBaez Assembly at CDI + IOS (first two fixtures)#545

Merged
xmap merged 2 commits into
mainfrom
worktree-cdi-kb-fixture
Jul 4, 2026
Merged

Materialize the KirkpatrickBaez Assembly at CDI + IOS (first two fixtures)#545
xmap merged 2 commits into
mainfrom
worktree-cdi-kb-fixture

Conversation

@xmap

@xmap xmap commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Materialize the catalog KirkpatrickBaez Assembly (which shipped with zero Fixtures, Graduate the KirkpatrickBaez focusing-pair Assembly into the catalog #541) as its first two real bindings, both end-to-end against Postgres.
  • CDI (NSLS-II CHX): descriptor collapses the pair into one KBMirror Asset; the Fixture splits it into the physically-real VKB (Mir:KBv) + HKB (Mir:KBh) mirrors across the two Exactly1 slots, per the catalog split-on-materialize sanction.
  • IOS (NSLS-II 23-ID-2): descriptor already models the pair as two distinct Mirror Assets (KBMirror_Vertical / KBMirror_Horizontal, OPT-1), so the Fixture binds them directly. Proves the same Assembly materializes from a pre-split descriptor.

Both scenarios assert the Assembly stream (no Role, flat), the Fixture's two-slot binding, and per-Asset fixture back-references. Grounding verified against deployments/{cdi,ios}/beamline.yaml.

Test plan

  • test_cdi_kb_mirror_setup.py green against real Postgres
  • test_ios_kb_mirror_setup.py green against real Postgres
  • pre-commit (ruff, pyright, secrets) clean

xmap and others added 2 commits July 4, 2026 18:59
The KirkpatrickBaez blueprint shipped to the catalog with zero Fixtures. Prove
it composes from real descriptor data: CDI collapses its KB pair into one
KBMirror Asset, but the note names both physical mirrors with their PVs (Mir:KBv
vertical, Mir:KBh horizontal). The catalog note sanctions splitting the collapsed
Asset into the two mirrors that physically exist when materializing the Fixture,
so bind VKB + HKB to the two Exactly1 mirror slots. Presents no Role, matching
the blueprint (a KB pair focuses the beam; no catalog Role names that function).

Co-Authored-By: Claude <noreply@anthropic.com>
IOS's descriptor already models the KB pair as two distinct Mirror Assets
(KBMirror_Vertical / KBMirror_Horizontal, OPT-1), so the Fixture binds them
directly rather than splitting a collapsed Asset as CDI does. Proves the
catalog KirkpatrickBaez Assembly materializes from a descriptor that carries
the mirrors pre-split, end-to-end against Postgres.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

Coverage report

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

@xmap xmap merged commit e25734d into main Jul 4, 2026
16 checks passed
@xmap xmap deleted the worktree-cdi-kb-fixture branch July 4, 2026 16:52
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