feat: establish the bounded production architecture

This commit is contained in:
2026-08-28 22:28:24 +03:00
parent 4ff1718307
commit a957d0defc
21 changed files with 235 additions and 5 deletions
+13 -2
View File
@@ -392,7 +392,7 @@ If all criteria pass, set this milestone to `DONE`, append its execution record,
## Milestone 006 — Establish the bounded production architecture
**Status:** `READY`
**Status:** `DONE`
**Depends on:** Milestone 005
### Objective
@@ -421,11 +421,22 @@ Create the production firmware and test structure without implementing game beha
If all criteria pass, set this milestone to `DONE`, append its execution record, and change Milestone 007 from `BLOCKED` to `READY`.
### Execution record
- Date: 2026-08-28
- Board model and revision: ESP32-C6FH4 QFN32, revision v0.2.
- Toolchain and library versions: PlatformIO Core 6.1.19; `espressif32` 7.0.1; ESP-IDF 6.0.1; `esp_littlefs` 1.20.4.
- Result: PASS.
- Evidence: Added bounded production headers for configuration, types, application ownership, game engine, fleet generation, bot scheduling, sessions, presenter, statistics, transport, diagnostics, and deterministic interfaces. Added a fixed 16-command FIFO and a host test. HTTP diagnostics now include largest free block, connected clients, reset reason, and rejected oversized input. Network-facing code has no access to `application_t`; only the application queue may deliver commands to the future game owner.
- Measurements: Firmware build passed with 38,212 / 327,680 B RAM (11.7%) and 1,000,730 / 2,097,152 B flash (47.7%), within the Milestone 005 architecture gate of 1,080,000 B firmware and 220,000 B remaining heap. `make -C test/host run` passed the host command-queue test.
- Issues or deviations: No game behavior was implemented; that remains Milestone 007. No PSRAM, exceptions, RTTI, or heap-owning core containers were added.
- Next action: Milestone 007 is ready. Do not start it unless explicitly requested.
---
## Milestone 007 — Implement and exhaustively test the game domain core
**Status:** `BLOCKED`
**Status:** `READY`
**Depends on:** Milestone 006
### Objective