Skip to content

📦 WP-099d — docs(data): the two layouts and what an annotation looks like

Engineering log · Phase 9 — Inference and generalization

🔗 Depends on WP-099b · Needed by none

⬅️ WP-099b · Roadmap · WP-099c ➡️

WP-099d — the code is the specification

The gap this closed: docs/DATASETS.md said where COCO and DOTA come from and nothing about what either layout looks like on disk or what one annotation contains, while the YOLO layout the project had just started supporting appeared in it nowhere at all.

docs/DATASETS.md also carries a standing rule that a layout reference is the first real test of: the code is the specification and the document follows it. Applied here, that means every claim about a directory convention is cited to the module that enforces it — data/layout.py, data/yolo.py, data/coco.py, data/dota.py — rather than described from the outside from what the layouts are believed to be.

The alternative is not a worse document but a second specification. Two independent statements of a convention agree on the day they are written and disagree the first time a candidate table gains a row, and the one a reader trusts is the one that cannot be executed.