Agno synthesis

Type: agentic-system-analyses/types/agentic-system-synthesis.md

Bounded synthesis

From request to model and effect

Agno's Python SDK and AgentOS server form an enclosing runtime: they prepare model context, grant tools, issue model calls and coordinate execution. This account covers that subsystem at commit 00497422d4a386d93ab3b45c1a11faf42fcc932f, with an applicability cutoff of 2026-10-13. It excludes terminal operations, infrastructure provisioning, the hosted UI and external provider implementations. SRC-1 supplies inspected implementation and declared intent, not execution traces or causal experiments. No target runs, tests or provider calls were performed. The mechanisms below are wired capacities; successful delivery, actual reliance and benefit remain unobserved. See boundary and evidence and the Source register.

A caller configures an Agent's model, instructions, tools and context policies. Host code loads session state, resolves dependencies, runs input hooks and prepares messages. The model proposes text or calls from the granted tool set; host code resolves local Functions, executes their Python entrypoints and feeds results back into the model loop. Host stages then handle output conversion, post-hooks, background-task completion, optional summaries and separate session/run writes. The return is a RunOutput or streamed events, with completion, pause, cancellation or error status. Arbitrary tools, hooks and dependencies can act with host-process or service credentials: this loop is not a sandbox, and cleanup does not reverse earlier tool effects. RT-RTE-agent-run, RT-BAP-function-dispatch.

The shipped market-brief example grants financial tools and asks for a current brief. Its price wrapper acquires and formats a Yahoo provider field without independently checking its truth or timestamp. Instructions not to invent values are model guidance, not a factual oracle. Tool-backed generation is therefore supported as implementation; accurate financial conclusions are not established. RT-CLM-market-brief, EPI-RTE-finance-import, RT-BAP-agent-instructions.

Admission controls have distinct boundaries. Marked local Functions pause before execution and accept confirmation or rejection on continuation; a program can provide that confirmation, so the protocol does not itself identify a human approver. Provider-native tools and direct callbacks are alternative effect paths. AgentOS HTTP admission depends on configured authentication and does not govern direct SDK calls. For queueable background requests, a committed ticket precedes acceptance and a worker re-enters execution under retained identities. Media, factory and remote cases can instead receive an in-process, nondurable 202. Leases and retries do not imply exactly-once external effects; retry safety requires tool/service contracts. RT-RTE-tool-confirmation, RT-RTE-queue-dispatch, report verification.

Handoffs, failure and delivery

Team delegation lets a model choose a configured member and task. The member receives selected input, optional history and a separate model context, while linked runs, media and shallow-copied state can cross back. This isolates messages, not all state or effects. A Workflow instead can fix executor order in host configuration. Its normal agent handoff uses the last output's deepest content rather than automatically forwarding the original question and every intermediate source. RT-RTE-team-delegation, RT-RTE-workflow-step.

The representative shipped workflow fixes Data Gathering → Analysis → Report Writing for an NVIDIA investment request. The gatherer has financial tools; the analyst receives gathering content; the writer receives analyst content and is asked for a short outlook and metrics table. The writer has no automatic raw-tool-evidence reload in this caller. Shared session state crosses stages, but workflow history is not enabled. Neither a reference answer nor a dedicated reviewer is configured, and the word limit and financial fidelity are prompt requests rather than measured acceptance criteria. WF-RTE-sequential-delivery.

Delivery follows lifecycle policy, not an all-stages-success guarantee. After Step retries, the outer Workflow's default error policy can skip a failed stage and continue, passing failure text to the next agent. Completion can therefore coexist with failed steps. Configured fail or pause policies offer different recovery, but no rollback of completed effects is shown. The final content is the last step's output. The cookbook supplies no database; more generally, persistence can fail after return preparation or terminal-event emission. A WorkflowCompletedEvent also serves as a cancellation stream-end sentinel, so its name alone does not prove completed research or durable receipt. Nested synchronous workflows additionally can pause internally while the parent continues. WF-RTE-sequential-delivery, RT-RTE-workflow-step.

