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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user