Repository navigation
Commit 999fcdf
fix(server): heartbeat no longer trusts client-supplied updatedAt; add github reporter to e2e
A compute node heartbeat's capturedAt is untrusted client input (an
agent-reported reading), but both the in-memory and Postgres compute
control stores were using it directly as the row's own updatedAt
bookkeeping field -- letting a clock-skewed or malformed agent payload
propagate straight into it, and in the Postgres store specifically
risking a Zod validation failure on re-parse if capturedAt isn't a
strictly-formed ISO datetime. Both now generate updatedAt from the
store's own injected clock instead, matching every other write path in
these two files; lastHeartbeatAt still legitimately reflects the
agent's own capturedAt. Fixed a related SQL param-binding bug this
exposed in the Postgres store's UPDATE (updated_at was bound to the
same parameter as last_heartbeat_at).
Also added the 'github' reporter to e2e/playwright.config.ts's CI
reporter list -- without it a failing spec surfaces only as the job's
bare 'Process completed with exit code 1', with no file/line/assertion
in GitHub's own UI, forcing a full HTML-report artifact download just
to find out what broke.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>1 parent ff664d0 commit 999fcdf
3 files changed
Lines changed: 16 additions & 4 deletions
File tree
- e2e
- server/src/store
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
103 | 107 | | |
104 | 108 | | |
105 | 109 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
88 | 92 | | |
89 | | - | |
| 93 | + | |
90 | 94 | | |
91 | 95 | | |
92 | 96 | | |
| |||
0 commit comments