diff --git a/docs/plans/2026-07-24-driver-expansion-tracking.md b/docs/plans/2026-07-24-driver-expansion-tracking.md index ca662e05..0d06c642 100644 --- a/docs/plans/2026-07-24-driver-expansion-tracking.md +++ b/docs/plans/2026-07-24-driver-expansion-tracking.md @@ -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 diff --git a/docs/plans/2026-08-05-raw-modal-picker-live-config-design.md b/docs/plans/2026-08-05-raw-modal-picker-live-config-design.md index d3825919..fbe224b9 100644 --- a/docs/plans/2026-08-05-raw-modal-picker-live-config-design.md +++ b/docs/plans/2026-08-05-raw-modal-picker-live-config-design.md @@ -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.