carlos / platform Public

adoptLoop and configSyncLoop have no boot retry/backoff on registry or store open failure Issue open

Migrated from github.com/carlosframework/platform issue #27, opened 2026-08-03. GitHub issues are closed for this repo; see AGENTS.md, "Work is tracked on amadan, not GitHub".

Still outstanding: adoptLoop and configSyncLoop still return permanently on a boot-time store/key failure, so an S3 or IMDS hiccup silences them until restart.

---

Deferred from the PR #16 review ledger ("worth a shared ticket if it ever bites" — filing it so it has a number).

Both agent loops do a first pass ~1 minute after boot and then settle into their hourly cadence, but their setup failures are terminal for the process lifetime:

  • \configSyncLoop\ (internal/host/agent.go): if \openDeployStore\ or key parsing fails at boot, the loop logs "disabled" once and returns — a transient S3/IMDS hiccup at boot silences config delivery until the next agent restart.
  • \adoptLoop\ / \canaryAdoptLoop\: same shape for their store/pubkey setup.

If a box ever boots faster than its network (cloud-init races, IMDS not ready), the agent runs but the loops are permanently dark, with one log line an hour of nothing to hint at it.

Possible fix: a shared retry-with-backoff helper for loop setup (retry the store/key acquisition for a bounded window before declaring disabled), or simply re-attempt setup on each tick instead of once at boot.

Related: PR #16 (deferred-minors comment), #17.