Synto synthesis

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

Bounded synthesis

Synto is a staged knowledge-production and consumption application. It turns source notes into linked wiki articles and portable packs, then supplies retained content to question-answering models, people and external agents. Python owns stage progression; configurable fast and heavy model endpoints propose analysis, articles and answers. It is not, on the inspected central route, a general model-controlled tool loop. This account covers the shipped lifecycle in https://github.com/kytmanov/synto at commit 91ac6a3681df0552b6c9baef159439c7ebd780c9, with an analysis cutoff of 2026-10-15. SRC-1 supplies implementation and doctrine/design evidence only. No target code, tests, providers or examples were executed, and no user vault, execution trace or measured comparison was supplied. A whole-system functional boundary does not imply exhaustive inspection of every helper or observed successful operation (boundary, RT-RTE-pipeline-run).

From sources to reusable candidates

An operator supplies Markdown or imports documents. Synto can archive originals, extract source segments and retain canonical raw text. Fast-model analysis produces summaries, concepts and source relationships; heavy-model compilation combines selected source bodies into concept drafts. Markdown and SQLite retain different parts of this state. Original text, derived prose and symbolic status, identity and hash fields are not interchangeable: prose informs a model, while fixed-rule metadata can decide eligibility or block a write (MEM-OBJ-source-documents, MEM-OBJ-raw-notes, RT-RTE-pipeline-run).

Each inference call receives reconstructed, bounded context rather than a shared agent conversation. Ingestion removes media/OCR noise from model input and selects concept hints. Compilation gathers budgeted source text, title hints, conventions, bounded existing-article text and recent rejection feedback. Sources remain on disk, but a title in the model window does not automatically reload them. Overflow recovery progressively reduces source and existing-text budgets and marks a successful fallback draft degraded. This can restore a writing path without preserving full-source coverage. Typed chunk checkpoints support interrupted ingestion; an exact-key response cache can substitute a prior output before inference. Neither establishes retention of private model reasoning. On the inspected OpenAI-compatible adapter, generation options are omitted from the cache key, so changed options need not cause fresh inference (RT-RTE-pipeline-run, MEM-RTE-checkpoint-resume, MEM-RTE-response-reuse).

Admission, criticism and delivery

The representative workflow is coherent but source-reconstructed: run analysis and compilation, review a retained draft, optionally reject and recompile, then publish. Models generate content; the Python coordinator schedules stages and the human reviewer supplies the manual admission decision. Review offers editing, staging, publication, deferral and rejection, but initial display is limited to 3,000 characters and direct publication is the default single-draft action. Staging as verified is optional. Automatic approval is a separate supported branch, not evidence that human review occurred (WF-RTE-interactive-review, RT-RTE-draft-publication).

The strongest supported experience-fed contribution is durable rejection guidance. With nonempty feedback, rejection retains the reason and rejected body; a later compiler supplies up to three recent feedback strings to the writer. The rejected body supports human diffs rather than being included through that prompt path. Automatic feedback-conditioned rewriting can produce a durable article available to later answering or export. This supports the verified local trace-learning finding: experience feeds an automatic behavior-shaping write. It does not demonstrate improved future capacity. Empty-feedback rejection can still delete a draft and reset bound compilation state without preserving a rejection record. Feedback-bearing rejections accumulate toward a cap of five; unblocking preserves history. A subsequent compilation invocation is needed, rather than rejection immediately launching a correcting agent (MEM-OBJ-rejections, RT-BAP-rejection-guidance, WF-RTE-interactive-review, profile verification).

Publication writes the destination, updates database state and only then removes the draft. That order is not a transaction across filesystem and SQLite. The optional confidence threshold uses source count and the best source's structural-quality label, not article-level truth assessment. Lint is not a universal publication veto; on the non-auto-approval branch it precedes technical retries without a final rerun. Source summary pages are published directly, and saved synthesis has its own admission path. Consequently, draft review is neither universal knowledge admission nor universal factual acceptance (RT-RTE-draft-publication, EPI-RTE-confidence-score, MEM-OBJ-source-summaries, MEM-RTE-synthesis-save, workflow ordering).

