Eidetic synthesis
Type: agentic-system-analyses/types/agentic-system-synthesis.md
Bounded synthesis
Eidetic is a memory service for coding agents, not the runtime that plans and executes their foreground tasks. It retains personal cards across sessions and exposes separate, project-attached topic corpora. This account covers the shipped lifecycle, writers, retrieval, maintenance, integrations and evaluators in https://github.com/LARIkoz/eidetic at commit 67506b62fdd0944c243537c3cb10938f7343b6b2, with an applicability cutoff of 2026-10-14. SRC-1 supplies inspected implementation, design declarations and attributed operation claims. No target execution, test results, host traces or causal experiments were supplied. The whole-system boundary names the shipped product, not exhaustive inspection or deployment activation; external hosts, providers and SDK applications are not frozen. See boundary and its Source register.
From a completed session to retained material
The representative workflow begins when Claude Code sends a Stop event with a transcript path. Hook code supplies a separate extraction model with a lossy excerpt: at most the final 2 MB, the last 20 user/assistant text turns, and 1500 characters per turn. Typed tool-result blocks do not pass the text selector. The model proposes decisions, rules, successes, failures or knowledge; code accepts recognized, nonempty signal lines. Instructions request factuality and privacy, but the format filter verifies neither. Compounding then selects an eligible existing card for a History append or creates a daily project signal. Protected existing feedback/user destinations are skipped, not a universal veto on retaining the proposal. A Rule-prefixed unmatched signal becomes project material, not automatically a standing feedback rule. This is automatic admission without per-signal human approval. See RT-RTE-signal-compound and the workflow account.
The workflow has three distinct completion boundaries: a card write completes retention; later assembly completes selected rules-file delivery; an external host load makes that file available to the next agent. None implies that a particular signal changed subsequent action. Provider fallback, shared locks and spooling recover execution failures rather than verify successful assertions. Deferred spool files preserve text but not originating project identity: draining uses the next invocation's working directory. The drain caps files at 20; the legacy branch does not drain; retries after partial failure can repeat History appends, although daily signal insertion checks duplicates. Neither exactly-once nor lossless, project-preserving eventual delivery follows. See workflow annotations.
Markdown cards retain prose and symbolic metadata. SQLite holds copied sections, metadata, typed Evidence events and dense retrieval projections; embeddings are not updated model weights. History, Evidence and M3 Provenance have different consumers. The confidence fold reads typed Evidence, not legacy History, and recomputes arithmetic rather than trusting stored deltas. Initial file provenance and control remain unresolved. See MEM-OBJ-memory-cards, MEM-OBJ-memory-chunks and MEM-OBJ-evidence-events.
Caller-supplied personal promotion and topic-base addition are alternate admission routes. A direct writer can create a new feedback card despite protections on appending to existing protected cards. The base MCP tool says to write only on explicit user request, but its handler receives no approval credential. Scanner realpath containment prevents selecting escaped base files; it is not OS isolation or authenticated write approval. See RT-RTE-explicit-admission and RT-CLM-base-isolation.
What a later consumer actually receives
SessionStart independently pushes selected retained material. The hook refreshes indexes and attempts maintenance, then writes memory-context.md for the host's rules loader. Assembly targets 24000 characters, not a strict token or total-output ceiling. Feedback tiers deliver descriptions capped at 500 or 60 characters, or names only; configured clusters can substitute summaries. Successful assembly preserves representation of every indexed feedback card by name or cluster, not every rule's full meaning. Overflow can exceed the nominal budget. Project/recent material competes for allocation and truncation. Busy locks, refresh failure, failed assembly and fallback can leave stale or narrower context. See RT-RTE-context-injection, RT-CLM-feedback-visibility and memory annotations.
Two additional inputs bypass ordinary factual-card selection. Fresh handoffs select the newest qualifying state file under 30 minutes old and cap it at 3000 characters; their producer and original admission are unknown. Retained project session counts select fixed novice/standard/veteran directives, including terser, proactive behavior at higher counts. Neither file freshness nor session count evaluates factuality or expertise. Feedback and hints have natural-language instructional force at the host model, not enforced compliance. See MEM-RTE-fresh-handoff, MEM-RTE-session-hints, RT-BAP-memory-rules and MEM-BAP-session-awareness.
Requested recall is a separate pull route. A forked skill or MCP client supplies a query; lexical selection, optional vectors/translation and confidence annotation return ranked candidates and detail pointers. Lexical results can survive unavailable or timed-out semantic enrichment. Detail expands indexed sections, not necessarily current Markdown bytes. Weak results require inspection under the skill's policy; confidence is not factual endorsement. A host-owned fork can keep intermediate search work out of the caller's window, but neither it nor MCP trims accumulated foreground turns. Content arrives by value; paths are reload cues, not live references. Serendipity offers a distinct connection-oriented read, while the Core JSONL worker returns typed IDs/scores from client-supplied derived indexes rather than owning an external application's knowledge workflow. See RT-RTE-memory-recall, MEM-RTE-serendipity-read and RT-RTE-engine-worker.
Checking and changing retained reliance
Optional M3 processing is parallel to ordinary signal extraction, not its verification stage. Its enabled driver mines session candidates; recall candidates obtain newly retrieved source chunks, then pass a support gate before either duplicate handoff to M2 or novel-card filing. Filing requires both confidence-events and autofile activation in addition to driver entry conditions. Every material claim must score strictly above the support floor and sources must be nonempty. This is a real evidence-consuming decision for source-relative recall filing, not world-truth acceptance. Retrieved witnesses do not establish which sources the original answer used. See RT-RTE-m3-filing.
Support defaults to deterministic overlap with limited vetoes. Failed judge registration leaves that scorer; a registered judge's later failure scores zero rather than silently reverting. Registered model judgment has a default-on quotation gate, but EIDETIC_M3_JUDGE_REQUIRE_QUOTE set to 0, false or empty removes it. A matching quotation establishes occurrence, not entailment or source truth. Acquisition separately requires quote occurrence in assistant turns even when the shared judge's additional gate is off, and produces dark would_file outcomes rather than ordinary cards. Definitive outcomes influence later retry selection through retained caches. See EPI-RTE-support-check, EPI-RTE-acquisition-check and MEM-OBJ-admission-traces.
Changed-card maintenance can detect selected lexical oppositions through M1, issue diagnostics or gated demotion events, and invoke M2 only after no captured failure or deferral. Same-project, authority, editability and relevance rails constrain mutation. Default M2 selects, cleans, deduplicates and orders linked source one-liners inside a managed region; it is consolidation of existing claims, not established production of a new explanatory proposition. Optional callback semantics remain indeterminate. Supersession suggestions require additional activation, relevance and authority conditions before mutation. Confidence changes require event activation, and ranking effects have a separate switch. These mechanisms implement bounded criticism, revision and changed prominence, not reliable detection of every stale or false memory. See RT-RTE-semantic-maintenance, EPI-RTE-m2-reshaping, MEM-RTE-evidence-projection and EPI-CLM-truth-maintenance.
Later test affirmation can promote a filed card through same-session/project correlation, without testing its individual claims. Ordinary lifecycle HMAC project identifiers differ from M3 transcript-parent identifiers, and the join compares strings exactly; ordinary hook promotion is therefore not established, although matching supplied records can take the implemented path. Numerical confidence is a ranking input, not a calibrated truth probability. See MEM-RTE-test-affirmation, EPI-RTE-test-affirmation and EPI-RTE-confidence-ranking.
Withdrawal is consumer-specific. Archived status downweights retained searchable text; physical cleanup moves cards, but old projections remain until refresh. Exported copies can survive source withdrawal. Vault polish and optional topic generation use bounded inputs and process/length acceptance, not semantic preservation checks; no automatic vault-to-personal-store reintegration is established. See MEM-RTE-card-withdrawal, MEM-RTE-vault-export and EPI-RTE-vault-generation.
Scenario-relative assessment and what would change it
For cross-session retention, the strongest supported contribution is implemented automatic session-fed durable writing with later context and recall consumers. Session history also shapes guidance, and gated test feedback can shape ranking. These are trace-fed behavior-shaping routes; they do not demonstrate improved capacity for future action. For source-relative recall filing, M3 adds an enforceable local admission criterion, but not independent verification of original evidence. For topic-corpus retrieval, contained scanning and attached tool surfaces support scoped access, not a security sandbox. For maintenance, source-relative heuristics and authority rails can revise reliance, but do not license a system-wide epistemic grade. The independently checked comparison retains partial coverage rather than complete inventories; see profile verification.
The supplied runtime does not make separate theory-builder conditions 1–4 assessments for formulated theories. Cards provide localized text, and maintenance provides content-directed conflict/revision mechanisms, but these records do not establish the full sequence of formulated theory, decisions depending on its content, stated criticism with blame placement, and retained criticism shaping another round. Each condition therefore remains unestablished as a theory-builder conclusion here, rather than inferred absent or inferred from the others. Criticism improving future capacity is also unobserved. The retained routes support automatic local admission without establishing an autonomous theory builder; session counters and confidence metadata do not by themselves establish reflection's two causal directions for selected system aspects. These are independent unresolved assessments, not a ladder or a combined negative. See runtime account and epistemic bounded conclusion.
For self-improvement at this memory-service boundary across sessions, retained changes can reach live behavioral-authority channels, but no supplied subsequent operation shows causal dependence on those changes or successful improvement against an independently specified objective. The automatic pathways cannot be promoted to exercised self-improvement. Caller-driven upstream updates are a separate implemented product-change route: ancestry checks and per-file replacement establish installation/recovery controls, not evidence-responsive improvement or source safety. See RT-RTE-product-update and RT-BAP-memory-rules.
Matched end-to-end traces would establish activation and consumer receipt; deployment settings would resolve which optional paths are active. Claim-specific evaluations could change the support and test-promotion assessment. A project-identity bridge would change ordinary promotion reachability. A spool carrying origin identity with acknowledged, idempotent processing would change recovery guarantees. Output comparisons could resolve callback/export semantic fidelity. Controlled before/after comparisons tracing the retained update to later capacity would bear on learning; independently varying components would be needed for component attribution. Smoke evaluator code alone tests authored substring/confidence predicates and process status, not these broader outcomes; no results are supplied. See EPI-RTE-smoke-evaluation.
Limitations
| limitation | affected SRC IDs and record citations | inspected boundary | conclusion prevented | evidence that would resolve it |
|---|---|---|---|---|
| Activation, host delivery and benefit are unobserved | SRC-1; RT-RTE-context-injection, RT-RTE-signal-compound, RT-RTE-memory-recall | Shipped hooks/tools; no installed host, settings, corpus or run evidence | End-to-end receipt, compliance, improved coding capacity or causal efficacy | Deployed settings and correlated extraction/write/selection/load/action traces; bounded outcome comparisons |
| Provider behavior and possible accumulated state are uninspected | SRC-1; RT-CMP-session-extractor, RT-CMP-embed, RT-CMP-rerank, RT-CMP-query-translation, MEM-CMP-export-models | Inference adapters and configured labels, not provider internals | Immutable model identity, provider retention/training absence, translation fidelity or model-quality claims | Exact deployed model artifacts, route configuration and provider retention/update evidence |
| Child-agent retained-state inventory remains partial; completion ledger omitted from analyst inventory | SRC-1; MEM-OBJ-admission-traces, RT-RTE-m3-filing, EPI-RTE-acquisition-check, report verification limit | Verifier inspected child-lane ledger read and successful-acknowledgement write in addition to judged cache/dark outcomes | Complete child-lane checkpoint, retained-state and recovery comparisons; card/dark and retry distinctions still hold | Accepted records tracing completion-ledger parts, acknowledgement, selection, failure recovery and later consumers |
| Initial admission and provenance remain unresolved | SRC-1; MEM-OBJ-memory-cards, MEM-OBJ-memory-chunks, MEM-RTE-fresh-handoff, RT-RTE-explicit-admission | Existing files, scanner, handoff reader and generic caller writers | Complete lineage or human-control inventory; authenticated source/approval claims | Producer histories and per-content admission/approval records |
| Spool recovery loses origin and is bounded, conditional and nontransactional | SRC-1; RT-RTE-signal-compound, workflow annotations | Modern/legacy lock branches, text-only spool, History/daily writers | Project-preserving, lossless, exactly-once or guaranteed eventual delivery | Origin-bearing queue protocol, idempotent acknowledgements and corresponding recovery evidence |
| Context visibility and detail do not guarantee complete or current semantics | SRC-1; RT-CLM-feedback-visibility, RT-RTE-context-injection, RT-RTE-memory-recall | Successful budgeted assembly, fallback/failure paths and indexed detail | Every rule fully delivered, every new signal selected, or latest-file detail guaranteed | Consumer payload/load traces and stronger freshness/semantic-delivery contracts |
| M3 support is source-relative and configurable; audit display can mislabel scorer | SRC-1; EPI-RTE-support-check, RT-RTE-m3-filing, MEM-OBJ-memory-cards | Overlap, registered judge and raw-verdict alternatives; truncated Provenance | Universal independent judgment, quote requirement, world truth, original answer provenance or reliable scorer identification from heading | Actual scorer/configuration provenance, full source/use traces and independent claim-specific evidence |
| Ordinary test-promotion identity seam and claim-level warrant remain open | SRC-1; MEM-RTE-test-affirmation, EPI-RTE-test-affirmation | HMAC versus transcript-parent identity and exact join; typed affirmation consumer | Ordinary hook promotion or test verification of each card claim | Inspected identity bridge and matched traces; assertions mapped to particular propositions |
| Generated semantics and withdrawn copies remain unresolved | SRC-1; EPI-RTE-m2-reshaping, EPI-RTE-vault-generation, MEM-RTE-vault-export, MEM-RTE-card-withdrawal | Default consolidation versus optional callback/model generation; status/move/export routes | Fidelity or accepted ampliative production; semantic rollback or withdrawal from every copy | Actual input/output comparisons, evidence-consuming acceptance and copy invalidation/rollback contracts |
| Internal and external alternatives limit completeness | SRC-1; memory coverage, epistemic coverage, RT-RTE-engine-worker, RT-CLM-base-isolation | Parser coverage, base refresh, evaluator/replay/report details partly uninspected; external SDK/application stores excluded | Exhaustive evaluation-feedback, language coverage, refresh consistency, external parity or security guarantees | Targeted accepted records for material alternatives and separately frozen external integration evidence |
| Learning, theory, reflection, autonomy and self-improvement are not established by persistence | SRC-1; runtime account, epistemic bounded conclusion, EPI-RTE-smoke-evaluation, RT-RTE-product-update | Implemented write/maintenance/read routes; no separate theory-condition account or observed causal comparison | Full theory-builder cycle, reflective/autonomous builder, criticism-improved capacity or exercised/successful self-improvement; no system-complete negative follows | Condition-specific theory/decision/criticism/iteration records; self-representation causal paths; role ownership; objective-linked update and later-operation comparisons |