Issue 210: the host re-creates the node's runtime on every reconcile, restarting it every ten minutes #317

Merged
mesh-admin merged 2 commits from issues/210-the-host-re-creates-the-runtime-every-cycle into main 2026-10-03 11:20:27 +00:00
Contributor

Found on the laptop while proving design 38 WP4: the host logs created node-tools.runtime … running as node-tools.service at every ten-minute reconcile (82 times since the runtime arrived at 00:04), and systemd stops and starts the runtime each time. Nothing else changes in those cycles.

Ruled out: a re-sealed credential (the file the runtime restarts on has not been written since the evening before, and a restart owed to a sibling would log updated), and an unstable unit text (keys are sorted). What fails is the record: the host's state file holds the process's entry with no wrote digest, while the credential's entry beside it carries one. The apply sets the digest on every installing path and the recording loop copies it for every kind, so a process outcome loses it somewhere between. Located in mesh-host, internal/apply/process.go; fix direction and the missing test are in the report.

Why it matters: the runtime is every module's tools on the node (ADR 0175); a restart every ten minutes drops calls in flight and re-imports every bundle, and the log reports success throughout.

Found on the laptop while proving design 38 WP4: the host logs `created node-tools.runtime … running as node-tools.service` at every ten-minute reconcile (82 times since the runtime arrived at 00:04), and systemd stops and starts the runtime each time. Nothing else changes in those cycles. Ruled out: a re-sealed credential (the file the runtime restarts on has not been written since the evening before, and a restart owed to a sibling would log `updated`), and an unstable unit text (keys are sorted). What fails is the record: the host's state file holds the process's entry with **no `wrote` digest**, while the credential's entry beside it carries one. The apply sets the digest on every installing path and the recording loop copies it for every kind, so a `process` outcome loses it somewhere between. Located in mesh-host, `internal/apply/process.go`; fix direction and the missing test are in the report. Why it matters: the runtime is every module's tools on the node (ADR 0175); a restart every ten minutes drops calls in flight and re-imports every bundle, and the log reports success throughout.
mesh-admin added 2 commits 2026-10-03 11:13:46 +00:00
mesh-admin merged commit 2ee6eab7b9 into main 2026-10-03 11:20:27 +00:00
mesh-admin deleted branch issues/210-the-host-re-creates-the-runtime-every-cycle 2026-10-03 11:20:27 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#317