Skip to content

fix(dashboard,auth,demo): retire local-only claims on live user surfaces#238

Merged
operatoruplift merged 1 commit intomasterfrom
honesty/dashboard-auth-demo-claims
Apr 28, 2026
Merged

fix(dashboard,auth,demo): retire local-only claims on live user surfaces#238
operatoruplift merged 1 commit intomasterfrom
honesty/dashboard-auth-demo-claims

Conversation

@operatoruplift
Copy link
Copy Markdown
Owner

Summary

Five edits across five files replace fabricated local-only claims on surfaces that real users see — the auth flow, the dashboard, and the public demo:

File Old New
`app/(dashboard)/security/page.tsx` "Encrypted on your computer · Tamper-proof receipts · Nothing in the cloud" "Approval before every action · Tamper-proof receipts · Audit log on Solana"
`app/demo/page.tsx` "Your agent ran locally. Zero cloud. Zero surveillance." "Approval before every action. Signed receipt for the audit log."
`app/(dashboard)/agents/builder/page.tsx` `Agent "${name}" deployed locally!` `Agent "${name}" saved to this browser.`
`app/(auth)/signup/page.tsx` "Your computer · Encrypted · Open source" "Approval-gated · Signed receipts · Open source"
`app/(auth)/login/page.tsx` "Your computer · Encrypted · Signed receipts" "Approval-gated · Open source · Signed receipts"

Why

Each of these surfaces was making a claim that didn't match shipped behavior:

  • The /security page header contradicted its own audit comments lower in the file (which honestly label encryption as "Configured" not "Active" because secureStore is not yet called from chat/memory/agent-config writes).
  • The /demo flow runs through the same cloud-routed pipeline as the rest of the app — "ran locally" was straightforwardly false.
  • The agent builder writes to localStorage but the agent itself still runs in the cloud; "deployed locally" overstated what happened.
  • The auth-page trust badges "Your computer" + "Encrypted" implied protections that the web app doesn't ship.

This continues the honesty positioning sweep landed in PRs #227#236.

Test plan

  • `pnpm check` (4/4: copy-check, capability-check, trust-gate, fabrication-rot-check)
  • `pnpm exec tsc --noEmit` (clean)

Five surgical edits replace fabricated local-only claims on surfaces
that real users see in the auth flow, the dashboard, and the public
demo:

1. /security page header sublabel:
   "Encrypted on your computer · Tamper-proof receipts · Nothing in
   the cloud" -> "Approval before every action · Tamper-proof
   receipts · Audit log on Solana"
   The page already discloses lower down that encryption is
   "Configured" not "Active" because chat/memory/agent-config writes
   do not call secureStore yet, the header now matches that truth.

2. /demo step-6 success copy:
   "Your agent ran locally. Zero cloud. Zero surveillance." ->
   "Approval before every action. Signed receipt for the audit log."
   The demo runs through the same cloud-routed pipeline as the rest
   of the app, no code path makes the demo local.

3. /agents/builder save toast:
   `Agent "${name}" deployed locally!` -> `Agent "${name}" saved to
   this browser.`
   The builder writes to localStorage, the agent itself still runs
   in the cloud, "deployed locally" overstates what just happened.

4. /signup footer trust badges:
   "Your computer · Encrypted · Open source" -> "Approval-gated ·
   Signed receipts · Open source"

5. /login footer trust badges:
   "Your computer · Encrypted · Signed receipts" -> "Approval-gated
   · Open source · Signed receipts"
   Both auth pages dropped "Your computer" + "Encrypted" because
   neither matches what the cloud-hosted web app does today.

Verification:
- pnpm check (4/4: copy-check, capability-check, trust-gate,
  fabrication-rot-check, all clean)
- pnpm exec tsc --noEmit (clean)
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
website Ready Ready Preview, Comment Apr 28, 2026 0:07am

@operatoruplift operatoruplift merged commit f215d27 into master Apr 28, 2026
4 checks passed
operatoruplift added a commit that referenced this pull request Apr 28, 2026
src/sections/Security.tsx: replace the "AES-256-GCM Encrypted" badge
on Security card 1 with "Ed25519 Signed Receipts". The card is now
about ed25519-signed receipts anchored on Solana (per #231 rewrite of
features.security), so the AES-256-GCM badge no longer matches the
copy underneath it. The badge should describe what the card actually
proves.

app/blog/posts.ts: rewrite the excerpt for "Local AI vs Cloud AI: The
Privacy Case Nobody's Making". The previous excerpt asserted "When
your AI runs locally, you make the decisions" without any web-app
caveat, which read as "Operator Uplift runs locally today." The new
excerpt distinguishes the present-tense web app (cloud-routed per
turn) from the desktop+Ollama path on the roadmap, and points out
both layers share the approval-gate + signed-receipt primitives.

Continues the honesty positioning sweep that PRs #227-#238 landed.

Verification:
- pnpm check (4/4: copy-check, capability-check, trust-gate,
  fabrication-rot-check, all clean with 14 rules across 197 files)
- pnpm exec tsc --noEmit (clean)
operatoruplift added a commit that referenced this pull request Apr 28, 2026
After the homepage + dashboard + auth + demo + blog honesty sweep
landed across PRs #233-#239, this PR institutionalizes the changes
in two places so they cannot regress silently:

scripts/fabrication-rot-check.mjs:
Add 6 anchored patterns (rules 14-20):

| Pattern | Retired in | Phrase / location |
|---|---|---|
| `vault sealed[^a-zA-Z]+memory encrypted` | #235 | HeroAnimation canvas text |
| `Encrypted on your computer` | #238 | /security page header |
| `Your agent ran locally. Zero cloud. Zero surveillance` | #238 | /demo step-6 |
| `${...} deployed locally` | #238 | /agents/builder toast |
| `AES-256-GCM Encrypted` | #239 | Security card badge |
| `change: ['"]Local, encrypted['"] | 'On your computer'` | #233 | /app dashboard tiles |

tests/e2e/consumer-copy.spec.ts:
Add 8 banned phrases to BANNED_DEV_PHRASES so the existing
consumer-copy regression spec asserts they don't appear in
rendered body text on /, /paywall, /pricing, /store, /login,
/signup. This complements the build-time grep guards with a
runtime check that catches regressions in dynamic content.

Combined regression net for retired local-machine claims:
- 14 fabrication-rot rules (was 10) -> 20 total rules
- 8 banned phrases on consumer-copy.spec.ts asserting against
  rendered body innerText across 5 routes

Verification:
- pnpm check (4/4: copy-check, capability-check, trust-gate,
  fabrication-rot-check; 20 rules across 197 files)
- pnpm exec tsc --noEmit (clean)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant