Kherad synthesis

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

Bounded synthesis

Kherad is an organizational wiki with model-assisted authoring, knowledge compilation and question answering. Its strongest supported contribution is a connected path from source material to durable, reviewable Git proposals and later knowledge consumption. It is not merely a retrieval library, nor a general autonomous agent runtime. This account covers the shipped web application, API, Git and relational persistence, prompts and maintenance routes at commit 2a8d6992b87a33760688e1f956653c21a6292294, with an applicability cutoff of 2026-11-08. The sole source, SRC-1, supplies implementation and doctrine/design evidence. No execution trace, actual organizational corpus or causal experiment was supplied; connected code does not establish successful use, answer quality or benefit. See the boundary and evidence and Source register.

From authoring to a compilation proposal

Authors can save Markdown, import specialist drafts or commit converted uploads. Specialist sessions support research, clarification questions and proposed documents or section replacements. They retain task content in Postgres before publication: an edit session reads its original snapshot plus accepted replacements, while an ordinary assembled save excludes rejected proposals. A separate supported manual-content save writes the supplied body instead of assembling accepted overrides; ownership and current edit checks still apply. This is not evidence that the model itself can invoke that save endpoint. OCR, transcription and placement similarly produce editable text or suggestions, not automatic publication. See RT-RTE-specialist-session, MEM-OBJ-session-content, RT-RTE-source-authoring and RT-RTE-ingest-document.

The representative multi-step workflow begins with a review-authorized compilation request. The API returns a pollable run ID and delegates semantic work to one indexer agent; the application, not the model, owns background progression and terminal status. The agent receives bundle instructions, source inventories and document names, then chooses reads, writes and deletions through tools within a 64-step bound. This is application-to-agent delegation, not a foreground agent spawning independent workers. Source reads can select unmerged user-branch material by branch-tip timestamp, so compilation does not certify prior raw-source approval. See RT-RTE-indexer-compile and the workflow account.

A published source mirror supplies both readable source copies and the byte baseline for full, incremental or no-work compilation. The incremental kickoff supplies changed source names and related document names; bodies remain available on demand. The instruction to leave unrelated concepts untouched is policy, not a write allowlist. If nothing changed, the run can finish without calling the model. Otherwise tool writes enter a process-local pending map, not a durable work queue. See MEM-OBJ-source-mirror, RT-OBJ-pending and RT-RTE-indexer-compile.

Code rejects invalid concept paths/frontmatter and an empty pending map. First compilation requires an index; incremental compilation can reuse the published index. A missing log is synthesized, resource URLs are rewritten, source copies are added and the combined changes are committed to a reused agent branch. Untouched compiled paths are overlaid from published state. A remaining diff opens or refreshes a merge request (MR). The model's final message is therefore not the delivered knowledge proposal: staged tool writes plus application transformations are. Run success delivers a proposal or no-change outcome, not publication. See EPI-RTE-structural-check, RT-RTE-indexer-compile and the workflow account.

Admission, recovery and the scope of review

Ordinary publication requires an authorized reviewer to approve the MR. The API merges the scoped live branch tip, synchronizes search and records merged status. Approval is not bound to an immutable token for the previously viewed diff. A no-op leaves the MR open with an error; rejection returns it to draft for rework. Stored conflicts have a separate authorized resolution route that checks required paths, invokes Git and updates search/status. Failed compilation is recorded for later rerun, and old running rows can be marked failed on a subsequent request. These are implemented recovery paths, not observed recovery or automatic replay; neither distributed execution exclusion nor atomic Git/database publication is established. See RT-RTE-review-merge, WF-RTE-conflict-resolution and RT-RTE-indexer-compile.

The gate is real but not universal. Administrator remote pulls can replace raw or compiled default-branch content without a local MR. Local version restore can likewise replace raw, legacy wiki and compiled subtrees without a new MR. Direct compiled editing, by contrast, writes a user branch rather than immediately publishing. These differences qualify the declared claim that every published change was reviewed. See RT-RTE-remote-pull, MEM-RTE-version-restore, MEM-RTE-compiled-edit and EPI-CLM-reviewed-publication.