Retain, select and reuse

Agno offers several independent retention horizons rather than one memory ledger. Sessions retain runs/state and optionally summaries. MemoryManager retains user facts across sessions. LearningMachine combines user profile, user memory, session context, learned knowledge, entity memory and decision logs. Knowledge holds imported sources or caller/model-authored content. These stores have different admission and later-selection rules. MEM-OBJ-agent-session, MEM-RTE-user-memory, MEM-RTE-learning-context, MEM-RTE-knowledge-context.

Host-triggered context supply selects personal/profile/session rows by identity, learned insights by the current query and namespace, entities through a bounded directory and relevant expansion, and decisions through recency/agent filters with a smaller display cap. Requested searches offer additional pull routes. These are not one relevance algorithm or a shared global token budget. The foreground model receives rendered text, not necessarily stored provenance or all reasons: ordinary personal-memory delivery shows memory content, while decision recall can show reasoning/outcomes and learned knowledge can show applicability context. System-message delivery gives interpretation a privileged channel, not a symbolic truth or freshness guarantee. MEM-RTE-learning-context, MEM-RTE-entity-memory, MEM-RTE-decision-memory, MEM-OBJ-learned-knowledge, MEM-BAP-retained-context.

Automatic extraction can change retained facts, profiles and continuity without per-content human approval. The background learning path snapshots messages concurrently with foreground generation; waiting for it at completion does not make its input a completed-outcome trace. Entity and decision stores instead have no-op automatic process methods and foreground capture tools. Direct API and AgentOS edits are additional admission doors whose generic caller identity leaves human control unresolved. PROPOSE asks the model to obtain approval, but the inspected learning writer checks no approval artifact. This is distinct from the local Function confirmation protocol. MEM-RTE-profile-extraction, MEM-RTE-memories-extraction, MEM-RTE-memory-editing, MEM-RTE-learned-knowledge.

Budget control also has several mechanisms. Compaction replaces a history prefix with summary/tail, leaving session history separately intact where retained. Its optional archive is a rendered transcript with clipped tool text and backend-dependent persistence, not universal lossless recovery. Offload preserves an output string outside the window and exposes a preview plus explicit capped range/search reads. A result ID does not dereference itself, and refused offload loses reload of omitted detail. Tool compression adds condensed wording alongside original content; its instruction to remove hedging and unresolved provider replay prevent a semantic-preservation guarantee. RT-RTE-context-window, MEM-OBJ-compaction-archive, MEM-CLM-nonlossy-archive, MEM-RTE-result-offload, MEM-RTE-tool-compression.

Withdrawal is equally local. Entity retirement suppresses ordinary live display while retaining searchable history; Curator prunes and string-deduplicates only compatible user profiles. Normalization collisions need not preserve meaning. Managed-page pruning requires complete error-free discovery, and failed generic deletion can preserve retry anchors. These are maintenance mechanisms, not general factual criticism, secure erasure or whole-corpus atomic replacement. MEM-RTE-entity-memory, MEM-RTE-profile-curation, EPI-OBJ-profile-memories, MEM-RTE-page-knowledge, MEM-RTE-knowledge-context, report verification.

Checks and changes to later operation

Optional output generation and parser rewriting can substitute the answer, but consume different inputs. Output generation uses modified run messages after the last entry is removed; the parser uses resulting content with schema-oriented guidance. Parser substitution follows output generation, and RunOutput may select parsed rather than text content. Neither stage independently owns finality, proves fidelity or guarantees later replay. EPI-RTE-output-generation, EPI-RTE-parser-rewriting.