Identity curation has a different, deterministic effect. Blessed aliases guide canonicalization, while retained denials can veto later reattachment. A JSON seed preserves selected identity decisions across database rebuilding. Merge, split and retirement can change source allocation and later routing, but semantic correctness is not established by successful mutation. Recovery horizons differ: Git undo need not reverse database state, unmerge does not restore every ledger, and clean preserves selected identity state rather than the entire prior knowledge system (MEM-OBJ-concept-entities, RT-RTE-concept-curation, MEM-RTE-identity-rebuild, EPI-RTE-state-recovery).

Later consumption and its authority

A question triggers a fast-model page selection from the Markdown catalogue, followed by loading resolved pages and a heavy-model answer. Alias expansion and optional graph neighbors can broaden selection; delivered bodies are capped at 8,000 characters per page. Selected names can exceed bodies actually loaded. Grounding instructions request an answer from wiki content but do not check entailment. Saving ordinary Q&A creates a file without automatically enumerating the queries tree into that catalogue. Such files remain accessible through filesystem/export paths and recursive title resolution when a matching title is supplied. Synthesis has explicit later catalogue admission, limited to the newest 25 entries, and guards against direct synthesis-source chaining and overwriting detected manual edits. Those guards do not validate answer truth or establish universal prevention of indirect derivative reuse (RT-RTE-query-answer, EPI-RTE-answer-retention, MEM-OBJ-index, EPI-RTE-synthesis-guard).

MCP offers both synthesized answering and primitive article/source access. Stored source passages can reach later client invocations without a knowledge write; this is read-back, not proof of downstream model use. Article visibility and source-license gating are separate controls. The answer loader's source-summary exception and general routing index prevent treating ordinary article visibility as all-channel confidentiality. License grandfathering can be cached for the process lifetime. Export is different again: packs can include raw notes, drafts, summaries, Q&A and synthesis independently of MCP article policy. Generated agent instructions request read-only and source-checking behavior, but actual loading and compliance belong to the external host. Re-export refreshes managed trees, not previously distributed copies (MEM-RTE-source-passages, RT-RTE-mcp-answer, RT-RTE-pack-export, RT-BAP-pack-guidance).

What the checks and feedback establish

Synto has consequential checks, not merely unchecked generation: schema parsing, selected lexical candidate filters, relation endpoint resolution, overwrite and chain guards, structural lint and evaluation. Their licenses remain local. Chunk-wide concept attribution with code-assigned confidence 1.0 is not paragraph entailment. A relation evidence string is not a verified quotation. The offline evaluator's citation coverage checks nonempty source metadata rather than proposition-level support. The comparison advisor additionally checks expected pages, answer substrings and refusal behavior and can recommend switching configuration; it leaves installation to the human. Skipped offline term recall must not be generalized to no answer-content checking anywhere. No supplied comparison demonstrates semantic accuracy or causal model benefit (EPI-RTE-candidate-filter, EPI-RTE-occurrence-lineage, EPI-RTE-offline-evaluation, RT-RTE-compare-eval, report verification).

The resulting assessment is scenario-relative. For source-to-wiki organization and later bounded context delivery, inspected wiring supports acquisition, consolidation, revision, identity constraints and reuse. For factual knowledge production, generated candidates and operational publication do not establish evidence-consuming acceptance against a named factual criterion. Without candidate/input instances, the semantic relation of model-generated assertions remains indeterminate: neither entailed derivation nor accepted ampliative knowledge is established. The source-native word “synthesis” does not resolve that distinction (EPI-CLM-wiki-synthesis, EPI-OBJ-query-answer, EPI-RTE-answer-retention).

The properties of learning, theory building, reflection, autonomy and self-improvement remain separate. The feedback path supports durable experience-fed revision, while improved capacity from criticism of a consumed theory remains unestablished. The reports do not establish theory-builder condition 1's formulated theory instance, condition 2's content-dependent theory consumption, condition 3's challenged claim/result/blame placement, or condition 4's iteration of that criticism result. A delivered reason and later revision request alone establish none of those conditions. Reflection on Synto's own method is not established by article criticism. Python's automatic stage progression does not establish autonomous theory building, since the documented criticism branch uses human judgment. These are bounded evidential non-conclusions, not system-complete absences (RT-BAP-rejection-guidance, RT-RTE-draft-publication, WF-RTE-interactive-review).

