chore(plans): Phase B implementation complete; as-built note for Task 17
This commit is contained in:
@@ -438,6 +438,8 @@ Commit: `perf(worker): signal-driven event drain — removes the 25 ms latency f
|
|||||||
|
|
||||||
**Implement:** copy the `WriteCompletionWaitMilliseconds` plumbing end to end under a new name (`MXGW_EVENT_QUEUE_CAPACITY` shaped like the existing variable's naming). Absent/invalid env value → default 10000 (never crash the worker on a bad value; log and default).
|
**Implement:** copy the `WriteCompletionWaitMilliseconds` plumbing end to end under a new name (`MXGW_EVENT_QUEUE_CAPACITY` shaped like the existing variable's naming). Absent/invalid env value → default 10000 (never crash the worker on a bad value; log and default).
|
||||||
|
|
||||||
|
> **As-built note (1358332):** shipped as silent default without logging, matching the alarm-resolver precedent — no `ILogger` is reachable from the static resolve site without new plumbing; the silent fallback is disclosed in `GatewayConfiguration.md`. The Bootstrap parser files listed above were correctly NOT touched — the established env-var pattern reads `Environment.GetEnvironmentVariable` at the resolve site.
|
||||||
|
|
||||||
Note the gateway-side files here don't overlap Phase A tasks — safe after Task 15.
|
Note the gateway-side files here don't overlap Phase A tasks — safe after Task 15.
|
||||||
|
|
||||||
Commit: `perf(worker): launcher-configurable event queue capacity`
|
Commit: `perf(worker): launcher-configurable event queue capacity`
|
||||||
|
|||||||
@@ -1,31 +1,188 @@
|
|||||||
{
|
{
|
||||||
"planPath": "docs/plans/2026-08-15-perf-review-remediation.md",
|
"planPath": "docs/plans/2026-08-15-perf-review-remediation.md",
|
||||||
"tasks": [
|
"tasks": [
|
||||||
{"id": 1, "subject": "Task 1: Named-pipe buffer sizes", "status": "completed"},
|
{
|
||||||
{"id": 2, "subject": "Task 2: Metrics pull-gauge + Interlocked counters", "status": "completed"},
|
"id": 1,
|
||||||
{"id": 3, "subject": "Task 3: Distributor copy-on-write subscriber snapshot", "status": "completed"},
|
"subject": "Task 1: Named-pipe buffer sizes",
|
||||||
{"id": 4, "subject": "Task 4: Dashboard event mirror viewer gating", "status": "completed"},
|
"status": "completed"
|
||||||
{"id": 5, "subject": "Task 5: Snapshot pipeline idle gating + cached config", "status": "completed"},
|
},
|
||||||
{"id": 6, "subject": "Task 6: Reply ownership transfer in MapCommandReply", "status": "completed"},
|
{
|
||||||
{"id": 7, "subject": "Task 7: WorkerClient WaitAsync timeout + WorkerCancel", "status": "completed", "blockedBy": [2]},
|
"id": 2,
|
||||||
{"id": 8, "subject": "Task 8: Audit pipeline background writer + retention", "status": "completed"},
|
"subject": "Task 2: Metrics pull-gauge + Interlocked counters",
|
||||||
{"id": 9, "subject": "Task 9: Parallel session teardown", "status": "completed"},
|
"status": "completed"
|
||||||
{"id": 10, "subject": "Task 10: Dashboard live-data subscription cap", "status": "completed"},
|
},
|
||||||
{"id": 11, "subject": "Task 11: Alarm monitor cached CurrentAlarms", "status": "completed"},
|
{
|
||||||
{"id": 12, "subject": "Task 12: Logging middleware hoist + bearer redaction fix", "status": "completed"},
|
"id": 3,
|
||||||
{"id": 13, "subject": "Task 13: Auth-path span parsing + limiter keys", "status": "completed"},
|
"subject": "Task 3: Distributor copy-on-write subscriber snapshot",
|
||||||
{"id": 14, "subject": "Task 14: Bulk constraint loops, caches, hygiene", "status": "completed"},
|
"status": "completed"
|
||||||
{"id": 15, "subject": "Task 15: Phase A gate — full gateway suite", "status": "in_progress", "blockedBy": [1,2,3,4,5,6,7,8,9,10,11,12,13,14]},
|
},
|
||||||
{"id": 16, "subject": "Task 16: Event drain wake signal", "status": "pending", "blockedBy": [15]},
|
{
|
||||||
{"id": 17, "subject": "Task 17: Event queue capacity env plumbing", "status": "pending", "blockedBy": [16]},
|
"id": 4,
|
||||||
{"id": 18, "subject": "Task 18: STA message-driven completion waits", "status": "pending", "blockedBy": [15]},
|
"subject": "Task 4: Dashboard event mirror viewer gating",
|
||||||
{"id": 19, "subject": "Task 19: Handle registry reverse index + O(1) removals", "status": "pending", "blockedBy": [15]},
|
"status": "completed"
|
||||||
{"id": 20, "subject": "Task 20: Event conversion TryParseExact + compiled accessors", "status": "pending", "blockedBy": [15]},
|
},
|
||||||
{"id": 21, "subject": "Task 21: Drain size memoized at enqueue", "status": "pending", "blockedBy": [16, 17]},
|
{
|
||||||
{"id": 22, "subject": "Task 22: Worker frame writer/reader pooled buffers", "status": "pending", "blockedBy": [15]},
|
"id": 5,
|
||||||
{"id": 23, "subject": "Task 23: Alarm consumer parse + truncation + cadence", "status": "pending", "blockedBy": [15]},
|
"subject": "Task 5: Snapshot pipeline idle gating + cached config",
|
||||||
{"id": 24, "subject": "Task 24: Phase B verification on windev (psbridge)", "status": "pending", "blockedBy": [16,17,18,19,20,21,22,23]},
|
"status": "completed"
|
||||||
{"id": 25, "subject": "Task 25: Wrap-up docs sweep + follow-ups", "status": "pending", "blockedBy": [24]}
|
},
|
||||||
],
|
{
|
||||||
"lastUpdated": "2026-08-15T13:30:00Z"
|
"id": 6,
|
||||||
|
"subject": "Task 6: Reply ownership transfer in MapCommandReply",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"subject": "Task 7: WorkerClient WaitAsync timeout + WorkerCancel",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"subject": "Task 8: Audit pipeline background writer + retention",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"subject": "Task 9: Parallel session teardown",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"subject": "Task 10: Dashboard live-data subscription cap",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"subject": "Task 11: Alarm monitor cached CurrentAlarms",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"subject": "Task 12: Logging middleware hoist + bearer redaction fix",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 13,
|
||||||
|
"subject": "Task 13: Auth-path span parsing + limiter keys",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 14,
|
||||||
|
"subject": "Task 14: Bulk constraint loops, caches, hygiene",
|
||||||
|
"status": "completed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 15,
|
||||||
|
"subject": "Task 15: Phase A gate \u2014 full gateway suite",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
8,
|
||||||
|
9,
|
||||||
|
10,
|
||||||
|
11,
|
||||||
|
12,
|
||||||
|
13,
|
||||||
|
14
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 16,
|
||||||
|
"subject": "Task 16: Event drain wake signal",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
15
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 17,
|
||||||
|
"subject": "Task 17: Event queue capacity env plumbing",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
16
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 18,
|
||||||
|
"subject": "Task 18: STA message-driven completion waits",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
15
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 19,
|
||||||
|
"subject": "Task 19: Handle registry reverse index + O(1) removals",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
15
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 20,
|
||||||
|
"subject": "Task 20: Event conversion TryParseExact + compiled accessors",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
15
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 21,
|
||||||
|
"subject": "Task 21: Drain size memoized at enqueue",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
16,
|
||||||
|
17
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 22,
|
||||||
|
"subject": "Task 22: Worker frame writer/reader pooled buffers",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
15
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 23,
|
||||||
|
"subject": "Task 23: Alarm consumer parse + truncation + cadence",
|
||||||
|
"status": "completed",
|
||||||
|
"blockedBy": [
|
||||||
|
15
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 24,
|
||||||
|
"subject": "Task 24: Phase B verification on windev (psbridge)",
|
||||||
|
"status": "in_progress",
|
||||||
|
"blockedBy": [
|
||||||
|
16,
|
||||||
|
17,
|
||||||
|
18,
|
||||||
|
19,
|
||||||
|
20,
|
||||||
|
21,
|
||||||
|
22,
|
||||||
|
23
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 25,
|
||||||
|
"subject": "Task 25: Wrap-up docs sweep + follow-ups",
|
||||||
|
"status": "pending",
|
||||||
|
"blockedBy": [
|
||||||
|
24
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lastUpdated": "2026-08-15T18:05:00Z"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user