Synthadoc synthesis

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

Bounded synthesis

From source documents to retained pages

Synthadoc is a knowledge system that compiles source documents into a local Markdown wiki, maintains the wiki and supplies retained content to later questions and external consumers. This account covers its shipped server, CLI, browser and Obsidian clients, MCP integration, maintenance instructions and exported-bundle consumer at Git revision b80d9388a3013e8051baf2854c7250942c46e91a, with an applicability cutoff of 2026-10-15. The whole-system boundary is functional scope, not a claim that every file or alternative received exhaustive inspection. SRC-1 supplies code and attributed design only: no target execution, production corpus, provenance-linked run trace or causal experiment was adopted. External providers and enclosing hosts are not Synthadoc's inspected implementation. See boundary and evidence and Source register.

There is no single universal agent loop. Python owns a queue-driven compilation pipeline, returning answer computations and a separate model-directed maintenance loop. An ordinary ingest request returns a job ID. A worker later extracts source text, clips and sanitizes it, obtains model analysis, retrieves up to five old-page snippets and obtains a create/update/flag/skip proposal. Python dispatches the proposal into page or candidate writes, provenance, audit and index changes. A queued result is therefore not yet a completed wiki, and a persisted draft is not yet eligible for ordinary search (RT-RTE-source-ingest).

The persistent knowledge product is readable page prose, distinct from parsed lifecycle and provenance fields. Extracted sidecars precede ingest sanitization and clipping; they are not necessarily verbatim originals because extraction may already transform content. SQLite retains chat, snapshots, cached computations and answers; stored numerical page vectors rerank lexical candidates rather than constitute model-weight training. These parts have different consumers and authority (MEM-OBJ-page-content, MEM-OBJ-page-metadata, MEM-OBJ-source-sidecars, MEM-OBJ-search-vectors, MEM-BAP-retained-content).

Admission is route-specific. Optional staging can retain proposed pages for promotion or discard, but defaults to off; existing-page force paths bypass it and flagging writes directly. Candidate promotion moves a file and may leave it draft. Automatic lint can activate drafts or model-reconciled pages; direct MCP replacement can preserve an already-active state. Thus neither staging nor active status establishes universal human review. This matters because the ingest prompt asks the model to treat active pages as human-reviewed authority (RT-RTE-candidate-admission, EPI-RTE-lifecycle-admission, RT-RTE-lint-repair, RT-RTE-client-write, EPI-CLM-active-review).

Checks change permissions without supplying one truth guarantee

Synthadoc has consequential checks, but their domains differ. Structural citation lint checks marker shape, source membership and available line counts. Annotation itself can accept structurally screened model text or fall back to an unannotated original; it does not guarantee every claim is cited or that the prose is unchanged. Adversarial lint asks a model to criticize a truncated page without complete raw-source evidence. An optional positive warning threshold can demote active/stale pages and block automatic resolution, but unchanged cached pages skip demotion reapplication. Empty warnings can also follow parsing or provider failures. These are real reporting and restriction mechanisms, not reliable proofs of factual correctness (EPI-RTE-citation-annotation, EPI-RTE-structural-citations, EPI-RTE-adversarial-review, EPI-RTE-warning-gate).

Semantic citation auditing does compare an extracted claim fragment with cited sidecar lines against a support criterion. Its fallible model verdicts and short reasons feed later review displays, stale-only audit selection and CLI exit status. They do not automatically demote or rewrite the page, certify the source's truth or accept all of the page's claims. Freshness keys use source-ingestion timestamps rather than exact body identity. This supports scoped evidence-consuming assessment, not the public promise of invariant claim-level warrant (EPI-RTE-faithfulness-audit, MEM-OBJ-faithfulness-cache, EPI-CLM-citation-coverage). Without actual input/output comparisons, general compilation and answering remain semantically indeterminate: neither checked derivation nor novel conjecture is established merely by calling them synthesis. The inspected routes do not establish acceptance and subsequent integration of a produced ampliative claim; this is not a system-complete negative about unassessed routes (epistemic bounded conclusion).

Later questions receive selected memory, not the entire wiki

Ordinary query retrieves active/stale pages through BM25 and optional vector reranking, then budgets text for model synthesis. Streaming and blocking constructors differ in routing delivery. Help or live context can replace wiki context. The initial citation list can include retrieved pages omitted or truncated before synthesis, so a citation identifier is not verified answer support. Cached answers can bypass new synthesis, with keys that omit session/history (RT-RTE-wiki-query, MEM-OBJ-response-cache).

Local session queries automatically reload a recent raw tail. Older turns may be summarized and retained, but that summary is not supplied to synthesis in the inspected handler. Character budgets and question-relative language filtering further remove turns; raw-tail selection and trimming are not an exhaustive eviction inventory. Separate model calls isolate selected inputs and return values rather than inherit all preceding text. Omitted files remain reachable through explicit reads, not by automatic dereferencing of slugs (MEM-RTE-session-context, report verification limit).

