Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
e9d2d1a
Add analysis framework, application examples, validation, and backgro…
lucapinello Mar 25, 2026
b9c2626
Cache GTF annotations in memory for 100-7000x faster gene queries
lucapinello Mar 26, 2026
924aa15
Add all-celltype background script: 1.88M variant + 1.85M baseline sc…
lucapinello Mar 26, 2026
d87b909
Add 10K variant + 25K baseline background script with TSS positions
lucapinello Mar 26, 2026
7702391
Definitive 10K background script: all 9 output types with RNA-seq exo…
lucapinello Mar 26, 2026
c81c460
Per-track normalization, application examples, and production UX over…
lucapinello Apr 12, 2026
b027af0
Remove superseded background build scripts
lucapinello Apr 12, 2026
895e8af
Clear notebook output cells before commit
lucapinello Apr 12, 2026
bff5695
Remove hardcoded paths and clear notebook outputs
lucapinello Apr 12, 2026
96649ee
Redesign application examples: per-track scoring, specific tracks, fu…
lucapinello Apr 13, 2026
6354c0a
Simplify applications README: remove model-loading details, clarify o…
lucapinello Apr 13, 2026
d1ac00c
Remove hardcoded paths in .mcp.json + document LDlink token
lucapinello Apr 14, 2026
5051281
README: tighter new-user onboarding path
lucapinello Apr 14, 2026
4868b99
Audit pass 3: CAGE strand labels, HTML scoping bug, docs cross-refs, …
lucapinello Apr 14, 2026
eb230fd
Regenerate batch scoring output with CAGE strand disambiguation
lucapinello Apr 14, 2026
acc900a
README: explicit section on background distributions auto-download
lucapinello Apr 14, 2026
528087c
README appendix: per-track background distributions in detail
lucapinello Apr 14, 2026
3527995
Ignore .claude/ harness state
lucapinello Apr 14, 2026
0826481
Add AUDIT_PROMPT.md template + gitignore pattern for token-bearing co…
lucapinello Apr 14, 2026
9222518
audits: add 2026-04-14 macOS Apple Silicon end-to-end audit
Apr 15, 2026
64c67a4
macOS Apple Silicon parity: MPS / Metal auto-detect + small bug fixes
Apr 15, 2026
f6de4d5
Merge audit/macos-arm64-2026-04-14: macOS ARM64 support (MPS/Metal, S…
lucapinello Apr 15, 2026
1c39302
Add rsID backfill regression test; refresh notebook outputs
lucapinello Apr 15, 2026
f30d766
Regenerate all example outputs against merged branch; cosmetic fixes
lucapinello Apr 15, 2026
478d64c
audits: add 2026-04-15 post-merge macOS v2 audit + shared download he…
Apr 15, 2026
18b22f6
downloads: route sei + genome + chrombpnet through shared resumable h…
Apr 15, 2026
4bee893
Merge audit/macos-arm64-2026-04-15-v2: shared resume helper + v2 macO…
lucapinello Apr 15, 2026
e58899b
audits: 2026-04-16 deep application + normalization audit
Apr 15, 2026
dfd6c54
audits: reframe findings 3 and 5 as 'remove the example' per review
Apr 15, 2026
5ebb328
audit followup: remove 2 problematic examples + 3 normalizer/report f…
Apr 15, 2026
942a566
Merge audit doc: 2026-04-16 application + normalization audit
lucapinello Apr 15, 2026
2ed96f2
Merge audit followup: remove 2 examples + 3 normalizer/report fixes
lucapinello Apr 15, 2026
1bb8092
Add cross-oracle disagreement note (audit Fix #4)
lucapinello Apr 15, 2026
5e19ae3
Fresh-install audit fixes: enformer TF pin + chrombpnet extract lock
lucapinello Apr 15, 2026
1f8de0c
notebooks: fix stale baseline msg + hardcoded path + dead cell; re-ex…
Apr 15, 2026
7f6d6bd
audits: add 2026-04-16 Linux fresh-install audit report
lucapinello Apr 16, 2026
fc242bc
Regenerate causal HTML with self-contained IGV + report resolved device
lucapinello Apr 16, 2026
2a7be99
Usability audit fixes: 4 HIGH + 3 MEDIUM findings
lucapinello Apr 16, 2026
746aefb
Fix 3 visual UX bugs + improve getting_started prompt
lucapinello Apr 16, 2026
2f01f28
Fix remaining audit findings: CONFUSING + POLISH items
lucapinello Apr 16, 2026
1b17652
Third-pass audit fixes: package install + accuracy + error messages
lucapinello Apr 16, 2026
9cc0fe5
AlphaGenome JAX Metal guard fix + macOS v4 audit report
lucapinello Apr 16, 2026
f935bf5
Fourth-pass persona audit: glossary, interpretations, VCF example
lucapinello Apr 16, 2026
01d8446
Expand batch scoring to show ref/alt/log2FC/percentile per track
lucapinello Apr 16, 2026
45d2303
Add missing READMEs + interpretation sections to examples
lucapinello Apr 16, 2026
27b430b
Regenerate all example outputs with latest fixes
lucapinello Apr 16, 2026
df7d613
Fix user prompt in all HTML reports; remove stale/orphaned files
lucapinello Apr 16, 2026
4b92ab2
audits: 2026-04-16 v5 post-persona-audit full audit
Apr 16, 2026
9254163
Fix v5 audit findings: test drift + hardcoded cell-type label + stale…
Apr 16, 2026
d796f01
Merge v5 audit fixes: test column names + cell-type label + docstring
lucapinello Apr 16, 2026
3c9b01a
Sixth-pass audit fixes: MCP label consistency + test coverage + walkt…
lucapinello Apr 16, 2026
706eed6
audits: 2026-04-16 v6 full fresh-install audit
Apr 17, 2026
72929a5
Fix v6 audit finding: orphan HTMLs from discovery regen
Apr 17, 2026
88d1a45
Merge v6 discovery fix: orphan HTMLs + AnalysisRequest passthrough
lucapinello Apr 17, 2026
7629533
audits: 2026-04-17 v7 first-user UX audit
Apr 17, 2026
ca5abd7
Fix v7 UX audit findings: phantom base env + docs drift
Apr 17, 2026
7a1e563
Merge v7 UX audit report
lucapinello Apr 17, 2026
a383bbf
Merge v7 UX polish fixes: phantom base env + docs drift
lucapinello Apr 17, 2026
48b001d
audits: 2026-04-17 v8 full fresh-install audit (zero findings)
Apr 17, 2026
77d1315
V7 scorched-earth audit: regenerate all outputs from fresh install
lucapinello Apr 17, 2026
a7632d0
Fix causal table percentile display to use _fmt_percentile
lucapinello Apr 17, 2026
a7db649
Fix false-positive warnings from scientific review of notebook outputs
lucapinello Apr 17, 2026
9f17fa7
Close v8-audit coverage gaps: integration tests + error-recovery + li…
Apr 17, 2026
e7b8653
Documentation consistency audit: fix stale READMEs + unified track co…
lucapinello Apr 17, 2026
7149c96
Merge v8 audit report (zero findings)
lucapinello Apr 17, 2026
fbaef50
Merge v9: error-recovery + integration tests + light CI
lucapinello Apr 17, 2026
6baa333
audits: 2026-04-17 v10 fresh-install + content-review audit
Apr 17, 2026
ab3cdba
Fix v10 audit findings: tfhub cache + IGV HF fallback + FTO doc + bgz…
Apr 17, 2026
68c3945
Merge v10 fresh-install + content-review audit
lucapinello Apr 17, 2026
e99fd66
Merge v10 polish: tfhub recovery + IGV HF fallback + FTO doc + bgzip …
lucapinello Apr 17, 2026
7834d3c
ChromBPNet: hold fcntl lock across nested tar extractions too
lucapinello Apr 17, 2026
441fb33
audits: 2026-04-17 v11 post-v10 verification audit
Apr 17, 2026
3529167
Fix v11 regression: remove stale .bgz/.tbi when download_annotation r…
Apr 17, 2026
75fea5e
Merge v11 audit doc
lucapinello Apr 17, 2026
ce4d45f
Merge v11 fix: stale tbi/bgz cleanup on annotation refresh
lucapinello Apr 17, 2026
9314750
Merge v5 audit doc (fix already merged earlier)
lucapinello Apr 17, 2026
27468a7
Merge v6 audit doc (fix already merged earlier)
lucapinello Apr 17, 2026
70a18b2
V9 scorched-earth audit: regen all outputs + notebooks from fresh ins…
lucapinello Apr 17, 2026
ab43048
Render near-zero percentile instead of em-dash
lucapinello Apr 18, 2026
f15d926
Report redesign for new-user clarity: glossary, formula chips, proven…
lucapinello Apr 19, 2026
016739f
multi-oracle: distinguish n=1 single-voter from real multi-oracle con…
Apr 19, 2026
c5eef9d
Causal IGV: apply shared floor-rescale so all reports have scaled tracks
lucapinello Apr 19, 2026
12f5297
Merge fix/2026-04-19-multioracle-n1-label: distinguish n=1 from real …
lucapinello Apr 19, 2026
7bc67e5
Fix rerender_examples: preserve original filename + canonical oracle …
lucapinello Apr 19, 2026
15c77f8
audits: 2026-04-20 v12 full UX consistency audit (cross-modality)
Apr 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: tests

# Fast CI — runs the 303-test non-integration suite on every PR and on
# pushes to main-line branches. Deliberately does NOT run:
# - tests/test_smoke_predict.py (needs ~10 GB of oracle models — won't
# fit on the 14 GB GitHub runner disk)
# - tests/test_integration.py (marked `integration` — hits HF, ENCODE,
# and spawns chorus-mcp; 5–10 min per test)
# Those are runnable manually by maintainers with:
# pytest tests/test_smoke_predict.py -v # full 6-oracle smoke
# pytest -m integration -v # CDF/ChromBPNet/MCP E2E

on:
push:
branches: [main, chorus-applications]
pull_request:
workflow_dispatch:

concurrency:
group: tests-${{ github.ref }}
cancel-in-progress: true

jobs:
fast-suite:
name: fast suite (Linux, Python 3.10)
runs-on: ubuntu-latest
defaults:
run:
shell: bash -el {0}

steps:
- uses: actions/checkout@v4

- name: Set up Miniforge + mamba
uses: conda-incubator/setup-miniconda@v3
with:
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: chorus
environment-file: environment.yml
use-mamba: true
auto-update-conda: false

- name: Install chorus (editable) + dev extras
run: |
pip install -e ".[dev]" || pip install -e .
pip install pytest pytest-cov

- name: Show versions
run: |
python -c "import chorus; print('chorus', chorus.__version__)"
python -c "import sys; print('python', sys.version)"
pytest --version

- name: Run fast suite (non-integration, non-smoke)
run: |
pytest tests/ \
--ignore=tests/test_smoke_predict.py \
-m "not integration" \
-q \
--durations=10
18 changes: 17 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,27 @@ tmp/

# Example outputs
examples/*.png
examples/applications/**/*_screenshot.png
examples/*.bedgraph
examples/*.csv
examples/*_executed.ipynb
examples/bedgraph_outputs/
examples/variant_analysis_results/

# MCP server output
chorus_mcp_output/
chorus_mcp_output/
# Local run logs (regenerate scripts, background jobs, etc.)
logs/

# Claude Code harness state (per-developer, not for the repo)
.claude/

# Audit prompt files containing real API tokens (never commit)
AUDIT_PROMPT_WITH_TOKENS*
*_WITH_TOKENS.md

# Audit screenshots (large PNGs, not needed in repo)
audits/*_screenshots/

# Internal development scripts (machine-specific, not user-facing)
scripts/internal/
Loading
Loading