diff --git a/docs/bba_compat_todo.md b/docs/bba_compat_todo.md index 0b977f1..c158098 100644 --- a/docs/bba_compat_todo.md +++ b/docs/bba_compat_todo.md @@ -66,10 +66,17 @@ driver's smaller ring is respected instead of ignored. **Garbage is rejected, not obeyed.** The bounds are used only when `bp >= 1` (page 0 is the TX buffer), `rhbp <= 0x0F` and `rhbp > bp`; -otherwise the hardcoded pages 1–15 stand and `geom_honoured` goes low, so a -mismatch is observable rather than silent. Without that check, `BP = 0` or an -`RHBP` below `BP` gives a zero or negative ring size and the assembler writes -outside it. +otherwise the hardcoded pages 1–15 stand and `geom_honoured` goes low. +Without that check, `BP = 0` or an `RHBP` below `BP` gives a zero or negative +ring size and the assembler writes outside it. + +⚠️ **`geom_honoured` is NOT yet observable from outside the FPGA.** It is +declared on `RXFrameAssembler` and asserted correctly (T7/T7b check it), but +`BBATop` does not wire it to anything — no status register, no LED, no UART +line. So a rejected geometry is currently silent to the GC and to the bench. +Wiring it to the `StatusPanel` or the UART console is a small loose end worth +closing; until then "rejected rather than obeyed" is the guarantee, not +"reported". ⚠️ **A ring must be LARGER than `_MAX_FRAME_PAGES` (6) or nothing is ever stored.** A frame's length is unknown until EOF, so the assembler reserves the