Documentation audit: glossary T0–T4 and source of truth, fixed links and factual drift (pose frame, offload tooling), README readability, live demo links, improvement records under docs/improvement/.
## Summary
Documentation audit: glossary T0–T4 and source of truth, fixed links and factual drift (pose frame, offload tooling), README readability, live demo links, improvement records under `docs/improvement/`.
- Closes #1
## Test plan
- [x] Relative markdown link check (33 files)
- [ ] CI verify job green
Extend glossary with storage floors, source of truth, and linkable anchors.
Fix broken links, pose frame drift, rsync/offload wording, and README tone.
Add docs/improvement audit records and live demo links in design journey.
CI was red on first push: checkout step used shallow clone of main, so PR commit was not in history.
Fixed in 9bec50e — fetch ${{ gitea.ref }} then checkout FETCH_HEAD.
Status: Verify simulator + Trivy scan passing on 9bec50e.
CI was red on first push: checkout step used shallow clone of `main`, so PR commit was not in history.
Fixed in `9bec50e` — fetch `${{ gitea.ref }}` then `checkout FETCH_HEAD`.
**Status:** Verify simulator + Trivy scan passing on `9bec50e`.
No workflow step or script added. Manual Python pass documented in docs/improvement/2026-07-10-audit.md only.
Glossary anchor validation for #term links
Not met
No CI validation. Audit: 102 glossary links, 0 broken anchors, but 24 links land on section headers (#swarm--robotics, #infrastructure--delivery, #data--storage) instead of term-specific ### anchors — e.g. Zenoh, C2, CRDT, GPS-denied in 04, 10, 01.
Optional readability pass (terminology lint, US spell-check)
Partial
Manual caveman README pass + US spelling fixes (behavior). No automated lint.
Live demos: prototype, SQL explorer, Grafana dashboard linked in journey.
Bonus fix: CI checkout now git fetch origin ${{ gitea.ref }} — fixes PR branch checkout (fatal: reference is not a tree). Worth keeping regardless of docs.
Remaining doc debt (non-blocking)
Item
Notes
Glossary table terms
Still no per-row anchors; many links jump to section top
T4 ordering in glossary
Source of truth sits between T3 and T4
schemas/ / DuckLake
Documented in OQ §13–§14, not implemented
GitOps “source of truth” vs data SSOT
Different meanings in 11-cicd-delivery — clarify later
pushpaths-ignore: docs/**
Docs-only pushes to main skip verify; PRs to main still run full CI
Add scripts/check_docs_links.py + CI job docs-verify on pull_request (and optionally drop paths-ignore for docs on push).
Extend glossary with ### per table term or fail CI when #swarm--robotics-style section links are used for named terms.
On failure: post workflow summary / PR comment with broken link list.
Summary: merge recommended for doc improvements + CI checkout fix. Issue #1 automation AC still open — adjust Closes #1 wording unless automation lands in same PR.
## PR review — checked against issue #1 acceptance criteria
Reviewed `9bec50e` as reviewer. CI: **Verify simulator** + **Trivy** green after checkout fix.
---
### Verdict
**Approve for merge as documentation delivery** — strong manual audit, glossary, link fixes, live demo links, `docs/improvement/` records.
**Do not treat as complete closure of issue #1** — none of the four automation acceptance criteria are implemented yet. Recommend either:
- change PR footer from `Closes #1` → `Relates to #1` and keep the issue open for automation follow-up, **or**
- merge and immediately reopen / spawn a child issue for CI checks only.
---
### Issue #1 acceptance criteria
| Criterion | Status | Evidence |
| --- | --- | --- |
| Link checker in CI for `docs/`, `infra/`, READMEs | **Not met** | No workflow step or script added. Manual Python pass documented in `docs/improvement/2026-07-10-audit.md` only. |
| Glossary anchor validation for `#term` links | **Not met** | No CI validation. Audit: 102 glossary links, 0 broken anchors, but **24 links land on section headers** (`#swarm--robotics`, `#infrastructure--delivery`, `#data--storage`) instead of term-specific `###` anchors — e.g. Zenoh, C2, CRDT, GPS-denied in `04`, `10`, `01`. |
| Optional readability pass (terminology lint, US spell-check) | **Partial** | Manual caveman README pass + US spelling fixes (`behavior`). No automated lint. |
| Report artifact or PR comment on failure | **Not met** | No CI job emits link/anchor report on failure. |
---
### What this PR delivers well
- **Glossary:** T0–T4, source of truth, layers, bulk sync/offload — 15 linkable `###` headings.
- **Links:** broken `03-storage-design.md` fixed; 33 markdown files, 0 broken relative `.md` links (manual check).
- **Factual:** pose frame 46 bytes / ASCII `drone_id` aligned with `broadcast.py` + `sim.ts`.
- **Terminology:** pipeline stages vs storage floors disambiguated in design journey §4.
- **Tooling docs:** rsync / `mc mirror` / `cp -ru` roles consistent.
- **Live demos:** prototype, SQL explorer, Grafana dashboard linked in journey.
- **Bonus fix:** CI checkout now `git fetch origin ${{ gitea.ref }}` — fixes PR branch checkout (`fatal: reference is not a tree`). Worth keeping regardless of docs.
---
### Remaining doc debt (non-blocking)
| Item | Notes |
| --- | --- |
| Glossary table terms | Still no per-row anchors; many links jump to section top |
| T4 ordering in glossary | `Source of truth` sits between T3 and T4 |
| `schemas/` / DuckLake | Documented in OQ §13–§14, not implemented |
| GitOps “source of truth” vs data SSOT | Different meanings in `11-cicd-delivery` — clarify later |
| `push` `paths-ignore: docs/**` | Docs-only pushes to `main` skip verify; PRs to `main` still run full CI |
---
### Suggested follow-up (issue #1 or new PR)
1. Add `scripts/check_docs_links.py` + CI job `docs-verify` on `pull_request` (and optionally drop `paths-ignore` for docs on push).
2. Extend glossary with `###` per table term **or** fail CI when `#swarm--robotics`-style section links are used for named terms.
3. On failure: post workflow summary / PR comment with broken link list.
---
**Summary:** merge recommended for doc improvements + CI checkout fix. Issue #1 automation AC still open — adjust `Closes #1` wording unless automation lands in same PR.
Enforce link resolution, glossary anchors, and readability rules on every
push and PR; docs-only pushes to main still run docs-verify while skipping
the simulator gate.
Store doc rules in bin/docs_rules.json (stdlib json). test_check_docs no
longer fails in the simulator job that only installs simulator/requirements.txt.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Documentation audit: glossary T0–T4 and source of truth, fixed links and factual drift (pose frame, offload tooling), README readability, live demo links, improvement records under
docs/improvement/.Test plan
CI was red on first push: checkout step used shallow clone of
main, so PR commit was not in history.Fixed in
9bec50e— fetch${{ gitea.ref }}thencheckout FETCH_HEAD.Status: Verify simulator + Trivy scan passing on
9bec50e.PR review — checked against issue #1 acceptance criteria
Reviewed
9bec50eas reviewer. CI: Verify simulator + Trivy green after checkout fix.Verdict
Approve for merge as documentation delivery — strong manual audit, glossary, link fixes, live demo links,
docs/improvement/records.Do not treat as complete closure of issue #1 — none of the four automation acceptance criteria are implemented yet. Recommend either:
Closes #1→Relates to #1and keep the issue open for automation follow-up, orIssue #1 acceptance criteria
docs/,infra/, READMEsdocs/improvement/2026-07-10-audit.mdonly.#termlinks#swarm--robotics,#infrastructure--delivery,#data--storage) instead of term-specific###anchors — e.g. Zenoh, C2, CRDT, GPS-denied in04,10,01.behavior). No automated lint.What this PR delivers well
###headings.03-storage-design.mdfixed; 33 markdown files, 0 broken relative.mdlinks (manual check).drone_idaligned withbroadcast.py+sim.ts.mc mirror/cp -ruroles consistent.git fetch origin ${{ gitea.ref }}— fixes PR branch checkout (fatal: reference is not a tree). Worth keeping regardless of docs.Remaining doc debt (non-blocking)
Source of truthsits between T3 and T4schemas// DuckLake11-cicd-delivery— clarify laterpushpaths-ignore: docs/**mainskip verify; PRs tomainstill run full CISuggested follow-up (issue #1 or new PR)
scripts/check_docs_links.py+ CI jobdocs-verifyonpull_request(and optionally droppaths-ignorefor docs on push).###per table term or fail CI when#swarm--robotics-style section links are used for named terms.Summary: merge recommended for doc improvements + CI checkout fix. Issue #1 automation AC still open — adjust
Closes #1wording unless automation lands in same PR.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.