Document HTTP API and complete manual for slices 1–2

Add ch-api.tex for REST endpoints and boot flow, update ch-firmware,
ch-build, and ch-intro. Extend CONTRIBUTING, instructions, and README
with manual sync checks and API reference.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-06 11:04:22 +02:00
co-authored by Cursor
parent ddbee70c23
commit 425b3f98cf
9 changed files with 238 additions and 45 deletions
+9 -1
View File
@@ -40,12 +40,17 @@ cmake --build build-host
ctest --test-dir build-host --output-on-failure
```
Documentation (must exit 0 with an empty warnings log):
Documentation (must exit 0; run from `Software/`):
```bash
doxygen Doxyfile
python3 tools/check-manual-sync.py
```
The LaTeX manual (`docs/manual/`) documents design and the HTTP JSON API
(`ch-api.tex`); Doxygen documents C++ signatures. Rebuild the PDF with
`latexmk -lualatex manual.tex` inside `docs/manual/`.
## Coding conventions
The guiding idea is *Code That Fits in Your Head*: code must fit in
@@ -97,6 +102,9 @@ Before opening a PR, confirm:
- [ ] Every file has the Apache-2.0 header.
- [ ] Every class and method has its documentation block.
- [ ] `doxygen Doxyfile` exits 0 with an empty warnings log.
- [ ] `python3 tools/check-manual-sync.py` passes.
- [ ] Manual updated: `ch-classes.tex` for new/changed public classes;
`ch-api.tex` for new/changed HTTP endpoints.
- [ ] Every method fits 80x24 and complexity <= 7.
- [ ] Fallible paths return typed results; no silent failure.
- [ ] Pure-core logic has passing host unit tests.