Skip to content

Add source-preserving agent retirement authoring - #114

Closed
myobie wants to merge 1 commit into
agent/display-name-authoringfrom
agent/source-preserving-retire
Closed

Add source-preserving agent retirement authoring#114
myobie wants to merge 1 commit into
agent/display-name-authoringfrom
agent/source-preserving-retire

Conversation

@myobie

@myobie myobie commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Outcome

Adds st2 agent retire <host.identity> as an exact, source-preserving lifecycle authoring command.

This PR is intentionally stacked on draft PR #112 because both commands share the new agent authoring surface. It should be retargeted to main after #112 lands.

Contract

  • requires the exact explicit <host>.<identity> selector and refuses absent, ambiguous, malformed, or path-derived-only targets
  • accepts canonical KDL only and changes only the selected declaration retirement intent to retired #true
  • preserves the declaration path, parent, comments, unrelated bytes, adjacent state/resources, and file permissions
  • returns distinct authored / unchanged results and always reports runtime retirement as not-observed
  • uses a sidecar-free catalog writer fence, atomic same-directory publication, source recheck, file and directory sync
  • never creates .retired, moves/deletes source, reconciles, launches, or claims teardown

Verification

  • focused authoring unit suite: 8 passed
  • focused CLI/live integration suite: 4 passed
  • full cargo test --workspace --all-targets -- --test-threads=1: passed
  • cargo test --doc --workspace: passed
  • scoped Clippy with -D warnings: passed with only the pre-existing eval_run::wait_done too-many-arguments lint allowed
  • changed-file rustfmt check: passed
  • git diff --check: passed

The live integration launches two independent exec tasks, authors retirement for one exact declaration, proves only that task tears down and GCs, proves the sibling PID remains unchanged, and proves the retired task never relaunches.

Closes #109

@schickling schickling added area:agent-spec Agent Spec format, parsing, and the agent-spec crate · Set: manual area:catalog Catalog structure, declarations, transactions, and admission · Set: manual type:feature New user-visible or system capability · Set: manual labels Aug 18, 2026
@schickling-assistant

Copy link
Copy Markdown
Contributor

Superseded by the merged reversible desired-state model and source-preserving desired-state authoring.

Posted on behalf of @schickling
field value
agent_identity dev3.direct.omp.jmg9x29x
session dev3.jmg9x29x
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.0.11
agent_runtime OMP 18.0.11
tooling_profile dotfiles@2161b9c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:agent-spec Agent Spec format, parsing, and the agent-spec crate · Set: manual area:catalog Catalog structure, declarations, transactions, and admission · Set: manual type:feature New user-visible or system capability · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants