%% View 3c — Runtime flow: a world query, tool-backed. %% Traced through internal/router/worldquery.go, internal/router/source.go, %% cmd/mavend/actions_query.go queryWalk + querySources, cmd/mavend/personalboundary.go, %% cmd/mavend/searchwire.go, cmd/mavend/kiwixwire.go. %% Shows destination anchoring, which sources are skipped and why, and the %% four-step fallback to the model's own weights. sequenceDiagram autonumber participant K as Owner participant H as runTurn participant R as router cascade participant QC as actionQuery participant W as queryWalk participant LOC as local sources participant PB as personal boundary participant SX as SearXNG participant KX as kiwix-server participant PH as phraser / resident model participant REC as decision record Note over K,H: "что такое TCP?" K->>H: utterance H->>R: rt.resolve R->>R: stage 0 — WorldQueryGrammars matches a literal definition frame R->>R: d.SourceAnchored = true, set HERE and nowhere else R-->>H: IntentQuery, Source=SourceWorld, anchored H->>QC: applyAction → actionQuery QC->>REC: Expect the full 22-source roster QC->>W: queryWalk(SourceWorld, anchored=true) rect rgb(70,40,40) Note over W: removes ONLY sources with guesses:true whose dest ≠ world W-->>REC: skipped: attention, list, feeds, home, network, weather, self W-->>REC: skipped: personal boundary — anchored, so a literal pattern may drop it Note right of W: a model or a softmax naming SourceWorld
would NOT drop the boundary (V-666) end W-->>QC: the sources that LOOK still walk, in table order loop first source to claim answers the turn QC->>LOC: fact-by-key, day-plan, habits, tasks, money, history, calendar LOC-->>QC: no rows → pass QC->>LOC: embed → memory → notes (vector recall, gated by min score + margin) LOC-->>QC: below the gate → pass QC->>PB: personal boundary PB-->>QC: SKIPPED this turn QC->>SX: Search(utterance verbatim, max 4) alt results SX-->>QC: snippets QC->>PH: phraseSource("search", utterance, evidence) PH-->>QC: reply QC->>REC: claimed by "search", and everyone below is NeverAsked else empty or unreachable QC->>KX: ZIM search, ru then en alt hit KX-->>QC: article snippet QC->>PH: phraseSource("kiwix", ...) else miss QC->>QC: "web" claims only if he named a URL out loud QC->>PH: queryGeneral — the model answers from its own weights, LAST end end end QC-->>H: reply text H-->>K: spoken or written answer Note over LOC,SX: What leaves the box is the query string and nothing else.
His notes, his facts, the persona block and the history never travel. Note over W,PB: With no destination named — the classifier arm sets none —
the whole chain walks in table order. That is the floor.