docs: AGENTS.md — bus crate layout, standalone gui, decision C in core constraints
CI / msrv (push) Successful in 1m5s
CI / ci (push) Successful in 2m55s

This commit is contained in:
2026-10-25 17:21:31 -07:00
parent e40f0d5052
commit 76263ccbf0
+11
View File
@@ -67,6 +67,11 @@ call `poll()` in its loop, and `observe()` when it sees something.
- `tines-core` is `#![no_std]`; `alloc` is a cargo feature (default on). With - `tines-core` is `#![no_std]`; `alloc` is a cargo feature (default on). With
`--no-default-features` it must build for `thumbv7em-none-eabihf`. Only `--no-default-features` it must build for `thumbv7em-none-eabihf`. Only
`MemStore` may require `alloc`. `MemStore` may require `alloc`.
- Decision C (fleet console, approved 2026-10-24): the only sanctioned core
change — the additive `NodeEvent::Contact` / `NodeEvent::Lost` variants,
so hosts can see peers come and go. `Contact` fires only for a newly
added peer; idle eviction stays silent. Everything else in core stays
frozen for 1.0.
- No async, no threads, no I/O, and no panic on untrusted input in core. Every - No async, no threads, no I/O, and no panic on untrusted input in core. Every
frame from the wire is untrusted: malformed bytes are dropped, never frame from the wire is untrusted: malformed bytes are dropped, never
unwrapped. unwrapped.
@@ -146,9 +151,15 @@ tines/
tines-store/ std: LogStore, the persistent append-only backend tines-store/ std: LogStore, the persistent append-only backend
tines-bt/ std: BLE transport over BlueZ (bluer) tines-bt/ std: BLE transport over BlueZ (bluer)
tines/ std: standalone service, Unix-socket JSON IPC tines/ std: standalone service, Unix-socket JSON IPC
tines-bus/ std: host bus transport — hub-and-spoke Unix-socket daemon
(`tines-busd`) for simulated fleets
tines-ros2/ std: ROS2 node; rclrs behind the `ros2` feature tines-ros2/ std: ROS2 node; rclrs behind the `ros2` feature
``` ```
`tines-gui/` sits outside the workspace (like `fuzz/`): a standalone crate
with its own manifest and lockfile — the desktop fleet console. It's gated
by `scripts/ci.sh` separately from the workspace crates.
Only `tines-core` is headed for 1.0; the host crates stay 0.x (1.0 spec, D4). Only `tines-core` is headed for 1.0; the host crates stay 0.x (1.0 spec, D4).
They're std-only and may use threads and I/O, but they're still the trust They're std-only and may use threads and I/O, but they're still the trust
boundary for radio, IPC and disk input (see `THREAT_MODEL.md`). boundary for radio, IPC and disk input (see `THREAT_MODEL.md`).