Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 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
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
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
441fb33
audits: 2026-04-17 v11 post-v10 verification audit
Apr 17, 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