Subscribe

What we stand for

The cost of producing a confident claim has collapsed to zero. Models, marketers and gurus generate fluent certainty faster than anyone can check it. Checking is now the scarce thing, so checking is the whole job.

Make verification cheaper than the bullshit.

The rules, and what makes each one true

A principle nothing checks is decoration. So every rule below carries its own receipt: the gate that proves it, or an honest admission that nothing does. We ask readers to audit our verdicts. This is the same offer, applied to us.

01Receipts or it did not happen.ENFORCED

Every verdict links its sources, and those links are checked for liveness before we publish. A claim without receipts is an opinion.

HOW IT IS PROVED: verify-issue.py checks every receipt resolves and every quote is verbatim. site-provenance-check.py fails the ship on any number anywhere on the site that has no source behind it.

02Fluency is not truth.NOT AUTOMATED

Confidence, polish and reach are not evidence. The smoother the claim, the harder we check it.

HOW IT IS PROVED: Editorial judgement. No gate can measure this one, and we will not pretend otherwise. What we do gate is the consequence: a smooth claim still has to survive rules 1 and 3.

03Verdicts are falsifiable.ENFORCED · WITH NAMED EXCEPTIONS

Every verdict states what evidence would reverse it. If we cannot say what would prove us wrong, we do not publish.

HOW IT IS PROVED: mission-gate.py fails the ship on any story with no falsifiability line. Six stories from the project's first three days predate this rule and are named in content/mission-debt.json. That list may only shrink.

04Corrections are loud.ENFORCED

When we are wrong we say so at the volume of the original claim. The record is dated and never silently edited.

HOW IT IS PROVED: redteam-gate.py fails the ship once a prediction's own stated deadline passes with no resolution recorded. Corrections are added alongside the original text, never over it.

05Credit what holds.ENFORCED

We are skeptics, not cynics. When a claim survives the evidence we stamp that as loudly as when it fails.

HOW IT IS PROVED: The four rulings carry equal visual weight by construction: all four verdict colours sit at identical perceptual lightness, so nothing shouts louder than VERIFIED by design.

06Teach the immunity.ENFORCED

The goal is not that you trust us. It is that you get harder to fool. Every issue shows the trick, not just the verdict.

HOW IT IS PROVED: Every story names the spin mechanism it used, from the fixed vocabulary in content/mechanism-labels.json, and backfill-mechanisms.py fails the ship if a story's mechanism drifts from it.

07A useful free taste. One membership.NOT AUTOMATED

Two designated sample stories, the latest AI concept lesson, research directories, company records, source links and corrections are public. A free account opens the designated story in each published edition. Membership opens the full checked stories, written archive and past AI concept lessons for A$89/year, with a one-time introductory 30-day trial. Planned features must be labelled as planned.

HOW IT IS PROVED: Reviewed at release against /pricing, /account, the offer, and actual access controls. No automated gate proves the whole commercial promise. docs/MEMBERSHIP-AND-RESEARCH.md defines Free and Membership. functions/_lib/access.ts and the protected-prose build scan enforce body access; value, live billing and deliverability still require real-world validation.

Where we currently fall short

Rule 4 says corrections are loud. That applies to our own rules too, so the exceptions are published rather than buried. 6 stories from the first three days of this project predate rule 3 and carry no falsifiability line. The gate blocks any new one, and this list may only shrink.

Pipeline rules

The control room and its data are available only to the explicitly configured, verified owner account.

Subscriber details and billing controls must not depend on a hidden link, browser role or shared password.

HOW IT IS PROVED: functions/_lib/admin-auth.js fails closed unless ADMIN_OWNER_EMAIL contains one address matching the verified primary identity. Admin page/API handlers enforce this on the server. bun run build runs scripts/gen-admin.ts to remove public admin HTML and place the shell in the private Functions bundle. scripts/admin-access.test.ts covers denied requests, unavailable authentication, private extraction and safe links. The real deployed owner identity and provider configuration still require launch verification.

