Skip to content

📚 Provenance Log

Every design decision in this repository cites its public source. This file is the clean-room evidence record: sources are logged here on first use, and every commit carries a Provenance: trailer referencing the source ids below. No Ultralytics code surface, config, weight, or web property (including docs.ultralytics.com) has been consulted at any point — see the denylist in AGENTS.md.

✅ Source allowlist

Admissible references. Anything not on this list requires a DECISIONS.md entry before first use; denylisted surfaces are never admissible.

Reference implementations (R25–R28, R36) are admitted under D13/ADR-004 on two standing conditions. Licence: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause or ISC only — copyleft (AGPL, GPL, LGPL), source-available, research-only, non-commercial, commercially licensed and unlicensed code are inadmissible at any cost, and an unestablished licence counts as inadmissible rather than permissive. Use: reading for diagnosis only; copying code from any external detection repository remains prohibited (AGENTS.md sec. 7). A per-use provenance check still applies to individual files — the entries below record licence verification, not a blanket clearance of every file in the repository.

Papers under reproduction

ID Reference Role
R1 Jocher, G. et al., Ultralytics YOLO26: Unified Real-Time End-to-End Vision Models, arXiv:2606.03748 (2026) Method source: Eq. 1–15, Figs. S1/S2, Tables 2–11, S1–S11
R2 Sapkota, R. et al., YOLO26: Key Architectural Enhancements and Performance Benchmarking for Real-Time Object Detection, arXiv:2509.25164 (2026) Independent analysis; benchmark corroboration (incl. seg/OBB tables)
R3 Hidayatullah, P., Tubagus, R., YOLO26: A Comprehensive Architecture Overview and Key Improvements, arXiv:2602.14582 (2026) Third-party architectural specification: variant multipliers, block diagram, SPPF shortcut, Top-K decoding, STAL minimum-anchor behavior

Cited primary literature

ID Reference Role
R4 Feng, C. et al., TOOD: Task-Aligned One-Stage Object Detection, arXiv:2108.07755 (ICCV 2021) TAL formulation and alpha/beta defaults (A2)
R5 Li, X. et al., Generalized Focal Loss, arXiv:2006.04388 (NeurIPS 2020) DFL definition (the mechanism being removed)
R6 Wang, A. et al., YOLOv10: Real-Time End-to-End Object Detection, arXiv:2405.14458 (NeurIPS 2024) Consistent dual assignment
R7 Liu, J. et al., Muon is Scalable for LLM Training, arXiv:2502.16982 (2025) Muon update, Newton–Schulz orthogonalization
R8 Jordan, K., Muon: An optimizer for hidden layers in neural networks, kellerjordan.github.io/posts/muon (2024) Reference NS iteration count and step scaling (A5, A6)
R9 Bochkovskiy, A. et al., YOLOv4, arXiv:2004.10934 (2020) Mosaic augmentation; CIoU adoption in the lineage
R10 Zheng, Z. et al., Distance-IoU Loss, arXiv:1911.08287 (AAAI 2020) CIoU definition (A1)
R11 Hidayatullah, P. et al., YOLOv8 to YOLO11: A Comprehensive Architecture In-depth Comparative Review, arXiv:2501.13400 (2025) C3k2/C2PSA/SPPF internals in the YOLO11 lineage (A3)
R13 Zhou, Y. et al., MMRotate, arXiv:2204.13317 (ACM MM 2022) Long-edge angle convention; rotated-box tooling conventions (A21, A23)
R14 Li, J. et al., Human Pose Regression with Residual Log-Likelihood Estimation, arXiv:2107.11291 (ICCV 2021) RLE keypoint loss (Eq. 8, sec. 3.2–3.3, Appendix A Eq. 12) and its Table 7 flow-free ablation baseline (A65, A66)
R16 Bolya, D. et al., YOLACT: Real-time Instance Segmentation, arXiv:1904.02689 (ICCV 2019) Prototype–coefficient mask formulation; protonet, K, coefficient, mask-loss conventions (A14–A18)
R17 Llerena, J. M. et al., Gaussian Bounding Boxes and Probabilistic IoU, arXiv:2106.06072 (2021) ProbIoU rotated loss (A19)
R20 Redmon, J. et al., You Only Look Once: Unified, Real-Time Object Detection, arXiv:1506.02640 (CVPR 2016) Origin of the YOLO family term; MIT-licensed Darknet lineage (naming attribution)

Dataset and tooling documentation (Ultralytics-unrelated)

