Stage F: wire --cds (CLI, build_cds_backend, BACKENDS registry, mandatory channels.drive)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 42/100
Direzione di ricerca
Leggi prima la specifica di progettazione CDS e il piano collegati, quindi esamina cli.py, config.py, loop.py e configs/rtsfreerun_hsts.yml. Traccia i punti di ingresso esistenti per la selezione del backend e la convalida del canale prima di implementare il cablaggio di --cds, il registry, la configurazione, la convalida obbligatoria dell’unità, l’esempio indipendente dal sito e l’avviso sulla banda. Il lavoro è completato quando il backend CDS è selezionabile senza il precedente rifiuto e tutti i requisiti di configurazione e sicurezza indicati sono coperti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Stage F (spec §4, §6). The backend exists but nothing can reach it. Note --cds currently
appears exactly once in the whole repo — in the roadmap note, as future work.
cli.py
- Add
--cds. - Remove the hard refusal at
src/system_ident/cli.py:62("the CDS-hardware backend is not
available yet"). - (
_confirmand--yesare handled in the approval-gate issue.)
config.py
build_cds_backend(...)besidebuild_twin_backend(src/system_ident/config.py:144) and
build_rtsfreerun_backend(src/system_ident/config.py:162).- A
BACKENDSregistry mirroringESTIMATORS/DESIGNERS(src/system_ident/config.py:31), so
the backend choice stops being a pair of hard-coded booleans. NoteMIMOTwinBackend,ReducedPlantBackend
andDARMBackendcurrently have no config path at all — they are constructed directly in
experiments/and tests. A registry is the place to fix that later. - A
cds:section —transport: awg_nds | twin,start_buffer, the site IFO key — validated in
REQUIRED(src/system_ident/config.py:37). channels.drivemandatory for this backend — aConfigError, not a warning.
src/system_ident/loop.py:90silently falls back toexc[d]and_warn_open_drive_monitor
(src/system_ident/loop.py:274) only warns. On hardware that fallback, combined with a synthesised
X, is the measured 200%-error configuration (see theread()invariants issue).
New config
src/system_ident/configs/cds_twin_transport.yml, modelled on
src/system_ident/configs/rtsfreerun_hsts.yml — which already has the right shape
(channels.excitation/drive/readback, measurement.t_ramp, safety.actuator_sat). Deliberately
site-agnostic: no 40m channel names, no C1. Site specifics are the deferred site-profile layer.
Band guard
warnings.warn when freq_max > 0.8 * (fs/2), explaining the cost is SNR, not bias. The sibling
project needed a hard --f-max because scipy.signal.decimate uses cheby1(8, 0.05, 0.8/q), measured
−9.04 dB at 0.9·Nyquist and −22.37 dB at Nyquist; resample_poly's Kaiser FIR is +0.02 dB at 0.8 and
−0.67 dB at 0.9, and being LTI and applied to both X and Y it cancels exactly in Ybar/Xbar. Record
that cancellation argument in the docstring — it is a second, independent reason X must never be a
synthesised array.
pyproject.toml:34 already reserves the cds = [] extra; no change needed there.
Campaign: CDS hardware backend · branch feat/cds-hardware-backend
· spec · plan · handoff
Code is deferred until the plan and issues have been reviewed.
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CaltechExperimentalGravity/system_ident
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di CaltechExperimentalGravity/system_ident
Issue simili
-
Add `openai_safety_identifier`, the replacement for the `user` field that `openai_user` sendsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
pydantic/pydantic-ai#12091 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Enhance blog readabilityApertaCSS enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
pychess/pychess-variants#2448 ·
I maintainer di solito rispondono entro 1 giorno
-
Bump locked PyTensor so Apple clang 21 does not pass -ld64Forse già presa @drbenvincent l’ha presa oggi. Apertabug dev ops
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni
-
ai_p2 bug comp-datalake
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
ClickHouse/ClickHouse#128306 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno