Documentation Guide
How this repository's documentation and planning content is organized β where to look for something, and where to put something new.
Status legend (used throughout the design docs below): β Implemented β exists in code today Β· π§ Planned β designed, not yet built Β· π¬ Research β exploratory / v2.
How planning works
Planning content lives in four places with deliberately non-overlapping jobs:
| Place | Job |
|---|---|
| GitHub (issues + the OCF Project board) | The complete, ordered task list β including quick tweaks and non-code tasks β plus all discussion. Fine-grained prioritisation lives only in GitHub. Epics map 1:1 to the roadmap milestones; dependencies are recorded as blocked by issue relationships. |
docs/roadmap/ |
Design depth: What we plan to build and why. The milestone arc and inter-plan dependencies are recorded here; fine-grained task-level ordering is not. |
docs/techniques, background, architecture, ml_experimentation, live_service |
What is already built β design (architecture/) and operational how-to (ml_experimentation/, live_service/) alike. This is where content moves to from docs/roadmap/ after implementation. |
plans/ (repo root, not published) |
At most one file: the mechanical checklist for the PR currently in flight, deleted when it merges. Usually empty. |
Relationship between docs/roadmap/ and GitHub: Every substantial π§ plan in the
docs/roadmap/ folder has a GitHub issue, and every dependency stated in docs/roadmap/ exists as
a blocked by link on GitHub β but GitHub freely contains small issues with no counterpart here in
the docs. (π¬ research ideas are exempt from GitHub until they are promoted to a milestone.) The
litmus test for needing a design doc in docs/roadmap/: does it take more than a few sentences to explain?
When a piece of work ships, its design content moves out of roadmap/ to its permanent home
β and the roadmap page shrinks; when a page's last π§ item ships, the page is deleted. That
permanent home splits along a why vs. how line: architecture/ holds system design β the
decisions and rationale, written once and rarely re-read step-by-step β while
ml_experimentation/ and
live_service/ hold operational how-to β step-by-step recipes for
running what's already built, one per area (ML backtesting vs. the live production service).
Each architecture/ design page names its how-to counterpart (and vice versa) in a "See also"
section β e.g. ML Orchestration Design β
ML Experimentation, and
Production Deployment β Design β
Setting up the live service on AWS. A page mixing the two β design
rationale followed by a runbook with literal commands β is a sign it should split along this line.
The docs/roadmap/ folder therefore contains only design for work that is not yet implemented,
and is never a mirror of the code. Because roadmap pages are deletable, code must never link into
roadmap/ β instead, code docstrings link to the durable sections (techniques/,
architecture/, background/, ml_experimentation/, live_service/) instead. The methods
behind these plans β differentiable physics, learned encoders, the disaggregation-evaluation
protocol β live in Techniques for exactly this reason: they survive the
roadmap items that apply them.
Which place do I use?
| I want to⦠| Go to |
|---|---|
| Decide what to work on this morning | The GitHub Project board (complete, ordered) |
| Discuss / challenge a plan | GitHub issue comments (fold conclusions back into the roadmap page) |
| Think through a substantial design | A docs/roadmap/ page, reviewed via PR |
| Communicate direction to NGED / leadership | The milestones (published site) |
| Give an AI coding tool context on the broader plan | docs/roadmap/ (plus gh for live task priorities) |
| Understand a method (DP, encoders, β¦) | docs/techniques/ |
| Understand why something already built works the way it does | docs/architecture/ |
| Learn how to run/operate something already built, step by step | docs/ml_experimentation/, docs/live_service/ |
| File a quick tweak or a non-code task | A GitHub issue only β no markdown needed |
| Write the mechanical checklist for the PR in flight | plans/ (single file, deleted on merge) |