fix(mac): hub-hook-meting van de Mac via een LaunchAgent in de login-sessie #267
No reviewers
Labels
No labels
severity/s2
severity/s3
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/Ops-dashboard!267
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/mac-hub-snapshot"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
On
mac-prodthe S4M hub-hook measurement of the Mac itself was stuck on "verouderd", for two reasons. The heartbeat had no agent secret, and the agent runs as_jpopsand can't read~/.claude,~/.configor theclaudebinary (all 0700). JP chose (2026-09-28) to measure in the login session.deploy/mac-production/launchd-user/com.jpvisser.hub-snapshot.plistruns the existinghub-hook-status.shevery 60 s and writes/Users/Shared/jpvisser/hub-snapshot.jsonatomically. The snapshot has no secret values, only booleans, the hub host, the waits and the Claude version.HUB_SNAPSHOT_FILEforops-heartbeat.HUB_SNAPSHOT_FILEset, the heartbeat reads that file (readHubSnapshotFile) instead of calling the agent. A snapshot older than 120 s counts as no measurement, so logged out shows up honestly as "verouderd".Tests:
fetch;tsc is clean.
After the deploy: install the launcher by hand (runbook step) and load the LaunchAgent.
🤖 Generated with Claude Code
Verdict: COMMENT
lib/hub-settings/collect.ts:119: een snapshot metcollected_atin de toekomst wordt als vers geaccepteerd, omdat alleen de maximale leeftijd wordt gecontroleerd. Na een klokcorrectie of fout geschreven timestamp kan een oude snapshot daardoor langer dan het online-venster zichtbaar blijven. Wijs timestamps nánowaf (of begrens een kleine klokskew) en voeg hiervoor een test toe.Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Validatie: de gerichte Vitest-suite kon in deze runner niet starten omdat de werkmap onder
/tmpmetnoexecis gemount; de TypeScript-check is daarnaast al rood op bestaande, niet-gerelateerde ontbrekende gegenereerde/Prisma/ops-agent-dependencies.