Kairos War RoomEvidence brief · MN database audit

Full warehouse execution · snapshot 20 August 2026, 10:41 UTC

MN warehouse audit: 204 of 204 objects accounted for

Kairos scanned 186 non-empty tables in full, verified 17 empty tables, and excluded one view with proof. The audit found one checked revenue source, two duplicate-carrying revenue objects, and concentrated future-dated event records.

204 / 204 objects accounted for186 tables fully scannedFive current-report objects need definitionsIndependent review deferred

Executive conclusion

The warehouse can support decision analysis when each metric uses a checked source and an explicit definition. Broad object-by-object auditing can end. Kairos now needs MN's definitions for five objects behind the current findings, a default exclusion for future event timestamps, and the exact tables and transformations behind each decision metric.

204 / 204live tables and views accounted for
More information

What the denominator contains

203 base tables and one SQL view were live at the frozen snapshot. Of the base tables, 186 contained data and 17 were empty.

What “accounted for” means

Every object has a named audit state and evidence pointer. It does not mean every table is correct, understood by Kairos or approved for every decision.

186non-empty tables fully scanned
More information

What was scanned

Every row in each non-empty base table was read by that table's registered checks. The queries ran with cache disabled and their aggregate results were tied back to BigQuery job records.

What this does not prove

A whole-table scan can only answer the checks it runs. It does not supply business meaning or test every future analytical question.

17 + 1empty tables verified + one view excluded
More information

The 17

Seventeen base tables contained zero rows at the snapshot. Their empty state was queried and frozen rather than inferred from metadata.

The one excluded object

looker.v_screen_dropoff is a saved SQL view derived from looker.app_users_events. Its SQL definition was captured and its underlying base table was fully scored. The base-table scorer excluded the view because scanning the derived result as another base table would mix two different object types.

2largest previous blind spots fully scanned
More information

The two tables

App_usage.App_usage_events held 908.7 million rows; App_usage.App_usage_sessions held 995.5 million. Their size had left them outside the earlier whole-table score.

What closure added

Both were scanned across the full table. The run quantified small duplicate-row rates and tens of thousands of future timestamps, closing the coverage gap while leaving field meaning and source-clock ownership open.

Immediate change

New analysis starts from the full inventory and its recorded checks. Every published metric should name its source, definition and known limits.

Key findings

Coverage

Every object has an audit state

Completed scans reconcile to BigQuery jobs and a frozen evidence record. Future work can see the full denominator before analysis begins.

Revenue

One checked source; two duplicate-carrying objects

claude.vpn_purchases matches the All-Hands VPN figures checked. looker.users_revenue and postgre.mv_user_revenue_actual carry duplicate-driven inflation that can materially overstate totals.

More information

Plain-language finding

The safe purchase table and the two broader revenue objects can produce very different answers to the same question. In July 2026, the checked VPN total was $162,333. Summing the broader objects without a filter produced $230,346: $68,013 extra, or 41.9% above the clean total.

Where the extra amount comes from

At the frozen snapshot, postgre.mv_user_revenue_actual held 424,882 rows. 126,221 rows—29.7%—had the same start and end date. Those rows still carry an amount. The audit calls them “zero-length” because the recorded interval lasts zero days.

They are strongly linked to normal subscriptions and usually share plan, amount and gateway, but their date rarely matches a billing boundary. The warehouse alone cannot prove what event created them. Calling every row a copied payment would overstate the evidence.

Why Looker is affected

looker.users_revenue reproduces the inflated monthly sums in the periods checked. It does not retain period_to, so the zero-length filter cannot be applied inside that object. It is also not a literal row-for-row mirror; the full audit refuted that stronger claim.

Why the clean source is trusted for this use

claude.vpn_purchases had 294,986 rows at the snapshot, a tested unique purchase_id, no exact duplicate rows and no future purchase dates. Across the All-Hands era checked, its monthly totals matched the broader source after the zero-length filter within $0–$837 per month, at most roughly 1%.

Safe use and remaining limit

  • Use claude.vpn_purchases for the checked VPN gross-revenue questions.
  • Do not sum either broader object without the tested correction and cross-check.
  • Ask MN which source is canonical, what consumes each object and where the producing transformation lives.
  • This is a material warehouse trap. It does not prove that MN's checked reports used the wrong number; the All-Hands checkpoints tested followed the clean series.
Event time

Future dates require a reporting filter

Future event timestamps can distort trends and cohorts. Kairos should exclude them from ordinary reporting while the source is traced.

More information

What was counted

The audit found future-looking values in 40 time fields across 31 objects. Seven high-count tables contain 552,322 table-row occurrences, but the same underlying event may appear in more than one table.

Why the concentration matters

The largest group is 279,183 purchase-session rows associated with 12 pseudonymous analytics IDs, five logged-in users and ten session IDs. Those identifiers are not a count of people or physical devices.

Current assessment

Repeated dates and tight identifier concentration make bad, test, automated or malformed sources plus downstream copying more plausible than hundreds of thousands of independent device clocks. The original producer and intent are still unknown. Current evidence contains no sign of an external attack.

Safe use

