diff --git a/docs/architecture/README.md b/docs/architecture/README.md index 22ea30ab..63f441d3 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -13,7 +13,7 @@ natively) followed by a prose explanation and a **Source of truth** file list. |-----|----------|--------| | [system-overview.md](system-overview.md) | D1 System context, D8 Deployment topology | All processes, trust boundaries, ports, single-instance constraints | | [server.md](server.md) | D2 Server package map, D3 REST request lifecycle | Go package structure, DB-access styles, middleware chain | -| [websocket.md](websocket.md) | D4 WS connect / replay / dispatch | Real-time engine: auth handshake, 3-tier reconnect replay, backpressure, V1/V2 dispatch | +| [websocket.md](websocket.md) | D4 WS connect / replay / dispatch | Real-time engine: auth handshake, 3-tier reconnect replay, backpressure, typed dispatch | | [data-model.md](data-model.md) | D5 Entity-relationship overview | All 23 tables from migrations 001–015, grouped by domain | | [voice-e2ee.md](voice-e2ee.md) | D6 Voice + E2EE flow | LiveKit token flow, loopback TLS tunnel, ECDH key-holder relay | | [client.md](client.md) | D7 Client module map | Tauri client: bootstrap, dispatcher, stores, Rust sidecars (structure, as-built) | diff --git a/docs/audit-2026-07-19.md b/docs/audit-2026-07-19.md index 1c3783e5..5cc37f12 100644 --- a/docs/audit-2026-07-19.md +++ b/docs/audit-2026-07-19.md @@ -160,16 +160,16 @@ Ranked by severity × effort; quick wins float within tier. S/M/L ≈ hours / da | # | Item | Finding | Sev | Effort | |---|------|---------|-----|--------| -| 1 | Decide + resolve the `announcement` channel-type contradiction (implement or strip from specs/admin) | A-2026-07-01 | HIGH | S (decision) | -| 2 | Delete (or finally adopt) the dead `db/dbgen` sqlc layer; adjust the `sqlc-verify` CI job to match | A-2026-07-05 | MEDIUM | S | +| ~~1~~ | ~~Decide + resolve the `announcement` channel-type contradiction~~ **DONE 2026-07-19 (D1)** — implemented end-to-end; migration 016 + MANAGE_MESSAGES gate | A-2026-07-01 | HIGH | S (decision) | +| ~~2~~ | ~~Delete (or finally adopt) the dead `db/dbgen` sqlc layer~~ **DONE 2026-07-19 (D2)** — adopted; 97 methods delegate to dbgen. Residual raw queries tracked in [plans/sqlc-adoption.md](plans/sqlc-adoption.md) | A-2026-07-05 | MEDIUM | S | | ~~3~~ | ~~Extract the single channel-visibility function replacing the 4 "must mirror" copies; add REST/WS agreement test~~ **DONE 2026-07-20 (D9)** — `permissions.Checker.VisibleChannelIDs` funnels all four sites; REST/WS agreement test added | A-2026-07-07 | MEDIUM | M | -| 4 | One-PR refresh of api.md / protocol.md / schema.md against §2, incl. E2EE + plugins + migrations 009–015; then enforce spec-updates-with-code via PR checklist | A-2026-07-03 | HIGH | M | +| ~~4~~ | ~~One-PR refresh of api.md / protocol.md / schema.md against §2~~ **DONE 2026-07-19** — full spec refresh landed; keep-current-per-PR rule now applies | A-2026-07-03 | HIGH | M | | ~~5~~ | ~~Execute the store-layer decision from prior #6: remove `Server/store/` (P4 plan) or test it directly~~ **DONE 2026-07-19 (D3)** — `store/` removed; consumers on narrow `*db.DB` interfaces; tests on real in-memory SQLite | prior #6 | HIGH | M | -| 6 | Client HTTP TOFU pinning (Rust proxy mirroring `ws_proxy.rs`) | A-2026-07-02 | HIGH | M | -| 7 | Stop discarding `LogAudit` errors in `admin/handlers_backup.go`; fix the contradictory upload `Cache-Control` | prior #10, W3-4 | MEDIUM | S | -| 8 | Remove the SolidJS beachhead + adapters; retire or rewrite `docs/client-architecture.md` | A-2026-07-12 | MEDIUM | S | -| 9 | Resolve the `protocol-schema.json` ghost: real codegen or an equality test between Go and TS constant sets | A-2026-07-08 | MEDIUM | M | -| 10 | Green + blocking client unit suite; nightly Playwright | A-2026-07-04 | HIGH | M | +| ~~6~~ | ~~Client HTTP TOFU pinning (Rust proxy mirroring `ws_proxy.rs`)~~ **DONE 2026-07-19** — `http_proxy.rs` + `httpProxy.ts`; `acceptInvalidCerts` removed | A-2026-07-02 | HIGH | M | +| ~~7~~ | ~~Stop discarding `LogAudit` errors; fix the contradictory upload `Cache-Control`~~ **DONE 2026-07-20 (D9)** — cache header fixed 2026-07-19; `db.WriteAudit` helper now covers all 26 call sites repo-wide | prior #10, W3-4 | MEDIUM | S | +| ~~8~~ | ~~Remove the SolidJS beachhead + adapters; retire `docs/client-architecture.md`~~ **DONE 2026-07-19** | A-2026-07-12 | MEDIUM | S | +| ~~9~~ | ~~Resolve the `protocol-schema.json` ghost~~ **DONE 2026-07-19** — real codegen (`genprotocol`) + `make protocol-verify` CI gate | A-2026-07-08 | MEDIUM | M | +| 10 | **PARTIAL 2026-07-20** — Green + blocking client unit suite; nightly Playwright. Suite proven green (3296/3296 on merged main), A-2026-07-04 closed. **Still open:** flip `client-tests` to blocking in `ci.yml`; add the nightly Playwright job. Deferred while GitHub Actions minutes are depleted | A-2026-07-04 | HIGH | M | | ~~11~~ | ~~Finish the V2 dispatch migration; delete V1~~ **DONE 2026-07-20 (D10)** — last 3 V1 types ported to V2; V1 registry + fallback deleted; parity guard test added | A-2026-07-09 | MEDIUM | M/L | | 12 | Consolidate DB access behind the service layer (start with auth routes, prior #9); then Hub constructor cleanup and decomposition | A-2026-07-06, -10, -11 | MEDIUM | L |