OpenViking synthesis
Type: agentic-system-analyses/types/agentic-system-synthesis.md
Bounded synthesis
From a context database to later agent input
OpenViking's strongest supported contribution is a connected implementation for retaining agent traces, deriving durable context and reusable instructions, and selecting retained material for later consumers. It also wires feedback into policy updates and successor batches. This is more than storage without a consumer, but it does not establish improved future capacity. The system returns context; on the inspected database paths it does not own the enclosing agent's answer to the user's task. Its filesystem vocabulary describes inspectable and editable context, not certification of what the agent knows: EPI-CLM-agent-knowledge, MEM-RTE-experience-maintenance, EPI-RTE-policy-training.
The evidence is SRC-1, the OpenViking repository at commit 5242d28d7792411e1a6eeecdc2b1d94d7fc98e6b, with applicability cutoff 2026-10-14. The boundary is a complete artifact, partial loop: selected server, maintenance, retrieval and shipped-consumer paths were inspected, not every repository loop. Code supports implementation findings; prompts and documentation support intent; README benchmark statements are attributed reports. No observed run or causal experiment is registered, and no target code, tests, examples, models or services were executed. External provider implementations and actual third-party host scheduling are outside the frozen evidence. See the boundary and Source register. This synthesis adds no source reads or evidence.
Capture, archive and computational admission
The representative workflow is the shipped OpenCode v1 integration because it connects trace production and later delivery without inventing a caller. Conditional on capture configuration and host events, the plugin collects eligible messages, maintains a session mapping, and sends payloads or retains pending work locally. A compaction hook requests flush and commit; idle flushing need not commit, while thresholds and other lifecycle boundaries can. Local queued messages can count as captured, and commit can proceed before all payloads reach the server. Local replay and server processing have different recovery owners. Neither proves lossless capture, eventual delivery or exactly-once effects: WF-RTE-session-capture.
Server commit locks and snapshots session state, writes archive/intent material, enqueues persistent work and publishes readiness. Its accepted response identifies a task and archive; it is not an extraction-completion result. Resume checks readiness, ordering and terminal done/failed markers. This supports a restart-oriented protocol conditional on backend durability, lock semantics and worker servicing, not crash-tested recovery or complete phase-two idempotence: RT-RTE-session-commit.
The extraction worker prepares a separate model context from messages, prior memory and schemas. An account-resolved model proposes operations through a tool-and-repair loop; code resolves targets, refetches unread existing files and checks patch applicability. The updater merges fields, preserves some old values on errors, writes files separately and submits index maintenance. Successful writes can coexist with failures. Starting commit is not per-item human approval, and mechanical admission is not corroboration of a stored assertion: RT-CMP-account-vlm, EPI-RTE-memory-guards, MEM-RTE-memory-application.
Retained parts do different work
Raw archives, derived summaries and control metadata are not interchangeable. Ordinary memory bodies supply readable context; symbolic file fields preserve versions and trace relationships. Index vectors and shortened, link-stripped abstracts support selection without retaining the full body or its reasons. Trace identifiers aid lineage but do not guarantee preserved justification: MEM-OBJ-memory-file, MEM-OBJ-memory-index.
For later session reconstruction, a terminal archive boundary normally replaces older raw history with a working-memory overview and anchored checkpoints. Active messages receive budget priority; search uses an overview and recent-message slice rather than query-targeted archive replay. A failed terminal archive or unreadable completed overview can stop older replay without supplying a usable summary. Checkpoint count and anchor checks constrain structure, not semantic fidelity: MEM-OBJ-archive-overview, MEM-OBJ-checkpoint, MEM-RTE-session-reconstruction.
Oversized tool output has a separate offload path: the stored message keeps a synopsis and reference, while raw content remains in a tool-result store. Extraction can automatically hydrate a copied input from the raw file or source slice; explicit APIs afford other reloads. Failure can leave only a preview or unhydrated stub. A readable synopsis does not establish the form or meaning of an opaque original payload. These mechanisms remove content from immediate context while keeping some material addressable, but returned text is supplied by value; a URI requires a deliberate read rather than automatic dereferencing. A separate extraction context does not establish subprocess isolation: MEM-OBJ-tool-result, MEM-RTE-tool-externalization.
Selection determines what reaches the consumer
Session-aware list search uses optional model planning, account-bound vector retrieval, URI deduplication and optional reranking. In the inspected implementation, candidate retrieval is global vector search per query, not recursive directory descent. Code restores caller scope after planning. Direct find uses QUICK retrieval; filter-only lookup has no similarity ranking. Intent exceptions fall back to the raw query, but a successfully parsed empty plan can yield no queries. Rerank failure preserves vector scores. These are local best-effort degradations, not general availability guarantees: RT-RTE-session-search, RT-RTE-direct-find.
Context mode is a different pipeline. It gathers candidates, excludes cooled URIs, budgets detail and can rewrite selected text. The recall ledger excludes recently served content-bearing entries, with URI-only, expiry and malformed-record exceptions; its I/O is best effort. A rewrite result of no_relevant suppresses rendered recall and cooling even when response entries remain. The client also omits injection for that status and otherwise prefers digest over rendered fragments. A database hit therefore does not prove that its evidence reached the host: RT-RTE-context-assembly, MEM-OBJ-recall-ledger, RT-RTE-plugin-recall.
Digest normalization checks bullet shape, length and membership of cited URIs among supplied sources. It does not compare propositions with source text. Thus a false assertion carrying an allowed URI can satisfy this contract. The checks license presentation and source-domain membership, not factual support. Actual extraction and digest contents are unavailable, so semantic preservation, entailment and novel conjecture remain unresolved rather than being inferred from model generation: EPI-RTE-digest-contract, EPI-RTE-memory-write.
A nonempty selected block and host session ID let OpenCode prepend a synthetic text part. That conditional output mutation is the workflow's delivery boundary, not a completed user answer or demonstrated item-level reuse. VikingBot supplies another consumer: query-time selection can choose a top case, follow its experience links, and deliver budgeted bodies in a user-role Experience Reminder. The schema's request for system-prompt injection is only a declared channel, not the implemented bot channel. Requested database returns and automatic foreground augmentation are separate operations in these chains: RT-BAP-recall-context, MEM-RTE-bot-recall, MEM-BAP-experience-reminder, EPI-OBJ-experience-instructions.
Feedback, revision and independent improvement questions
Trace-fed summaries, standing memories and reusable policies have durable products and later consumers. That establishes qualifying automatic trace-fed writes, not improved capacity. Experience maintenance separates cases, diagnostic trajectories and reusable policy files; conditional skill extraction writes another instruction product. Source-native gradients here drive text/operation planning, not demonstrated numerical weight training: MEM-RTE-experience-maintenance, RT-RTE-skill-admission.
Rollout feedback can be supplied or produced by an injected evaluator. If neither is available, passed can mean only that at least one trajectory was extracted. Feedback affects estimation, and the training pipeline reloads policy, plans/applies changes and passes the returned policy set to later batches. This is consequential successor wiring, not an unused evaluation report. Evaluation-only passes report results rather than imposing a universal score-threshold acceptance or rollback rule. Concrete evaluator targets and reference outcomes remain unresolved: EPI-RTE-rollout-feedback, EPI-RTE-policy-training.
At these inspected skill, experience and batch-training boundaries, the independent assessments are:
- Theory-builder condition 1 — localized whole theory: uninspected; editable instructions do not supply an actual explanatory theory candidate.
- Condition 2 — content-dependent consumption: uninspected; successor flow does not show a decision depending on what a particular theory says.
- Condition 3 — content-directed criticism: uninspected; no actual criticism identifies a challenged claim, result and allocation of blame.
- Condition 4 — criticism-shaped iteration: uninspected; retained policy succession does not establish a criticism-dependent next theory round.
- Learning from criticism of a consumed theory: uninspected; neither that criticism chain nor its contribution to future capacity is established.
- Reflection: uninspected; complete self-representation and both causal directions are not established.
- Autonomous theory building: uninspected; computation performing every required theory operation is not established. Automatic extraction alone does not settle this property.
- Self-improvement: exercised self-improvement is unestablished at the shipped training horizon. The outcome-improvement objective and update/successor machinery support a partial improvement-directed pathway, but subsequent operation causally dependent on a particular update is not supplied. Successful improvement needs separate outcome evidence.
These are independent unknowns, not a negative grade or evidence that the properties are absent. Their support and boundaries are in RT-RTE-skill-admission, MEM-RTE-experience-maintenance and EPI-RTE-policy-training. The README reports package-level memory/no-memory gains; this analysis neither reproduces them nor attributes them to a particular extraction or checking component: EPI-CLM-memory-benefit.
Scenario-relative assessment
For retaining conversational context and conditionally assembling later host input, the inspected implementation connects production, storage, selection and delivery. For a scenario requiring validated factual assertions, lossless compaction, uniform tenant isolation, atomic updates or complete derivative revocation, those stronger conclusions are not established. Query scope is a protocol with backend/authentication contracts and distinct ROOT/bypass paths. Resource deletion can precede linked-memory cleanup, and lower-level removal bypasses that bridge; already-injected text is not revoked: RT-CLM-scoped-retrieval, MEM-RTE-resource-withdrawal.
An inspectable item-level capture→admission→later-consumption trace would change the activation assessment. Crash/retry and concurrent-write evidence under specified backend contracts would change recovery and consistency assessments. A proposition-support acceptance check with criterion, intended use and scope would change the warrant assessment; URI checking alone cannot. Actual theory candidates, criticism/blame records and criticism-shaped later decisions would change the theory assessments. Controlled update-dependent later outcomes could establish exercised improvement and, with a suitable contrast, benefit. Independent component variation would be necessary for finer attribution than the reported memory package.
Limitations
| limitation | affected SRC IDs and record citations | inspected boundary | conclusion prevented | evidence that would resolve it |
|---|---|---|---|---|
| Producer inventory remains incomplete, as required by report verification. Server auto-commit and resource-reason production are additional triggers; a user-role bridge message is not proof of human conversational provenance. | SRC-1; RT-RTE-session-commit, MEM-RTE-memory-application, MEM-RTE-resource-withdrawal; report-verification Limits | Selected commit, message-write/idle scheduling and resource-reason bridge inspection; parser/watch and full lifecycle remain partial. | Complete producer/admission comparison, equivalence of producer policies, or resource-derived memory entering only through captured user conversations. | Complete producer/input-provenance and policy tracing across automatic commit, resource processing and alternate admission. |
| The partial authority inventory does not separately allocate raw archived messages and hydrated tool traces at extraction, as required by profile verification. | SRC-1; RT-RTE-session-commit, MEM-RTE-tool-externalization; profile-verification Limits | Accepted retained-input routes into automatic durable-memory production; derived update inputs classified separately. | Exhaustive part-by-consumer authority comparison and complete allocation of learning authority between raw and derived inputs. Existing learning-authority witnesses remain valid. | Separate accepted classifications of raw archives and hydrated tool parts at their extraction consumers. |
| Available included alternatives remain partially traced. | SRC-1; the boundary, MEM-RTE-bot-recall, EPI-RTE-memory-consolidation, RT-RTE-skill-admission | Selected server/consumer paths, not native storage, full CLI/gateway, resource parser/privacy/watch, bot writers/compaction, other hosts or all evaluator/snapshot variants. | Whole-system lifecycle guarantees and complete memory-axis inventories; supported existence findings do not enumerate every alternative. | End-to-end source tracing of material alternate producers, maintenance and consumers at the same boundary. |
| Capture, packaging and recovery are unobserved. | SRC-1; WF-RTE-session-capture, RT-RTE-session-commit, RT-RTE-plugin-recall | Canonical plugin/shared source and server protocol; no packaged or crash/retry run. | Lossless transcript handoff, eventual or exactly-once delivery, extraction completion from acceptance, or actual host use. | Packaged execution and item-level traces plus failure/restart comparisons with queue and backend conditions. |
| Summaries, candidate assertions and opaque payload semantics are unresolved. | SRC-1; MEM-RTE-session-reconstruction, MEM-OBJ-tool-result, MEM-OBJ-memory-index, EPI-RTE-digest-contract | Summary/checkpoint, offload/hydration, indexing and digest implementations without actual semantic input/output instances. | Complete reason preservation, faithful continuity, payload-form completeness, entailed or novel claim classification, or truth acceptance from mechanical checks. | Actual source/candidate/output chains, payload inspection and evidence-consuming proposition assessment for the intended use. |
| Deployment and provider contracts are not verified. | SRC-1; RT-CLM-scoped-retrieval, RT-CMP-account-vlm, RT-CMP-account-embedder, RT-RTE-config-patch | Scoped query/config construction and configurable inference handles, not live grants, backend enforcement or provider internals. | Deployment-wide isolation, immutable model identity, provider learning status, quality or availability, and complete config durability/compensation guarantees. | Specified effective deployment configuration, backend contract tests and pinned provider/model evidence. |
| Updates and withdrawal have partial effects and incomplete propagation evidence. | SRC-1; MEM-RTE-memory-application, MEM-RTE-resource-withdrawal, EPI-RTE-memory-withdrawal | Per-file application, guarded deletion and service cleanup versus lower-level bypass. | Atomic rollback, index convergence, exhaustive derivative invalidation or revocation of already-delivered context. | Concurrent/failure traces, complete reference discovery and index propagation, and explicit downstream revocation mechanisms. |
| Evaluator meaning, theory criticism and benefit remain independently unresolved. | SRC-1; EPI-RTE-rollout-feedback, EPI-RTE-policy-training, MEM-RTE-experience-maintenance, EPI-CLM-memory-benefit | Supplied/evaluator/fallback dispatch and successor wiring; attributed benchmark contrast, no registered run or causal experiment. | Universal task-success oracle, established theory-builder conditions, criticism-caused future capacity, reflection/autonomy, exercised self-improvement, reproduced gain or component attribution. | Concrete evaluator contracts, theory/criticism and later-use records, objective-responsive update traces and controlled later outcomes with component-specific contrasts where claimed. |