EchoesVault for OpenCode synthesis

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

Bounded synthesis

EchoesVault is a repository-local memory system for an enclosing agent, not an agent's model loop. It installs a portable Python writer and cross-agent instructions, restores prior project context, and saves intermediate notes and final knowledge pages. This account covers the whole shipped artifact at commit 875c45aa45559529b87a7481b0c21e6dfd8c5eb0, with an analysis cutoff of 2026-10-15. SRC-1 supplies inspected implementation and doctrine/design, not execution traces or causal experiments. The boundary includes the OpenCode server, bridge, TUI, generated adapters and maintenance paths; it excludes external host/provider internals. Tests were inspected but not executed. See the boundary and evidence and Source register.

Install and restore

The OpenCode plugin registers command prompts and nine tools. Its bridge passes argument arrays and JSON payloads to Python, which normally delegates to a repository-local installed runtime. Generated commands and other-agent guides also call that runtime directly. The interpreter executes symbolic code with inherited process authority; the host interprets project prose and procedural guides through different channels. Compatibility metadata controls delegation, not a cryptographic identity check: a compatible newer local runtime may execute instead of bundled bytes. Generated static instructions are not memory extracted from experience. These distinctions matter because trust in project text is not the same as trust in executable project code (RT-RTE-runtime-install, RT-BAP-project-runtime, RT-BAP-agent-guidance).

On /echoes-start, the server grants a session-local start action, the host agent calls the tool, and Python regenerates the discovery index and returns it with three recent daily files. The next substantive decision belongs to the host. The index copies authored page summaries; it does not summarize page bodies. Start selects daily files by reverse lexical path order, not parsed time, and does not prefer final entries over scratchpads. The entire index and selected files are returned without a byte/token cap. Thus the mechanism keeps full page bodies out of initial restoration but does not guarantee a bounded model window or universally chronological recent history (RT-RTE-context-restore, MEM-OBJ-index, MEM-OBJ-daily).

The agent can request literal, case-folded page-line search, with result limits and display text capped at 300 characters. Complete-page reads are a separate host action prescribed by guidance, not something search performs. Requested restoration and search are pull operations, even though code selects their returned contents. Separately, the TUI polls retained session bookkeeping every three seconds and presents fixed fields to an operator; that is status delivery, not unsolicited project-knowledge injection into the model. The bundled start prompt explicitly treats restored text as project data rather than higher-priority instructions, but uniform adapter wording and host compliance are not established (RT-RTE-context-restore, RT-BAP-project-context, MEM-OBJ-local-state, MEM-RTE-health-report; memory integration issues).

Propose, admit and deliver

During work, the agent can append a milestone or create/replace a page without an end grant. Page bodies carry project knowledge; frontmatter supplies authored descriptions and symbolic parser inputs. Python checks safe names, required metadata, conflicts, summary constraints, current-content hashes for replacement, and prospective index validity. A matching hash establishes currency of compared bytes, not reading, understanding or factual correctness. Append admits a nonempty submitted note. These are software admission decisions without a required per-content human approval step (MEM-OBJ-page-body, MEM-OBJ-page-metadata, RT-RTE-page-upsert, RT-RTE-daily-append, EPI-RTE-page-check).

The representative workflow is explicit finalization: user request → host-agent distillation → existing-page reading/hash requests → guarded tool call → Python preflight → local persistence and acknowledgement. The prompt asks for dense outcomes, verified decisions, blockers and reusable pages rather than a transcript. The host receives the conversation from its enclosing runtime; EchoesVault receives proposed products, not the underlying trace. Prompt delivery and persistence are implemented, while compliant semantic distillation remains prescribed and unobserved (EPI-RTE-session-distill, RT-RTE-session-save, workflow account).

A stale replacement hash rejects finalization before its persistence sequence. The caller must reread, reconcile, obtain a new hash and retry; failed execution retains the server grant unless another lifecycle command replaces it. Later I/O failure differs: individual atomic replacements can leave earlier pages installed before index/log/state completion. There is no multi-file rollback. Successful acknowledgement reports local paths, page counts and saved bookkeeping, not a Git commit, remote publication, truthful content or later reliance. Session-map authorization is path-local, depends on trusted host events, and is not concurrency-safe exactly-once execution. Direct CLI finalization accepts a caller-set confirmation flag, while append/upsert remain separate write paths (RT-RTE-session-save, RT-CLM-explicit-save, workflow account).

Maintain and reuse

Later sessions can receive retained summaries and daily notes, then request details. Whole-page replacement can revise retained knowledge. Legacy migration copies an existing description into missing summary metadata; index rendering only reshapes supplied descriptions. Deprecation adds an advisory discovery prefix and guidance to follow a replacement, but does not suppress search, validate replacement links or enforce withdrawal. Health diagnostics evaluate enumerated structural conditions and saved-state bookkeeping, not the truth of project claims. These maintenance paths improve discoverability and mechanical consistency as implemented functions; no measured improvement in future decisions follows from their presence (MEM-RTE-summary-migration, EPI-RTE-index-render, RT-OBJ-agent-protocol, EPI-RTE-health-report).