ID Reference Role
R12 Lin, T.-Y. et al., Microsoft COCO, arXiv:1405.0312 (ECCV 2014); cocodataset.org Dataset and eval protocol (bbox + segm)
R18 Xia, G.-S. et al., DOTA: A Large-scale Dataset for Object Detection in Aerial Images, arXiv:1711.10398 (CVPR 2018) + official devkit Dataset, crop convention, val evaluation protocol, license terms
R21 fuse-augmentations, github.com/Borda/fuse-augmentations, commit a5a276addf38e2dfd80ecaf287b2328445e545a6, Apache-2.0 Two roles, acquired in that order. Synthetic scene generator for test fixtures and dataset stand-ins (A26) since WP-131, and since Phase 14 this project's augmentation engine as well (ADR-005): the letterbox fit, matrix and resample (WP-155), the post-warp instance keep mask replacing two local copies that had to agree (WP-155), the affine warp as one composed geometric segment (WP-156), the rotated-box transports and the keypoint left/right permutation (WP-157). The division ADR-005 records is convention upstream, policy here — fuse owns how a matrix is built, composed and sampled, lucid-yolo owns which numbers go into it, the Targets container, the composition order and the R1 Table S3 recipe. Nothing about the second role changes the clean-room position: this is a permissively licensed general-purpose augmentation package with no YOLO-implementation lineage, admitted as a dependency and not as a source to read a method from. Pinned via git commit (WP-131) rather than a PyPI version since the version string does not move release to release. Advanced from commit 74af9855 to fedde0c1 by WP-132, which needs SymbolShape — the keypoint-bearing shapes the pose overfit gate draws — and lands two upstream commits, 0a0cc640 (SymbolShape) and fedde0c1 (LetterShape, plus the category-scoping and ClassMode coercion fixes). The row named 0a0cc640 until WP-146 reconciled it with pyproject.toml, which has pinned fedde0c1 since WP-132. That bump is not fixture-neutral, and 0a0cc640 is the whole of why: it redefines GeomShape.TRIANGLE from equilateral to obtuse-scalene and re-centres every outline on its area centroid, moving the det/obb/seg fixtures' instance counts and box sums (WP-132's log carries the deltas and what was re-frozen). fedde0c1 is fixture-neutral, measured rather than assumed — both generator-derived goldens produce identical values at either commit (WP-146). Advanced from fedde0c1 to a5a276a (the tree upstream tags v0.12.0 from) by WP-154, which the Phase 14 augmentation upstreaming is gated on; this bump spans fifteen upstream commits of which only two touch the generator. 964fd07 (registry, SVG assets, Fill type) removes the animal_shapes helper — replaced here by the tuple(AnimalShape)[:n] selection it performed — and is fixture-neutral, measured at the commit. abbf1f2 (upright OBB, triangle) is the whole of what moves: PrimitiveShape.TRIANGLE becomes equilateral again and polygon_to_obb is re-derived in the shape's upright frame instead of by minimum-area calipers, returning all sixteen moved golden values bit-exactly to the figures frozen before 0a0cc640 (WP-154's log carries the per-commit trace). The remaining eleven commits are augmentation-engine work and move no fixture value. No YOLO-implementation lineage; verified Apache-2.0
R22 torchmetrics, Lightning AI, github.com/Lightning-AI/torchmetrics, Apache-2.0 MeanAveragePrecision bbox mAP engine for the detection acceptance instrument (WP-069). Apache-2.0 verified from the installed 1.9.0 wheel dist-info licenses/LICENSE
R23 faster-coco-eval, github.com/MiXaiLL76/faster_coco_eval, Apache-2.0 COCOeval-faithful, pycocotools-free backend for MeanAveragePrecision (WP-069). Apache-2.0 verified from the installed 1.7.2 wheel dist-info licenses/LICENSE (PyPI metadata omits the license field)
R24 Lin, T.-Y. et al., Focal Loss for Dense Object Detection, arXiv:1708.02002 (ICCV 2017) Prior-probability classification bias initialization (sec. 5.1, pi = 0.01) for dense one-stage heads (A30)
R25 torchvision, github.com/pytorch/vision, BSD-3-Clause Permissive reference implementation admitted under D13/ADR-004 for diagnostic reading only (never copied). BSD-3-Clause verified 2026-08-05 from the repository LICENSE ("Copyright (c) Soumith Chintala 2016"). No Ultralytics lineage: PyTorch-project detection stack, independent of the YOLO family
R26 YOLOX, Megvii-BaseDetection, github.com/Megvii-BaseDetection/YOLOX, Apache-2.0 Permissive reference implementation admitted under D13/ADR-004 for diagnostic reading only (never copied). Apache-2.0 verified 2026-08-05 from the repository LICENSE ("Copyright (c) 2021-2022 Megvii Inc."). Independent anchor-free YOLO lineage (arXiv:2107.08430), no Ultralytics code
R27 MMDetection, OpenMMLab, github.com/open-mmlab/mmdetection, Apache-2.0 Permissive reference implementation admitted under D13/ADR-004 for diagnostic reading only (never copied). Apache-2.0 verified 2026-08-05 from the repository LICENSE ("Copyright 2018-2023 OpenMMLab"). Core mmdetection only — the sibling mmyolo repository reimplements Ultralytics-family models and is deliberately excluded pending a provenance check it has not been given
R28 PaddleDetection (PP-YOLOE), PaddlePaddle, github.com/PaddlePaddle/PaddleDetection, Apache-2.0 Permissive reference implementation admitted under D13/ADR-004 for diagnostic reading only (never copied). Apache-2.0 verified 2026-08-05 from the repository LICENSE (unmodified Apache template, no named holder in the file). Independent PaddlePaddle detection stack
R29 matplotlib, github.com/matplotlib/matplotlib, PSF-based Matplotlib License Vector figure rendering for the reproduction report (WP-080), a dev-extra tool only — not a runtime dependency. Permissive PSF-derived license verified 2026-08-06 from the installed 3.11.1 wheel dist-info LICENSE ("Copyright (c) 2012- Matplotlib Development Team; All Rights Reserved")
R30 mdformat, github.com/hukkin/mdformat, MIT, with its mdformat-gfm plugin, github.com/hukkin/mdformat-gfm, MIT Markdown formatter run as a commit-time hook, a pre-commit tool only — installed in the hook's own environment, never a project dependency. MIT verified 2026-08-11 from each repository's LICENSE ("Copyright (c) 2021 Taneli Hukkinen" and "Copyright (c) 2020 Taneli Hukkinen"). The plugin is what makes the formatter table-aware: core mdformat is CommonMark-only and would read a GFM table as prose
R31 shapely, github.com/shapely/shapely, BSD-3-Clause Polygon-intersection oracle for the WP-063 rotated-IoU gate (A24). A dev dependency-group package only — src/ never imports it, and A24 places the oracle in tests precisely so it stays an independent implementation rather than our own float64 code checking our own float32 code. BSD-3-Clause verified 2026-08-11 from the installed 2.1.2 wheel dist-info licenses/LICENSE.txt ("Copyright (c) 2007, Sean C. Gillies. 2019, Casper van der Wel. 2007-2022, Shapely Contributors"), corroborated by the License: BSD 3-Clause metadata field and the License :: OSI Approved :: BSD License classifier. Disclosure: the same wheel bundles the GEOS native library, whose licenses/LICENSE_GEOS declares LGPLv2.1 — dynamically linked, present only in the development and test environment, never vendored into this repository, never linked into any published artifact, and absent from the runtime dependency set. Allowed under D15, which also made the license audit read bundled License-File documents rather than metadata fields alone; that change immediately surfaced the same class of exposure in numpy, a runtime dependency, which no audit here had ever seen
R32 Roboflow Universe dataset Cars, workspace gongx, project cars-jnnoy, version 1, YOLO-format export, CC BY 4.0 (licence stated in the export's own README.dataset.txt and data.yaml) The YOLO label format as a dataset artifact, read for WP-099: a data.yaml (names as an index-ordered list, nc, split entries written ../train/images beside a real <root>/train/images tree) and a 70-image train split of normalized cls cx cy w h rows. Registered because the format has no specification on the paper allowlist while AGENTS.md forbids reading any implementation's reader — a published export is the format "as published by the datasets themselves". Data only: no code, no configuration written by a detector implementation, no weights. Verified 2026-08-14 by reading the export on disk
R33 MkDocs, github.com/mkdocs/mkdocs, BSD-2-Clause; MkDocs Material, github.com/squidfunk/mkdocs-material, MIT; mdformat-mkdocs, github.com/KyleKing/mdformat-mkdocs, MIT Documentation-site toolchain (WP-114), a publishing tool only — installed through the docs dependency group and the pre-commit hook's own environment, never imported by src/ and never by a gate. Licences verified 2026-08-16 from each repository's LICENSE ("Copyright © 2014-present, Tom Christie", "Copyright (c) 2016-2025 Martin Donath", "Copyright (c) 2024 Kyle King"). The site renders the same markdown files GitHub does; nothing here generates a page from source
R34 packaging, github.com/pypa/packaging, dual Apache-2.0 OR BSD-2-Clause Requirement, marker and extras parsing for the dependency-tier walk in scripts/lint/audit_licenses.py (WP-115; the script sat at scripts/audit_licenses.py when this row was written and moved in WP-129). A dev dependency-group package only -- src/ never imports it, and it arrived transitively (pytest and mkdocs both require it) before it was declared. Licence verified 2026-08-16 from the installed distribution's own License-Expression field, Apache-2.0 OR BSD-2-Clause, with both texts shipped as LICENSE.APACHE and LICENSE.BSD; GitHub's licence detector reports NOASSERTION for the dual grant, which is why the wheel rather than the API is what this row cites
R35 docformatter, github.com/PyCQA/docformatter, MIT PEP 257 docstring formatter run as a commit-time hook (WP-116), a pre-commit tool only -- installed in the hook's own environment, never a project dependency. MIT verified 2026-08-17 from the repository's own LICENSE; its PyPI metadata declares Expat and carries two licence classifiers, MIT beside License :: Other/Proprietary License, which the repository text does not support and which is recorded here rather than smoothed over. It splits a summary at the first period it reads as a sentence end, which is why 32 summary lines were rephrased to spell out Eq. and sec.
R36 RF-DETR, Roboflow, github.com/roboflow/rf-detr, Apache-2.0 Permissive reference implementation admitted under D13/ADR-004 for diagnostic reading only (never copied). Apache-2.0 verified 2026-09-04 from the local checkout's LICENSE ("Copyright 2025 Roboflow, Inc." in the filled appendix). Independent DETR lineage (arXiv:2304.08069 lineage, LW-DETR/Deformable-DETR family), no Ultralytics code. What was read: the commit range 1.9.0..develop (tag a700efc7; 137 non-merge commits at the time of reading on 2026-09-04, the branch has advanced since), surveyed for training- and validation-throughput changes after WP-162. Changelog and commit prose only — every mechanism this project acted on was restated in its own words from that prose, and the three candidates it produced were re-derived here and measured here before any of them landed (WP-163, WP-164, WP-165). What was not read, and stays unread: rfdetr_plus and the RF-DETR XL/2XL models it gates, which docs/reference/xlarge.md licenses under the Platform Model License (PML-1.0) from a separate repository — non-permissive, so inadmissible at any cost. The sibling checkout at ~/Workspace/rf-detr-internal was likewise never opened; it was set aside during the survey on the stated ground that its licence was unestablished, and that ground turns out to be wrong — it carries an Apache-2.0 LICENSE file. The record says so rather than keeping the tidier reason. It remains unread, and admitting it would be a fresh decision this row does not make

Project-internal governing documents

Not an external source and not admissible as one: this row exists because the register is what a reader checks a citation against, and a document cited 133 times from src/ with no row here is a citation that resolves to nothing.

ID Reference Role
R37 The governing blueprint, v1.5 (2026-07-10), authored by this project's principal (Jirka Borovec, the copyright holder NOTICE names). Unpublished and non-public, held outside this repository and never distributed with it; it carries no licence grant, so no part of it is redistributable and nothing in it may be quoted here beyond what a decision record already restates. The project's own specification, not a method source. It states the layout (sec. 7), the variant table (sec. 5.1, itself sourced from R3 Fig. 1), the block stack (sec. 5.2, 5.3), the loss composition (sec. 5.7), the augmentation recipe (sec. 5.9), the dataset layout (sec. 14.3) and D1–D11, which docs/DECISIONS.md transcribes. Cited from code by section: 133 blueprint references across 36 files under src/, 107 of them in the blueprint sec. N form (measured 2026-09-05). Every method claim it carries is downstream of R1–R36 — where a blueprint section and a paper disagree the paper governs, and where the blueprint is the only source the choice is an assumption and belongs in ASSUMPTIONS.md. Registered by WP-175; the amendments made after it are D12.

Placeholders

ID Status
R15 Withdrawn (blueprint v1.4). Formerly the prose pages of docs.ultralytics.com; removed because the site is generated from the AGPL repository. Retained as a numbered placeholder so R16–R21 ids stay stable. No page was ever consulted.
R19 Legal-evidence citation only, never an implementation source: Ultralytics GitHub org discussion 14008 (public, non-code) stating licensing terms "apply to the specific implementation of the YOLO models, not the conceptual model itself." Collected at planning time by the planning role.

🏷️ Naming evidence record

Package name lucid-yolo uses "YOLO" as a model-family/category term. Evidence:

  1. Origin: "YOLO" coined by Redmon et al. (2016) [R20]; the original Darknet implementations are MIT-licensed.
  2. Multi-party generic usage: YOLOX (Megvii), YOLOv6 (Meituan), YOLOv7/v9 (Wang et al.), PP-YOLOE (Baidu), YOLO-NAS (Deci), YOLOv13 (Lei et al.) — a decade of unrelated parties using the family name.
  3. Ultralytics' own position [R19]: licensing terms "apply to the specific implementation of the YOLO models, not the conceptual model itself."
  4. Word-mark status: the bare "YOLO" US software word mark is registered to an unrelated entity (Next Computer Inc., Reg. 6927573), itself subject to a pending cancellation proceeding.

Usage discipline — the rule cited across this repository as sec. 3.5. This document carries no section numbers, so that citation resolves to nothing on its own; it is recorded here, at the paragraph it names, so the existing citations resolve rather than being rewritten one by one. Cite it as PROVENANCE.md's usage discipline in anything written from now on.

"YOLO26", "YOLO11", "Ultralytics", and their logos never appear in package names, module paths, class names, or model identifiers. Nominative references to the paper ("the YOLO26 paper, arXiv:2606.03748") are the only usage. The YOLO26 method implementation is exposed under the feature name e2e (variants lucid-yolo-e2e-{n,s,m,l,x}), never a version number.

🔍 Audit record

Periodic audits of the clean-room contract (AGENTS.md denylist) against the full execution record. Method and detailed findings live in the project's design document (sec. 12); this table is the versioned summary.

Date Scope Evidence layers Verdict
2026-08-02 WP-001–WP-069, 56 commits, audited at 975ff50 codebase/dependency sweep · commit provenance trail — this cell read "55/56 trailers, all allowlist-cited"; its second half is withdrawn, corrected 2026-09-06 from the messages themselves. The count stands: 55 of the 56 messages carry a trailer block, the initial commit 5aa88a7 ("Initial commit") being the one that does not. "All allowlist-cited" does not. Three messages in the range fail on their citation rather than their formatting: e335c69 cites D12c, a decision id, where the field takes a source id from the register below; 1198209 writes "Provenance: not applicable", which neither names a source nor denies one — the case the rule refuses outright, none being a value and a paraphrase of it not being one (its WP: none (cross-cutting user directive, 2026-08-02) is present, and fails only on the annotation, so it belongs with the format defects below rather than here); and 6db2b30 cites R19 to mean pycocotools, where R19 is the Placeholders row for a legal-evidence citation, inadmissible as an implementation source and naming something else entirely. Re-walking the range today with scripts/lint/check_commit_trailers.py --range 5aa88a7..975ff50 reports 7 of 55 invalid — 8 of 56 with the initial commit — the four beyond those three being annotation inside a trailer's value field (A30 (new), none (official host only, no mirrors), A26 (synthetic stand-in)) and one @ before the separator. Those four are format rules the checker tightened after this range was written, and the checker itself postdates it; the three citation defects were checkable by hand on 2026-08-02 and are what this row got wrong. The commits are not amended and the count is not restated as a pass — the record of what was audited stands, and what it certified is corrected · complete session fetch log (only R1, R7, R8, R12, R21 endpoints; zero denylisted domains) · delegated-work hand-over records · persistent agent memory Upheld — no Ultralytics code, config, weights, or docs consulted at any point; every design input traces to R1–R24 or a registered assumption. The clean-room verdict is unchanged by the correction beside it (2026-09-06): the three defects are citations that do not resolve, not sources that should not have been read, and 6db2b30's stray R19 names pycocotools in its own parenthesis rather than the discussion page that row registers. What the correction costs is the strength of the evidence, not the finding — the trail was certified as fully resolving and did not
2026-09-05 The 193 commits in 975ff50..f6ec3e1, the whole execution record after the first audit's endpoint commit provenance trail re-walked with scripts/lint/check_commit_trailers.py --range (193 messages; the 15 written since b4f3e03 wired the contract into CI are clean, and the 27 refusals all predate that wiring — each refusal is recorded here as unexamined rather than characterised) · dependency and shipped-binary sweep with scripts/lint/audit_licenses.py (107 distributions, 344 shipped binaries, no GPL-family licence declared, bundled or shipped, none unreadable) · vendor-attribution sweep of every prose surface, which is what this row was opened by: the phrase the Ultralytics YOLO26 paper survived sec. 3.5's discipline in NOTICE, docs/index.md and all four model cards after WP-161 corrected it in the README alone · source-allowlist reconciliation, which added R37 and confirmed R36's registration on 2026-09-04 Upheld with one wording defect fixed rather than waived — no Ultralytics code, configuration, weights or documentation surface consulted; the defect was a citation naming the vendor as the method's owner, corrected to the nominative form and now pinned as a required fragment in scripts/lint/audit_license_headers.py so it cannot drift back unnoticed. Not re-verified here: the pre-975ff50 window, and the session fetch logs the first row could read, which do not exist for delegated work in this range

📝 Usage log

First-use log of sources consulted during implementation. Papers are cited by arXiv id; access dates recorded per session.

Two properties of this table a reader should not have to infer. It is a first-use log, not a coverage index: a source appears once, on the day it was first read, and every later use of it is traced through the Provenance: trailers and the register rows above rather than by another line here. And it has lagged the allowlist — the rows below were reconciled against the register on 2026-09-06, which added every source that had been registered without a usage line and marked the ones with no consultation to record. Registration and use are different acts, and this table only ever recorded the second; where it recorded neither, that was the defect, not evidence of a quiet read.

The R1–R20 row is a genuine collapse and stays one. Those twenty were transcribed into the policy documents in a single seeding pass (WP-003) from the blueprint's own reference list, not read one at a time, so splitting the row into twenty dated lines would invent twenty first-use events that never happened. Which of them a given decision actually rests on is in the register's Role column and in each commit's trailer, and that is the resolution this table cannot supply.

Date Source Used for
2026-07-31 R20 NOTICE attribution, README disclaimer (WP-002)
2026-08-01 R1–R20 Policy docs seeded from the blueprint (WP-003)
2026-08-01 R21 Synthetic fixture/dataset generator decision (A26, D12)
2026-08-02 R22, R23 torchmetrics MeanAveragePrecision + faster_coco_eval backend replace pycocotools in the bbox evaluator (WP-069)
2026-08-02 R24 Prior-probability cls bias init adopted after the Det-smoke collapse diagnosis (A30)
2026-08-05 R25, R26, R27, R28 Admitted, not consulted. All four were licence- and provenance-verified on this date and registered under D13/ADR-004 as readable diagnostic references. Nothing is recorded as having been read from any of them: no Provenance: trailer in the history cites one (the three commits that mention these ids at all are the D13 registration itself, whose own trailers cite the user decision and the LICENSE files fetched that day), and the four ids appear in no other file in the tree — no entry in ENGINEERING_LOG.md, RESEARCH_LOG.md or ESCALATION.md names one. Checked 2026-09-06. The two Det-smoke root causes that motivated the widening were found by measurement instead (WP-078 pixel-frame L1, WP-079 augmentation-RNG collapse), which ADR-004's own Context already says. The allowance stands and remains unexercised; a first read is a line in this table
2026-08-06 R29 matplotlib adopted for the reproduction report's vector figures (WP-080), and again as the drawing library for WP-067's example after supervision was refused on the D16 finding
2026-08-11 R30 mdformat + mdformat-gfm adopted as the markdown commit hook (WP-001)
2026-08-11 R31 shapely as the independent polygon-intersection oracle for the rotated-IoU gate (A24, WP-063); its bundled GEOS binaries are what opened D15
2026-08-14 R32 The YOLO label format read as a dataset artifact — data.yaml shape and normalized cls cx cy w h rows — for the reader and its validation rules (A54–A58, WP-099)
2026-08-16 R33 MkDocs + Material + mdformat-mkdocs adopted as the documentation-site toolchain (WP-114)
2026-08-16 R34 packaging used for requirement, marker and extras parsing in the licence audit's dependency-tier walk (WP-115)
2026-08-17 R35 docformatter adopted as the PEP 257 docstring commit hook (WP-116)
2026-09-04 R36 Throughput survey of the 1.9.0..develop range, read for validation-path candidates; three landed after being re-derived and measured here (WP-163, WP-164, WP-165)
2026-09-05 R37 The governing blueprint, registered on the date its src/ citations were counted (WP-175). Not an external source and never a first use: it has been cited since the first commit, and this line records when it became resolvable against this register rather than when it was first read