Agno reconciliation
Type: agentic-system-analyses/types/agentic-system-reconciliation-report.md
Reconciliation
Evidence alignment
The four reports retain the SDK/AgentOS subsystem boundary in boundary. The Source register supplies implementation and doctrine/design, not observed runs or causal experiments. Different inspected subsets do not constitute disagreement: workflow selects one pipeline, while memory and epistemic retain inventories of uninspected alternatives. No correction answers or declined objections were supplied to this attempt. The current members, rather than the previous reconciliation's findings, govern these connections. No source reads were needed.
Duplicate supersessions
Amendment: EPI-OBJ-learning is superseded by MEM-OBJ-learned-knowledge. Both identify LearnedKnowledgeStore's retained title, learning, context, tags, namespace and creator metadata, stored through Knowledge insertion. Identity evidence is SRC-1, libs/agno/agno/learn/stores/learned_knowledge.py: the memory declaration retains the applicability-context display passage, and EPI-RTE-learning-save retains the insertion passage. The epistemic object's comparison against runtime configuration does not establish a distinct memory referent. Its inventory and learning-ledger rows concern the same stored object. This supersession identifies the object only; it changes neither author's lineage, display or warrant findings.
Amendment: EPI-RTE-profile-curation is superseded by MEM-RTE-profile-curation. Both identify caller-triggered Curator pruning/deduplication of user_profile.memories, then saving the survivor list. Identity evidence is SRC-1, libs/agno/agno/learn/curate.py: memory quotes the restricted store lookup; epistemic quotes normalization and store.save. The epistemic content-transformation and retention ledger functions assess that same route. Its normalization counterexamples and memory's schema-dependent read-back finding remain separate analytical fields, not competing route identities. Neither status nor uncertainty is replaced by supersession.
Containment and identities ruled out
- MEM-OBJ-agent-session is retained session/run state, not the in-process RT-OBJ-run-context. MEM-RTE-session-summary produces
session.summary, whereas RT-RTE-context-window folds history and MEM-RTE-context-extraction updates a learning row. Their production and consumers differ; no identity or supersession follows. - MEM-OBJ-user-memory, MEM-OBJ-memories and MEM-OBJ-user-profile have different stores or schemas. EPI-OBJ-profile-memories describes the conditional memories-list part, not the entire profile. The valid profile container and conditional part do not supersede each other.
- MEM-RTE-learned-knowledge spans extraction, save and targeted recall. EPI-RTE-learning-extraction, EPI-RTE-learning-save and EPI-RTE-learning-recall distinguish those functions; none equals the whole memory route. The epistemic save record additionally discusses the generic writer covered by MEM-RTE-knowledge-context. These overlaps do not require replacing the valid broad route with a split.
- MEM-OBJ-compaction-archive is an object underlying RT-RTE-context-window; memory annotates that route rather than redeclaring it. MEM-RTE-tool-compression changes a per-result field, and MEM-RTE-result-offload retains a payload outside the window with requested reload. Neither equals the prefix-fold route.
- MEM-RTE-memory-editing changes memory/learning rows; RT-RTE-config-admission changes component versions/current pointers; MEM-RTE-page-knowledge publishes managed documentation pages. Shared admission language does not identify their targets or routes.
- WF-RTE-sequential-delivery is the outer Workflow coordinator repeatedly invoking RT-RTE-workflow-step. It is not the Step handoff or the internal RT-RTE-agent-run. Workflow annotations add selected-caller and outer-policy findings without changing those identities.
- EPI-OBJ-price-result, EPI-OBJ-model-response and EPI-OBJ-run-input, with the finance, response-replacement, PII and post-hook routes, are material parts of the Agent loop, not duplicate whole-loop declarations. The judge, accuracy, reliability and SFT records instead describe evaluators or consequential consumers, not completion or dispatch states.
- EPI-CMP-auxiliary-models overlaps MEM-CMP-learning-model in the learned-knowledge extraction role but also includes output/parser and evaluator roles. Neither family equals the other. MemoryManager, session-summary, compression, compaction, fallback, embedding and foreground roles likewise remain separate consumers. Shared physical weights or reused Model objects are possible configuration choices, not established identities; no component supersession follows.
- MEM-BAP-retained-context concerns selected retained text, whereas RT-BAP-agent-instructions concerns configured guidance. Common inference delivery does not erase their different origins and horizons. MEM-BAP-retirement-filter is live-fact exclusion, not the write executor in RT-BAP-function-dispatch.
Current output-stage disposition
The earlier missing-part issue is no longer present in the supplied epistemic member. EPI-RTE-output-generation and EPI-RTE-parser-rewriting are separately declared parts of EPI-RTE-output-replacement. EPI-OBJ-output-content and EPI-OBJ-parser-content distinguish their payloads within EPI-OBJ-model-response. The container now points to stage-owned inputs, admission and consumers; its findings remain valid beside those parts. No split supersession is warranted.
The current source passages, SRC-1, libs/agno/agno/agent/_messages.py, libs/agno/agno/agent/_response.py and libs/agno/agno/agent/_run.py, distinguish modified run-message input to output generation from two-message content/schema input to parser rewriting. They also retain ordered substitutions, parser assistant admission, parsed-versus-text RunOutput selection and retained-message filtering. Thus neither part asserts unconditional independent finality or guaranteed later replay. The runtime's optional-stage account in RT-RTE-agent-run is compatible with this refinement. This disposition concerns the supplied declarations and dependencies, not verification of every stage finding.
Independent convergence and integration issues
Approval remains route-specific. MEM-RTE-learned-knowledge and EPI-RTE-learning-save independently distinguish PROPOSE's yes/no guidance from writer schema/namespace admission. EPI-CLM-propose-approval retains the source policy. RT-RTE-tool-confirmation instead pauses marked local Functions before execution. These findings do not conflict: a separately configurable confirmation gate is not assumed active on learning writes, and effect approval supplies no factual warrant.
Retention differs from delivery and fidelity. MEM-CLM-nonlossy-archive qualifies source doctrine, not a runtime finding. RT-RTE-context-window permits original session history to remain while inference receives summary/tail; the memory archive object and annotation establish clipped display transcripts and summary-only versus transcript-bearing persistence. The epistemic compaction ledger retains indeterminate fidelity. Intact session records, archived display and model-delivered context are different surfaces, so no conflict or universal lossless read-back follows.
Automatic trace timing stays bounded. Memory's Write side retains the concurrent message snapshot and alternative manual/capture doors. Runtime's wait for background work at completion does not say extraction consumed the final answer. EPI-RTE-learning-extraction assesses the supplied-message transformation, not a final-outcome timing guarantee. Epistemic explicitly leaves manual capture timing unassessed. These are compatible limits, not grounds to infer complete outcome-fed learning.
Curator coverage is conditional. Both curation records require a profile with memories and deny semantic-deduplication guarantees. Epistemic leaves reload/render uninspected; memory supplies a schema-dependent reader. Faithful uncertainty in one report does not contradict the other's scoped positive. The normalization counterexamples concern meaning preservation, not route identity or proof of beneficial maintenance.
Workflow delivery is not factual acceptance. WF-RTE-sequential-delivery adds default outer skipping, shared state and event/persistence limits. RT-RTE-workflow-step did not assert all stages succeed or all pauses propagate. The selected caller's lack of configured review is compatible with optional EPI-RTE-judge-check, EPI-RTE-output-hooks and local confirmation elsewhere. Writer delivery of analyst content rather than raw gathering evidence agrees with runtime's deepest-last-content handoff. Evaluator capability does not establish its activation in this pipeline.
Evaluator consumers and improvement remain distinct. Memory leaves evaluation-to-memory linkage unresolved; EPI-RTE-sft-selection establishes score-controlled external dataset admission, including the alternate export of failed scored attempts. That positive does not establish memory revision, training, live weight installation or beneficial self-improvement. The epistemic member separately leaves the downstream export loader uninspected. EPI-CLM-learning-loop remains a platform-enablement claim. Configuration admission and MEM-RTE-decision-memory likewise retain different operational paths rather than closing an observed improvement loop.
Memory's remaining integration issues—compression's later provider consumer, media/caches, storage scrubbing, workflow checkpoints, custom stores/readers and adapter-specific deletion/embedding contracts—remain scoped conclusion limits. Added specialist positives do not certify those alternatives or imply absent mechanisms. No current dependent finding requires a supplied record to retain a superseded finding. No unresolved cross-report disagreement is established in these pinned inputs; this does not adjudicate individual source support or select a stronger status.