Other consumers have different eligibility and budgets. Context packs return first-120-word excerpts; cross-wiki retrieval requires active pages and merges budgeted peer results; default OKF export includes active and contradicted pages. The shipped bundle consumer loads sorted, type-filtered exported files under a character cap, not live question-relative retrieval. Exports are separate snapshots. Requested knowledge delivery coexists with automatic history and standing purpose/control supply; automatic ranking within a requested return is not itself unsolicited memory delivery (RT-RTE-context-export, MEM-RTE-cross-wiki, MEM-RTE-scaffold-guidance, MEM-RTE-session-context).

Representative maintenance: structural repair with scoped veto and recovery

The content-health resolver provides one connected workflow from request to persistent edit and streamed delivery. Python pre-discovers flagged active pages; the model receives slugs, fixed guidance and tool results, reads page bodies and proposes repairs. Registered replacement calls require a successful prior read, membership when the discovery set is nonempty, and accepted client confirmation. The gate resets per call. Confirmation is an enforced protocol on that path, not authenticated human authorship or approval bound to exact replacement bytes (WF-RTE-content-health, RT-CLM-confirm-scope).

The helper snapshots the old body, replaces it, retains fix metadata and rescans structural heuristics. Remaining issues update metadata but do not veto the write. Dismissal is a separate ungated metadata operation. Later rollback reloads the fix record and snapshot, with positional fallback if stable-ID resolution fails. Parse retries and tool budgets bound the loop; budget exhaustion does not undo prior effects. Plain text ends the loop and leads to streamed completion, without an independent reconciliation of the claimed result against every discovered task. This establishes implemented delegation, veto, compensating recovery and delivery—not successful factual preservation or completed corpus repair (WF-RTE-content-health, MEM-RTE-health-history).

This registry is not a system-wide effect boundary. Coding-tool providers have a distinct execution path and can launch a child agent with permission skipping; imported Python skills and configured shell hooks are further executors. Local page-root checks do not sandbox their effects. Schedules trigger commands rather than supply independent semantic decisions (RT-RTE-provider-delegation, RT-RTE-extension-loading, RT-CLM-effect-boundary, RT-RTE-scheduled-operation).

Assessment relative to retained knowledge and future action

For compiling a revisable corpus and returning selected retained content, the records establish connected implementation paths, including optional review, differentiated checks and explicit recovery. For maintaining factual accuracy, complete source-linked answers or comprehensive withdrawal, those paths do not establish the stronger guarantees: operational admission exceeds demonstrated factual acceptance, selectors omit material and masking does not erase every retained copy. These distinctions qualify the public accuracy-through-self-optimization claim without turning the system into a single epistemic grade (EPI-CLM-accuracy-optimization, MEM-RTE-sensitive-mask).

The strongest supported trace contribution is imported-session compilation: filtered recorded user/assistant turns can feed automatic durable wiki writes with later eligible answer consumers. That is wired trace learning in the write-route sense, not measured improvement. Tool results and thinking blocks are excluded; neither verified operational experience nor autonomous ingestion of every interaction follows. Stored overflow summaries do not establish a second semantic learning chain (MEM-RTE-session-ingest, MEM-RTE-session-context).

Improved capacity for future action, including improvement caused by criticism of a consumed theory, remains unestablished. Theory-builder conditions remain separate unresolved questions: 1, page and guidance text are localized, but formulated explanatory-theory content is not established by their labels; 2, delivery and dispatch do not demonstrate decisions depending on such a theory's content; 3, warning production and state changes do not establish the required theory-directed criticism and placement of blame; 4, retained warnings and later consumers do not independently establish iterative theory criticism. Reflection, autonomous theory-building and reflective theory-building are likewise unestablished, not evidenced absent. Automatic proposals, state transitions and tool choice establish local computational control, not autonomy of every internal operation (epistemic bounded conclusion, RT-BAP-workflow-guidance).

For self-improvement, the assessed boundary is wiki maintenance across later invocations and the independent objective is accurate retained content. Warning evidence can determine lifecycle changes that reach subsequent search eligibility: this is an implemented improvement-directed self-change pathway. No observed subsequent operation establishes causal dependence on that change, and no outcome comparison establishes success. Product revision alone neither proves nor disproves self-improvement; broader guidance-revision routes remain incompletely assessed. The AquaFlow evaluator supplies substring-coverage scores, not semantic correctness or component attribution (EPI-RTE-warning-gate, EPI-RTE-answer-evaluation, epistemic bounded conclusion).

