docs(archreview): mark stream E/L rows done after merge; defer MxStatusDetailText test
This commit is contained in:
@@ -10,7 +10,7 @@ Tracks the findings of the 2026-10-21 system review and the cycle-1 findings tha
|
||||
- The review's own severity table is not in the repository. Only `R21-S1` carries a severity from the review (High); every other severity here is the triage estimate from the finding's impact and is open to correction.
|
||||
- The **Status** column is the single source of truth. Update it in the same change that lands the fix, and cite the finding ID in commit messages.
|
||||
|
||||
**Status legend:** `Done` · `Done (pending merge of stream E)` · `In progress (stream L)` · `Deferred` · `Won't fix` · `Open` · `Blocked (external)`.
|
||||
**Status legend:** `Done` · `Done (merge 2013573)` · `Done (merge 2fad124)` · `Deferred` · `Won't fix` · `Open` · `Blocked (external)`.
|
||||
|
||||
## Execution model
|
||||
|
||||
@@ -22,14 +22,14 @@ The review was remediated by ten parallel streams on branches `fix/review-2026-1
|
||||
| B | `fix/review-2026-10-21-b` | WorkerClient (`R21-W1`) | Done, merged (`81d4cd8`) |
|
||||
| C | `fix/review-2026-10-21-c` | gRPC surface (`R21-G*`) | Done, merged (`3f9448f`) |
|
||||
| D | `fix/review-2026-10-21-d` | Dashboard (`R21-D*`) | Done, merged (`8212b0e`) |
|
||||
| E | `fix/review-2026-10-21-e` | Worker (`R21-K*`) | Done (pending merge of stream E) — `7618caf`, follow-up `38fbbde` |
|
||||
| E | `fix/review-2026-10-21-e` | Worker (`R21-K*`) | Done (merge 2013573) — `7618caf`, follow-up `38fbbde` |
|
||||
| F | `fix/review-2026-10-21-f` | .NET client | Done, merged (`3a1ee28`) |
|
||||
| G | `fix/review-2026-10-21-g` | Java client | Done, merged (`c18566b`) |
|
||||
| H | `fix/review-2026-10-21-h` | Go client | Done, merged (`7636573`) |
|
||||
| I | `fix/review-2026-10-21-i` | Rust client | Done, merged (`b2a7fc5`) |
|
||||
| J | `fix/review-2026-10-21-j` | Python client | Done, merged (`29d4e51`) |
|
||||
| K | `fix/review-2026-10-21-k` | Tracker triage (this document) | Done |
|
||||
| L | (stream L branch) | Proto comments, docs, test gaps | In progress (stream L) |
|
||||
| L | (stream L branch) | Proto comments, docs, test gaps | Done (merge 2fad124) |
|
||||
|
||||
Worker changes (stream E) need the windev x86 build and `Worker.Tests` run after merge; stream E's own live facts passed on windev.
|
||||
|
||||
@@ -96,15 +96,15 @@ All rows are on `fix/review-2026-10-21-e` (`7618caf`, follow-up `38fbbde`), not
|
||||
|
||||
| ID | Sev | Area | Description | Status | Commit / stream | Reason / note |
|
||||
|---|---|---|---|---|---|---|
|
||||
| R21-K1 | Medium | Worker | The write-completion cache and value cache were never evicted | Done (pending merge of stream E) | E: `7618caf`, `38fbbde` | Ghost-entry eviction on `AddItem` added in the follow-up |
|
||||
| R21-K2 | Medium | Worker | `ReadBulk` was serial (N x timeout) | Done (pending merge of stream E) | E: `7618caf`, `38fbbde` | Shared deadline; dedupe and periodic message pumping in the follow-up |
|
||||
| R21-K3 | Medium | Worker | One alarm-poll failure faulted the session (cycle-1 `WRK-05`) | Done (pending merge of stream E) | E: `7618caf` | Consecutive-failure threshold of 3 |
|
||||
| R21-K4 | Low | Worker | The primary alarm consumer leaked when the standby build failed | Done (pending merge of stream E) | E: `7618caf` | |
|
||||
| R21-K5 | Low | Worker | `StaRuntime` drained the whole queue before pumping messages | Done (pending merge of stream E) | E: `7618caf` | |
|
||||
| R21-K6 | Medium | Worker | STA thread death after start was silent (cycle-1 `WRK-02`) | Done (pending merge of stream E) | E: `7618caf` | `LoopFault` becomes a `StaHung` WorkerFault |
|
||||
| R21-K7 | Low | Worker | No unhandled-exception hook (cycle-1 `WRK-09`) | Done (pending merge of stream E) | E: `7618caf` | Exit code 7 |
|
||||
| R21-K8 | Low | Worker | `RETRIGGER` handling was undocumented | In progress (stream L) | stream L | Documented as reserved, never synthesized; the proto comment is stream L's |
|
||||
| R21-K9 | Medium | Tests | Live control-command facts for the worker (cycle-1 `TST-05` residual) | Done (pending merge of stream E) | E: `069972a`, `4ea3672` | Facts added and passing on windev |
|
||||
| R21-K1 | Medium | Worker | The write-completion cache and value cache were never evicted | Done (merge 2013573) | E: `7618caf`, `38fbbde` | Ghost-entry eviction on `AddItem` added in the follow-up |
|
||||
| R21-K2 | Medium | Worker | `ReadBulk` was serial (N x timeout) | Done (merge 2013573) | E: `7618caf`, `38fbbde` | Shared deadline; dedupe and periodic message pumping in the follow-up |
|
||||
| R21-K3 | Medium | Worker | One alarm-poll failure faulted the session (cycle-1 `WRK-05`) | Done (merge 2013573) | E: `7618caf` | Consecutive-failure threshold of 3 |
|
||||
| R21-K4 | Low | Worker | The primary alarm consumer leaked when the standby build failed | Done (merge 2013573) | E: `7618caf` | |
|
||||
| R21-K5 | Low | Worker | `StaRuntime` drained the whole queue before pumping messages | Done (merge 2013573) | E: `7618caf` | |
|
||||
| R21-K6 | Medium | Worker | STA thread death after start was silent (cycle-1 `WRK-02`) | Done (merge 2013573) | E: `7618caf` | `LoopFault` becomes a `StaHung` WorkerFault |
|
||||
| R21-K7 | Low | Worker | No unhandled-exception hook (cycle-1 `WRK-09`) | Done (merge 2013573) | E: `7618caf` | Exit code 7 |
|
||||
| R21-K8 | Low | Worker | `RETRIGGER` handling was undocumented | Done (merge 2fad124) | stream L | Documented as reserved, never synthesized; the proto comment is stream L's |
|
||||
| R21-K9 | Medium | Tests | Live control-command facts for the worker (cycle-1 `TST-05` residual) | Done (merge 2013573) | E: `069972a`, `4ea3672` | Facts added and passing on windev |
|
||||
| R21-K10 | Low | Worker | Unregister-first shutdown cleanup | Deferred | — | Needs a parity probe against the installed MXAccess before it can change cleanup order |
|
||||
| R21-K11 | Medium | Security | A per-operator `AuthenticateUser` cache | Deferred | — | Security tradeoff (caching credentials' outcome); decide with the security owner before building |
|
||||
| R21-K12 | Low | Worker | Batch task-completion-source allocation rework | Deferred | — | Low value |
|
||||
@@ -135,14 +135,14 @@ All rows are on `fix/review-2026-10-21-e` (`7618caf`, follow-up `38fbbde`), not
|
||||
|
||||
| ID | Sev | Area | Description | Status | Commit / stream | Reason / note |
|
||||
|---|---|---|---|---|---|---|
|
||||
| R21-L1 | Low | Docs | `operator_full_name` is silently dropped; proto comment and docs do not say so | In progress (stream L) | stream L | |
|
||||
| R21-L2 | Low | Contracts | `RETRIGGER` and the `WorkerFaultCategory` values `INVALID_ARGUMENTS` and `GATEWAY_AUTHENTICATION_FAILED` are reserved but not labeled so | In progress (stream L) | stream L | Proto comments |
|
||||
| R21-L3 | Low | Docs | Stale notes in `stillpending.md` (sections 1.4, 3.4, 7.1) and the deferred-followups header | In progress (stream L) | stream L | |
|
||||
| R21-L1 | Low | Docs | `operator_full_name` is silently dropped; proto comment and docs do not say so | Done (merge 2fad124) | stream L | |
|
||||
| R21-L2 | Low | Contracts | `RETRIGGER` and the `WorkerFaultCategory` values `INVALID_ARGUMENTS` and `GATEWAY_AUTHENTICATION_FAILED` are reserved but not labeled so | Done (merge 2fad124) | stream L | Proto comments |
|
||||
| R21-L3 | Low | Docs | Stale notes in `stillpending.md` (sections 1.4, 3.4, 7.1) and the deferred-followups header | Done (merge 2fad124) | stream L | |
|
||||
| R21-L4 | Low | Docs | The 2026-08-19 tracker header says CLI-47..50, IPC-36/37, TST-35 are `Not started` while the rows say `Done` | Done | K | Header row corrected in this stream |
|
||||
| R21-L5 | Low | Tests | No tests for `GatewayConfigPathRules` | In progress (stream L) | stream L | |
|
||||
| R21-L6 | Low | Tests | No tests for `DashboardRedactor` | In progress (stream L) | stream L | |
|
||||
| R21-L7 | Low | Tests | No tests for `EventSubscriberReplayAttachment` | In progress (stream L) | stream L | |
|
||||
| R21-L8 | Low | Tests | No tests for the `MxStatusDetailText` table | In progress (stream L) | stream L | |
|
||||
| R21-L5 | Low | Tests | No tests for `GatewayConfigPathRules` | Done (merge 2fad124) | stream L | |
|
||||
| R21-L6 | Low | Tests | No tests for `DashboardRedactor` | Done (merge 2fad124) | stream L | |
|
||||
| R21-L7 | Low | Tests | No tests for `EventSubscriberReplayAttachment` | Done (merge 2fad124) | stream L | |
|
||||
| R21-L8 | Low | Tests | No tests for the `MxStatusDetailText` table | Deferred | — | Worker-side test; needs a windev run, not done in stream L |
|
||||
|
||||
## External / blocked
|
||||
|
||||
|
||||
@@ -88,14 +88,14 @@ Full design + implementation for each row lives in the linked domain doc under i
|
||||
| ID | Sev | Tier | Eff | Dep | Status | Title |
|
||||
|---|---|:-:|:-:|---|---|---|
|
||||
| WRK-01 | High | P0 | M | — | Done | Long `ReadBulk` self-faults as `StaHung`; all replies then dropped |
|
||||
| WRK-02 | Medium | — | M | — | Done | STA thread death after startup is silent; future work hangs forever — **2026-10-21 triage:** closed by the 2026-10-21 review (R21-K6): an STA loop fault raises a `StaHung` WorkerFault; stream E `7618caf`, pending merge of stream E |
|
||||
| WRK-02 | Medium | — | M | — | Done | STA thread death after startup is silent; future work hangs forever — **2026-10-21 triage:** closed by the 2026-10-21 review (R21-K6): an STA loop fault raises a `StaHung` WorkerFault; stream E `7618caf`, merged |
|
||||
| WRK-03 | Medium | — | S | WRK-02 | Open | Commands after shutdown starts are dropped with no reply — **2026-10-21 triage:** still present on the integration branch; promoted to R21-O1 in [`../2026-10-21/remediation/00-tracking.md`](../2026-10-21/remediation/00-tracking.md) |
|
||||
| WRK-04 | Medium | — | M | — | Done | Envelope `sequence` can appear out of order on the wire |
|
||||
| WRK-05 | Medium | — | M | — | Done | One transient alarm-poll failure kills the whole session — **2026-10-21 triage:** closed by the 2026-10-21 review (R21-K3): consecutive alarm-poll failure threshold of 3 in `MxAccessStaSession`; stream E `7618caf`, pending merge of stream E |
|
||||
| WRK-05 | Medium | — | M | — | Done | One transient alarm-poll failure kills the whole session — **2026-10-21 triage:** closed by the 2026-10-21 review (R21-K3): consecutive alarm-poll failure threshold of 3 in `MxAccessStaSession`; stream E `7618caf`, merged |
|
||||
| WRK-06 | Medium | P2 | S | — | Done | `MXSTATUS_PROXY` conversion reflects per field, per event |
|
||||
| WRK-07 | Medium | P1 | M | WRK-04 | Done | Documented outbound write priority not implemented |
|
||||
| WRK-08 | Low | — | S | — | Open | Residual event queue discarded at graceful shutdown, undocumented — **2026-10-21 triage:** still present on the integration branch; promoted to R21-O2 in [`../2026-10-21/remediation/00-tracking.md`](../2026-10-21/remediation/00-tracking.md) |
|
||||
| WRK-09 | Low | — | S | — | Done | No `AppDomain.UnhandledException` hook — **2026-10-21 triage:** closed by the 2026-10-21 review (R21-K7): `AppDomain.UnhandledException` hook, exit code 7; stream E `7618caf`, pending merge of stream E |
|
||||
| WRK-09 | Low | — | S | — | Done | No `AppDomain.UnhandledException` hook — **2026-10-21 triage:** closed by the 2026-10-21 review (R21-K7): `AppDomain.UnhandledException` hook, exit code 7; stream E `7618caf`, merged |
|
||||
| WRK-10 | Low | — | S | — | Open | Top-level catch logs exception type but never message — **2026-10-21 triage:** still present on the integration branch; promoted to R21-O3 in [`../2026-10-21/remediation/00-tracking.md`](../2026-10-21/remediation/00-tracking.md) |
|
||||
| WRK-11 | Low | P2 | S | — | Done | Every accepted event is defensively cloned on enqueue |
|
||||
| WRK-12 | Low | P2 | M | WRK-04 | Done | No event batching per envelope; one flush per event; 25 ms poll |
|
||||
|
||||
Reference in New Issue
Block a user