browzy.ai synthesis
Type: agentic-system-analyses/types/agentic-system-synthesis.md
Bounded synthesis
From selected sources to a retained wiki
browzy.ai is a personal knowledge system that ingests selected material, compiles Markdown wiki articles and answers questions using retrieved articles. This account covers the shipped terminal application and importable engine at Git revision 56c253042041ee2f483a5e9b824174d746891cf4, with an analysis cutoff of 2026-10-15. The whole-system source boundary includes admission, prompts, maintenance, initialization, interaction retention and evaluators. Its evidence is inspected implementation and attributed documentation, not execution: no target process, tests, provider calls, real knowledge directory or causal experiment was supplied. External model services, model weights and dependency implementations are outside the inspected implementation boundary. See the boundary and evidence and SRC-1 register.
The architecture separates work performed by fixed application code from text supplied by models. The executable launches an Ink terminal application without arguments or dispatches one-shot commands with arguments; the library is another caller surface. Code selects the next operation, assembles context, invokes inference and persists results. The inspected answer and compiler paths do not delegate tool selection to independently acting workers. Models author answers, long-source articles and summaries through provider adapters whose numerical state is not immutably pinned. See RT-RTE-answer-question, RT-RTE-library-query, RT-RTE-source-compilation and RT-CMP-llm-provider.
Ingestion retains converted source text, origin metadata and source IDs. “Raw” can already contain PDF extraction, web conversion or a model-generated image description; it does not necessarily mean original bytes. Copied images and their readable descriptions are separate parts, and later visual consumption is not established by the compiler's reading of Markdown. Source IDs preserve lineage pointers, not authenticated provenance or factual warrant. See MEM-OBJ-raw, MEM-OBJ-images and EPI-RTE-image-description.
Compilation has two materially different paths. Sources shorter than 2,000 sanitized characters become template articles without model curation, schema interpretation or guidance. Longer sources supply at most 15,000 characters and the first 30 existing article names/titles to a model. Existing article bodies are not supplied. The parser checks article markers and title/slug structure, can admit an empty body, and assigns the current source ID. Software then writes accepted articles without per-article human approval. Preservation and contradiction-handling instructions therefore do not guarantee faithful merging or factual acceptance. Partial interactive “skip” also supplies no excluded-source list to the compiler. See EPI-RTE-template-article, EPI-RTE-article-admission, MEM-RTE-interactive-compile and EPI-CLM-compiler-preservation.
Retained knowledge and access structures remain distinct. Markdown supplies answer content; SQLite/FTS holds searchable copies; a JSON wiki index supplies fallback candidates. Temporary raw FTS rows can yield human-visible snippets without a corresponding article file for model context. These stores lack a shared file/database transaction or coordinated withdrawal protocol. Source-ID membership can skip re-ingested material, and refresh/rebuild reuse that incremental predicate rather than force replacement. Collision renaming likewise weakens the requested update semantics. A growing corpus is consequently not the same as a reliably revised corpus. See MEM-OBJ-wiki, MEM-OBJ-articles-fts, MEM-OBJ-wiki-index and RT-RTE-source-compilation.
From a question to delivered text
The representative shipped workflow is a terminal question against an existing wiki followed by optional insight drafting. A fresh QueryEngine prepares context; SQLite supplies up to 20 candidates, sparse results trigger index supplementation, article files are reloaded, and code ranks up to 15 candidates before context assembly. Lexical matching, recency, backlinks and budget rules select content, not its truth. The terminal separately supplies bounded recent user/assistant turns. Older text and system notices are omitted rather than replaced by an integrated summary, and the provider receives no tool for reloading omitted turns. See RT-RTE-answer-question and the workflow account.
The model receives selected wiki text under a policy treating it as primary truth and requesting explicit provenance. Owner-edited browzy.schema.md separately supplies standing system instructions on applicable calls. Neither delivery establishes compliance. Retrieval confidence and gap labels measure heuristic lexical coverage, not the probability that an answer is correct. There is no independent factual acceptance test before answer display in the traced workflow. See RT-BAP-wiki-context, RT-BAP-schema-instruction, RT-CLM-wiki-grounding and EPI-RTE-coverage-diagnostics.
Context control is best effort. At least two articles can be admitted before enforcing the overall estimated budget; an oversized article's intro can exceed its target. The nominal matched-section condition is ineffective, although a separate oversized-article selection branch operates. Terminal preparation omits the actual configured model ID and history that the host later appends. These are concrete limits on a hard window guarantee, not observed provider failures. See RT-RTE-answer-question, its memory annotation under Annotations, and RT-RTE-library-query.
Answer delivery occurs when the final assistant text enters the terminal session. Streaming failure starts a new non-streaming request rather than resuming a checkpoint; the fallback omits the appended conversation-context instruction. Later drafting neither validates nor retracts that answer. The library/one-shot route differs: it calls query, can return a process-local cached answer before schema loading or output-save handling, and does not send its conversationHistory option as provider messages. Its cache key omits knowledge-directory identity, schema and history. Terminal answering bypasses that cache. These caller differences prevent treating conversational behavior, freshness or isolation as uniform across the product. See RT-RTE-answer-question, RT-RTE-library-query, MEM-OBJ-query-cache and the workflow account.
What interaction and criticism leave behind
The strongest supported trace-fed contribution is an automatic saved-session digest with a wired later human-banner consumer. Saved conversational turns feed a short model summary, file retention and metadata selection at startup. This supports a source-level trace-learning pathway in the comparison's write-route sense, not observed improvement in capacity. It requires a provider, matching latest-session metadata, at least three user messages and no existing digest. Caught dynamic-module failures leave successful execution unobserved. The optional daily wiki write lacks immediate SQLite/index admission and normal frontmatter fields; it is not an established automatic answer-memory loop. Global session storage is also not keyed by knowledge directory. See MEM-OBJ-sessions, MEM-OBJ-session-digest, RT-RTE-session-digest and profile verification.
After an answer with at least two selected source slugs, the host can ask a second model to identify a novel connection. It reloads at most five articles, supplies 2,000 characters from each and 3,000 answer characters, and requires at least two loadable sources. The same model judges novelty and authors the candidate. Executable gates reject NONE, malformed output or a body shorter than 50 characters; these are not independent truth or corpus-wide novelty checks. Accepted text goes to drafts, not the live wiki or search index. Success suppresses further drafts in that session; rejection/error restores eligibility for a future question without withdrawing the answer. No automatic draft adoption consumer was established in the recorded search. See RT-RTE-insight-draft, MEM-OBJ-drafts and the workflow account.
The separate conversation compactor is weaker as an integrated memory mechanism: after more than twenty session messages, it can return a summary and six recent messages, but the shipped terminal caller discards that return. Ordinary future answers still use filtered/truncated session history. Health review has a different limit: structural checks diagnose loaded links/fields, while model consistency review sees only titles/summaries. Issues reach the operator as advice, not automatic article repair, rejection or retrieval veto. Retained system notices are excluded from the inspected model-history and digest inputs. See MEM-RTE-conversation-compaction, EPI-RTE-wiki-checks, EPI-RTE-issue-display and MEM-RTE-health-review.
Assessment at this boundary
For the scenario of answering from user-selected material, the code establishes a complete source-to-wiki-to-context progression, with bounded conversational context and distinct human-facing recall/summary paths. It does not establish accurate synthesis or the README's claim that every added source improves every future answer. Short-source copying has a narrow non-ampliative implementation witness; long-source compilation, answering, image interpretation and derived insights remain semantically indeterminate without concrete content pairs and checked interpretation. Structural admission, storage, linking and operational reliance do not substitute for evidence-consuming factual acceptance. See EPI-CLM-source-compounding, EPI-RTE-template-article, EPI-RTE-article-admission and the epistemic bounded conclusion.
The independent higher-order properties remain bounded separately. The records establish delivery of owner guidance and content, but no assessed theory instance establishing theory-builder condition 1 (localized theoretical content) or condition 2 (decisions depending on what that theory says). Condition 3 (content-directed criticism with blame and changed reliance/revision) is not established by advisory lint or novelty judgment; condition 4 (that criticism shaping a next round) is not established by discarded compaction or unconsumed drafts. These are unestablished properties of the assessed routes, not absence claims about opaque model processing. Improvement in future capacity through criticism of a consumed theory is also unestablished: no such criticism-to-revision comparison was supplied. See RT-RTE-schema-change, EPI-RTE-issue-display, MEM-RTE-conversation-compaction and the epistemic bounded conclusion.
Reflection is not established by session representation alone: the account does not establish both causal directions between a represented system aspect and representation-mediated later behavior. Code-owned automatic progression does establish computation at the traced handoffs, but does not establish an autonomous theory builder performing every internal theoretical operation. For self-improvement through interaction retention, the supported contribution is digest generation and a later human context channel. The unresolved question is whether evidence about an independently specified improvement objective determines an update to browzy's own organization that subsequent operation exercises. Drafts lack an established live adoption path; compaction installs no update; digests lack demonstrated exercise and benefit. Thus exercised self-improvement, including its causal attribution, is unestablished at this boundary independently of the wired trace-learning witness. See RT-RTE-session-digest, RT-RTE-insight-draft, MEM-RTE-conversation-compaction and profile verification.
Concrete changes would alter different conclusions: a compiler source allowlist and force-update route would change admission/revision control; verified old-body merge inputs and coordinated store updates would change preservation guarantees; installing and later consuming the compactor result or indexing reviewed drafts would change memory wiring. None alone would establish benefit. Source-linked runs showing digest creation/read-back, answer audits against explicit factual criteria, and controlled before/after interventions on the changed mechanism would separately support operation, accuracy and causal improvement. Full diagnostic and human-recall inventories would strengthen coverage without upgrading existing wiring to observation. The limitations below retain these distinctions.
Limitations
| Limitation | Affected SRC IDs and record citations | Inspected boundary | Conclusion prevented | Evidence that would resolve it |
|---|---|---|---|---|
| No execution or causal evidence | SRC-1; RT-RTE-answer-question, RT-RTE-source-compilation, RT-RTE-session-digest, EPI-CLM-source-compounding | Frozen Git implementation and design; no real corpus, provider calls or test results | Successful retention/recovery, factual quality, measured latency/security or universal compounding benefit; exercised or causally beneficial self-improvement | Source-linked runs with configuration and retained artifacts; explicit outcome criteria and controlled comparisons |
| Human recall/UI inventory is incomplete | SRC-1; report-verification Limits, MEM-OBJ-sessions, RT-RTE-answer-question | Verifier inspected src/cli/hooks/useHistory.ts: global history retains up to 500 entries with navigation and substring search; analyst inventory leaves related UI state unresolved |
Exhaustive human-mediated recall or UI-personalization comparisons; history recall is not automatic session replay into inference | Accepted records enumerating history/profile writers, selectors, consumers and isolation boundaries |
| Evaluators, legacy paths and dependency coverage are incomplete | SRC-1; report-verification Limits, MEM-RTE-health-review, EPI-RTE-wiki-checks, EPI-RTE-issue-display | Retrieval setup/expected-slug assertions and selected assertion families, not all tests, fixtures, legacy paths or dependencies | Universal no-evaluator/no-learning claims, security effectiveness or whole-system measured-quality comparisons | Complete relevant evaluator/caller inventory plus scoped execution evidence; dependency implementation evidence under an authorized boundary |
| Diagnostic read-back omitted from comparison units | SRC-1; profile-verification Limits, MEM-RTE-health-review, EPI-RTE-wiki-checks | Requested wiki loading and automatic slug/title/summary supply to consistency inference with article-count gate are recorded, but not a distinct profile unit | Exhaustive diagnostic-route inventories and route-level selection comparisons; existing pull/push/coarse existence findings remain valid | Comparison units covering this recorded load/supply chain and its selectors |
| Retention destinations do not establish an integrated feedback loop | SRC-1; MEM-OBJ-session-digest, MEM-OBJ-drafts, MEM-RTE-conversation-compaction | Caught digest module/write attempts and incomplete wiki indexing; scoped draft consumer search; discarded compaction return | Automatic answer-memory admission of all interaction-derived content, successful continuity or exercised improvement from it | Traceable persistence/indexing and later consumer paths; actual exercise and separately measured improvement |
| Semantic warrant and preservation remain unchecked | SRC-1; EPI-RTE-article-admission, EPI-CLM-compiler-preservation, RT-RTE-insight-draft, RT-CLM-wiki-grounding | Structural parsing, truncated compiler/draft inputs and model-directed grounding/novelty | Factual acceptance, faithful old-body merging, corpus-wide novelty, or classification of generated claims as checked derivations/new knowledge | Concrete source/output pairs with checked interpretation, explicit factual acceptance criteria and sufficient comparison evidence |
| State coherence, scope and budgets are not hard end-to-end guarantees | SRC-1; RT-RTE-source-compilation, MEM-OBJ-wiki-index, MEM-OBJ-query-cache, MEM-OBJ-sessions, RT-RTE-answer-question | Incremental source selection, separate stores, global sessions, incomplete cache keys and heuristic assembly | Reliable forced refresh/withdrawal, per-KB cache/session isolation or guaranteed total input-window fit | Coordinated revision/withdrawal controls, scoped identities/invalidation, and actual-model tokenizer/window checks covering terminal history |
| Opaque external state and unresolved local alternatives bound completeness | SRC-1; RT-CMP-llm-provider, MEM-OBJ-images, MEM-OBJ-activity-log, profile-verification Verification | Provider internals excluded; image consumption and remaining host personalization/feedback mechanisms unresolved; all ten comparison axes partial | Complete memory-value inventories, provider learning/fixity conclusions, or inference of opaque payload form from readable summaries | Accepted part-specific writer/consumer records and appropriately bounded service/model evidence |