Studio 2.2.9: signal analysis and expanded waveform generation - #42
Conversation
gaochangw
left a comment
There was a problem hiding this comment.
Reviewed head de63c96 against main. No remaining blocking findings in the current diff.
Reviewed the numeric definitions and plot reductions, source/version handoffs, preservation of real and complex CSV samples, complete-file rejection and cleanup, workspace ownership, public heavy-request admission, content identity and backward reading of stored signals. An ambiguous single-column I header was corrected during review and covered by real/complex upload cases. The change does not modify PA/DPD metric contracts or training algorithms.
Evidence: full local Python regression (994 passing before the final two header cases), 118 focused checks, 17 upload/source integration cases at this head, 249 frontend tests, strict documentation and API-contract checks, real-browser custom generation and analyzer workflows. CI must pass at this head before merging. Standard-family presets remain explicitly limited to uncoded engineering stimuli, with no protocol-conformance claim.
gaochangw
left a comment
There was a problem hiding this comment.
Reviewed the final follow-up at a7007ff. Source-catalog reads now consume the shared heavy-request budget because manifests include bounded diagnostic data. Status and cancellation remain outside that budget. All 52 relevant public/source integration checks pass; no remaining blocking findings. Waiting for CI at this exact head before merge.
Studio can now inspect generated PA inputs, Virtual PA outputs and real or complex CSV signals in a dedicated Signal Analyzer. Source links preserve dataset versions, and explicit analysis settings produce independent PSD, spectrogram, time/frequency, raw I/Q, CCDF, eye and metric views with JSON/CSV exports.
The generator adds Gray PSK, deterministic payloads, FSK/GFSK, band-limited noise, DFT spreading, burst envelopes and phase controls. RRC span now uses the documented total symbol length, and symbol recovery uses a matched filter. NR/WLAN presets remain continuous uncoded engineering stimuli; the interface and documentation describe the protocol limits. Existing saved samples remain readable.
CSV quarantine validates every numeric field, bounds storage and computation, preserves complex components and prevents cross-workspace source access. Reports are returned without creating training datasets. README, guides, validation notes and actual GUI screenshots are updated for 2.2.9.
Validation: 994 Python tests; 118 final focused checks; 249 frontend tests; strict type/lint/API-contract/documentation checks; real Chromium generation-to-analysis, three CSV formats, report download, all analyzer views, five new custom waveform families and mobile layout. The exercised analyzer page has no runtime errors or axe WCAG 2.1 AA violations. The one-million-sample local analysis benchmark is documented with raw evidence.