For a session-continuation scenario, the supported contribution is a durable, editable project-memory channel with derived discovery, selective initial reload and concurrency-aware replacement. It can retain externally verified facts, explanations and criticism when callers supply them. For a scenario requiring automatic factual certification, accepted new knowledge or demonstrated adaptation, those same routes are insufficient: the inspected deterministic handlers do not consume project evidence against a factual acceptance criterion. Retention and index linkage are not acceptance followed by lifecycle integration. This bounded absence does not rule out human or host verification before submission (EPI-CLM-project-knowledge, EPI-ABS-semantic-check).

The strongest supported learning-related contribution is the prescribed session-experience → model-produced durable summary/pages → later host-context chain, with separately implemented persistence and reload. Its semantic producer remains at the claimed layer. No comparison establishes improved capacity for future action, including improvement caused by criticism of a consumed theory. No concrete project theory is supplied, so localized theory content, content-dependent consumption, content-directed criticism and retained iteration are not individually established; page replaceability alone supplies none of those findings. Reflective or autonomous theory-building operation is likewise not established, independently of learning. Self-improvement is not established merely by memory reuse or runtime installation: the accepted account supplies no evidence-responsive improvement selection and subsequent operation causally dependent on an organizational change. These are not whole-host negatives; model identity, mutability and internal reasoning remain uninspected (EPI-RTE-session-distill, RT-RTE-context-restore, RT-RTE-runtime-install, RT-CMP-host-model; epistemic bounded conclusion).

A traced session with source conversation, proposed content, checks, saved artifacts and later actual reads would establish which prescribed stages operated and what survived selection. A controlled later-task comparison could test memory benefit; attributing benefit to a particular mechanism would require varying that mechanism independently. Evidence-consuming factual acceptance, provenance/revision histories, enforced replacement traversal or transactional persistence would change the corresponding architectural assessments rather than merely adding another successful save. No source files were read for this synthesis beyond the supplied members and contracts.

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
No target execution, deployed vault or causal comparison is supplied. SRC-1; RT-RTE-context-restore, RT-RTE-session-save, EPI-RTE-session-distill Frozen shipped implementation and doctrine/design; tests read, not run. Successful deployment, faithful distillation, actual reliance, retrieval benefit and causal improvement. Inspectable linked execution artifacts and later-consumer traces; controlled comparisons for benefit and attribution.
Host reasoning, model identity/mutability and context assembly are external. SRC-1; RT-CMP-host-model, RT-BAP-project-context, RT-BAP-agent-guidance Plugin prompts, returns and generated adapters, not host/provider internals. Actual full-page consumption, uniform instruction compliance, host-wide theory-building negatives or a complete model-learning account. Pinned host/provider configuration and relevant reasoning, reading and context-construction traces.
Initial content origins and independent raw/asset routes remain unresolved. SRC-1; MEM-OBJ-page-body, MEM-OBJ-daily, MEM-OBJ-source-material, MEM-RTE-summary-migration Managed writers, migration, restore/search and documented raw/asset references. Complete provenance, payload-form, admission-control, consumer-authority or trace-source inventories; factual source warrant. Content-linked origin/import records and identified independent write/read consumers, including raw/asset payloads.
Body reasons and qualifiers need not survive summary-only delivery; deprecation remains advisory. SRC-1; MEM-OBJ-index, EPI-RTE-index-render, RT-OBJ-agent-protocol Authored summaries, renderer, search and prescribed full-page/replacement reading. Faithful summary/body correspondence, guaranteed rationale delivery or enforced withdrawal of obsolete claims. Content comparisons plus actual later reads; validation/enforcement changes for stronger architectural guarantees.
Filesystem integrity and authorization guarantees have alternate-path and failure limits. SRC-1; RT-RTE-page-upsert, RT-RTE-session-save, RT-RTE-runtime-install, RT-CLM-explicit-save Cooperating inspected writers, best-effort lock, per-file replacement, server map and version-based delegation. Transactional saves, exactly-once execution, vault-wide human approval or authenticated deployed runtime identity. Stronger transaction/idempotency and authorization mechanisms, authenticated executable identity and relevant failure/concurrency traces.
Structural health is not a full correctness audit. SRC-1; EPI-RTE-health-report, MEM-RTE-health-report; report verification Enumerated diagnostic predicates/aggregation, not exhaustive helper, dependency or protocol-conformance correctness. Comprehensive diagnostic correctness, factual certification or general conformance. Scoped audits of the omitted questions and separate project-evidence evaluation.
The profile groups host knowledge and operator status consumption in one authority unit. SRC-1; RT-BAP-project-context, MEM-OBJ-local-state, MEM-RTE-health-report; profile-verification limit Accepted behavioral-authority classification; prose distinguishes model-context delivery from operator display. Fine-grained authority-unit counts and one-unit-per-consumer comparisons; emitted knowledge values and partial coverage remain supported. Separate classification units for the recorded consumers and effects.