The assessment would change with provenance-linked source/page/answer instances, check and disposition traces, and later consumer traces showing what survived selection and influenced action. A controlled comparison with a semantic accuracy criterion could establish benefit at the varied system level; component attribution requires independently varying that component. Exact-content approval binding, content-sensitive audit keys or coordinated invalidation could strengthen specific guarantees, but would require new implementation evidence and, for operational claims, exercised traces. No source reads were added during this synthesis.

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
No adopted execution or causal comparison SRC-1; Source register, RT-RTE-source-ingest, EPI-RTE-answer-evaluation Frozen code/design; no target execution or production corpus Successful operation, factual benefit, exercised self-improvement and component effects Provenance-linked runs and objective-linked controlled comparisons
Additional language-based history eviction is not separately inventoried in analyst routes SRC-1; RT-RTE-wiki-query, MEM-RTE-session-context, report verification limit Query history formatter compares scripts/languages with the question and removes mismatched assistant turns plus an immediately preceding user turn Every raw-tail turn surviving character trimming reaches synthesis; complete context-eviction comparison Route-level inventory and traces of final formatted history; summary nondelivery remains supported
Scaffold curation inventory is coarse SRC-1; MEM-RTE-scaffold-guidance, profile verification limit Existing purpose/index scaffold zones are replaced while user zones survive Complete route-level scaffold-curation comparison; not the already-supported existence of entry revision Separate classification of this known revision mechanism against accepted records
Source fidelity and semantic transformation remain unresolved SRC-1; MEM-OBJ-source-sidecars, EPI-RTE-citation-annotation, RT-RTE-source-ingest Selected extraction, clipped compilation and annotation paths; not every skill Complete source preservation, checked derivation or established novelty for generated outputs Original/extracted/generated pairs with semantic comparison and remaining skill coverage
Acceptance and theory assessments are not system-complete SRC-1; epistemic bounded conclusion, RT-RTE-workflow-loop, WF-RTE-content-health Selected checks, admission routes and representative workflow; other successor criteria and feedback paths partly unassessed Universal absence of factual acceptance, theory-building, reflection or learning; improved future capacity Content-bearing theory instances, decisions, criticism/blame and retained next-round consequences; assessment of remaining material routes
Human control and approval identity are unresolved on client-mediated paths SRC-1; RT-CLM-confirm-scope, RT-RTE-client-write, RT-RTE-candidate-admission Session boolean gates, API edits and file promotion Authenticated human review or universal exact-content approval Authenticated decision provenance, complete review payload and approval-to-write identity binding
Initial provenance and access-structure coherence are incomplete SRC-1; MEM-RTE-scaffold-guidance, MEM-OBJ-search-vectors, MEM-RTE-cross-wiki Known subsequent transformations; initial purpose/routing/registry control, embedding refresh and peers unresolved Exhaustive lineage, complete backing-store inventory and coherent retrieval after every write Initialization/admission records, full refresh/invalidation traces and peer deployment evidence
Stored summary and overview lack established semantic answer delivery SRC-1; MEM-RTE-session-context, MEM-OBJ-overview Inspected local handler and overview producer Summary-fed long-conversation recall or overview-fed answering Identified later semantic consumer and delivery trace, or revised wiring
Cached verdicts and computations need not track all relevant edits or context SRC-1; EPI-RTE-faithfulness-audit, MEM-OBJ-response-cache, EPI-RTE-adversarial-review Timestamp-based faithfulness keys, decision keys omitting candidate bodies, history-free answer keys and content-hash adversarial reuse Guaranteed-current assessments, context-sensitive answer reuse or gate reapplication after all changes Input-complete keys and demonstrated invalidation across material edit/configuration paths
Withdrawal and restoration are not all-copy transactions SRC-1; MEM-RTE-sensitive-mask, MEM-RTE-backup-restore, MEM-RTE-health-history, EPI-RTE-snapshot-rollback Page masking, body snapshots and selected backup enumeration; prior sources, sidecars, exports and caches remain separate Global erasure, full metadata restoration, complete state clone or concurrency-safe rollback Copy inventory, coordinated invalidation/erasure and restoration/interleaving evidence; coverage of omitted derived stores
External execution and opaque integration state remain uninspected SRC-1; RT-RTE-provider-delegation, RT-RTE-extension-loading, RT-CMP-provider-model, RT-CLM-effect-boundary Parent adapters and loaders, not native checkpoints, arbitrary hook payloads, exact provider weights or deployed grants Universal sandboxing, complete memory/learning inventory, provider compliance or deployed security Frozen external contracts/implementations and configuration-specific execution/isolation evidence
Client, workflow, export and evaluator coverage is selective SRC-1; WF-RTE-content-health, RT-RTE-context-export, EPI-RTE-answer-evaluation, report verification Representative resolver, shipped bundle consumer and substring scorer; not every client, workflow or evaluator Exhaustive recovery/feedback comparisons, universal interoperability or semantic benchmark accuracy Remaining consequential route assessments, consumer-specific traces and semantically grounded evaluations