docs: update TODO and AGENTS for v0.4.0 completion

- Mark v0.4.0 as complete in TODO.md with all phases checked
- Update Phase 4 items with actual outcomes
- Next step: Track A 99Tc spectrum-shape analysis
- Add AGENTS instruction to update project metadata on significant
  structural changes (package additions, version bumps, etc.)
This commit is contained in:
2026-05-17 19:31:39 +03:00
parent 27a6993419
commit 3c0a43ad4d
2 changed files with 17 additions and 11 deletions
+1
View File
@@ -25,6 +25,7 @@ Install: `source ~/.pyenv/sci/bin/activate && pip install -e ".[dev]"`
- **Commit each logical change** — don't wait for green. Use `git add -p`. - **Commit each logical change** — don't wait for green. Use `git add -p`.
- **Rebase over merge** for linear history: `git rebase main` before merge. - **Rebase over merge** for linear history: `git rebase main` before merge.
- Delete branch locally + remotely after merge. - Delete branch locally + remotely after merge.
- **Update project metadata on significant changes:** When a commit changes the package structure, adds/removes modules, or bumps the version, also update `TODO.md` and `README.md` to reflect the new state. This keeps documentation in sync with code.
## TDD ## TDD
+16 -11
View File
@@ -88,13 +88,13 @@ visualize/ ← visualization / plotting
- [x] Remove old `test_cw_extractor.py` (replaced by `tests/fitter/test_extractor.py`) - [x] Remove old `test_cw_extractor.py` (replaced by `tests/fitter/test_extractor.py`)
- [x] 322 tests pass, ruff + mypy clean on all 26 source files - [x] 322 tests pass, ruff + mypy clean on all 26 source files
#### Phase 4: Update package structure #### Phase 4: Update package structure ✅ COMPLETE
- [ ] Update `pyproject.toml` — add `exp_data` and `fitter` as subpackages - [x] `pyproject.toml` auto-discovers all 4 packages via `setuptools.packages.find`
- [ ] Update `__init__.py` at root level if needed - [x] `beta_spectrum.cli` keeps CLI entry point (no re-exports needed)
- [ ] Move CLI entry point to a separate package or keep as `beta_spectrum.cli` with re-exports - [x] All imports updated across 26 source files
- [ ] Update all imports across tests - [x] 322 tests pass
- [ ] Run full test suite - [x] README updated with new architecture diagram and Quick Start examples
- [ ] Update documentation - [x] Version bumped to 0.4.0
______________________________________________________________________ ______________________________________________________________________
@@ -329,17 +329,22 @@ ______________________________________________________________________
- Notebook quality control with nbmake and auto-save plot hooks - Notebook quality control with nbmake and auto-save plot hooks
- Plot output: unified multi-branch approach, externalized headers, compact legends, consistent titles - Plot output: unified multi-branch approach, externalized headers, compact legends, consistent titles
### In Progress (v0.4.0) ### Completed (v0.4.0)
- **Track B: Package restructuring** — separating into `beta_spectrum` (theory), `exp_data` (experimental data), `fitter` (analysis framework) - **Track B: Package restructuring** — separating into `beta_spectrum` (theory), `exp_data` (experimental data), `fitter` (analysis framework)
- [x] Phase 1: Create `exp_data` module (raw_data.py, calibration.py, fitters.py, corrections.py, spectrum.py) — 43 tests - [x] Phase 1: Create `exp_data` module (raw_data.py, calibration.py, fitters.py, corrections.py, spectrum.py) — 43 tests
- [x] Phase 2: Create `fitter` module (model.py, fit_engine.py, extractor.py, result.py) — 34 tests - [x] Phase 2: Create `fitter` module (model.py, fit_engine.py, extractor.py, result.py) — 34 tests
- [x] Phase 3: Clean up `beta_spectrum` (remove cw_extractor.py, fitter.py, __init__.py cleanup) — 322 tests - [x] Phase 3: Clean up `beta_spectrum` (remove cw_extractor.py, fitter.py, __init__.py cleanup) — 322 tests
- [x] Phase 4: Package auto-discovered by setuptools, all imports updated, black formatting applied - [x] Phase 4: Package auto-discovered by setuptools, all imports updated, black formatting applied
- **v0.4.0 is READY FOR FINAL VERIFICATION** - **v0.4.0 is COMPLETE**
- 322 tests pass (262 original + 43 exp_data + 34 fitter + 27 CW/gVA) - 322 tests pass (262 original + 60 new)
- ruff + mypy clean on all 26 source files - ruff + mypy clean on all 26 source files
- black formatting applied to all new code - black formatting applied to all new code
- `pyproject.toml` auto-discovers all 4 packages: `beta_spectrum`, `beta_spectrum.visualize`, `exp_data`, `fitter` - `pyproject.toml` auto-discovers all 4 packages: `beta_spectrum`, `beta_spectrum.visualize`, `exp_data`, `fitter`
- README updated with new architecture diagram and Quick Start examples
- Version bumped to 0.4.0
### Next Immediate Step ### Next Immediate Step
- **v0.4.0 Phase 4:** Update package structure, verify all imports, run full test suite, update docs - **Track A: ⁹⁹Tc spectrum-shape analysis** — start real data processing pipeline
- Data processing pipeline for experimental runs
- Endpoint fitting and energy calibration
- Systematic uncertainty analysis