TattvaDocs
For data analysts

Answer scope

Decide what Tattva answers in your project — example questions, the scope line, topics not answered yet, the date each metric is valid from, where figures may come from and which kinds of question are answered.

Answer scope is how your team tells Tattva what it should and should not answer in this project, and what to tell people when it does not. Facts about the data and metrics live in the ontology (reviewed, versioned, shared through the Workspace Library and printed in the configuration document). How this project's assistant behaves lives in Settings › Project › Answer scope.

PieceWhere you set itWhat people see
Example questionsMake › Patterns, patterns with status activeWhat you can ask on an empty Reasoning page; suggestions on a refusal
Scope lineA convention with category ScopeA Scope line under every normal answer
Not answered yetA convention with category Not answered yetNot available yet on an empty Reasoning page; the reason, instead of an answer
Available fromThe metric's Definition tab"Not available before …" for the earlier part of a period
Figures fromSettings › Project › Answer scopeOnly figures from your definitions, or also the assistant's own labelled queries
Question kindsSettings › Project › Answer scopeA refusal naming the kinds that are answered
Repeat questionsSettings › Project › Repeat questionsThe link to a registered dashboard that covers the question, instead of a full answer

Example questions

The example questions of every active question pattern in Make › Patterns are shown to people: on an empty Reasoning page under What you can ask, grouped by pattern (the pattern's title, or its name), and as suggestions when a question is refused. Clicking one asks it. The same questions head What Tattva can answer in the configuration document. Draft and archived patterns are not shown. Write them the way a business user would ask, with a period ("last month"), and keep them to questions Tattva answers well.

Patterns appear everywhere (Reasoning, refusal suggestions, "What can you answer?", the configuration document) in the order of the list in Make › Patterns. Move a pattern with its ↑ and ↓ buttons; new patterns go to the end, and existing patterns start in the order they were created. With a status filter on, ↑ and ↓ swap a pattern with its neighbour in the full list, which may not be the one shown.

In a pattern's form, Metrics this pattern answers lists your metrics and the Workspace Library's; tick the ones the pattern is about. They are listed under the pattern's title in "What can you answer?".

If no pattern is active, Reasoning shows no examples, and the configuration document falls back to one model-written example question per metric.

Scope line

Add a convention with category Scope (stored as domain_scope) whose value says what the data covers, for example "D2C website orders only". It is shown under every normal answer, next to the period, and reaches the agent as a decided fact. It is not repeated under a refusal (whose text already includes it), a "What can you answer?" reply or a dashboard link. A question clearly outside it is refused like a topic not answered yet.

Not answered yet

Add a convention with category Not answered yet (stored as not_ready) for each topic you do not answer yet:

  • Name: the topic, as people ask for it, for example "ROAS".
  • Value: the reason people see, for example "Ad spend is not loaded yet; expected in November."
  • Description (optional): what the topic covers and what it does not, for example "Covers return on ad spend and any figure that needs ad spend. Does not cover repeat rate or net revenue." Edit it in the convention form under Make › Data, next to the name.

Tattva matches a question to these topics after reading it. The model sees each topic's name and, when set, its description as "covers / does not cover", so a topic that shares a word with an answerable metric does not catch it. Code adds a guard: a question whose metrics all resolve to published stored definitions is not refused unless the topic's name or description contains one of those metrics' slugs (for example repeat_rate). To block a defined metric on purpose, put its slug in the topic's name or description. A matching question is not answered: the reply gives the reason and the active example questions, with no Trail, because nothing was computed. The topics are listed under Not available yet on an empty Reasoning page, and in their own section of the configuration document. Delete the convention when the topic is ready.

Available from

A metric can have a first date its figures are valid from, for example 1 Apr 2025 for a P&L that starts then. Set it on the metric's Definition tab in Make (see Metrics in Make). Use earliest date in the data (…) proposes the earliest date in the definition's event-time column. When a question's period starts earlier, that part is not answered for that metric ("not available before 1 Apr 2025") and the rest of the period is. Not set means answers use whatever dates the data holds. Saving needs Ontology Admin or above and is recorded in the audit log.

Settings › Project › Answer scope

Owners, admins and ontology admins change these; they apply from the next question. New projects start with figures from definitions plus labelled own queries, and every kind of question answered.

Figures from

ChoiceWhat happens
Metric definitions, plus the assistant's own queries (labelled)Figures come from your metric definitions where one exists; anything else the assistant computes with its own query and labels as such.
Metric definitions onlyOnly figures from your metric definitions, and arithmetic on them, are shown. The assistant cannot run its own queries, and a metric without a definition is reported as not defined yet. A name the question uses counts as defined when it is a metric, the value column a metric that ran declares, or an output column of a stored definition that ran in the same answer: with a P&L definition that returns cm3, "CM3" is answered from it, not reported as not defined.

Question kinds: untick a kind to stop answering it. A question of an unticked kind gets a refusal naming the kinds that are answered.

KindExample
What a metric meansHow is repeat rate defined?
A numberWhat was revenue last month?
Top and bottom listsWhich products sold most?
ComparisonsThis month against last month
Trends over timeHow has revenue moved this year?
Why something changedWhy did orders drop last week?
ForecastsWhat will revenue be next month?
What drove a resultWhich channel brought the sales?
RecommendationsWhere should we spend more?
What-if scenariosWhat if prices rise 10%?
Open questions about the businessWhat stands out this quarter?
Finding things in the appWhere do I see my trackers?
What data there isWhich tables hold orders?

Both settings are listed under Settings in force in the configuration document.

Repeat questions

Beside answer scope, Settings › Project › Repeat questions decides whether a question that one of your registered dashboards fully covers gets the dashboard link instead of a full answer: Off (the default; every question gets a full answer), Link + answer (the link, with an Answer here instead button) or Link only. Register dashboards in Make › Dashboards. See Dashboards for repeated questions.

"What can you answer?"

People can ask Tattva what it answers, in any wording ("What can you answer?", "What can I ask you?", "Do you do ROAS?"). Tattva recognises the question and writes the reply from this project's settings; no model writes it, so it always matches what you configured. It is always on and needs no setting.

  • Asked in general, the reply has, in order: the scope line; You can ask (the active patterns' example questions, clickable); Metrics I have (metrics grouped first under the titles of your active patterns, in the Make › Patterns order, using the metrics each pattern answers (a metric may sit under two); the rest by family, then concept, then under "Other metrics" (never by table name), with counts; two metrics with the same name show once and each one's available-from date; in a large catalog each area shows its first few names and the smaller areas are collapsed into a count); Data (the number of tables your metrics read, the overall date range of their event-time columns, the latest refresh, and a link to the configuration document; each column's latest date is capped at the date it was profiled, so a sheet with future months filled in does not stretch the range); Not answered yet; Question kinds switched off; How figures are made (only when figures are limited to metric definitions); Personal data (how many columns are marked personal or restricted, and what the asker's own personal-data access lets them see). Sections with nothing in them are left out, so a project with nothing configured shows only Metrics and Data.
  • Asked about something specific ("Do you do ROAS?", "CM3 for March 2025?"), each named thing is checked against your not-answered-yet topics, metric families (names and aliases) and metrics: no with your reason and two or three example questions; partly with the available-from date; yes with an example question (the one the configuration document wrote for that metric, else one of your patterns' questions naming it). Something that matches none of them is reported as not defined in this project.

Whatever the Repeat questions setting, the general reply also has a Dashboards section listing the active dashboards registered in Make › Dashboards, with their links. See Dashboards for repeated questions.

The reply uses the same data as the configuration document, so keeping patterns, families, not-answered-yet topics and available-from dates up to date keeps both right. These runs are recorded with phase_outputs.capabilities and have no Trail, because nothing was computed.

See what was not answered

Every refusal is recorded with the question. Ontology › Maintain › Feedback › Asked but not answered groups them by topic, kind or metric with counts, so you can see what people ask for that you do not answer yet. See Work answer feedback.

Answer scope — Tattva Docs