chore(plans): flow-debugger step logs — all 15 tasks complete, gate evidence
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers-extended-cc:executing-plans to implement this plan task-by-task.
|
||||
|
||||
**Status:** all 15 tasks complete 2026-09-09 (branch `feat/flow-debugger-step-logs`); every task spec- and code-reviewed; 7 test projects green (4 499 tests); rig rebuilt via `docker/deploy.sh`, `verify-delmia-notifier.sh` H/H2/I/**J** all YES (J root `5793ddc2-5273-4e62-86c2-ccfc8de0e080`); browser-verified. Deviations from the plan text: `FlowTraceCollector.Add(evt, lowPriority:)` instead of `AddLowPriority` (Commons 3-public-method constraint); inline shared scripts share the caller's `ScriptLogger` (design §5, not a per-child logger); `LogsTruncated` clears once a refresh merges in more log rows; the inbound editor host `InboundScriptHost` also mirrors `Log`.
|
||||
|
||||
**Goal:** A traced Flow Debugger run shows, on the node that produced them, the exception a failing step threw (type, message, stack) and every log line the script or the runtime wrote during that step — in Live and in Replay.
|
||||
|
||||
**Architecture:** One new audit kind, `ScriptTrace.ScriptLog`, one row per line, riding the existing collector (Live) and audit store (Replay); `FlowGraphBuilder` folds the rows into their owning step (`stepEventId`, else the execution's anchor step) and never draws them as nodes. Scripts get a `Log` global on all four compile surfaces; the site context wraps its own logger while traced so runtime warnings inside a helper step land on that step. Exception detail is the `errorDetail` field that already exists on `AuditDetails` — populated on the site `ScriptRun` row and the central inbound row, projected onto `FlowStep.ErrorDetail`.
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
{
|
||||
"id": 1,
|
||||
"subject": "Task 1: Commons \u2014 ScriptLog kind, trace extra fields, FlowStep.ErrorDetail/Logs",
|
||||
"status": "pending"
|
||||
"status": "completed"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"subject": "Task 2: Commons \u2014 FlowTraceCollector.AddLowPriority + LogsTruncated",
|
||||
"status": "pending"
|
||||
"status": "completed"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"subject": "Task 3: Commons \u2014 FlowGraphBuilder attaches log lines to steps",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
1
|
||||
]
|
||||
@@ -22,7 +22,7 @@
|
||||
{
|
||||
"id": 4,
|
||||
"subject": "Task 4: SiteRuntime \u2014 ScriptLogger, TraceStepScope, TraceCapturingLogger",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
1
|
||||
]
|
||||
@@ -30,7 +30,7 @@
|
||||
{
|
||||
"id": 5,
|
||||
"subject": "Task 5: SiteRuntime \u2014 wire Log into ScriptRuntimeContext + ScriptGlobals",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
1,
|
||||
2,
|
||||
@@ -40,7 +40,7 @@
|
||||
{
|
||||
"id": 6,
|
||||
"subject": "Task 6: SiteRuntime \u2014 launcher errorDetail, dropped-lines flush, MaxLogLinesPerRun",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
5
|
||||
]
|
||||
@@ -48,7 +48,7 @@
|
||||
{
|
||||
"id": 7,
|
||||
"subject": "Task 7: Script surfaces \u2014 ScriptCompileSurface.Log, sandbox mirrors, trust pin",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
5
|
||||
]
|
||||
@@ -56,7 +56,7 @@
|
||||
{
|
||||
"id": 8,
|
||||
"subject": "Task 8: InboundAPI \u2014 InboundScriptContext.Log + MaxLogLinesPerRun",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
1
|
||||
]
|
||||
@@ -64,7 +64,7 @@
|
||||
{
|
||||
"id": 9,
|
||||
"subject": "Task 9: InboundAPI \u2014 exception detail on the inbound row",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
8
|
||||
]
|
||||
@@ -72,7 +72,7 @@
|
||||
{
|
||||
"id": 10,
|
||||
"subject": "Task 10: ManagementService \u2014 runner inbound row ErrorDetail; LogsTruncated on results",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
9
|
||||
]
|
||||
@@ -80,7 +80,7 @@
|
||||
{
|
||||
"id": 11,
|
||||
"subject": "Task 11: CentralUI \u2014 FlowGraphView log badge + failed-node exception subtitle",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
1
|
||||
]
|
||||
@@ -88,7 +88,7 @@
|
||||
{
|
||||
"id": 12,
|
||||
"subject": "Task 12: CentralUI \u2014 FlowStepDetail Log tab",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
1
|
||||
]
|
||||
@@ -96,7 +96,7 @@
|
||||
{
|
||||
"id": 13,
|
||||
"subject": "Task 13: CentralUI \u2014 Flow Debugger page strip counts, truncation notes, selection hookup",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
3,
|
||||
10,
|
||||
@@ -107,7 +107,7 @@
|
||||
{
|
||||
"id": 14,
|
||||
"subject": "Task 14: CLI \u2014 logs column and --show-logs",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
3
|
||||
]
|
||||
@@ -115,7 +115,7 @@
|
||||
{
|
||||
"id": 15,
|
||||
"subject": "Task 15: Specs, register, rig demo + verification step J, full build",
|
||||
"status": "pending",
|
||||
"status": "completed",
|
||||
"blockedBy": [
|
||||
6,
|
||||
7,
|
||||
@@ -124,5 +124,5 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"lastUpdated": "2026-09-09T15:20:12.803167+00:00"
|
||||
"lastUpdated": "2026-09-09T17:03:37.474386+00:00"
|
||||
}
|
||||
Reference in New Issue
Block a user