Skip to content

Correct the 2-BM storage-tier account against the beamline's archival page - #696

Merged
xmap merged 1 commit into
mainfrom
worktree-2bm-dm-tier-facts
Aug 20, 2026
Merged

Correct the 2-BM storage-tier account against the beamline's archival page#696
xmap merged 1 commit into
mainfrom
worktree-2bm-dm-tier-facts

Conversation

@xmap

@xmap xmap commented Aug 20, 2026

Copy link
Copy Markdown
Owner

What

Corrects the 2-BM deployment page's storage-tier account against the beamline's own archival status page, and adds a concrete counterexample to an invariant mint_capture_path_locator had only stated in the abstract.

Three things the source settles

The tier has two names, and neither is the stable one. The beamline's current pages say DM, its older ones say Sojourner, and staff say Voyager in email. Only the /gdata mount is common to all three, so the page now leads with APS Data Management and records the alias rather than picking a brand and implying the source is consistent.

The upstream tiers are not merely transient. /data2 was lost outright on 2026-08-14 when the tomodata2 array failed, taking every dataset DM did not already hold. The beamline now marks the survivors "DM is authoritative", and deleting a local copy DM already holds is gated on an emailed approval rather than a schedule. That durability asymmetry decides where a durable Distribution has to point, so it belongs on the page. 2026-08-Haridy-1015116 is already past the transition and lives only under /gdata.

A real counterexample for a documented invariant. mint_capture_path_locator embeds the matched root verbatim and requires it to be the facility-level tier, never a path containing personal data. The docstring said so abstractly. /data3 carries per-person workspaces directly at its root (/data3/vnikitin, /data3/sboyer), so a root pointed at one of those would embed a username in the very segment the locator treats as safe. Named in the docstring, along with the confirmation that depth below the root genuinely varies by tier, which is why discarding everything between root and filename is the right rule.

Verification

mkdocs build --strict clean; architecture suite passes; ruff, pyright, tach clean. Docs-only plus one docstring, no behavior change.

🤖 Generated with Claude Code

… page

Read the beamline's data-management page, which turns out to be an
in-flight archival status page rather than the standing how-it-works doc
(item_018 is that one). Three things it settles.

The tier has two names at the source: the beamline's current pages say
DM, its older ones say Sojourner, and staff say Voyager in email. Only
the /gdata mount is stable across all three, so the deployment page now
leads with APS Data Management and records the alias rather than picking
a brand and pretending the source is consistent.

The upstream tiers are not merely transient. /data2 was lost outright on
2026-08-14 when the tomodata2 array failed, taking every dataset DM did
not already hold, and the beamline now marks the survivors "DM is
authoritative". Deleting a local copy DM already holds is gated on an
emailed approval, not a schedule. That durability asymmetry is what
decides where a durable Distribution has to point, so it belongs on the
page rather than in a session's notes. 2026-08-Haridy-1015116 is already
past the transition and lives only under /gdata.

The same page supplies a real counterexample for an invariant
mint_capture_path_locator so far stated only in the abstract: /data3
carries per-person workspaces directly at its root, so a root set to
/data3/vnikitin would embed a username in the very segment the locator
treats as safe to keep. Named it in the docstring, together with the
confirmation that depth below the root genuinely varies by tier, which
is why discarding everything between root and filename is the right rule.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  apps/api/src/cora/data/adapters
  capture_path_locator.py
Project Total  

This report was generated by python-coverage-comment-action

@xmap
xmap merged commit 0045d44 into main Aug 20, 2026
19 checks passed
@xmap
xmap deleted the worktree-2bm-dm-tier-facts branch August 20, 2026 18:58
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