Skip to content

Commit 956ffd8

Browse files
CodingBashclaude
andcommitted
docs V.3: Phase 8 validation notebook + CHANGELOG entries
CHANGELOG.md under Unreleased: new "Added — validation + demo" section describing the e2e test file, the Phase 8 notebook, and the two bug fixes that surfaced (MatchTier.__str__ + CLI alleles attr-name). The notebook itself lives at CRISPR-Correct-Folder/tests/simulation/phase8_validation_and_demo.ipynb (outside this repo, in the wrapper folder). Also updated the out-of-repo phase_progression.md with the Phase 7 + Phase 8 rows and the AVITI/chrX Phase 8 bench numbers (bit-identical mapping; wall time within noise vs Phase 7). Gate: 11/11 e2e + 148 (12 smoke + 135 sim + 1 new) + scCRISPR + 12/12 notebook stages PASS. AVITI 0.0879 mapped / chrX 0.6911 mapped — both bit-identical to Phase 7. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 74c2df1 commit 956ffd8

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ Flat-arg command-line entry point `crispr-correct` (§4.5). Every `ParsingConfig
2424
- `crispr-correct save` / `load` — round-trip a mapping result through a parquet/JSON directory.
2525
- `crispr-correct alleles` — post-processing allele extraction to parquet.
2626

27+
### Added — validation + demo
28+
29+
- `tests/test_simulation_e2e.py` — 11-stage end-to-end sweep exercising every public surface (Python `map_fastq` / `count` / `alleles` / `save` / `load` + the five CLI subcommands) on the simulation fixtures with bit-equality and ground-truth assertions at every stage.
30+
- `tests/simulation/phase8_validation_and_demo.ipynb` (wrapper folder) — 35-cell validation report + feature demo + guided tour of Phase 1-7 improvements with `git show --stat` snippets. Runs in ~90 s on the sim fixture. Outputs committed so it renders as a report on GitHub without running locally.
31+
- **Fixed**: `MatchTier.__str__` was returning the Enum repr (`"MatchTier.PM_SM_BM"`) instead of the underlying string value, breaking `getattr(result, str(tier))`. Added `__str__` override returning `self.value`. Equality with plain strings via the `str` subclass is unaffected.
32+
- **Fixed**: `crispr-correct alleles` built the strategy attribute name without the `ambiguous_` prefix, causing subprocess failures.
33+
2734
### Added — testing / CI
2835

2936
- GitHub Actions workflow `.github/workflows/ci.yml` runs smoke tests + 135-mode simulation regression (§7.7). Fast subset (~30 s) on push, full matrix on PR.

0 commit comments

Comments
 (0)