Evaluators supply scoped licenses. Criteria judges produce model judgments and optional failure callbacks; their post-hook does not automatically reject failed output. Accuracy evaluation assumes a supplied reference correct. Reliability evaluation checks recorded clean tool calls against expected names/arguments, with an explicit assertion gate, not external effect success. PII regex checks can mask or reject lexical matches. Check exceptions can mark an Agent run error while preserving generated content; rejection is not automatic revocation. EPI-RTE-judge-check, EPI-RTE-accuracy-check, EPI-RTE-reliability-check, EPI-RTE-pii-input, EPI-RTE-output-hooks.

A consequential evaluator consumer does exist: scored rollout export admits conversational-SFT examples using score and text/trace eligibility. Default export rejects failed scores; disabling only_passed permits scored failures, while other eligibility checks remain. It emits files and provenance, not a trained model. Versioned component configuration is another later-behavior change route: PostgreSQL enforces published-row immutability and published current pointers, and reconstruction can change instructions/model/tool references. Explicit version loads, live Python objects and mutable callable/provider implementations limit that invariant. Neither route alone closes an evidence-fed improvement loop. EPI-RTE-sft-selection, RT-RTE-config-admission.

Scenario-relative assessment and unresolved properties

The strongest learning-related contribution is implemented trace-fed durable context: conversational extraction and retained session/compaction summaries have later-consumer paths. This supports wired trace learning, not merely raw log storage. It does not establish improved capacity for future action, actual consumer dependence or causal benefit. No such comparison was performed. Similarly, reusable insights and decision reasons can inform later work, but the inspected routes do not establish accepted ampliative claims or post-acceptance integration. Unknown semantic relations remain unknown, not presumed conjecture or derivation. MEM-RTE-context-extraction, MEM-RTE-session-summary, RT-RTE-context-window, EPI-RTE-learning-extraction, EPI-RTE-learning-save, profile verification.

The runtime establishes no formulated-theory route to which theory-builder conditions 1–4 can be separately assigned as met. Condition 1's localized theory, condition 2's content-dependent consumption, condition 3's stated content-directed criticism and condition 4's retained criticism shaping iteration are each unestablished by this account; delivery, scores and persistence cannot substitute for them. This is not evidence of their absence in unassessed stores or caller hooks. Criticism of a consumed theory improving future-action capacity is likewise unestablished. Reflection and autonomous theory-building remain independently unestablished: model-controlled task/tool choice shows computational decision roles, not a complete self-representation loop or every internal theory-building operation. RT-RTE-agent-run, RT-RTE-config-admission, EPI-RTE-learning-extraction, epistemic bounded conclusion.

For self-improvement, retained guidance has a live delivery channel and configuration can change later organization. But the accepted records do not establish an independently specified improvement objective whose evidence determines an update, followed by operation causally depending on it. Export also stops short of training or installation. Thus neither exercised nor successful self-improvement is established at this SDK/AgentOS boundary; this does not negate the supported retention/update capacities or the platform's learning-loop enablement claim. EPI-RTE-learning-recall, EPI-RTE-sft-selection, EPI-CLM-learning-loop.