For self-improvement at this shipped lifecycle boundary, retained articles can affect later system behavior; their being outputs does not exclude them from consideration. However, no concrete objective-bearing criticism/update episode and subsequent operation establishes exercised self-improvement, and no outcome comparison establishes successful improvement. Comparison reports are not automatically installed production changes. A provenance-linked rejection, revised article, actual later consumption and independently specified outcome comparison would change the feedback assessment. Candidate/source pairs and evidence-consuming review decisions would change the factual-acceptance assessment. Host-consumption traces and injected-store contracts would resolve different questions, not substitute for those comparisons (RT-BAP-rejection-guidance, RT-RTE-query-answer, RT-RTE-compare-eval, MEM-OBJ-rag-embeddings).

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
No supplied operation or causal comparison SRC-1; RT-RTE-pipeline-run, RT-RTE-query-answer, RT-RTE-compare-eval Frozen source and shipped drivers; no execution Achieved accuracy, reliability, scaling, activation or causal benefit Inspectable vault/run artifacts and appropriately controlled outcome comparisons
Partial evaluator/oracle inventory, carried from report verification SRC-1; RT-RTE-compare-eval, EPI-RTE-offline-evaluation, verification limit Offline evaluator plus verifier-inspected comparison metrics, advisor and report consumers Complete evaluator coverage; a claim that comparison never checks answer content; semantic truth or causal benefit from heuristic scores Detailed accepted records for expected-page, substring, refusal and switch-advice paths; separate truth and causal evaluations
Named-reference inventory omission, carried from report verification SRC-1; MEM-OBJ-raw-notes, EPI-OBJ-analysis-result, verification limit Verifier-inspected item helper, ingestion dispatch and audit/show consumers Complete retained-object and check/admission comparisons Detailed records of quoted-title extraction, exact-evidence filtering, candidate/mention retention and operator inspection; factual acceptance evidence if claimed
Partial compiler-context comparison, carried from profile verification SRC-1; RT-RTE-pipeline-run, profile limit Compiler source-body and bounded existing-article delivery are recorded but not separately classified in the profile Complete route-level direction, selector and budget comparisons; existing positive findings remain valid Separate classification units for each compiler input, selector, budget and consumer
Optional RAG store and consumer unresolved SRC-1; MEM-OBJ-rag-embeddings, RT-CMP-embed Inspected chunk/embed submission; opaque injected implementation Ordinary durable vector recall, complete substrate/form/authority and read-back inventory Store persistence, admission, initialization and actual retrieval-consumer contracts and wiring
Extraction, relation aggregation and inverse-maintenance detail incomplete SRC-1; MEM-OBJ-source-documents, MEM-OBJ-relations, RT-RTE-concept-curation Dispatch and main producer/consumer paths, not a full helper audit Exact extraction fidelity, universal relation retraction, full-state rollback Extractor and aggregation/retraction inspection with fidelity evidence; complete inverse/state-restoration account
Provenance and trace qualification remain local unknowns SRC-1; MEM-OBJ-raw-notes, MEM-RTE-identity-rebuild, MEM-RTE-checkpoint-resume, MEM-RTE-response-reuse, profile verification External inputs, restored seed and recorded call results Complete initial admission/lineage inventory, complete trace-learning inventory or a controlled trace-source class for human criticism Origin/admission records and original qualifying trace content; resolved update and later-consumer chains
Factual acceptance and criticism benefit unestablished SRC-1; EPI-RTE-answer-retention, RT-BAP-rejection-guidance, MEM-OBJ-rejections Generated candidates, operational gates and feedback delivery; no concrete criticism/revision episode Accepted ampliative knowledge, theory-builder conditions, improved capacity or exercised/successful self-improvement Input/output and criticism records naming claim, test result and blame; evidence-consuming disposition; linked revision, later use and independent outcome comparison
Provider and host behavior outside inspected implementation SRC-1; RT-CMP-fast, RT-CMP-heavy, RT-BAP-pack-guidance Configurable inference endpoints and generated host guidance Immutable model identity, provider-side learning/privacy/tool guarantees, host compliance and downstream benefit Pinned provider contracts/version evidence and host loading/consumption traces under specified deployment grants
Local controls have narrower horizons than global guarantees SRC-1; RT-RTE-pipeline-run, RT-RTE-mcp-answer, RT-RTE-pack-export, EPI-RTE-state-recovery Cooperating-caller lock, article/source policies, export copies and local recovery Global writer exclusion, all-channel secrecy, cross-substrate atomicity or distributed revocation Deployment-wide writer/control account, all-channel disclosure analysis, transactional recovery evidence and downstream withdrawal mechanism