Commit a4cd453
committed
fix(logs): restore workflow input on log details for runs without secret provenance
PR #6000 added a resolved-secret gate to the log display projection: when a
run's persisted resolvedSecretTraceProvenance is absent or incomplete,
projectTraceSpansForSecrets returns structural-only spans, which stripped the
whole display envelope. That silently blanked the Input and Output panels for
every run written before #6000, and for any run whose registry goes incomplete.
Splits the display envelope in two. Per-block content (finalOutput, blockInput,
blockExecutions, errors, trace spans) keeps the existing gate and fails closed.
Only workflowInput is exempted, via projectWorkflowBoundarySpansForSecrets:
with complete provenance it is byte-identical to the current matcher path, and
with absent or incomplete provenance the content survives instead of collapsing.
workflowInput is exempt because an inbound trigger payload is captured before
any secret is resolved. That premise does NOT hold for nested runs: a workflow
or custom_block execution is handed workflowInput built from its parent's
already-resolved block outputs, so those keep the gated treatment. The check is
a denylist of nested trigger types, because webhook runs record the provider
(zoho_desk, slack) as the trigger type and an allowlist would fail closed on
exactly the population this fixes.
Runs written before workflowInput was persisted recover it from the trigger
block state, gated on an absent provenance key plus present block states, which
together identify pre-stamping data without dating the row. Recovery refuses
when more than one block state matches the trigger shape, since a paused run
carries a resume placeholder with the same shape and its capability URL must
never render as the workflow input.
Verified against 137 executions on a live instance: the only display key that
differs from the pre-fix baseline is workflowInput, on 72 runs, none lost.1 parent 9200724 commit a4cd453
5 files changed
Lines changed: 564 additions & 39 deletions
File tree
- apps/sim/lib/logs/execution
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
160 | 182 | | |
161 | 183 | | |
162 | 184 | | |
| |||
Lines changed: 54 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
1109 | 1110 | | |
1110 | 1111 | | |
1111 | 1112 | | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1520 | 1520 | | |
1521 | 1521 | | |
1522 | 1522 | | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
1523 | 1554 | | |
1524 | 1555 | | |
1525 | 1556 | | |
| |||
0 commit comments