Structural admission is not factual acceptance. The fidelity prompt asks the model not to invent facts, but checks do not establish entailment, citation support, index completeness or preservation of a supplied log. Resource rewriting can attach the sole available source URL without inspecting the concept body. Review permits a human veto, but no required evidence-consuming factual criterion is established. Thus publication and indexing license operational use; they do not by themselves establish accepted new knowledge or subsequent epistemic integration. Without concrete inputs and generated propositions, compilation and answering remain semantically indeterminate rather than demonstrated faithful compression or novel conjecture. See EPI-CLM-source-fidelity, EPI-RTE-resource-rewrite, EPI-RTE-structural-check and the epistemic conclusion.

Later consumption and context control

Published Markdown lives in Git; Postgres holds page/access metadata, search projections, chunk text and vectors, conversations, specialist state and skills. These parts have different consumers. A source mirror routes later compilation through byte comparison; search features and vectors affect ranking; selected prose supplies reference context; edit/access statuses constrain eligibility. Dense vectors are retrieval representations, not local model weights or prose delivered to the answering model. See MEM-OBJ-compiled-docs, MEM-OBJ-search-index, MEM-OBJ-chunk-embedding and MEM-RTE-search-read.

Bundle chat uses a 16-step model agent with published-document and scoped search tools. Semantic search returns ranked snippets, not complete evidence; full reading is another model choice. Embedding replacement is best effort: failure can leave old chunk text/vectors even after keyword updates, and matching the configured model string does not establish content freshness. Chat's compiled-only grounding instruction also does not describe every input. Supported page attachments append permission-checked raw content, potentially unmerged, to instructions with a request to prefer it. Ordinary client messages remain inputs too. No observed answer establishes either compliance or a grounding violation. See RT-RTE-bundle-chat, MEM-RTE-search-refresh, MEM-OBJ-chunk-embedding, RT-BAP-attached-pages and RT-CLM-reviewed-chat.

Context is controlled by on-demand document, section and upload reads, delta inventories, bounded attachment blocks and separate user-owned task sessions. Page attachment assembly selects the latest eight distinct mentions and clips each body to 20,000 characters; specialist quotations use at most six excerpts from the latest user message, each capped at 2,000 characters. These limits do not bound the whole submitted history or enforce a general token budget. Saved chat history reaches later model calls through client reload and resubmission, not server reconstruction from thread ID. Live attachment reload, fixed edit snapshots and live skill reload therefore have different temporal semantics. No general compaction mechanism is established, and the separate sessions are not child frames whose only escape is a return value. See MEM-RTE-history-replay, MEM-OBJ-session-content, RT-BAP-attached-pages and RT-BAP-session-skills.

Withdrawal is equally consumer-specific. Raw soft deletion and branch deletion affect live inventories, while derivatives may wait for later compilation/publication. Attachment assembly does not itself check the page deletion row; historical files and stored answers can remain. This supports bounded withdrawal, not immediate universal revocation. See EPI-RTE-page-delete, MEM-OBJ-source-pages and the memory annotation on RT-BAP-attached-pages.

What the connected loop establishes

For organizational drafting and review, the architecture provides inspectable proposals, human publication control and retained content for later work. For a scenario requiring exclusively locally reviewed inputs, synchronized retraction or evidence-backed factual acceptance, the alternate admission paths, attachments and maintenance limits prevent those guarantees. This is a route-relative assessment, not a product ranking.

The positive result for future work is durable content reuse and a live method-loading path: administrators can revise skills that later specialist turns receive as working instructions. It remains unresolved whether criticism of a consumed theory improves capacity for future action. Raw conversation replay and proposal persistence do not fully establish an automatic trace-fed durable update with identified original inputs and later behavior-shaping consumption; they also do not establish its absence. See RT-RTE-admin-configuration, RT-BAP-session-skills, MEM-OBJ-message-parts and profile verification.

Theory-builder conditions remain separate: inspectable Markdown and method text provide localized revision surfaces, but the accepted account establishes neither a particular formulated theory satisfying condition 1 nor content-dependent theory decisions satisfying condition 2. Condition 3's formulated criticism with blame and changed reliance, and condition 4's retained criticism shaping a next round, are not established. These are unresolved theory-route findings, not evidenced absences. Reflection's two causal directions are not established by method storage alone. Computational proposal generation does not establish an autonomous theory builder across caller-controlled admission and configuration. Self-improvement is independently unestablished: method changes can reach later instructions, but objective-bearing evidence shaping an update and subsequent operation causally depending on it are not shown. Successful improvement is a further unresolved question. See the epistemic conclusion, RT-RTE-indexer-compile and RT-RTE-admin-configuration.

