Asking the Base - VVG-web/aurora-studio GitHub Wiki

Asking the base

Wiki home ยท related: Trust ยท The agent ยท Assistants, MCP and skills

There are three ways to get an answer out of the base, from most to least automatic.

Way Use when Result
Ask section / agent:ask you want an answer in your own words an answer from the cards only, a link on every claim, checked by Momus
ctx:context <topic> you will paste verified context into any prompt or tool a selection of cards with trust headers and bases
the MCP server an assistant should search the base itself while it works search, read a card, assemble a pack โ€” read-only

Ask

In the panel's Ask section type a question as you would to a colleague. The engine assembles context from cards; the model answers from them only and puts a link on each claim; Momus then checks the answer: a claim is either supported by a quote or marked "no support". The conversation is kept in AuroraKnowledgeDB/meta/ask/ as plain Markdown and goes to git with the base โ€” what the team asked and what the base answered is shared knowledge. A conversation that exposed a gap in the base is a reason to write a card.

  • Follow up without losing context: agent:ask --thread <id> (the panel continues the open conversation).
  • Choose the model: --backend N asks one gateway from the ring (1 is the primary).
  • Choose what counts: modes โ€” trusted only; everything including drafts; meetings only; trusted plus meetings. A statement made at a meeting does not pass into "trusted only": a meeting is not a signed document.
  • Do not journal: --no-journal skips the conversation file (this is what the MCP server uses: it only reads).
  • "Why did we choose X? Why not Y?" โ€” ctx:ask <question> answers with quotes, including rejected and replaced Decision Records.

Context packs

ctx:context <topic> selects cards and prints them with a trust header and a basis each โ€” not "draft" but "PRJ-123 in progress". Useful flags: --mode generate|review|ask|evaluate|meetings|trusted_meetings, --max-cards, --budget, --save (to Artifacts/drafts/). In generate mode trusted knowledge and accepted Decision Records go in (and, while the base is young โ€” bootstrap โ€” labelled drafts too) โ€” build requirements only on the trusted ones; ask adds rejected and replaced ones.

The rule for any manual path: assemble the context first, do not feed an assistant Confluence pages as truth. The difference between "a card with status knowledge and a basis" and "a page from the wiki" is the difference between a fact and a rumour.

When the base does not know

The engine decides this itself, without calling a model. It counts how many of the question's words (weighted by rarity) the best five trusted cards find together โ€” an absolute figure, not a share of the best hit:

  • Enough โ€” a normal pack.
  • Partly โ€” the pack opens with "Weak basis" and names the words the base does not have; answer only from what was found and say what is missing (kb:question). agent:ask also marks the answer weak_basis and prints a "Weak basis" line in the report.
  • Almost nothing, no match by meaning or by exact ID โ€” no pack: "the base does not have this", with the missing words. Long task statements are not judged this way; only questions, and agent:make and the bot context call the search with abstain=0: they need a pack of the partly matching cards. A pack of the abbreviations glossary alone does not count as a result.

If the best candidates were hidden by the trust filter (a draft card in generate mode), the pack or the refusal says so: how many, their statuses and the best name โ€” never the body. Repeat in evaluate to read them. Thresholds are the weak and abstain keys of RETRIEVAL (abstain=0 turns the refusal off); ops:search-quality --compare reports what share of misses is the status or release filter rather than the search itself.

A document built by agent:make that cites an unverified card (young base, bootstrap) stays status: draft, with basis_unverified in the header and a line under "Assumptions".

How the search works

Search combines words with meaning: the semantic index (kb:embed) holds a vector per card and lives outside git (rebuilt on demand). Stubs (placeholder) and the archive are excluded. Related and backlinked neighbours can join a hop; a collapsed neighbour carries its gist, not its body.

Two watchdogs keep the ranking honest:

Command Measures
ops:retrieval which cards come first for the analysts' real questions, and what changed since the last run
ops:search-quality does the base find itself: a card's thesis as a question, the right answer known by construction โ€” R@1, R@5, MRR

What to believe in an answer

An answer is only as good as its basis: read the header (knowledge or draft, and why), prefer claims with a quote, and treat "no support" as a to-do for a human, not as a fact. โ†’ Trust


This wiki is generated from the wiki/ folder of the repository โ€” edit the pages there, changes made here are overwritten. ยท RU-Home

โš ๏ธ **GitHub.com Fallback** โš ๏ธ