Summary
Generated summary.md artifacts are being committed into reviewed PR branches, and three defects in them are now visible to human and bot reviewers on an unrelated change. Found on AgentWorkforce/relay#1536, artifact .agentworkforce/trajectories/completed/2026-08/traj_io278d9ai5tw/summary.md, where two bot reviewers opened review threads against the generated file instead of the code under review.
Filing all three together because they share one cause — the renderer emits fields without validating that they carry distinct, correctly-scoped information.
1. Every ## Chapters → Work bullet repeats itself as X: X
Observed verbatim:
- Use oneshot channel to call handle_api_request for SetInboundDeliveryMode from fleet terminal handler: Use oneshot channel to call handle_api_request for SetInboundDeliveryMode from fleet terminal handler
- Proved every new/changed test bites by mutation before claiming coverage: Proved every new/changed test bites by mutation before claiming coverage
Four of four bullets have this shape. The label and the value are byte-identical, so the section conveys nothing a heading would not, at double the length. Either render the performed action as the value, or drop the value and emit the label alone.
2. Timestamps are rendered without a timezone, two hours off the paired JSON
**Started:** August 12, 2026 at 11:49 PM
**Completed:** August 16, 2026 at 05:15 PM
The paired trajectory.json carries 2026-08-12T21:49:15.430Z and 2026-08-16T15:15:42.648Z. The rendered values are local time (UTC+2) with no offset shown, so the human-readable artifact and the machine-readable one disagree by two hours with nothing on the page to reconcile them. Emit ISO-8601 UTC, or render local time with an explicit offset.
3. The most consequential one: the artifact's provenance is wrong
This trajectory is attributed a Started: four days before the work it describes, and its Artifacts → Commits list carries 35 commits, including ones belonging to entirely unrelated work — 75e969a96 is the 2026-08-14 dm send fix from relay#1518, and 0d843597e is the cross-node attach change from relay#1521.
Neither was produced by the lane this summary describes, whose actual output was c73569e1c.
This matters more than the formatting issues. The artifact is committed into a PR branch and reads as that change's history, so a reviewer or a future reader is told this change touched work it never touched. An audit trail that over-claims is worse than none, because it is trusted. Scope the commit list and the start timestamp to the trajectory's own session rather than to whatever the session id has accumulated.
Why this is worth fixing rather than ignoring
Generated trajectory artifacts committed into reviewed branches have now cost twice on the same repo:
relay#1530 — committed trajectory artifacts failed format:check on every PR until it was fixed.
relay#1536 (this) — two bot reviewers spent review threads on the generated file while the actual change sat on the critical path for relay#1535.
Reviewer attention is the scarce resource being consumed. Worth deciding separately, and outside this issue: whether these artifacts belong in a reviewed branch at all, or whether they should land outside the PR diff.
Not filed for dispatch
No readiness label, deliberately. This wants a human decision on item 3's scoping rule before an agent implements anything.
Summary
Generated
summary.mdartifacts are being committed into reviewed PR branches, and three defects in them are now visible to human and bot reviewers on an unrelated change. Found onAgentWorkforce/relay#1536, artifact.agentworkforce/trajectories/completed/2026-08/traj_io278d9ai5tw/summary.md, where two bot reviewers opened review threads against the generated file instead of the code under review.Filing all three together because they share one cause — the renderer emits fields without validating that they carry distinct, correctly-scoped information.
1. Every
## Chapters → Workbullet repeats itself asX: XObserved verbatim:
Four of four bullets have this shape. The label and the value are byte-identical, so the section conveys nothing a heading would not, at double the length. Either render the performed action as the value, or drop the value and emit the label alone.
2. Timestamps are rendered without a timezone, two hours off the paired JSON
The paired
trajectory.jsoncarries2026-08-12T21:49:15.430Zand2026-08-16T15:15:42.648Z. The rendered values are local time (UTC+2) with no offset shown, so the human-readable artifact and the machine-readable one disagree by two hours with nothing on the page to reconcile them. Emit ISO-8601 UTC, or render local time with an explicit offset.3. The most consequential one: the artifact's provenance is wrong
This trajectory is attributed a
Started:four days before the work it describes, and itsArtifacts → Commitslist carries 35 commits, including ones belonging to entirely unrelated work —75e969a96is the 2026-08-14dm sendfix from relay#1518, and0d843597eis the cross-node attach change from relay#1521.Neither was produced by the lane this summary describes, whose actual output was
c73569e1c.This matters more than the formatting issues. The artifact is committed into a PR branch and reads as that change's history, so a reviewer or a future reader is told this change touched work it never touched. An audit trail that over-claims is worse than none, because it is trusted. Scope the commit list and the start timestamp to the trajectory's own session rather than to whatever the session id has accumulated.
Why this is worth fixing rather than ignoring
Generated trajectory artifacts committed into reviewed branches have now cost twice on the same repo:
relay#1530— committed trajectory artifacts failedformat:checkon every PR until it was fixed.relay#1536(this) — two bot reviewers spent review threads on the generated file while the actual change sat on the critical path forrelay#1535.Reviewer attention is the scarce resource being consumed. Worth deciding separately, and outside this issue: whether these artifacts belong in a reviewed branch at all, or whether they should land outside the PR diff.
Not filed for dispatch
No readiness label, deliberately. This wants a human decision on item 3's scoping rule before an agent implements anything.