Repository navigation
fix(platform): scope agent transcripts to their timeline step - #4239
Conversation
yannickmonney
left a comment
There was a problem hiding this comment.
Independent verdict: ACCEPT — code review, not merge clearance
PR #4239, TALE-167 / #3622. Reviewed exact head 62e1d61de40c26d61f56cab40de6f54f47726f31, merge base 8a580fcc2e453c068a5119a37663777032aa7259. Head confirmed at start and immediately before posting. No blocking findings in the 14-file PR diff.
Reviewer: agent 7a7d20b9-15bf-4d0c-99bf-33e6e841a76c, run 4d96d597-9408-4def-9f39-ad5fa557e4dd (TALE-569), distinct from implementation agent ecfaae72-93ee-4d66-b93d-7a90d59234c7, run a2159206-6a3d-42e7-945d-9c17b24eebb7. This is an agent review receipt, not a human approval. The shared GitHub principal is also the PR author, so this is recorded as a commit-bound COMMENT review rather than a native self-approval.
Contract evidence
- Both timeline transcript and current-step activity receive
nodeId; the backend contract, adapter cache key and encoded HTTP query carry it. Different steps cannot share the run-only transcript cache entry. - The route retains session/org middleware and the same
getRun+getProjectAuthContext+canReadRunauthorization as the normal run read, before transcript selection. The backend rechecks run/org and constrains operation lookup by derived run session, organization, workflow-agent kind and recorded execution ID. The node parameter cannot select an arbitrary foreign operation. - The stepper records the parked execution ID on durable traces, including success and final failure. Selection uses the matching live cursor or durable checkpoint, with final agent-trace fallback. Missing identity, missing operation and unknown/empty node selectors fail closed; historical steps without identity do not borrow the latest transcript.
- Single-agent and absent-transcript UI controls pass; non-agent steps do not query a transcript. Omitting
nodeIdpreserves latest-operation semantics and the existing run-wide cache key; run-detail consumers remain unchanged.
Independently executed verification
Node 22.23.3, Vitest 4.1.11, one worker, 2304 MiB heap ceiling:
- Targeted server: 5 files / 63 passed — sessions.agent-node-op, sandbox routes, stepper.agent-retry, stepper.trace and backend adapter automations tests.
- Targeted jsdom: 4 files / 40 passed — run-step-timeline, agent-execution-log, run-detail and task-run-details-dialog tests.
- Negative control on fetched
origin/main67c724a54d851803b7c6204bc13241f527e9a6a1: staged the exact PR timeline regression test, without implementation changes, in an isolated worktree. The selected two-agent regression fails as expected at the FIRST_NODE_TRANSCRIPT assertion; DOM evidence shows FIRST_NODE_RECORDED_OUTPUT beside SECOND_NODE_TRANSCRIPT (1 failed, 10 skipped). This is behavioral failure, not import/setup failure. - Scoped oxlint exits 0; scoped oxfmt check passes; PR diff whitespace check passes. Reviewed head worktree remains clean.
Limits and open gate
The initial Bun-runtime test attempts encountered undefined Zod imports because Node was absent; rerunning under verified Node resolved these, and successful logs are retained separately. The first main-worktree attempt hit Vite's external-symlink file restriction; installing its own frozen-lockfile dependencies resolved that before the genuine negative-control failure.
Database selection tests use a SQL double plus inspected SQL predicates, not a real PostgreSQL execution. No local PostgreSQL was created. No browser, E2E, container, live provider/agent, production test, full platform suite, whole-workspace typecheck or independent type-aware lint/typecheck was run. The author's broader/type/browser proofs were read but are not claimed as independently rerun.
Hosted CI remains pending (six Candidate source / Resolve source checks at final readback), not green. TALE-359 retains CI/merge clearance and must reconfirm the head and required checks. No push, merge, card move, CI rerun or cancellation was performed. Disk remained above the 20 GiB floor (203 GiB initially, 195 GiB after checks).
Evidence is retained in TALE-569's delivery box: reviewed.diff, regression.patch, server-node-tests.log, ui-node-tests.log, main-regression.log, format-check.log, lint-check.log and ci-snapshot.txt, plus environment-attempt logs.
|
TALE-597 final readiness: merge deferred; CI incomplete (2026-10-04, approximately 07:42–07:44Z). Head remains One exact-head snapshot returned 70 checks: 55 success, 12 skipped, 3 queued, zero failures/cancellations. Queued: Scan platform, Smoke test, Validate images, in https://github.com/tale-project/tale/actions/runs/37177971826 (exact-head attempt 1). These are not completed execution evidence. Completed-job cache/retry and by-design-skip clearance are not certified in this blocked pass. TALE-167 author run is settled; its protected pending human review capture remains untouched. Issue #3622 remains open. Per dispatch, stopping now: no merge, CI wait/poll/rerun/cancel, card move or release. TALE-359 retains remaining readiness clearance; raw evidence and report are attached to TALE-597. |
|
Updated with
|
What changed
Verification
Exact source head:
62e1d61de40c26d61f56cab40de6f54f47726f31(clean worktree); the 233-test targeted pass was refreshed after the commit.Closes #3622