You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue #193 proposes normalizing Case identity on (case_name, machine_id, hpc_username) to avoid false merges between unrelated same-name cases.
That addresses ingestion identity, but it does not fully solve logical continuity. The same scientific/logical case may still span:
user hand-offs
machine moves
other provenance changes that should not necessarily create a brand new higher-level case concept
Without a higher-level logical identifier, the normalized model may correctly split provenance-level case rows while still lacking a durable way to regroup them when they are actually the same logical case.
A related motivation is linking external artifacts such as zppy diagnostics to a stable higher-level case identity when continuity across user or machine changes matters.
Describe the solution you'd like
Add a higher-level logical_case_id concept on top of normalized Case rows.
Recommended model:
(case_name, machine_id, hpc_username) = concrete ingested case identity
logical_case_id = higher-level grouping for the same logical/scientific case across users or machines
Potential implementation directions:
add nullable logical_case_id to cases
or add a dedicated logical_cases table and reference it from cases
Is your feature request related to a problem?
Issue #193 proposes normalizing
Caseidentity on(case_name, machine_id, hpc_username)to avoid false merges between unrelated same-name cases.That addresses ingestion identity, but it does not fully solve logical continuity. The same scientific/logical case may still span:
Without a higher-level logical identifier, the normalized model may correctly split provenance-level case rows while still lacking a durable way to regroup them when they are actually the same logical case.
A related motivation is linking external artifacts such as zppy diagnostics to a stable higher-level case identity when continuity across user or machine changes matters.
Describe the solution you'd like
Add a higher-level
logical_case_idconcept on top of normalizedCaserows.Recommended model:
(case_name, machine_id, hpc_username)= concrete ingested case identitylogical_case_id= higher-level grouping for the same logical/scientific case across users or machinesPotential implementation directions:
logical_case_idtocaseslogical_casestable and reference it fromcasesExpected capabilities:
Describe alternatives you've considered
1. Stop at #193 only
2. Keep grouping only by
case_name3. Use
case_hashas the higher-level identifiercase_hashis not stable enough to represent a persistent logical case across executionsAdditional context
This issue should be treated as follow-up work to #193, not part of the initial normalization change.
Suggested sequencing:
logical_case_idshould be seeded automatically during migration or introduced in a later schema/API stepOpen questions:
logical_case_idbe a column oncasesor a dedicatedlogical_casestable?logical_case_idfor case rows split from a pre-[Enhancement]: Normalize Case identity to (case_name, machine, hpc_username) #193 merged case?Caserows,logical_case_id, or both?