LaserLab v0.3.1 fixture provenance and golden regressions - #20
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ce4a7a0451
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "primary_metric_score": 0.0, | ||
| "q_value": None, | ||
| "persistence_score": 0.0, | ||
| "capture_metadata": sample.get("capture_metadata", {}), |
There was a problem hiding this comment.
Preserve fixture metadata for generated controls
With the default control_generation setting, laser captures produce matched control samples via generate_matched_controls, but those records do not carry capture_metadata from the parent capture. As a result this newly added result field becomes {} for every generated control, so if a derived control is part of results.json or ranks as a top candidate, the fixture provenance is lost even though the parent laser capture had it.
Useful? React with 👍 / 👎.
Summary
Why
Community review depends on knowing what each fixture is expected to demonstrate and on preventing detector changes from silently becoming more permissive. This patch makes fixture provenance auditable and puts conservative null behavior under CI protection.
Validation
python -m compileall laserlab gui tests scriptspython -m unittest discover -s tests(11 tests)report.jsongit diff --checkCloses #16
Closes #17