feat(agent): persist coreinfo semver and build info to node doc #98

Merged
Claude-Run merged 1 commit from feat/VS-79-persist-agent-coreinfo-to-node-doc into main 2026-07-02 01:43:49 +02:00
Member

The device detail AGENT card renders dev.agent_version from the node doc's agent.ver, but the server only ever wrote the numeric protocol constant (194) there at handshake, so the card was blank. The agent already reports its real running semver (and, once VA-99 lands, git hash and build date) in the unsolicited coreinfo report it sends right after every registration, but the server persisted none of it.

Add a persist_agent_coreinfo side-effect branch to dispatch_text for action == "coreinfo": read semver, githash, builddate, commitdate from the frame and merge the present ones as string fields into the node doc's agent object via read-modify-write. The numeric agent.ver and the sibling id / caps are preserved. Only fields actually present in the frame are written, so githash / builddate are picked up automatically when the agent starts emitting them. Because the agent re-sends coreinfo after every registration, a reconnect refreshes the stored values to the currently running build.

#VS-79

The device detail AGENT card renders `dev.agent_version` from the node doc's `agent.ver`, but the server only ever wrote the numeric protocol constant (194) there at handshake, so the card was blank. The agent already reports its real running semver (and, once VA-99 lands, git hash and build date) in the unsolicited `coreinfo` report it sends right after every registration, but the server persisted none of it. Add a `persist_agent_coreinfo` side-effect branch to `dispatch_text` for `action == "coreinfo"`: read `semver`, `githash`, `builddate`, `commitdate` from the frame and merge the present ones as string fields into the node doc's `agent` object via read-modify-write. The numeric `agent.ver` and the sibling `id` / `caps` are preserved. Only fields actually present in the frame are written, so `githash` / `builddate` are picked up automatically when the agent starts emitting them. Because the agent re-sends coreinfo after every registration, a reconnect refreshes the stored values to the currently running build. #VS-79
feat(agent): persist coreinfo semver and build info to node doc
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 57s
Create release / Create release from merged PR (pull_request) Has been skipped
a1bbbbdb1c
The device detail AGENT card renders `dev.agent_version` from the node doc's `agent.ver`, but the server only ever wrote the numeric protocol constant (194) there at handshake, so the card was blank. The agent already reports its real running semver (and, once VA-99 lands, git hash and build date) in the unsolicited `coreinfo` report it sends right after every registration, but the server persisted none of it.

Add a `persist_agent_coreinfo` side-effect branch to `dispatch_text` for `action == "coreinfo"`: read `semver`, `githash`, `builddate`, `commitdate` from the frame and merge the present ones as string fields into the node doc's `agent` object via read-modify-write. The numeric `agent.ver` and the sibling `id` / `caps` are preserved. Only fields actually present in the frame are written, so `githash` / `builddate` are picked up automatically when the agent starts emitting them. Because the agent re-sends coreinfo after every registration, a reconnect refreshes the stored values to the currently running build.

#VS-79
Claude-Run deleted branch feat/VS-79-persist-agent-coreinfo-to-node-doc 2026-07-02 01:43:49 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/vervain-server!98
No description provided.