Depends on #64 and #65.
Optional, low priority.
Problem #
Four places build the JSON a delivery-log island reads, each by hand. #56 was one of them missing runState.
Evidence #
- The four hand-built row maps:
app/routes/api/automations/[rkey].ts:71-87app/routes/api/automations/[rkey]/logs.ts:23-39app/routes/u/[handle]/[rkey]/logs.tsx:108-121lib/actions/logs-query.ts:43-66(serializeLogRow, which also omitsrecordUri)
- 1908205 added the missing field to only one of them.
Expected #
One helper in lib/actions/logs-query.ts builds the per-automation row shape (id, actionIndex, stepId, runId, itemIndex, eventTimeUs, statusCode, message, error, recordUri, dryRun, attempt, runState, createdAt). serializeLogRow extends it with the automation name and rkey. All four sites use it.
Acceptance criteria #
Out of scope #
Rendering recordUri in LogsBrowser or AdminLogsBrowser.