For the financial pipeline, the decisive issue is evidence surviving handoffs and failure policy, not the mere presence of multiple agents. For continuity, it is the particular retained part selected and consumed, not total storage volume. A trace connecting raw data through analyst and writer outputs with an independent answer check would alter the workflow assessment. A pinned retained update with objective-bearing evidence, later consumer dependence and a controlled outcome comparison would alter learning/self-improvement conclusions. Enforced approval artifacts, configured fail/review policies and a verified durable submission/storage path would change the corresponding admission and delivery guarantees, but none supplies factual warrant by itself.

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
No execution or causal comparison evidence SRC-1; RT-RTE-agent-run, WF-RTE-sequential-delivery, EPI-RTE-learning-recall Frozen SDK/server code and shipped callers; no runs/tests/provider calls Observed delivery, accurate recall, reliable operation, benefit or causal attribution Inspectable executions with retained inputs, outputs, effects and suitable comparisons
Subsystem and provider exclusions SRC-1; boundary, RT-CMP-gemini, MEM-CMP-learning-model SDK/AgentOS; terminal operations, provisioning, hosted UI and provider internals excluded Whole-platform operation, immutable served model identity, parameter-update or deployment guarantees A separately authorized boundary covering those responsibilities and provider/version evidence
Capture timing inventory incomplete; carried report-verification limit SRC-1; MEM-RTE-profile-extraction, MEM-RTE-memories-extraction, MEM-RTE-learning-context, report limits Automatic concurrent snapshot recorded; verifier also identifies manual capture of run_output.messages and a shipped post-hook caller without learning= Complete automatic-versus-manual timing, completion-guarantee or trace-coverage comparison; automatic timing finding still holds Canonical producer/consumer records tracing capture_hook and its shipped composition caller, including final-message filtering and completion paths
Downstream dataset consumers incomplete; carried report-verification limit SRC-1; EPI-RTE-sft-selection, report limits Export admission plus verifier's shipped message-array loader/count assertion, stopping before training Complete consumer inventory, training-loop closure, weight updates or improvement Records tracing loader, trainer, resulting parameters, live installation and subsequent operation
Partial curation inventory omits two local mechanisms; carried profile-verification limit SRC-1; RT-RTE-config-admission, MEM-RTE-result-offload, profile limits Profile includes changed configuration and ResultStore, but does not separately classify version/pointer revision and TTL/session-deletion forgetting Complete per-mechanism curation inventory or comparison of surfaces revised/forgotten; existing positive union remains valid Record-derived units for configuration evolution and payload/index forgetting
Included opaque/custom alternatives remain unresolved SRC-1; MEM-OBJ-agent-session, MEM-RTE-learning-context, MEM-RTE-knowledge-context, WF-RTE-sequential-delivery Media reconstruction, provider caches, custom stores/readers/retrievers, filesystem knowledge, workflow checkpoints/forks and adapter-specific storage/deletion Complete memory/context-policy inventory, all-payload replay, uniform authorization/freshness/expiry or system-complete negatives Part-specific records covering admission, retained payloads, selection, consumers and lifecycle on each alternative
Compression replay and reduction fidelity unresolved SRC-1; MEM-RTE-tool-compression, MEM-OBJ-compaction-archive, RT-RTE-context-window Compressed field serialization and current integration; summary/tail and clipped optional archive Universal durable compression read-back, preserved uncertainty or lossless delivered context Provider/history consumer traces and semantic comparisons against originals, with backend retention evidence
Admission and effect guarantees are route-dependent SRC-1; RT-RTE-tool-confirmation, RT-RTE-queue-dispatch, RT-RTE-config-admission, MEM-RTE-memory-editing Marked Functions, queueable requests, inspected PostgreSQL checks and selected HTTP/edit seams Universal human approval, sandboxing, exactly-once effects, atomic output/effect persistence or all-backend immutability Deployed authorization/isolation contracts, alternate-path audit and transaction/idempotency evidence
Selected workflow is not a complete scheduler/recovery audit SRC-1; RT-RTE-team-delegation, RT-RTE-workflow-step, WF-RTE-sequential-delivery Selected-member and returning sequential paths, bounded stream-terminal inspection Full async/stream/graph equivalence, universal pause propagation or verified client receipt Route records and traces for alternate scheduling, nested continuation, persistence and terminal delivery
No supported theory-criticism or improvement attribution SRC-1; EPI-RTE-learning-extraction, EPI-RTE-learning-save, EPI-RTE-learning-recall, EPI-RTE-sft-selection Inspected retained-guidance, configuration and export paths; no concrete warranted theory/update comparison Met theory-builder conditions, reflective/autonomous theory builder, improved future-action capacity or exercised self-improvement Localized theory and dependence records, stated criticism/revision/iteration, self-representation causal paths and objective-linked update/operation comparisons

No unresolved cross-report conflict is declared in the supplied reconciliation. No additional source reads or analyst records were added during synthesis.