• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Oucru-Innovations / vital-sqi / 25922663490
92%

Build:
DEFAULT BRANCH: main
Ran 15 May 2026 02:20PM UTC
Jobs 1
Files 38
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 May 2026 02:15PM UTC coverage: 91.105% (-0.06%) from 91.168%
25922663490

push

github

Koaha
Build interactive app and add auto-tune classifier; remove legacy dashboards

Phases 0-5 of the app enhancement plan turn the dashboard prototype into a
focused four-tab workbench (Compute → Inspect → Calibrate → Export) and add
a new auto-tuned threshold strategy to the core classifier.

Core (vital_sqi/)
* New vital_sqi.rule.auto_threshold module: quantile_band, tuned_bands,
  per_rule_quantile (independence-approximation joint accept rate), and
  strictest_columns (modified-Z-score outlier detector).
* classify_segments grows an "auto_mode" tri-state ("manual" / "quantile" /
  "tune") plus target_accept_rate kwarg.  Degenerate rules (zero-width
  band) are dropped with a warning instead of rejecting every segment.
* Plumb wave_type + sample_rate through extract_segment_sqi → get_sqi →
  get_nn so 128 Hz ECG no longer gets processed as 100 Hz PPG.
* Fix get_nn logging: named logger at DEBUG instead of root at ERROR.

App (vital_sqi/app/)
* Compute view: drag-and-drop loader for CSV / EDF / WFDB / Oucru
  row-per-second CSV; signal-column auto-introspection; background
  callback with diskcache; "I already have an SQI table" upload shortcut.
* Inspect view: colour-strip timeline, per-segment waveform plot, rule
  trace; live threshold-mode controls (Quantile / Auto-tune / Manual /
  Robust); rules checklist with auto-skip of degenerate SQIs;
  drop-strictest-rule button.
* Calibrate view: GUI wrapper for vital_sqi.calibration.calibrate() with
  a dry-run-then-save flow and timestamped backups.
* Export view: decisions CSV, snapshot rule JSON, accepted-segments ZIP,
  standalone HTML report.
* Streamlined sidebar: removed Home / Rules / Apply dashboards and their
  rule-set-store / rule-dataframe stores; the bundled rule_dict.json is
  now the single source of truth.
* prevent_initial_call=True on every routed-view callback so Dash's
  renderer no longer emits ReferenceErrors when a different tab is
  mounted.

Docs (docs/source/)
* Rewrote usage/app.... (continued)

2827 of 3103 relevant lines covered (91.11%)

0.91 hits per line

Coverage Regressions

Lines Coverage ∆ File
27
89.01
-2.49% pipeline/pipeline_functions.py
22
90.12
0.04% common/utils.py
Jobs
ID Job ID Ran Files Coverage
1 25922663490.1 15 May 2026 02:20PM UTC 38
91.11
GitHub Action Run
Source Files on build 25922663490
  • Tree
  • List 38
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25922663490
  • 4b6d4afc on github
  • Prev Build on main (#25905821906)
  • Next Build on main (#25924956284)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc