Asking the AI about your numbers

How many, how much, on which days, compared to last month — the AI now answers from exact totals over every matching entry, and does the arithmetic with a calculator instead of guessing.


Ask the AI a numbers question — "How many push-ups did I do this month?", "How does that compare with last month?", "Which days did I run, and how far each day?" — and it answers from your actual entries, all of them, not from a sample or a memory of an old total.

What it does under the hood

  1. Finds the real Collection and the real property. It looks up your Push-ups Collection and its Reps property — the specific field, with its unit — instead of guessing from a name. If the same property appears twice on one Collection, it picks the one you mean and says which.
  2. Asks the database for an exact answer. Totals, averages, minimums, maximums and counts are computed over every entry that matches — the AI never adds up a page of results by hand, and no result limit ever cuts a total short. It can group the answer by day, week, month or year, by a tag, by a linked entry (unfinished tasks per goal) or by Collection.
  3. Does the arithmetic with a calculator. Percentages, comparisons, per-day rates and rounding go through a small calculator that shows its formula and the numbers it used. If last month had nothing to compare against, it says "no baseline" instead of inventing a percentage.
  4. Uses your calendar, in your timezone. "This month" means your local month. An entry logged at 01:30 on the 1st is the 1st for you, even if the server's clock says it was still the 31st somewhere else.

When you specify "up to now" or an exact time, that instant is the cutoff, even within today's date. A whole-day range includes the rest of that day. Preset templates are not logged entries and do not contribute to totals. The same exact-time bounds are available through the command line and MCP as fromInstant and toInstant; both include the specified instant.

What the answer tells you

  • The total and the period — "2,030 reps across 203 push-up entries, 1–30 September (Europe/Vilnius)".
  • The unit — reps, minutes, kg, km — taken from the property, never assumed.
  • Missing is not zero. An entry without a value is reported as missing, not counted as 0, and an average is over the entries that had a value.
  • Missing is not unchecked. Checkbox counts separate checked, unchecked and missing values using the database. An unknown completion state does not silently become unfinished.
  • A subset needs its own count. If you ask for unfinished items with a particular tag or link, the count uses those same filters. If that count cannot be verified, the answer should say so instead of guessing from a list.
  • Empty periods are visible. Ask for a monthly trend and months with no entries show up as empty, so "I did not track" never hides as "I did nothing".
  • Per-entry versus per-month averages are different questions; the AI says which one it computed, and asks when the question is ambiguous.
  • When you are tagged twice, an entry with two tags appears under both tags but is counted once in the total — the answer says so.

Precise filters, not keyword guesses

For questions like "runs over 10 km in May" or "tasks not done that support goal X", the AI uses an exact filter — AND / OR / NOT on real values, ranges, tags and links — rather than a text search. A text search is great for finding things you wrote about; it is never used to count them.

You can also ask for "only days with at least 100 reps" or "sort by priority, then date". Group conditions are checked after every matching entry has been counted. If only some groups are shown, the answer distinguishes them from the overall total. A day hidden by your condition is not reported as a day with no tracking.

Where else this works

For a task-and-goal overview, the AI can read just the fields needed for the question, such as completion and priority, without fetching each entry's full body. A missing completion value stays unknown. Stored goal links and suggested alignments are separate, and an unlinked task still belongs in the answer when it matches your question. Each task appears once with its status, priority and stored goal together. Ask for suggested goal alignments when you want advice beyond stored links. For larger inventories, the tools can return a compact table internally, preserving the same entries and fields while avoiding repeated field names.

The same tools are available to the kzx command line and MCP server, so an outside agent can run the same exact queries against your data. On the command line, dates follow your machine's timezone unless you pass --timezone.

Good questions to try

  • "How many push-ups did I do this month?"
  • "How does that compare with last month?"
  • "Which days did I do push-ups, and how many each day?"
  • "What was my average run distance in August?"
  • "How many tasks are not done, per goal?"

Next