Skip to content

fix(runner): scope startup reconciliation per daemon#63

Merged
pentaxis93 merged 2 commits intomainfrom
issue-62-namespace-startup-reconciliation-ownership
Apr 9, 2026
Merged

fix(runner): scope startup reconciliation per daemon#63
pentaxis93 merged 2 commits intomainfrom
issue-62-namespace-startup-reconciliation-ownership

Conversation

@pentaxis93
Copy link
Copy Markdown
Owner

Summary

  • derive a stable 8-hex daemon instance id from the configured socket and PID paths
  • encode compact daemon/session ownership into runner-managed Podman container and secret names
  • scope startup reconciliation and documentation to per-daemon ownership instead of whole-namespace cleanup

Changes

  • add daemon instance id derivation in the agentd config layer and pass it through dispatch/startup reconciliation
  • add shared runner naming/parsing helpers, shorten session ids to 8 hex chars, and validate daemon instance ids
  • update reconciliation, runner lifecycle tests, config/dispatch tests, and repository docs to the new ownership contract

Issue(s)

Closes #62

Test plan

  • cargo fmt --check
  • cargo test -p agentd-runner
  • cargo test -p agentd
  • cargo clippy --workspace --all-targets -- -D warnings

Encode compact daemon and session identifiers into runner-managed Podman resource names so startup reconciliation only removes resources owned by the starting daemon instance.

Refs #62
Restore 64-bit runner session identifiers so container, staging, and secret names retain practical collision resistance.

Reject relative daemon runtime paths when deriving daemon instance ids so startup reconciliation and dispatch cannot hash ambiguous from_str configs.

Refs #62
@pentaxis93 pentaxis93 merged commit a050d12 into main Apr 9, 2026
2 checks passed
@pentaxis93 pentaxis93 deleted the issue-62-namespace-startup-reconciliation-ownership branch April 9, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(runner): namespace startup reconciliation ownership per daemon instance

1 participant