Implementation checklist
State on 2026-11-09, read from the repository. Legend:
- exists, with evidence.
- [~] partial or in progress.
- missing.
Tests (tests/unit, tests/integration) were not re-run when this checklist was written.
Phase 0 — Audit and feasibility
- Project directory and identifier AI-0002; no collision (
CLAUDE.md) - Mandate reproduced verbatim (
docs/MANDATE.md) - Hardware and library capture in every run header (
utils/provenance.py) - Literature gap with 85 verified sources (
docs/RESEARCH_GAP.md,docs/literature/verified_sources.jsonl,paper/references.bib) - Research plan, licence matrix, experiment matrix, compute budget, reproducibility, pre-registration draft, decision log, risk register (this documentation set)
-
docs/STATUS.md. It is referenced byCLAUDE.mdbut does not exist.
Phase 1 — Historical corpus
- PMC adapter on the AWS bucket: metadata first, licence filter, MD5 verification (
ingest/pmc_s3.py); manifests seed 1 and seed 2 - JATS parser: sections, roles, offsets, pub-date evidence, licence evidence, inline math, references
excluded (
parse/jats.py) - Books: Gutenberg (catalog, mirror, front-matter dating), NCBI Bookshelf BITS, OpenStax via IA
(
ingest/books.py,parse/books.py); trial corpora built - [~] arXiv OAI-PMH + LaTeX parser (
ingest/arxiv_oai.py,parse/latex.py; uncommitted edits; no discovery manifest yet;data/raw/arxivempty) - [~] PDF parsing (
parse/pdf.pyjust added, untracked) - Crossref economics and finance journals (
ingest/crossref.py,configs/data/crossref_journals.jsonare missing) -
configs/data/books_sources.json. It is referenced in the docstring ofingest/books.pybut is missing. - Language identification, quality score, passage eligibility (
parse/quality.py,segment/passages.py) - MinHash near-duplicate and exact duplicate detection (
dedup/minhash.py) - Leakage-safe splits (cluster ∪ author group; held-out discipline and period;
--fixed) (data/splits.py) - [~] Venue-safe splits:
SplitConfig.venue_safeexists, butmake_splits.pyexposes no flag for it - [~] Corpus at pilot scale: 1 180 PMC docs and 23 658 passages, plus books trials. Medium target (≥ 10 000 docs, ≥ 200 000 passages): pending
- Stratified sampling plan across sources, disciplines and eras (written plan with quotas)
Phase 2 — Rewriting engine
- Versioned prompts A–E and held-out prompts H1/H2 (
rw-1.0, fingerprint) - Anthropic adapter: pinned model, request id, usage, cost, backoff, refusals, batches
- Engine: deterministic ids, append-only results, ledger, resume, concurrency, live budget stop
- Mock provider; vertical-slice mock jobs (
data/pairs/mock_smoke,vs_smoke; 0 USD) - Pre-submission budget check in batch mode
- Real pilot (Gate B): no live spend yet
Phase 3 — Pair quality
- Automated checks: length, copy/unrelated, language, placeholders, numbers, entities (proxy),
negation/hedges, structure (D), artefacts, optional MiniLM similarity (
validate/checks.py) - Quarantine instead of drop, acceptance by variant (
validate/pairs.py) - Bidirectional entailment (NLI)
- Human review tooling and protocol for stratified samples
Phase 4 — Architectures
- B0 identity, B1 rule-based paraphrase
- B2 pretrained encoder–decoder fine-tune (
training/hf_finetune.pyis referenced but missing) - M1, M2, M3 (copy gate, style branch, prototypes, GRL adversary) (
models/transformer.py) - Objective terms and ablation presets (
models/losses.py,scripts/train.py) - Hierarchical, section-level chunking and cross-paragraph consistency
Phase 5 — Training
- AdamW, warmup + cosine schedule, gradient accumulation, clipping, early stopping, resumable SafeTensors checkpoints, 6ND FLOPs, accelerator seconds
- One-batch overfit test (
vs_smoke-m1-nano: CE 5.28 → 0.0022) - [~] Mixed precision: bf16 on CUDA only; MPS stays fp32
- Activation checkpointing, profiling and memory estimation, distributed training
- Throughput benchmark per design point and node
Phase 6 — Evaluation
- Lexical and factual metrics, document-clustered bootstrap, paired differences vs B0, breakdowns by
stratum, stylometric W1, exploratory probe (
evaluation/) - Holm correction; bootstrap at 10 000 resamples for confirmatory analyses
- Disjoint split for fitting the style probe
- Non-identifiability test (E14), memorisation audit (E15), calibration (E18)
- Human evaluation (E16)
- [~] Vertical-slice evaluation: B0/B1 predictions exist; M1 predictions and
artifacts/metrics/are empty - PREREGISTRATION v1.0 frozen
Phase 7 — Release
- Inference API
HTRReconstructorwith placeholder restoration, warnings and notice (inference/pipeline.py) -
htr/cli.py. It is declared inpyproject.toml(htr = htr.cli:main) but is missing. -
htr/release/: HF-style export, model card generator, benchmark bundle,ATTRIBUTION.tsv -
model_cards/,demo/: both empty - Security, privacy and copyright review; clean-environment test
Phase 8 — Paper
-
paper/references.bib, verified -
paper/main.tex,supplement.tex, sections, figures, tables
Gates
- A — GO (
docs/gates/GATE_A.md) - B · [ ] C · [ ] D · [ ] E · [ ] F