{"schemaVersion":1,"id":"agentatlas-knowledge-topics","name":"AgentAtlas Agent Systems Topics","canonicalUrl":"https://agentatlas.dev/topics","reviewedAt":"2026-07-26","reviewCadenceDays":30,"publishCadenceDays":7,"editorialPolicy":"AgentAtlas topics are maintained from primary documentation and official specifications. Scheduled automation may publish deterministic summaries of reviewed records, but it cannot invent claims, silently rewrite editorial guidance, or let sponsors influence conclusions.","topics":[{"slug":"agents","name":"Agents","category":"Foundations","summary":"Agents combine models, instructions, tools, state, and an execution loop so the system can decide how to pursue an outcome. The important design choice is not whether to use the label agent, but how much control the model receives and where deterministic boundaries remain.","decisionRule":"Start with a direct model call or fixed workflow. Introduce an agent only when the task genuinely requires model-directed sequencing, tool selection, or adaptation across multiple steps.","questions":["What decisions may the model make during a run?","Which outcomes require deterministic checks or human approval?","How will the run stop, recover, and report partial progress?"],"artifacts":["agent definition","run policy","tool registry","completion contract"],"lifecycle":[{"stage":"Define","practice":"Write the outcome, allowed decisions, stop conditions, and accountable owner."},{"stage":"Build","practice":"Use the simplest loop and smallest tool surface that can complete a representative task."},{"stage":"Verify","practice":"Trace the run and test success, refusal, timeout, and partial-failure paths."}],"relatedPaths":["/start","/agent-stack","/agent-stack/evals-verification"],"sources":[{"label":"Building effective agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/building-effective-agents","supports":"The distinction between fixed workflows and model-directed agents, plus the recommendation to add complexity only when measured outcomes justify it."},{"label":"Running agents","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/running_agents/","supports":"Agent run loops, state management, continuation strategies, and the operational boundary between the SDK and application-owned state."}],"canonicalUrl":"https://agentatlas.dev/topics/agents"},{"slug":"skills","name":"Skills","category":"Foundations","summary":"Skills package reusable instructions, examples, scripts, and resources for a repeatable workflow. They should stay focused enough to load only when relevant and concrete enough that another agent can follow the procedure without rediscovering it.","decisionRule":"Create a Skill after a workflow repeats and its inputs, steps, outputs, and validation rules are stable. Keep repository-wide truth in repository instructions instead.","questions":["What repeated workflow does the Skill make cheaper or more reliable?","Which files are instructions, executable helpers, references, or templates?","How will an agent know when the Skill applies and when it does not?"],"artifacts":["SKILL.md","scripts/","references/","assets/"],"lifecycle":[{"stage":"Define","practice":"Name one repeatable outcome and document its trigger conditions."},{"stage":"Build","practice":"Keep the core workflow concise and move optional detail into linked resources."},{"stage":"Verify","practice":"Run the Skill from a fresh context and validate the produced artifact or action."}],"relatedPaths":["/skills","/agent-stack/skills","/compare/agents-md-vs-skills"],"sources":[{"label":"Agent Skills specification","publisher":"Agent Skills","url":"https://agentskills.io/specification","supports":"The portable Skill directory structure, required SKILL.md metadata, progressive disclosure, and optional resource folders."},{"label":"Build skills for ChatGPT and Codex","publisher":"OpenAI","url":"https://learn.chatgpt.com/docs/build-skills","supports":"How Skills are authored, discovered, loaded, and used across OpenAI agent surfaces."}],"canonicalUrl":"https://agentatlas.dev/topics/skills"},{"slug":"architecture","name":"Agent architecture","category":"Foundations","summary":"Agent architecture assigns responsibility across models, deterministic code, tools, state stores, queues, human reviewers, and independently operated agents. A useful architecture makes control flow, trust boundaries, and recovery behavior visible before framework details.","decisionRule":"Choose the least distributed architecture that meets the workflow's autonomy, latency, reliability, and ownership requirements. Add services or agents only for a named boundary.","questions":["Where does control flow live: code, one agent, or multiple agents?","Which state must survive retries, deployments, or handoffs?","Which boundaries cross teams, credentials, networks, or legal responsibility?"],"artifacts":["system context diagram","decision record","trust-boundary map","failure matrix"],"lifecycle":[{"stage":"Define","practice":"Map actors, systems, data, decisions, and side effects before choosing components."},{"stage":"Build","practice":"Implement one end-to-end path with explicit contracts at every boundary."},{"stage":"Verify","practice":"Exercise dependency failure, retry, duplicate, timeout, and degraded-mode scenarios."}],"relatedPaths":["/start","/agent-stack","/compare"],"sources":[{"label":"Building effective agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/building-effective-agents","supports":"Composable workflow patterns, the workflow-versus-agent boundary, and the case for starting with simpler architecture."},{"label":"A2A protocol specification","publisher":"A2A Project","url":"https://a2a-protocol.org/latest/specification/","supports":"Architecture for communication between independently operated agents, including discovery, tasks, messages, artifacts, and security schemes."}],"canonicalUrl":"https://agentatlas.dev/topics/architecture"},{"slug":"agent-product-design","name":"Agent product design","category":"Delivery","summary":"Agent product design turns uncertain model behavior into an understandable user experience. It defines what the agent can do, how it communicates progress and uncertainty, when users can inspect or interrupt work, and what recovery looks like after failure.","decisionRule":"Design the review, interruption, and recovery experience alongside the happy path. Never make autonomy invisible when the agent can create consequential side effects.","questions":["What can the user preview, edit, approve, reject, or undo?","How are plans, tool calls, evidence, and uncertainty communicated?","What remains useful when the agent cannot complete the full request?"],"artifacts":["interaction flow","approval states","error and recovery copy","prototype"],"lifecycle":[{"stage":"Define","practice":"Describe user intent, consequences, review moments, and accessibility requirements."},{"stage":"Build","practice":"Expose meaningful state without overwhelming users with raw internal traces."},{"stage":"Verify","practice":"Test interruption, rejection, correction, resumption, and incomplete-result experiences."}],"relatedPaths":["/start","/agent-stack/permissions-safety","/topics/human-approval"],"sources":[{"label":"Human-in-the-loop","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/human_in_the_loop/","supports":"Pause, inspect, approve, reject, persist, and resume patterns for consequential tool calls across agent runs."},{"label":"Building effective agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/building-effective-agents","supports":"Transparency, explicit planning, tool-interface design, and choosing agentic complexity only when it improves outcomes."}],"canonicalUrl":"https://agentatlas.dev/topics/agent-product-design"},{"slug":"specifications","name":"Specifications","category":"Delivery","summary":"Specifications convert intent into reviewable requirements, acceptance scenarios, constraints, and non-goals. For agent-assisted delivery, a specification should be precise enough to guide planning and validation without pretending that uncertain decisions are already settled.","decisionRule":"Write a specification when multiple implementations could satisfy the request or when acceptance depends on constraints that must survive across models, sessions, and contributors.","questions":["What user outcome and acceptance scenarios define completion?","Which constraints and non-goals prevent plausible but wrong implementations?","How will requirement changes propagate to plans, tasks, tests, and documentation?"],"artifacts":["spec.md","PRD","acceptance scenarios","non-functional requirements"],"lifecycle":[{"stage":"Define","practice":"Capture outcomes, actors, scenarios, constraints, non-goals, and unresolved questions."},{"stage":"Refine","practice":"Remove ambiguity and contradictions before generating detailed implementation work."},{"stage":"Verify","practice":"Trace tests and shipped behavior back to explicit acceptance scenarios."}],"relatedPaths":["/prd","/topics/planning","/topics/tasks"],"sources":[{"label":"GitHub Spec Kit","publisher":"GitHub","url":"https://github.github.com/spec-kit/index.html","supports":"The specification-driven workflow from intent through specification, plan, tasks, implementation, and quality checks."},{"label":"AGENTS.md specification","publisher":"AGENTS.md","url":"https://agents.md/","supports":"Portable repository-level instructions that keep implementation constraints and verification commands available to coding agents."}],"canonicalUrl":"https://agentatlas.dev/topics/specifications"},{"slug":"planning","name":"Plans","category":"Delivery","summary":"A plan translates approved intent into technical decisions, dependencies, sequencing, migration strategy, and verification. Strong plans preserve the why behind choices and identify uncertainty before work is fragmented into tasks.","decisionRule":"Create a plan when implementation spans multiple boundaries, carries migration or rollback risk, or needs decisions that should be reviewed before code changes begin.","questions":["Which technical decisions and dependencies determine the implementation order?","What can proceed in parallel and what has a hard dependency?","How will migration, rollback, observability, and validation work?"],"artifacts":["plan.md","architecture decisions","dependency graph","rollout plan"],"lifecycle":[{"stage":"Design","practice":"Map each requirement to a technical decision and an explicit rationale."},{"stage":"Sequence","practice":"Order work around contracts, risk reduction, and independently verifiable increments."},{"stage":"Review","practice":"Challenge assumptions, missing dependencies, rollout risk, and validation coverage."}],"relatedPaths":["/topics/specifications","/topics/tasks","/topics/architecture"],"sources":[{"label":"Agentic SDD workflow","publisher":"GitHub","url":"https://github.github.com/spec-kit/reference/agentic-sdd.html","supports":"The ordered specification, clarification, planning, tasking, analysis, implementation, and convergence workflow."},{"label":"Building effective agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/building-effective-agents","supports":"Planning transparency, composable workflow patterns, and matching orchestration complexity to task requirements."}],"canonicalUrl":"https://agentatlas.dev/topics/planning"},{"slug":"tasks","name":"Tasks","category":"Delivery","summary":"Tasks turn a plan into bounded units with inputs, outputs, dependencies, acceptance checks, and ownership. Agent-ready tasks minimize hidden context and produce results that can be verified and integrated without replaying the entire reasoning process.","decisionRule":"Split work where outputs can be reviewed independently and dependencies are explicit. Do not create tiny tasks that add coordination cost without creating a meaningful verification boundary.","questions":["What concrete artifact or state change completes this task?","Which context and dependencies must be supplied rather than rediscovered?","Can the result be verified and integrated independently?"],"artifacts":["tasks.md","issue","acceptance checklist","dependency map"],"lifecycle":[{"stage":"Decompose","practice":"Create tasks around independently testable outputs rather than arbitrary file boundaries."},{"stage":"Execute","practice":"Provide required context, allowed scope, and a clear completion contract."},{"stage":"Integrate","practice":"Verify the output, reconcile dependencies, and update the parent plan."}],"relatedPaths":["/topics/planning","/agent-stack/subagents","/compare/subagents-vs-automations"],"sources":[{"label":"Agentic SDD workflow","publisher":"GitHub","url":"https://github.github.com/spec-kit/reference/agentic-sdd.html","supports":"Generating and analyzing implementation tasks after specification and planning quality gates."},{"label":"A2A protocol specification","publisher":"A2A Project","url":"https://a2a-protocol.org/latest/specification/","supports":"Task identity, lifecycle, messages, status, artifacts, cancellation, and communication across agent boundaries."}],"canonicalUrl":"https://agentatlas.dev/topics/tasks"},{"slug":"memory-context","name":"Memory and context","category":"Runtime","summary":"Context is the information available for the current inference; memory is persisted state that may shape later runs. Reliable systems separate conversation history, durable facts, user preferences, project policy, and derived summaries so each can be governed and refreshed appropriately.","decisionRule":"Persist only information with a defined future use, owner, retention rule, and correction path. Retrieve the smallest high-signal context needed for the current decision.","questions":["What belongs in immediate context, session history, durable memory, or project instructions?","Who can inspect, correct, expire, or delete remembered information?","How will retrieval quality and compaction loss be measured?"],"artifacts":["session store","memory schema","retention policy","compaction strategy"],"lifecycle":[{"stage":"Classify","practice":"Separate transient context, conversation state, durable memory, and authoritative policy."},{"stage":"Persist","practice":"Use stable identities, scoped storage, retention limits, and correction mechanisms."},{"stage":"Evaluate","practice":"Test retrieval precision, stale-memory behavior, privacy, and compaction loss."}],"relatedPaths":["/agent-stack/memory-context","/compare/memory-vs-agents-md","/topics/context-engineering"],"sources":[{"label":"Sessions","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/sessions/","supports":"Session memory, storage choices, history limits, compaction, resumption, and operational persistence patterns."},{"label":"Effective context engineering for AI agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents","supports":"Treating context as a finite resource and curating instructions, tools, external data, history, and summaries across long-running agents."}],"canonicalUrl":"https://agentatlas.dev/topics/memory-context"},{"slug":"context-engineering","name":"Context engineering","category":"Runtime","summary":"Context engineering controls which instructions, examples, tools, retrieved facts, messages, and summaries reach the model at each step. The objective is not maximum context; it is the smallest current set that makes the desired behavior likely and reviewable.","decisionRule":"Add context only when it changes a named decision or reduces a measured failure. Prefer selective retrieval and structured summaries over accumulating every available token.","questions":["Which information must always be present and which should load on demand?","What is the provenance and freshness of retrieved context?","How will context growth, conflict, distraction, and loss be detected?"],"artifacts":["context budget","retrieval policy","compaction rules","provenance metadata"],"lifecycle":[{"stage":"Inventory","practice":"List every source of tokens and the decision each source is meant to support."},{"stage":"Curate","practice":"Rank, retrieve, summarize, and expire context based on relevance and authority."},{"stage":"Measure","practice":"Compare task quality, latency, token use, and failure modes under realistic context loads."}],"relatedPaths":["/agent-stack/memory-context","/topics/memory-context","/agents-md"],"sources":[{"label":"Effective context engineering for AI agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents","supports":"A model for curating limited context across instructions, tools, external data, history, and compaction."},{"label":"How Claude remembers your project","publisher":"Anthropic","url":"https://code.claude.com/docs/en/memory","supports":"Repository instruction hierarchy, project memory, scoped rules, and how persistent context is discovered and loaded."}],"canonicalUrl":"https://agentatlas.dev/topics/context-engineering"},{"slug":"tools-mcp","name":"Tools and MCP","category":"Runtime","summary":"Tools let models request deterministic functions; MCP standardizes how compatible hosts discover and call external tools, resources, and prompts. Good tool design minimizes ambiguity, constrains inputs, makes side effects visible, and returns results the model can interpret reliably.","decisionRule":"Use a local function for application-owned capability and MCP when independently maintained systems need a reusable protocol boundary. Require approval for consequential side effects.","questions":["Is the capability read-only, reversible, consequential, or externally stateful?","What schema and descriptions make correct tool selection likely?","How are authentication, authorization, timeouts, retries, and output size controlled?"],"artifacts":["tool schema","MCP server","auth policy","approval rules"],"lifecycle":[{"stage":"Contract","practice":"Define narrow inputs, outputs, errors, side effects, and authorization requirements."},{"stage":"Connect","practice":"Expose the capability through the simplest appropriate application or protocol boundary."},{"stage":"Verify","practice":"Test discovery, selection, malformed input, permission denial, timeout, and duplicate execution."}],"relatedPaths":["/mcp","/agent-stack/mcp-tools","/compare/mcp-vs-skills"],"sources":[{"label":"MCP specification","publisher":"Model Context Protocol","url":"https://modelcontextprotocol.io/specification/","supports":"The protocol model, capability negotiation, tools, resources, prompts, transports, authorization, and security considerations."},{"label":"Connect Codex to MCP servers","publisher":"OpenAI","url":"https://learn.chatgpt.com/docs/extend/mcp","supports":"How Codex discovers, configures, authenticates, and uses MCP servers and their capabilities."}],"canonicalUrl":"https://agentatlas.dev/topics/tools-mcp"},{"slug":"multi-agent","name":"Multi-agent systems","category":"Runtime","summary":"Multi-agent systems divide work among specialized or isolated agents and synthesize their outputs. They are valuable when work partitions cleanly or trust boundaries differ, but they add coordination, context transfer, conflict resolution, and observability costs.","decisionRule":"Delegate only when a bounded subtask can run with a clear input and completion contract. Keep tightly coupled reasoning in one context until measurement proves otherwise.","questions":["Can the work be partitioned without constant shared-state coordination?","What context, tools, and permissions does each agent receive?","Who resolves conflicts and verifies the combined result?"],"artifacts":["agent roster","delegation contract","handoff schema","synthesis checklist"],"lifecycle":[{"stage":"Partition","practice":"Split work around independent outputs, expertise, or trust boundaries."},{"stage":"Delegate","practice":"Provide scoped context, tools, budget, and an explicit return contract."},{"stage":"Synthesize","practice":"Resolve overlap and contradictions before verifying the whole outcome."}],"relatedPaths":["/agent-stack/subagents","/compare/subagents-vs-automations","/topics/interoperability"],"sources":[{"label":"Codex subagents","publisher":"OpenAI","url":"https://learn.chatgpt.com/docs/agent-configuration/subagents","supports":"Subagent configuration, scoped roles, delegation behavior, and parallel work inside Codex."},{"label":"Create custom subagents","publisher":"Anthropic","url":"https://code.claude.com/docs/en/sub-agents","supports":"Specialized subagent configuration, context isolation, tools, permissions, and delegation patterns."}],"canonicalUrl":"https://agentatlas.dev/topics/multi-agent"},{"slug":"interoperability","name":"Agent interoperability","category":"Runtime","summary":"Interoperability allows hosts, tools, and independently operated agents to discover capabilities and exchange work through explicit contracts. MCP primarily connects models to tools and context; A2A primarily coordinates agents and task artifacts across service boundaries.","decisionRule":"Choose the protocol that matches the boundary: MCP for tool or context access, A2A for collaboration with an independently operated agent, and ordinary application APIs when neither abstraction is needed.","questions":["Is the remote party a tool service, context provider, or autonomous agent?","How are capabilities discovered, authenticated, versioned, and revoked?","What task state, messages, and artifacts must cross the boundary?"],"artifacts":["MCP manifest","Agent Card","task contract","security scheme"],"lifecycle":[{"stage":"Classify","practice":"Identify whether the boundary exposes capability, data, or autonomous collaboration."},{"stage":"Contract","practice":"Publish discovery metadata, schemas, versions, and security requirements."},{"stage":"Operate","practice":"Monitor compatibility, task state, authentication failure, and protocol upgrades."}],"relatedPaths":["/compare/mcp-vs-a2a","/mcp","/a2a"],"sources":[{"label":"MCP specification","publisher":"Model Context Protocol","url":"https://modelcontextprotocol.io/specification/","supports":"Host, client, and server roles plus capability negotiation for tools, resources, and prompts."},{"label":"A2A protocol specification","publisher":"A2A Project","url":"https://a2a-protocol.org/latest/specification/","supports":"Agent discovery, tasks, messages, artifacts, protocol bindings, security, and interoperability requirements."}],"canonicalUrl":"https://agentatlas.dev/topics/interoperability"},{"slug":"workflows-automation","name":"Workflows and automation","category":"Runtime","summary":"Workflows encode known control paths; automations trigger those workflows on a schedule or event without continuous human initiation. Reliable automation requires idempotency, retry policy, durable state, ownership, observability, and a clear boundary for escalation.","decisionRule":"Automate after a workflow is repeatable, measurable, and safe to retry. Use model-directed agents only for the portions that genuinely require flexible judgment.","questions":["What event starts the workflow and how are duplicates identified?","Which steps are deterministic and which require model judgment?","How are retries, deadlines, partial completion, and escalation handled?"],"artifacts":["workflow definition","trigger","idempotency key","runbook"],"lifecycle":[{"stage":"Stabilize","practice":"Run the workflow manually until inputs, outputs, and failure modes are understood."},{"stage":"Automate","practice":"Add triggers, durable state, retries, deadlines, and bounded side effects."},{"stage":"Operate","practice":"Monitor completion, cost, drift, queue health, and human escalation."}],"relatedPaths":["/agent-stack/automations","/compare/subagents-vs-automations","/topics/observability"],"sources":[{"label":"Building effective agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/building-effective-agents","supports":"The distinction between predefined workflows and model-directed agents plus composable orchestration patterns."},{"label":"Codex automations","publisher":"OpenAI","url":"https://learn.chatgpt.com/docs/automations","supports":"Scheduling recurring Codex work, repository execution, review flows, and automation configuration."}],"canonicalUrl":"https://agentatlas.dev/topics/workflows-automation"},{"slug":"evals-verification","name":"Evals and verification","category":"Operations","summary":"Evals measure behavior across representative tasks; verification checks whether a specific run produced an acceptable result. Production systems need both: aggregate evidence for change decisions and concrete completion checks before outputs or side effects are trusted.","decisionRule":"Define expected behavior and graders before optimizing prompts, models, tools, or autonomy. Keep deterministic verification close to consequential outputs.","questions":["Which representative tasks and failure modes define acceptable performance?","Which checks can be deterministic and which require expert judgment?","How will regressions be attributed to model, context, tool, or workflow changes?"],"artifacts":["eval dataset","grader","acceptance test","regression report"],"lifecycle":[{"stage":"Specify","practice":"Translate desired behavior and known failures into representative examples and graders."},{"stage":"Measure","practice":"Evaluate the complete workflow, not only isolated model responses."},{"stage":"Gate","practice":"Require relevant checks before rollout and before consequential side effects."}],"relatedPaths":["/agent-stack/evals-verification","/topics/observability","/topics/safety-permissions"],"sources":[{"label":"Evaluation best practices","publisher":"OpenAI","url":"https://developers.openai.com/api/docs/guides/evaluation-best-practices","supports":"Eval design, task-specific datasets, graders, continuous evaluation, and avoiding common measurement mistakes."},{"label":"Demystifying evals for AI agents","publisher":"Anthropic","url":"https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents","supports":"Agent-specific evaluation design, outcome and process measures, transcript analysis, and iterative improvement."}],"canonicalUrl":"https://agentatlas.dev/topics/evals-verification"},{"slug":"observability","name":"Observability","category":"Operations","summary":"Agent observability connects user outcomes to model turns, tool calls, handoffs, guardrails, latency, token use, and errors. Useful telemetry makes an end-to-end workflow explainable while controlling sensitive prompt, output, argument, and result data.","decisionRule":"Trace every production workflow end to end with stable identities and privacy-aware attributes. Record enough to diagnose failures without treating sensitive content as harmless telemetry.","questions":["Can one user-visible outcome be followed across models, tools, agents, and queues?","Which content is sensitive and should be redacted, sampled, or excluded?","Which metrics reveal quality, latency, cost, retries, and operational saturation?"],"artifacts":["trace","span conventions","dashboard","alert policy"],"lifecycle":[{"stage":"Instrument","practice":"Create end-to-end trace identities and spans for model, tool, handoff, and guardrail operations."},{"stage":"Protect","practice":"Classify sensitive telemetry and apply redaction, access, retention, and sampling rules."},{"stage":"Learn","practice":"Connect operational signals to eval failures, incidents, cost, and product outcomes."}],"relatedPaths":["/topics/evals-verification","/topics/deployment-operations","/monitoring"],"sources":[{"label":"OpenTelemetry semantic conventions","publisher":"OpenTelemetry","url":"https://opentelemetry.io/docs/specs/semconv/","supports":"Standard names, attributes, traces, metrics, logs, and generative-AI operations for interoperable telemetry."},{"label":"OpenAI Agents SDK tracing","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/tracing/","supports":"Tracing model generations, tools, handoffs, guardrails, custom events, workflow grouping, and sensitive-data controls."}],"canonicalUrl":"https://agentatlas.dev/topics/observability"},{"slug":"deployment-operations","name":"Deployment and operations","category":"Operations","summary":"Operating agents in production requires durable run identities, bounded time and cost, resumable state, safe retries, versioned dependencies, rollback, observability, and ownership. Deployment is a change to a live decision system, not merely a code upload.","decisionRule":"Deploy incrementally with versioned configuration, representative eval gates, end-to-end traces, explicit budgets, and a tested rollback or kill path.","questions":["Which model, prompt, tool, Skill, and policy versions produced a run?","How are long-running, interrupted, duplicated, or abandoned runs recovered?","What signals trigger rollback, throttling, disabling, or human intervention?"],"artifacts":["release manifest","run budget","rollback procedure","operations dashboard"],"lifecycle":[{"stage":"Release","practice":"Version models, instructions, tools, schemas, policies, and migrations together."},{"stage":"Control","practice":"Set budgets, concurrency, deadlines, retries, circuit breakers, and approval boundaries."},{"stage":"Recover","practice":"Test rollback, resume, replay protection, degraded mode, and incident ownership."}],"relatedPaths":["/topics/observability","/topics/evals-verification","/topics/human-approval"],"sources":[{"label":"Running agents","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/running_agents/","supports":"Run execution, limits, state and conversation strategies, streaming, errors, and lifecycle behavior."},{"label":"OpenAI Agents SDK tracing","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/tracing/","supports":"Production workflow tracing, grouping, processors, sensitive data, and operational diagnosis."}],"canonicalUrl":"https://agentatlas.dev/topics/deployment-operations"},{"slug":"safety-permissions","name":"Safety and permissions","category":"Governance","summary":"Safety combines behavioral guidance with enforceable controls around data, tools, networks, execution, and human approval. Prompts can shape intent, but least-privilege permissions and sandbox boundaries limit what mistakes or attacks can actually affect.","decisionRule":"Assume model output and external content can be wrong or adversarial. Enforce the narrowest permissions outside the prompt and require approval for consequential, irreversible, or cross-boundary actions.","questions":["What assets and side effects are reachable from this run?","Which decisions are enforced by code, policy, sandbox, or human review?","How are prompt injection, secret exposure, and untrusted tool output contained?"],"artifacts":["threat model","permission policy","sandbox profile","approval matrix"],"lifecycle":[{"stage":"Threat-model","practice":"Map untrusted inputs, assets, trust boundaries, abuse cases, and recovery requirements."},{"stage":"Enforce","practice":"Apply least privilege, isolation, secret boundaries, validation, and approvals outside model instructions."},{"stage":"Test","practice":"Exercise injection, exfiltration, privilege escalation, denial, and recovery scenarios."}],"relatedPaths":["/agent-stack/permissions-safety","/compare/permissions-vs-prompt-guardrails","/topics/human-approval"],"sources":[{"label":"Codex security","publisher":"OpenAI","url":"https://developers.openai.com/codex/security","supports":"Sandboxing, approvals, network access, filesystem controls, and security boundaries for agentic coding work."},{"label":"Configure permissions","publisher":"Anthropic","url":"https://code.claude.com/docs/en/permissions","supports":"Permission rules, allow and deny controls, managed policy, tool authorization, and least-privilege configuration."}],"canonicalUrl":"https://agentatlas.dev/topics/safety-permissions"},{"slug":"human-approval","name":"Human approval","category":"Governance","summary":"Human approval is a control boundary for decisions that require accountable judgment. A useful approval presents the proposed action, arguments, evidence, consequences, and alternatives, then persists the decision so a paused run can resume safely.","decisionRule":"Require approval when an action is consequential, difficult to reverse, outside prior authority, or meaningfully ambiguous. Do not ask humans to approve low-information prompts they cannot evaluate.","questions":["What exact action, arguments, evidence, and consequences does the reviewer see?","Can the reviewer modify, reject, defer, or scope the approval?","How is paused state persisted and protected until the decision arrives?"],"artifacts":["approval request","decision record","resumable state","escalation policy"],"lifecycle":[{"stage":"Interrupt","practice":"Pause before the side effect and surface a complete, understandable decision packet."},{"stage":"Decide","practice":"Capture reviewer identity, scope, rationale, and any modified parameters."},{"stage":"Resume","practice":"Bind the decision to the original call, prevent replay, and continue from durable state."}],"relatedPaths":["/topics/agent-product-design","/topics/safety-permissions","/agent-stack/permissions-safety"],"sources":[{"label":"Human-in-the-loop","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/human_in_the_loop/","supports":"Approval-required tools, interruptions, rejection messages, persisted run state, resumption, and long-running approvals."},{"label":"Configure permissions","publisher":"Anthropic","url":"https://code.claude.com/docs/en/permissions","supports":"Permission modes, explicit allow and deny rules, managed controls, and user approval for tool execution."}],"canonicalUrl":"https://agentatlas.dev/topics/human-approval"},{"slug":"governance","name":"Governance","category":"Governance","summary":"Agent governance assigns ownership and policy across instructions, models, tools, data, evaluation, permissions, releases, incidents, and vendors. It should make authority and evidence visible without turning every low-risk improvement into a centralized bottleneck.","decisionRule":"Govern according to impact: stronger review, traceability, access control, and change management for systems with broader data access, autonomy, or consequences.","questions":["Who owns behavior, data, tools, releases, incidents, and user recourse?","Which evidence is required before a capability or change can ship?","How are exceptions, expiry, audits, and policy updates managed?"],"artifacts":["ownership matrix","policy set","change record","exception register"],"lifecycle":[{"stage":"Classify","practice":"Tier systems by data sensitivity, autonomy, reach, reversibility, and consequence."},{"stage":"Control","practice":"Assign owners, evidence gates, access rules, review cadence, and exception paths."},{"stage":"Audit","practice":"Review changes, incidents, stale permissions, vendors, and unresolved exceptions."}],"relatedPaths":["/agents-md","/topics/safety-permissions","/topics/deployment-operations"],"sources":[{"label":"AGENTS.md specification","publisher":"AGENTS.md","url":"https://agents.md/","supports":"Versioned repository instructions that make build, test, style, and contribution requirements available to agents."},{"label":"GitHub Spec Kit","publisher":"GitHub","url":"https://github.github.com/spec-kit/index.html","supports":"Governed specification-driven workflows, quality checks, organizational principles, and traceability across delivery artifacts."},{"label":"Codex security","publisher":"OpenAI","url":"https://developers.openai.com/codex/security","supports":"Operational authority boundaries enforced through sandboxing, permissions, approvals, and network controls."}],"canonicalUrl":"https://agentatlas.dev/topics/governance"},{"slug":"agent-commerce","name":"Agent commerce","category":"Ecosystem","summary":"Agent commerce separates discovery, offer details, checkout coordination, user authorization, payment execution, fulfillment, and receipts. Protocols can make these steps interoperable, but accountable consent and auditable state remain application responsibilities.","decisionRule":"Treat offer discovery and transaction authorization as separate trust decisions. Bind user intent to explicit terms before payment or another consequential commitment.","questions":["How are offers, merchants, credentials, and transaction terms authenticated?","What evidence binds user intent to a specific purchase or mandate?","How are retries, duplicate charges, fulfillment, refunds, and disputes handled?"],"artifacts":["offer","checkout session","mandate","receipt"],"lifecycle":[{"stage":"Discover","practice":"Identify offers and merchants without treating visibility as trust."},{"stage":"Authorize","practice":"Present exact terms and bind accountable user intent before commitment."},{"stage":"Settle","practice":"Execute idempotently and preserve receipts, fulfillment state, and recourse."}],"relatedPaths":["/ap2","/agent-stack/commerce-protocols","/topics/safety-permissions"],"sources":[{"label":"Universal Commerce Protocol","publisher":"UCP","url":"https://ucp.dev/","supports":"Interoperable commerce capabilities, discovery, checkout, identity, payment, fulfillment, and extension patterns."},{"label":"Agent Payments Protocol","publisher":"AP2","url":"https://ap2-protocol.org/","supports":"Cryptographically verifiable mandates and accountable authorization across agent-initiated payment flows."}],"canonicalUrl":"https://agentatlas.dev/topics/agent-commerce"},{"slug":"model-strategy","name":"Model strategy","category":"Ecosystem","summary":"Model strategy matches workload requirements to model capability, latency, cost, context, tool use, and operational controls. A production choice should be based on representative evaluation and a migration path, not a permanent assumption that one provider or benchmark is universally best.","decisionRule":"Choose models with task-specific evals and operational constraints. Preserve enough abstraction and evidence to revisit the choice when providers, prices, controls, or workloads change.","questions":["Which capabilities and failure modes matter for this workload?","What latency, cost, context, privacy, and regional constraints apply?","How will model upgrades, fallbacks, and provider migration be evaluated?"],"artifacts":["model scorecard","eval report","routing policy","migration plan"],"lifecycle":[{"stage":"Benchmark","practice":"Evaluate representative inputs, complete workflows, and known hard cases."},{"stage":"Operate","practice":"Track quality, latency, cost, limits, safety behavior, and provider changes."},{"stage":"Revisit","practice":"Re-run evals before upgrades and keep fallback assumptions current."}],"relatedPaths":["/model-guides","/topics/evals-verification","/topics/deployment-operations"],"sources":[{"label":"GPT-5.4 model guide","publisher":"OpenAI","url":"https://developers.openai.com/api/docs/models/gpt-5.4","supports":"Current OpenAI model capabilities, context, tool support, controls, and operational characteristics."},{"label":"Claude prompting best practices","publisher":"Anthropic","url":"https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices","supports":"Current Claude prompting controls and provider-specific practices that should be evaluated rather than generalized across models."}],"canonicalUrl":"https://agentatlas.dev/topics/model-strategy"}],"discovery":{"starterKit":"https://agentatlas.dev/starter-kit","templatesCatalog":"https://agentatlas.dev/api/catalog/templates","contentStatus":"https://agentatlas.dev/api/catalog/status","knowledgeCatalog":"https://agentatlas.dev/api/catalog/knowledge","recommendations":"https://agentatlas.dev/api/recommendations","llms":"https://agentatlas.dev/llms.txt","feed":"https://agentatlas.dev/feed.json"}}