Files
ScadaBridge/docs/plans/2026-09-05-flow-debugger.md.tasks.json
Joseph Doherty 6cd9204d69 chore(rig): Task 22 verified — verify-delmia-notifier step H passes on the rig (Flow Debugger live run + replay)
Rig recreated from the branch-built image through the main checkout's compose file
(deploy.sh refuses a worktree, register row 68). Fresh key delmia-flowdbg-0906 scoped to
DelmiaRecipeDownload. Full drill: A/B/E/F YES, C/G NO, takeover 29 s, rejoin 3 s, then

  H   live+replay -> YES
  live:   11 events (InboundRequest, RouteCall, ScriptRun, 7x AttributeWrite, AttributeWait)
  replay: 17 events on the first attempt — the six extra rows are the simulator's two
          cascaded ValueChange runs (2x ScriptRun + 4x AttributeWrite): inline TraceEvents
          carry the routed run's own steps, replay walks the whole execution tree.

Recorded as row H in Delmia-Recipe-Download-API.md §8; ledger marks Task 22 completed
(all 24 tasks done). Note: the rig still runs main's appsettings, so the ScriptTrace
30-day retention override lands only after merge + a deploy from main.

Claude-Session: https://claude.ai/code/session_01GSLkkHKz9JrAtmJjmQK3cP
2026-09-06 00:46:32 -04:00

212 lines
4.7 KiB
JSON

{
"planPath": "docs/plans/2026-09-05-flow-debugger.md",
"tasks": [
{
"id": 0,
"subject": "Task 0: Amend the design doc with the four planning corrections",
"status": "completed"
},
{
"id": 1,
"subject": "Task 1: Audit enums \u2014 ScriptTrace channel and four kinds",
"status": "completed",
"blockedBy": [
0
]
},
{
"id": 2,
"subject": "Task 2: Additive Trace / trace-payload fields on the message records",
"status": "completed",
"blockedBy": [
0
]
},
{
"id": 3,
"subject": "Task 3: ApiMethod.TraceAllCalls \u2014 entity, EF migration, management command, CLI flag",
"status": "completed",
"blockedBy": [
0
]
},
{
"id": 4,
"subject": "Task 4: FlowStep projection + FlowGraph model + FlowGraphBuilder (pure)",
"status": "completed",
"blockedBy": [
1,
2
]
},
{
"id": 5,
"subject": "Task 5: FlowTraceCollector (site, per run)",
"status": "completed",
"blockedBy": [
0
]
},
{
"id": 6,
"subject": "Task 6: ScriptRuntimeContext \u2014 traced flag, trace emission for writes and waits, flag inheritance",
"status": "completed",
"blockedBy": [
4,
5
]
},
{
"id": 7,
"subject": "Task 7: ScriptRunLauncher + ScriptActor \u2014 ScriptRun rows, ExecutionId + events, value-change inheritance",
"status": "completed",
"blockedBy": [
6
]
},
{
"id": 8,
"subject": "Task 8: InstanceActor \u2014 trace arm for data-sourced writes; Trace on published changes",
"status": "completed",
"blockedBy": [
2
]
},
{
"id": 9,
"subject": "Task 9: DeploymentManagerActor routing \u2014 pass Trace, return child id + events",
"status": "completed",
"blockedBy": [
7,
8
]
},
{
"id": 10,
"subject": "Task 10: Wire \u2014 site_command.proto trace fields, mapper, golden samples",
"status": "completed",
"blockedBy": [
2,
11
]
},
{
"id": 11,
"subject": "Task 11: Wire \u2014 sitestream.proto source_execution_id/trace + PullTraceEvents RPC; site SQLite read by execution ids",
"status": "completed",
"blockedBy": [
2
]
},
{
"id": 12,
"subject": "Task 12: RouteHelper \u2014 always-on RouteCall audit row, WithTrace, inline trace sink",
"status": "completed",
"blockedBy": [
1,
2,
4
]
},
{
"id": 13,
"subject": "Task 13: InboundScriptExecutor.ExecuteAsync(trace) + endpoint honours TraceAllCalls",
"status": "completed",
"blockedBy": [
12
]
},
{
"id": 14,
"subject": "Task 14: IAuditLogRepository.GetTraceEventsAsync(rootExecutionId)",
"status": "completed",
"blockedBy": [
1
]
},
{
"id": 15,
"subject": "Task 15: Management commands \u2014 FlowDebugRunMethod / RunValueChange / Replay",
"status": "completed",
"blockedBy": [
9,
10,
11,
12,
13,
14
]
},
{
"id": 16,
"subject": "Task 16: CLI flow-debug command group",
"status": "completed",
"blockedBy": [
15
]
},
{
"id": 17,
"subject": "Task 17: FlowShapePredictor (Script Analysis)",
"status": "completed",
"blockedBy": [
4
]
},
{
"id": 18,
"subject": "Task 18: Central UI service \u2014 IFlowDebugService / FlowDebugService",
"status": "completed",
"blockedBy": [
15,
17
]
},
{
"id": 19,
"subject": "Task 19: FlowGraphView \u2014 custom SVG swimlane renderer",
"status": "completed",
"blockedBy": [
4
]
},
{
"id": 20,
"subject": "Task 20: Flow Debugger page \u2014 toolbar, inputs, predicted graph, run, detail panel",
"status": "completed",
"blockedBy": [
18,
19
]
},
{
"id": 21,
"subject": "Task 21: Drill-ins and the TraceAllCalls checkbox",
"status": "completed",
"blockedBy": [
3,
20
]
},
{
"id": 22,
"subject": "Task 22: Rig \u2014 retention override, redeploy, verification step H",
"status": "completed",
"blockedBy": [
16,
20,
21
]
},
{
"id": 23,
"subject": "Task 23: Documentation sweep",
"status": "completed",
"blockedBy": [
22
]
}
],
"lastUpdated": "2026-09-06T04:38:41.427413+00:00"
}