docs: centralize Markdown developer manual

This commit is contained in:
Onur Özkan committed 2026-08-09 14:24:03 +03:00
1 parent 7e4afb4f9c
commit 404e466fc2
19 files changed
+414 -50

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
# Architecture
Kaptan separates immutable board configuration from platform-owned runtime
resources and portable flight logic.
```text
board declaration
│
▼
F722 platform / RTIC application ──► data channel ──► MAVLink telemetry
│
├── physical sensor drivers
└── motor-pin inhibit interlock
portable libraries
math ─► navigation ─► control ─► safety
```
The board contract selects one immutable `BoardProfile`. The checked-in
profile is `TelemetryOnly`; `ExternalControlOnly` is represented explicitly
but rejected at validation time because it has no reviewed runtime.
The data channel owns rate selection, mailbox consumption, message encoding,
and bounded TX classification. Board code supplies physical routes and
telemetry configuration; it does not receive generic output authority.
## Ownership rules
- A peripheral owner is local to the platform runtime.
- Portable crates use typed units and validated values rather than raw wire or
timer representations.
- A safety permit is epoch-bound and must be revalidated at the only nonzero
output boundary.
- A failed observation or numerical check does not partially commit estimator,
controller, allocator, or safety state.