Stage E: fail fast on a bad Pyy, and add --skip-background (1.7 h before the first injection)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- python
- Domain
- backend, cli, embedded-iot
Research direction
Start with src/system_ident/loop.py around line 143 and read the Pxx failure-mode notes in src/system_ident/design/pintelon.py. Trace the existing background-measurement and command-line paths, then verify that invalid Pyy fails before injection and that --skip-background uses measurement.Pyy_from_file; tests should cover both paths.
Written by the indexing model from the issue text.
Description
Stage E (spec §5).
Pyy is unguarded and division-critical
src/system_ident/loop.py:143 measures the quiet readback PSD per DoF and feeds it to
designer.design(..., Pyy[dof], ...) → fisher.dispersion, which divides by it. A dead readback, a
wrong channel name or a disconnected sensor yields zeros → inf/NaN → "SVD did not converge" minutes later,
with nothing pointing at the cause. src/system_ident/design/pintelon.py:24 documents that failure
mode for Pxx; nothing guards Pyy.
The sibling project hit the equivalent on hardware and added a fail-fast when the measured background sits
at the single-precision floor, rather than burning minutes of hardware time first.
Fix: check Pyy is finite, strictly positive and above a floor, and raise with an actionable message
before the first injection.
The quiet measurement is unconditional and serial
src/system_ident/loop.py:143 runs one read() per DoF, always, with no way to skip and no way to
reuse a previously measured floor. At physics-sized resolution (T ≈ 256 s, n_segments = 8) that is
3 × 2048 s ≈ 1.7 hours of hardware time before anything is injected. The sibling project added
--skip-background for exactly this and it saved one full measurement duration per run.
Fix: add --skip-background and a measurement.Pyy_from_file path. (The read cache in the companion
issue independently collapses the three serial reads into one buffer.)
Campaign: CDS hardware backend · branch feat/cds-hardware-backend
· spec · plan · handoff
Code is deferred until the plan and issues have been reviewed.
- Dominant language
- Python
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CaltechExperimentalGravity/system_ident
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
All issues in CaltechExperimentalGravity/system_ident
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Arekkazu/sgpmp-backend#744 ·
Maintainers usually reply within 1 day
-
agent/reviewer
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
projectbluefin/utah-packages#634 ·
Maintainers usually reply within 1 day
-
enhancement good first issue help wanted
Difficulty 2/5 1-2 days Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
home-assistant/core#188613 ·
Maintainers usually reply within 1 day
-
WebsiteOpengood first issue
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
TanbirRamim/open-source-radar#314 ·
Maintainers usually reply within 1 day