Exclude event timestamps beyond the reporting horizon from ordinary trend, cohort and retention work. Keep legitimate entitlement or validity end dates separate until each field's meaning is confirmed.

Definitions

Five current-report objects need definitions

The immediate gap concerns five objects behind the revenue and event-time findings. The warehouse-wide count of unresolved business definitions is unknown. Those definitions may already exist elsewhere inside MN.

More information

The five objects

claude.vpn_purchases, looker.users_revenue, postgre.mv_user_revenue_actual, App_usage.App_usage_events and App_usage.App_usage_sessions.

What Kairos needs from MN

For each object: what one row represents; the authoritative key and time field; the intended use; the report or dashboard already trusted; known exclusions; and the person who resolves discrepancies.

The scope limit

Five is the immediate report scope, not a warehouse-wide count. MN may already have these definitions in code, BI documentation or practitioner knowledge that BigQuery does not expose.

Future-dated records: concentration matters

Seven high-count tables contain 552,322 table-row occurrences. Cross-table overlap prevents a customer or device total. Each table's values are concentrated in roughly 49–109 pseudonymous IDs. The largest group contains 279,183 future-dated purchase-session rows from 12 pseudonymous IDs, five logged-in users and ten session IDs.

Current assessment

A small number of bad, test, automated or malformed sources are probably being copied or amplified through related tables. The records can corrupt time-based reporting. The original producer and intent remain unknown; current evidence contains no sign of an external attack.

Limits

Definitions needed for five current-report objects

The current revenue and event-time conclusions depend on these five warehouse objects. The audit did not count every object whose business definition may remain unresolved.

Revenue

Three objects

claude.vpn_purchases
looker.users_revenue
postgre.mv_user_revenue_actual

Event time

Two objects

App_usage.App_usage_events
App_usage.App_usage_sessions

For each object, Kairos needs the meaning of one row, the authoritative time field and key, the intended use, the trusted dashboard or report, and known exclusions. MN can close the gap by pointing Kairos to existing material or to the practitioner who maintains it.

How Kairos will use the audit

The audit changes the order and safety of the remaining work.

1

Quest Map

Select the next warehouse questions by commercial value, probability of useful evidence, time to signal and dependencies.

2

Opportunities board

Use checked sources to screen 3–5 candidates. Deepen the strongest one or two. Record evidence level, kill condition and cheapest next test for each candidate.

3

Standard of Performance

The mechanism is still pending. A plausible first implementation would run grain, completeness, duplicate, validity, join and cross-source checks before an important metric enters a decision.

4

Mammoth Protocol

Discovery continues under the current engagement. Material build, launch, outreach, transfer or spend waits for a signed Opportunity Schedule.

Next actions

1

Obtain the five definitions

Locate MN's existing definitions, trusted reports and maintainers for the five named objects.

2

Filter future event timestamps

Exclude event timestamps beyond the reporting horizon from ordinary Kairos analysis. Record and justify any exception.

3

Run the priority analyses

Start with non-Stripe payment funnels, marketing economics and pricing elasticity. Support and fraud follow.

4

Add independent review

Tris or Metis can review the frozen packet later. A BigQuery rerun is required only if review finds a systemic error in coverage, scoring, snapshot identity or evidence binding.

Scope control

Document the metrics used by recurring decisions. Stop when each metric's source, definition, limits and action threshold can be reproduced.

Technical record

The execution packet is cache-off and hash-bound. The report retains aggregate evidence only; no customer rows were copied into it.

Coverage and job reconciliation
  • 204 live objects: 186 whole-scored, 17 empty-confirmed, one view excluded with fresh non-base-object proof.
  • 186 deterministic BigQuery evidence jobs completed with cache disabled.
  • Principal-window reconciliation found all 186 closure-labelled jobs, no missing or unexpected labelled jobs, and no unlabelled query against the frozen snapshot.
Cost boundary
  • Actual processed: 682,387,160,925 bytes.
  • Billed: 683,101,126,656 bytes.
  • Maximum admitted by per-job caps: 755,708,723,200 bytes.
  • Conservative on-demand ceiling at US$6.25/TiB: US$3.883. Account-level free-tier use and capacity-plan assignment were not measured.
Frozen evidence identity

Receipt status: execution_complete. Manifest SHA-256: e1dcd35d30264c926335dbc2eb0f2c7f925e9dcbd469387223f965e197895076. Matrix SHA-256: 1bb5fa8d86d165f3158c0954a0c40bc162c0ab395604e93a9614965bdf769b86.

Machine and evidence record

Machine summary

Verdict: all 204 live warehouse objects have an audit state. Decision use requires a checked source and explicit metric definition. Actions: recover MN's existing definitions and trusted reporting paths for five named objects behind the current findings; exclude future event timestamps from ordinary Kairos reporting; use the inventory and fitness results in priority opportunity analyses. Limits: the warehouse-wide count of unresolved business definitions is unknown; MN material outside the warehouse was not examined; future-date counts overlap across tables; the original producer and intent are unknown; source repair and independent review remain outstanding.

Authorship: prepared by Talos using OpenAI Codex from Lee's direction, the frozen audit packet and current Kairos canon. Independent review is pending.