Skip to content

Release 2026.2.3#757

Open
bencap wants to merge 5 commits into
mainfrom
release-2026.2.3
Open

Release 2026.2.3#757
bencap wants to merge 5 commits into
mainfrom
release-2026.2.3

Conversation

bencap and others added 5 commits May 12, 2026 14:41
When multiple servers process a user's first login simultaneously,
each may query, find no existing record, and attempt to INSERT.
The losing request raised an unhandled IntegrityError.

- Wrap the commit in a try/except IntegrityError block
- On collision: rollback and re-fetch the existing user record
- Add a test that simulates the race and asserts the correct user
  is returned with exactly one DB row
allele_from_mapped_variant_dictionary_result unconditionally constructed
a LiteralSequenceExpression from the stored state dict, causing a
Pydantic ValidationError (500) for score sets containing
reference-identical variants whose state is a ReferenceLengthExpression.

- Dispatch on state type to construct RLE, LengthExpression, or LSE
- Raise ValueError with an actionable message for unknown state types,
  replacing the cryptic multi-field Pydantic error as the failure mode
- Add test constants for RLE and LengthExpression allele dicts
- Parametrize state-type and CisPhasedBlock member tests to cover all
  three state types and enforce coverage of future additions
…elds

Serializing evidence to dicts via `serialize_evidence_items` before
assigning to `hasEvidenceItems`/`hasEvidenceLines` caused
`VariantPathogenicityEvidenceLine` validation to fail for Statement
objects containing nested VRS Alleles with production genomic data
(regex constraints on `digest`, `refgetAccession`, etc. failed during
dict reconstruction).

- Remove `serialize_evidence_items` from `util.py` entirely
- `acmg_evidence_line`: pass `list(evidence)` directly; Statement is
  in `has_evidence_items_models` and passes the isinstance check
- `functional_evidence_line`: wrap items as `StudyResult(root=item)`;
  `ExperimentalVariantFunctionalImpactStudyResult` does not inherit
  `StudyResult` so direct instances fail the isinstance check
- `mapped_variant_to_pathogenicity_statement`: pass `list(evidence)`
- Add regression tests in `test_evidence_line.py` and `test_annotate.py`
  that assert evidence items are model instances, not raw dicts
- Remove `TestSerializeEvidenceItems` from `test_util.py`
…ort-in-va-spec-output

fix(annotation): handle all VRS allele state types in deserialization
…ent-user-race-condition

fix(authentication): handle concurrent first-login race condition
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.

Support ReferenceLengthExpression state in annotated-variants study-result pipeline Race condition in get_current_user on first sign-in

1 participant