Skip to content

Commit fad85f2

Browse files
committed
Reconcile closure history and track residual gaps
1 parent e3ecd02 commit fad85f2

2 files changed

Lines changed: 75 additions & 25 deletions

File tree

docs/project_status.md

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,25 @@
11
# Project Status
22

3-
## Migration status
4-
- Python-to-Rust module test parity is complete for the tracked mlfinlab suite.
5-
- Source of truth: `openquant-rs/tests/crosswalk.md`.
6-
- Roadmap remaining list is empty.
3+
## Current delivery state (2026-02-13)
4+
- AFML gap modules tracked in epic `OQ-mef` are implemented in `crates/openquant/src/`:
5+
`ensemble_methods`, `hyperparameter_tuning`, `backtesting_engine`, `synthetic_backtesting`,
6+
`strategy_risk`, `hpc_parallel`, `combinatorial_optimization`, and `streaming_hpc`.
7+
- Panic-based public API paths were migrated to typed errors under `OQ-mef.6`.
8+
- Notebook-first platform artifacts are present:
9+
Python bindings (`crates/pyopenquant`), Python API package (`python/openquant`),
10+
notebook starter packs (`notebooks/python`, `notebooks/rust`), experiment scaffold (`experiments/`),
11+
and CI smoke workflows (`.github/workflows/python-bindings.yml`,
12+
`.github/workflows/notebooks-examples-smoke.yml`).
713

8-
## Do we still need mlfinlab repo locally?
9-
Short answer: not required for day-to-day OpenQuant usage, still useful for maintenance.
14+
## Reconciliation status
15+
- Reconciliation source of truth: `docs/reconciliation_closure_history.md`.
16+
- Most previously closed deliverables are now present on `main`.
17+
- Two acceptance-criteria mismatches remain tracked as open follow-ups:
18+
- `OQ-ojp`: docs-site notebook workflow page + navigation links.
19+
- `OQ-det`: experiment plot artifact outputs and tests.
1020

11-
Keep mlfinlab if you want to:
12-
- add new parity modules/tests in the future,
13-
- re-generate fixtures from Python behavior,
14-
- validate behavior drift against upstream changes.
15-
16-
You can archive/remove mlfinlab locally if you are:
17-
- focused only on OpenQuant runtime/library usage,
18-
- not planning additional parity backports,
19-
- comfortable relying on existing fixtures + Rust tests only.
20-
21-
## Functional status
22-
OpenQuant is functional for the migrated tracked package scope, with:
23-
- passing fast/full Rust test sweeps (except intentionally isolated long SADF run in default fast path),
24-
- benchmark baselines and regression checks,
25-
- release-readiness CI workflow.
26-
27-
## Known caveats
28-
- `test_sadf_test` is intentionally excluded from fast CI and run in dedicated slow/nightly path.
29-
- Performance thresholds are now wired but should be tightened over time as variance stabilizes.
21+
## Quality and CI posture
22+
- Core CI workflows are present for lint/test, benchmark regression, release checks, bindings smoke,
23+
and notebook/example smoke.
24+
- Remaining work is focused on documentation-site parity and experiment artifact completeness
25+
(tracked by `OQ-ojp` and `OQ-det`).
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Beads Closure Reconciliation (OQ-mef.10)
2+
3+
Date: 2026-02-13
4+
5+
## Scope
6+
Reconcile closed issue claims against repository contents on `main` and align tracker/docs state
7+
to what is actually delivered.
8+
9+
## Evidence Summary
10+
11+
### Python bindings and package track (`OQ-u5h` subtree)
12+
- `OQ-caa` scaffold claim: present.
13+
- Evidence: `crates/pyopenquant/Cargo.toml`, `crates/pyopenquant/src/lib.rs`, `pyproject.toml`.
14+
- `OQ-xhk` API surface/conversions claim: present.
15+
- Evidence: `crates/pyopenquant/src/lib.rs`, `python/openquant/__init__.py`.
16+
- `OQ-8yl` pytest harness claim: present.
17+
- Evidence: `python/tests/test_bindings_contract.py`, `python/tests/test_pipeline_api.py`.
18+
- `OQ-pqz` CI smoke workflow claim: present.
19+
- Evidence: `.github/workflows/python-bindings.yml`.
20+
- `OQ-alv` install/API docs claim: present.
21+
- Evidence: `docs/python_bindings.md`, `README.md` links.
22+
23+
### Notebook-first platform track (`OQ-ruu` subtree)
24+
- `OQ-2ub` notebook starter pack claim: present.
25+
- Evidence: `notebooks/python/*.ipynb`, `notebooks/rust/*.rs`, folder READMEs.
26+
- `OQ-gz9` adapters/viz claim: present.
27+
- Evidence: `python/openquant/adapters.py`, `python/openquant/viz.py`.
28+
- `OQ-jmo` pipeline claim: present.
29+
- Evidence: `crates/openquant/src/pipeline.rs`, `python/openquant/pipeline.py`.
30+
- `OQ-1na` experiment scaffold claim: partially present.
31+
- Present: config + deterministic tabular artifacts + manifest/decision note.
32+
- Evidence: `experiments/run_pipeline.py`, `experiments/configs/futures_oil_baseline.toml`,
33+
`python/tests/test_experiment_scaffold.py`.
34+
- Gap: acceptance explicitly included plot artifacts; current runner does not emit plot files.
35+
- `OQ-7uk` notebook/example smoke CI claim: present.
36+
- Evidence: `.github/workflows/notebooks-examples-smoke.yml`,
37+
`crates/openquant/examples/research_notebook_smoke.rs`.
38+
- `OQ-vuy` workflow docs claim: partially present.
39+
- Present: `docs/research_workflow.md`, README links.
40+
- Gap: acceptance explicitly required a dedicated docs-site workflow page linked from
41+
getting-started/examples; no such page exists under `docs-site/src/pages/`.
42+
43+
## Discrepancies and Tracking Actions
44+
- Missing docs-site workflow page/linkage:
45+
- Follow-up issue created: `OQ-ojp`.
46+
- Missing plot artifacts in experiment scaffold outputs:
47+
- Follow-up issue created: `OQ-det`.
48+
49+
Both follow-ups are linked as `discovered-from` `OQ-mef.10`.
50+
51+
## Conclusion
52+
- Closed-issue claims for bindings, notebooks, pipeline, and CI smoke are materially present in tree.
53+
- Two acceptance-criteria gaps remain and are now explicitly tracked as open issues.
54+
- `docs/project_status.md` has been updated to reflect this reconciled state.

0 commit comments

Comments
 (0)