fix(honesty): hedge proof-ledger copy to readiness at proof_events=0#656
Open
Victor "David" Medina (Victor-David-Medina) wants to merge 1 commit into
Open
fix(honesty): hedge proof-ledger copy to readiness at proof_events=0#656Victor "David" Medina (Victor-David-Medina) wants to merge 1 commit into
Victor "David" Medina (Victor-David-Medina) wants to merge 1 commit into
Conversation
The header asserted "Every dollar we win back lands here" in present tense, claiming active recovery while proof_events=0 (no real recovered dollar yet). That is a recovered-as-fact overclaim (FTC 5 / substantiation exposure) and contradicts the honesty gate that forbids treating a recovered dollar as fact before First Light. Now state-dependent, honest in every state: - proof_events=0 (loading/empty/Sample): future-tense "will land here" copy plus a DOM-measurable Sample marker (data-proof-state="sample" + a visible "Sample" chip) so a Playwright/regex honesty check can assert readiness. - proof_events>0 (post First Light): the present-tense "lands here" copy is earned and renders (data-proof-state="live"). State is derived from the existing ledger source the component already reads (no new data source). The CSV/JSON export path is untouched. New test asserts the readiness copy + Sample marker render at proof_events=0 and that the present-tense copy returns once real proof exists. No em-dashes in copy. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem (live on
main)components/proof/ProofLedger.tsxrendered a present-tense claim unconditionally:At
proof_events=0(no real recovered dollar yet) this asserts RelayLaunch is recovering dollars. That is a recovered-as-fact overclaim (FTC 5 / substantiation exposure) and contradicts the project honesty gate that forbids treating a recovered dollar as fact before First Light.Fix (state-dependent, honest in every state)
proof_events=0(loading / empty / Sample): future-tense "will land here" copy + a DOM-measurable Sample marker so a Playwright/regex honesty check can assert readiness:data-proof-state="sample"on the section rootdata-proof-state-chip="sample", with an accessible label: "Sample state, pending your first recovered result")proof_events>0(post First Light): the present-tense "lands here" copy is earned and renders, withdata-proof-state="live".State is derived from the existing ledger source the component already reads (
state === "ready" && ledger && ledger.totals.proof_events > 0) — no new data source. Mirrors the establishedProofReceiptCardSample/data-*-modehonesty pattern.Scope (surgical)
downloadCsv/downloadJsonviaproof-csv.ts) is untouched.--overlay-*,text-stone-*); no raw hex.Test
New
components/proof/ProofLedger.test.tsx(TDD, watched fail then pass):proof_events=0: readiness copy + Sample marker render, and the present-tensewe win back ... lands hereclaim is absent.proof_events>0: present-tense copy +data-proof-state="live"render, Sample chip gone.Verification (local)
gate:anti-theater(honesty firewall, blocking)brand:scantsc --noEmitnpm run lintnpm run testNo merge — buyer copy needs founder eye. Vercel check is the known permafail and is ignorable.
Generated with Claude Code by RelayLaunch