docs(raw): final-review nits — commit count, closed cross-reference, forced accessibility asymmetry

This commit is contained in:
Joseph Doherty
2026-08-05 03:51:30 -04:00
parent c1e8762cd4
commit 4b88dc6f9a
2 changed files with 6 additions and 4 deletions
@@ -274,8 +274,8 @@ Both CI-simulatable on the shared docker host, no hardware.
## Next actions
1. **Wave 0 is done.** The live gate (Gitea #468) CLOSED 2026-08-01 (`c2c3c522`) — browse
verification is no longer a blocker for BACnet. Residual follow-up: the driver-page picker
config pass-through (see the Wave 0 section above).
verification is no longer a blocker for BACnet. The residual follow-up (the picker config
pass-through) CLOSED 2026-08-05 — see the Wave 0 section above.
2. **Wave 1 is done.** Both deliverables shipped and live-gated: **Modbus RTU-over-TCP** (merged
`0f38f486` / #495) and **SQL poll** (merged `4ad54037`; follow-ups #496/#497/#498 closed in
`28c28667`). Remaining SQL work is optional follow-on — Postgres/ODBC dialects behind
@@ -94,7 +94,7 @@ were already deleted and the surviving instance (the raw modals' stubs) is fixed
## 6. Outcome (2026-08-05)
Shipped across five commits (`e698aee4` fake, `abb9f8a1` + `4e3a6e84` RawTagModal, `a2093b44` +
Shipped across six commits (`e698aee4` fake, `abb9f8a1` + `4e3a6e84` RawTagModal, `a2093b44` +
`c1c21f3f` + `2c19a50b` RawManualTagEntryModal), each TDD'd with observed-red evidence, and each
through a spec review + code review. Things the reviews changed or decided:
@@ -116,7 +116,9 @@ through a spec review + code review. Things the reviews changed or decided:
- **Component-class tests must not set `[Parameter]` properties directly**: analyzer BL0005 is an
error under `TreatWarningsAsErrors`. The two test files legitimately solve it two ways (file-local
pragma vs a reflection `SetParameters` helper); the reflection helper is the preferred convention
going forward.
going forward. A related asymmetry: `RawTagModal.BuildEditorParameters` went `internal` for its
test while the manual modal's stayed `private` (its `RowModel` parameter is a private nested type,
so `internal` would not compile) — the accessibility difference is forced, not stylistic.
- The liveness of the forwarded `Func` is load-bearing (the pickers call it at click time, after
the async resolve) and is pinned in both files by retained-delegate facts, each falsified against
a deliberate capture-by-value implementation before being trusted.