agent processes · the agent lifecycle

Retire an agent

An agent that answers nobody, holds no listing that says it does, and whose AgentDoc says when it was retired and why. Nothing is removed before the listing is gone and nothing without the owner's yes.

where it stands

What has actually happened with it

Written and validated in the process runner's parser; it has not run. Every phase is the owner's for now: the publisher's job publishes files and cannot retract a listing, the deployment manager cannot yet take a run's instruction to remove, and the documenter that assembles AgentDocs is the platform's and holds no seat on the fleet. The document says which phases become theirs when they can.

the document

Retire an agent, in the process language

This is the document the process runner reads, as it stands in the repository. The roster that names which agent holds each phase travels with the run, not with the document.

PROCESS: retire an agent     id: agentmesh/retire-an-agent v1
owner: letta1.jeffrschneider@gmail.com   effective: 2026-09-15
trigger: the owner asks for a released agent to be retired, naming its
         handle and the reason
concurrency: runs may overlap - one run per agent
goal: an agent that answers nobody, holds no listing that says it does,
      and whose AgentDoc says when it was retired and why, with every
      step on the record

phases:
  say-what-goes       - human: the owner names the agent, says why it is
                        retired, and names what depends on it that must
                        be told first
                        owner: letta1.jeffrschneider@gmail.com
                        after: trigger    automation: never
  retract-the-listing - human: the owner takes the agent's listing out of
                        the catalog, so nobody finds it and asks; the
                        platform makes and removes listings from the
                        deployed agent's descriptor, and no agent on the
                        fleet holds that act yet
                        owner: letta1.jeffrschneider@gmail.com
                        after: say-what-goes
                        automation: manual
  approve-the-removal - human: the owner reads what will be removed, the
                        host half and the job that does its work, and
                        says yes
                        owner: letta1.jeffrschneider@gmail.com
                        after: retract-the-listing
                        automation: never
  remove-the-agent    - human: the owner instructs the deployment manager
                        to remove the agent, which takes down both halves
                        and names anything it could not remove; the run
                        waits for the removal record
                        owner: letta1.jeffrschneider@gmail.com
                        after: approve-the-removal
                        automation: manual
  close-the-doc       - human: the owner marks the agent's AgentDoc as
                        retired, with the date and the reason; the
                        documenter that assembles AgentDocs is the
                        platform's and holds no seat on the fleet yet
                        owner: letta1.jeffrschneider@gmail.com
                        after: remove-the-agent
                        automation: manual

handoffs:
  say-what-goes -> retract-the-listing [notice]: the handle, the reason,
      and who was told
  retract-the-listing -> approve-the-removal [unlisted]: the listing as
      it was, and when it was taken down
  approve-the-removal -> remove-the-agent [approved-removal]: the handle,
      with who approved the removal and when
  remove-the-agent -> close-the-doc [removed]: the deployment manager's
      removal record, naming what was removed and anything that was not

deviations:
  approve-the-removal -> say-what-goes [keep]: the owner decides the agent
      stays; the listing goes back and the run closes with nothing removed
  remove-the-agent -> approve-the-removal [left-behind]: the deployment
      manager could not remove something it names; the owner decides
      whether that is acceptable or names a person to finish it

bindings:
  roster: every phase is the owner's, until the deployment manager can
      take a run's instruction to remove and the platform's documenter
      holds a seat; then remove-the-agent and close-the-doc become theirs
  systems: none of the phases reaches a system of its own
  data: the agent's handle, its listing and its AgentDoc

policy:
  nothing is removed before the listing is gone, so nobody sends work to
      an agent that is about to vanish
  nothing is removed without the owner's yes
  the AgentDoc is never deleted; it is closed with the date and the reason
  the handle stays claimed; a retired name is not given to another agent

measures:
  time: from the request to the closed AgentDoc
  left behind: things the deployment manager could not remove