Signing in or creating a reader account does not subscribe the reader to newsletters or clear an existing opt-out.

A reader must be able to use an account without receiving marketing mail they did not request.

HOW IT IS PROVED: functions/_lib/account.ts preserves existing records and creates free reader accounts with newsletter delivery disabled. Same-origin POST /api/me accepts identity only from server authentication. Login sends only its transactional code. scripts/account-provisioning.test.ts and scripts/login-consent.test.ts exercise those boundaries; separate legacy senders still require suppression review.

A login code expires after ten minutes, allows at most five guesses and can succeed once; another code for the same mailbox cannot be issued within sixty seconds.

Concurrent requests must not bypass the attempt limit, reuse a code or flood the same mailbox with rapid replacements.

HOW IT IS PROVED: functions/_lib/store.js enforces expiry and attempts in one row-locked UPDATE and the send cooldown in a guarded UPSERT. functions/_lib/auth-request.ts limits login input to 1KiB same-origin JSON. scripts/test-login-postgres.sh verifies concurrent redemption, failed guesses, issuance and expiry in a disposable PostgreSQL instance. This is a per-mailbox control, not a claim of a global bot or abuse prevention system.

Each AI concept lesson has a real publication date, a beginner outcome, a worked example, practice and linked sources. The latest is free; past full lessons require Membership.

A new day needs a new explanation, not an old lesson with a new date. Learning should remain readable without motion or sound.

HOW IT IS PROVED: src/lib/learn.ts validates lesson structure, dates, source references and reconstructable token examples during build. functions/api/learn.ts checks archived-body membership. scripts/gen-learn.ts scans built assets for archived prose and blocks non-latest public audio. Source accuracy, novice comprehension and the daily publication cadence still require editorial review; a daily dev preparation automation is configured but its first scheduled run remains unverified.

A narrated concept uses one continuous recording. Its scene and captions follow the recording, and inspecting a token does not interrupt playback. Practice appears after the conversation.

The explanation should feel like one experience, with playback controlled by the reader.

HOW IT IS PROVED: src/lib/learn-audio.ts accepts a hash-bound continuous recording and validates optional aligned turn timestamps. ConceptNarration.astro derives the scene from audio.currentTime and renders the exercise on ended. scripts/learn-audio.test.ts checks single-source playback, paused and playing seeks, caption restoration and uninterrupted token inspection. Native controls and the complete written lesson remain available without JavaScript. Timing accuracy and voice naturalness require a listening review before audio is published.

The daily home briefing has an explicit publication date, three to five selected stories, and a counted main read of at most 1,000 words.

A busy reader needs an honest reading estimate and a finish. Rebuilding the site must not change an edition's date or randomly rotate its news.

HOW IT IS PROVED: src/lib/edition.ts runs during the Astro home-page build and throws for future edition dates, missing or repeated story IDs, stories newer than the edition, fewer than two receipt domains, and a main reading budget above 1,000 words. Editorial usefulness and source independence still require review.

Public evidence exports contain public fields only, preserve source attribution and collection scope, and leave unknown review timestamps unknown. Discovery metadata must not promise search inclusion or certify the whole corpus.

Readers and agents need citable evidence with honest limitations, while paid reading stays protected.

HOW IT IS PROVED: src/lib/public-evidence.ts explicitly projects allowed fields for current and legacy records; scripts/public-evidence.test.ts injects protected prose and checks its exclusion, preserves dated corrections, rejects private sitemap paths and retains missing review provenance. Human interpretation, source independence and search-engine indexing are not certified by these checks. docs/AI-DISCOVERY.md records provider guidance and remaining verification limitations.

Films are not published on the production site.

Owner directive, 2026-09-08. The routes are disabled by the leading underscore on src/pages/_films and _films.astro, which Astro does not route. Content is retained, not served.

HOW IT IS PROVED: mission-gate.py fails the ship if any film page is built or any served page links to /films.

See the methodology for how a claim becomes a verdict, and the verification dashboardfor how we police ourselves.