docs: Build 1 settled/live gate recorded + live anonymous fingerprint

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc
This commit is contained in:
Kev
2026-07-31 07:21:36 -04:00
parent 6d36e05bfe
commit 7ddf159e4a
2 changed files with 51 additions and 0 deletions
+18
View File
@@ -724,3 +724,21 @@ grades server-side, never infer resolution from time, fail closed to LIVE.
count** — the real counter (`/api/founders/count`, live 0/100) only displays and is cached 300s, so
making it a transactional gate is a genuine build; (b) the user base is **3 free, 0 paid**, so the
migration is a courtesy note, not a mass event — effort belongs on the settled-record proof surface.
---
# BUILD 1 — THE SETTLED/LIVE GATE (shipped 2026-07-31)
Unresolved = paid (Analyst+), resolved = free. Serving/gating only; `src/services/` untouched.
Resolution is read **only from a written outcome** (never time or game status), `void`/`unrecoverable`
count as resolved, and `isResolved` **fails closed to LIVE** so a settle failure withholds rather than
exposes. Free gets **settled grades in full including reasoning** — the proof product — which also
turns the old unenforced board-reasoning leak into a deliberate rule. Live grades become a **shell**:
judgment stripped, real data kept (incl. `fair_odds`, which is never the paywall), `locked: true`
stamped. The tease is **aggregate only** (`live_locked {count, tiers}`) and no gated row carries a
grade, so nobody can tell which prop is the A.
**Live anonymous fingerprint:** 25 grades → **5 settled free-full, 20 locked**, `live_locked
{"count":20,"tiers":{"B":13,"C":7}}`, **judgment-field leak: NONE**. 319 suites / 3,971 tests green,
web build exit 0.