SPB Git

Repository Public Research preview

IMPLEMENTATION_CHECKLIST.md 5.3 KB 107 lines markdown

1# Implementation checklist23State on 2026-11-09, read from the repository. Legend:45- [x] exists, with evidence.6- [~] partial or in progress.7- [ ] missing.89Tests (`tests/unit`, `tests/integration`) were not re-run when this checklist was written.1011## Phase 0 — Audit and feasibility1213- [x] Project directory and identifier AI-0002; no collision (`CLAUDE.md`)14- [x] Mandate reproduced verbatim (`docs/MANDATE.md`)15- [x] Hardware and library capture in every run header (`utils/provenance.py`)16- [x] Literature gap with 85 verified sources (`docs/RESEARCH_GAP.md`, `docs/literature/verified_sources.jsonl`,17  `paper/references.bib`)18- [x] Research plan, licence matrix, experiment matrix, compute budget, reproducibility, pre-registration draft,19  decision log, risk register (this documentation set)20- [ ] `docs/STATUS.md`. It is referenced by `CLAUDE.md` but does not exist.2122## Phase 1 — Historical corpus2324- [x] PMC adapter on the AWS bucket: metadata first, licence filter, MD5 verification (`ingest/pmc_s3.py`);25  manifests seed 1 and seed 226- [x] JATS parser: sections, roles, offsets, pub-date evidence, licence evidence, inline math, references27  excluded (`parse/jats.py`)28- [x] Books: Gutenberg (catalog, mirror, front-matter dating), NCBI Bookshelf BITS, OpenStax via IA29  (`ingest/books.py`, `parse/books.py`); trial corpora built30- [~] arXiv OAI-PMH + LaTeX parser (`ingest/arxiv_oai.py`, `parse/latex.py`; uncommitted edits; no discovery31  manifest yet; `data/raw/arxiv` empty)32- [~] PDF parsing (`parse/pdf.py` just added, untracked)33- [ ] Crossref economics and finance journals (`ingest/crossref.py`, `configs/data/crossref_journals.json` are34  missing)35- [ ] `configs/data/books_sources.json`. It is referenced in the docstring of `ingest/books.py` but is missing.36- [x] Language identification, quality score, passage eligibility (`parse/quality.py`, `segment/passages.py`)37- [x] MinHash near-duplicate and exact duplicate detection (`dedup/minhash.py`)38- [x] Leakage-safe splits (cluster ∪ author group; held-out discipline and period; `--fixed`) (`data/splits.py`)39- [~] Venue-safe splits: `SplitConfig.venue_safe` exists, but `make_splits.py` exposes no flag for it40- [~] Corpus at pilot scale: 1 180 PMC docs and 23 658 passages, plus books trials. Medium target41  (≥ 10 000 docs, ≥ 200 000 passages): pending42- [ ] Stratified sampling plan across sources, disciplines and eras (written plan with quotas)4344## Phase 2 — Rewriting engine4546- [x] Versioned prompts A–E and held-out prompts H1/H2 (`rw-1.0`, fingerprint)47- [x] Anthropic adapter: pinned model, request id, usage, cost, backoff, refusals, batches48- [x] Engine: deterministic ids, append-only results, ledger, resume, concurrency, live budget stop49- [x] Mock provider; vertical-slice mock jobs (`data/pairs/mock_smoke`, `vs_smoke`; 0 USD)50- [ ] Pre-submission budget check in batch mode51- [ ] Real pilot (Gate B): no live spend yet5253## Phase 3 — Pair quality5455- [x] Automated checks: length, copy/unrelated, language, placeholders, numbers, entities (proxy),56  negation/hedges, structure (D), artefacts, optional MiniLM similarity (`validate/checks.py`)57- [x] Quarantine instead of drop, acceptance by variant (`validate/pairs.py`)58- [ ] Bidirectional entailment (NLI)59- [ ] Human review tooling and protocol for stratified samples6061## Phase 4 — Architectures6263- [x] B0 identity, B1 rule-based paraphrase64- [ ] B2 pretrained encoder–decoder fine-tune (`training/hf_finetune.py` is referenced but missing)65- [x] M1, M2, M3 (copy gate, style branch, prototypes, GRL adversary) (`models/transformer.py`)66- [x] Objective terms and ablation presets (`models/losses.py`, `scripts/train.py`)67- [ ] Hierarchical, section-level chunking and cross-paragraph consistency6869## Phase 5 — Training7071- [x] AdamW, warmup + cosine schedule, gradient accumulation, clipping, early stopping, resumable SafeTensors72  checkpoints, 6ND FLOPs, accelerator seconds73- [x] One-batch overfit test (`vs_smoke-m1-nano`: CE 5.28 → 0.0022)74- [~] Mixed precision: bf16 on CUDA only; MPS stays fp3275- [ ] Activation checkpointing, profiling and memory estimation, distributed training76- [ ] Throughput benchmark per design point and node7778## Phase 6 — Evaluation7980- [x] Lexical and factual metrics, document-clustered bootstrap, paired differences vs B0, breakdowns by81  stratum, stylometric W1, exploratory probe (`evaluation/`)82- [ ] Holm correction; bootstrap at 10 000 resamples for confirmatory analyses83- [ ] Disjoint split for fitting the style probe84- [ ] Non-identifiability test (E14), memorisation audit (E15), calibration (E18)85- [ ] Human evaluation (E16)86- [~] Vertical-slice evaluation: B0/B1 predictions exist; M1 predictions and `artifacts/metrics/` are empty87- [ ] PREREGISTRATION v1.0 frozen8889## Phase 7 — Release9091- [x] Inference API `HTRReconstructor` with placeholder restoration, warnings and notice92  (`inference/pipeline.py`)93- [ ] `htr/cli.py`. It is declared in `pyproject.toml` (`htr = htr.cli:main`) but is missing.94- [ ] `htr/release/`: HF-style export, model card generator, benchmark bundle, `ATTRIBUTION.tsv`95- [ ] `model_cards/`, `demo/`: both empty96- [ ] Security, privacy and copyright review; clean-environment test9798## Phase 8 — Paper99100- [x] `paper/references.bib`, verified101- [ ] `paper/main.tex`, `supplement.tex`, sections, figures, tables102103## Gates104105- [x] A — GO (`docs/gates/GATE_A.md`)106- [ ] B · [ ] C · [ ] D · [ ] E · [ ] F107
Files main
Menu

Theme