Skip to content

docs: add architecture diagrams (resource model, activation, lifecycle)#245

Open
Frederick F. Kautz IV (fkautz) wants to merge 2 commits into
agent-substrate:mainfrom
fkautz:docs/architecture-diagrams
Open

docs: add architecture diagrams (resource model, activation, lifecycle)#245
Frederick F. Kautz IV (fkautz) wants to merge 2 commits into
agent-substrate:mainfrom
fkautz:docs/architecture-diagrams

Conversation

@fkautz

Copy link
Copy Markdown
Contributor

Adds three Mermaid diagrams to docs/architecture.md, each placed in the section whose prose already describes it:

  • Resource model (class diagram) in API Resource Models, showing the CRDs and control-plane records (ActorTemplate, WorkerPool, Actor, Worker) with their relationships and multiplicities.
  • Activation flow (sequence diagram) and the lifecycle state machine in Actor Lifecycle, giving a visual overview alongside the phase-by-phase walkthrough.

These diagrams previously lived in the glossary. This PR is the companion to #200, which slims the glossary back to a plain list of terms per review feedback; the diagrams move here, where people look when modifying the system, rather than being dropped.

Docs only; no code changes.

Add the sequence, class, and state diagrams to architecture.md, where
people look for diagrams when modifying the system. Each lands in the
section whose prose already describes it: the resource model under API
Resource Models, and the activation flow and lifecycle state machine
under Actor Lifecycle.

This is the companion to agent-substrate#200, which drops the same diagrams from the
glossary to keep it a plain list of terms (per review feedback).

Every diagram claim was verified against the current implementation. The
activation note no longer implies idle-triggered suspend, since
SuspendActor is an explicit call with no idle-detection mechanism.
Comment thread docs/architecture.md Outdated
}
}

namespace ControlPlaneRecords {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe ate-apiserver instead of ControlPlaneRecords and kube-apiserver instead of KubernetesObjects?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, done.

Rename the class-diagram namespaces from the abstract categories
(KubernetesObjects / ControlPlaneRecords) to the servers that actually
own the records: kube-apiserver (ActorTemplate/WorkerPool CRDs,
Deployment, WorkerPod) and ate-api-server (Actor/Worker, the proto
records persisted in Redis). Per review feedback on agent-substrate#245.

Uses the hyphenated ate-api-server to match the deployed Service and
Deployment, the client dial address, and the rest of this doc, rather
than the ate-apiserver spelling that only appears in an install flag.
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.

2 participants