Concrete evidence could change these assessments: a source/output/review/answer trace could establish exercised selection and factual acceptance within a named scope; a retained criticism-to-revision-to-next-use episode could establish theory iteration; and a controlled comparison could test improved capacity at the granularity actually varied. System changes such as immutable reviewed-head admission, consistent gates on alternate publication routes, consumer-side freshness checks and coordinated withdrawal could support stronger operational guarantees. None is inferred from current source wiring.

Limitations

limitation affected SRC IDs and record citations inspected boundary conclusion prevented evidence that would resolve it
Human-editor autosave recovery is omitted from analyst inventories; carried from report verification SRC-1; MEM-OBJ-source-pages, MEM-RTE-version-restore, report-verification Limits Verifier inspected the web autosave handler, editor caller, API client and schema: dirty Markdown persists in Postgres autosave_drafts, reloads when newer and can be restored by the user Git and specialist state are not an exhaustive retained-object or recovery-route inventory; this buffer establishes no new model-memory or trace-learning route Analyst records covering autosave admission, retention, reload, restoration and cleanup; execution evidence separately for successful recovery
No supplied execution or causal comparison SRC-1; boundary, RT-RTE-indexer-compile, RT-RTE-bundle-chat, WF-RTE-conflict-resolution Frozen implementation, prompts and test specifications; target not executed Successful compilation, reviewer inspection, exercised recovery, model compliance, quality and causal benefit Registered traces linking inputs, tools, commits, review and later reads; appropriately controlled outcome comparisons
Semantic transformation and factual acceptance remain unresolved SRC-1; EPI-RTE-structural-check, EPI-RTE-resource-rewrite, RT-RTE-review-merge Structural validators, source-link rewrite and publication permission/merge rules Entailment, reliable source fidelity, accepted ampliative knowledge or warrant from citation/merge status alone Concrete propositions and sources, semantic checks, and recorded evidence-consuming acceptance against named criteria, use and scope
Review and admission are route-specific SRC-1; RT-RTE-source-authoring, RT-RTE-remote-pull, MEM-RTE-version-restore, RT-RTE-review-merge Manual save, direct remote/restore replacement and live-tip ordinary approval Universal section acceptance, universal local MR review or immutable reviewed-content admission Consistent route enforcement and immutable approval binding; content-specific review evidence where human approval is claimed
Freshness and withdrawal are not end-to-end guarantees SRC-1; MEM-OBJ-chunk-embedding, MEM-RTE-search-refresh, EPI-RTE-page-delete, RT-BAP-attached-pages Best-effort embeddings, model-string filtering, live inventory deletion, attachment assembly and retained derivatives Current semantic payload from current keyword state; immediate removal from every downstream consumer or history Consumer freshness validation, coordinated derivative invalidation and bounded failure/retraction traces
External provider, SDK and MCP behavior is opaque SRC-1; RT-CMP-chat-model, RT-CMP-embedding-model, RT-RTE-specialist-session, MEM-OBJ-message-parts Local mutable model selectors, forwarded remote tools and message-retention/replay call sites Exact weight identity, provider retention, dependency compaction, lossless model input or local proposal gates constraining all remote effects Pinned dependency/provider contracts, actual configuration and tool inventories, and scoped execution evidence
Learning, theory iteration, reflection and self-improvement are not resolved by retained artifacts SRC-1; RT-RTE-admin-configuration, RT-BAP-session-skills, MEM-OBJ-session-content, epistemic conclusion, profile verification Proposal persistence, raw replay, manual method admission and later instruction delivery Positive or complete negative trace-learning classification; criticism-driven improved capacity; all theory-builder conditions; reflective or autonomous theory building; exercised self-improvement Identified trace-to-update-to-consumer lineage, formulated criticism and next-round use, role-level computation evidence, reflective causal links and objective-linked update/exercise evidence assessed separately

No source reread was needed for this synthesis. The accepted reconciliation establishes no unresolved inter-report conflict; profile verification declares no additional limit.