Skip to content

docs(blog): retire local-first present-tense claims across posts#234

Merged
operatoruplift merged 1 commit intomasterfrom
honesty/blog-posts-retire-local-first-claims
Apr 28, 2026
Merged

docs(blog): retire local-first present-tense claims across posts#234
operatoruplift merged 1 commit intomasterfrom
honesty/blog-posts-retire-local-first-claims

Conversation

@operatoruplift
Copy link
Copy Markdown
Owner

Summary

  • 8 surgical edits across `app/blog/[id]/page.tsx` retire false present-tense "runs on your device" / "encrypted local memory" / "API keys encrypted via AES-256-GCM" / "data lives on your device" claims
  • Each edit replaces the false claim with what actually ships (per-turn provider routing, approval gate, signed receipts, audit log) and preserves the local-first vision as roadmap (desktop+Ollama build)
  • Affects posts: `balaji-pivot-advice`, `local-first-threat-model` (2 paragraphs), `wedge-lawyer-accountant-therapist`, `why-i-built-an-ai-os` (2 paragraphs), `what-93-percent-retention-looks-like`, plus the generic catch-all post body

Why

What stays

  • The vision (we're building toward a local-first end state via the desktop+Ollama path) is preserved as roadmap throughout.
  • The OS-layer / landlord-not-tenant narrative beat is preserved.
  • All structural paragraph counts and post identifiers are unchanged.

Test plan

  • `pnpm check` (4/4: copy-check, capability-check, trust-gate, fabrication-rot-check)
  • `pnpm exec tsc --noEmit` (clean)
  • Spot-checked each of the 8 paragraphs reads naturally with the surrounding narrative

Eight surgical edits to app/blog/[id]/page.tsx that align the blog
narrative with what the web app actually ships today vs what is
roadmap-only. The web app is Vercel-hosted and routes prompts through
whichever AI provider the user picks per turn. The local-first product
is a desktop+Ollama path on the roadmap.

Edits:
- balaji-pivot-advice (line 16): "a local-first AI operator" -> "an
  AI operator with approval-gated tool calls, ed25519-signed receipts
  per action, and a roadmap toward a desktop+Ollama build for full
  local inference"
- local-first-threat-model (line 70): rewrite the "raw content stays
  on your machine" paragraph to describe the real provider hop, the
  localStorage cache for chat sessions and memory, and the desktop+
  Ollama roadmap as the path that removes the hop.
- local-first-threat-model (line 73): rewrite the "API keys live
  encrypted in your browser via AES-256-GCM" paragraph to describe
  the actual state: the passphrase setup is wired but secureStore/
  secureRetrieve are not yet called from chat sessions or memory.
  Disclosure matches the in-product copy on Settings -> Security.
- wedge-lawyer-accountant-therapist (line 89): rewrite the
  "encrypted local memory ... never touch a third-party cloud"
  sentence to describe the per-turn provider routing, the approval
  gate, and the on-chain audit trail. Mention the desktop+Ollama
  path as the roadmap option for full on-device inference.
- why-i-built-an-ai-os (line 108): "a local-first AI operating
  system" -> "an AI operating layer with approval-gated tool access
  and a local-first roadmap" (preserves the past-tense framing of
  what was shown to Balaji without overstating shipped state).
- why-i-built-an-ai-os (line 113): rewrite the "It runs on your
  device. Your agents, your memory, your context, encrypted, local,
  yours" paragraph to describe what the web app does ship today
  (approval gate, signed receipts) and what the desktop build adds
  (local inference via Ollama). Preserves the OS-layer / landlord
  vs tenant framing.
- what-93-percent-retention-looks-like (line 126): rewrite the
  "data lives on your device" / "without phoning home to a server"
  paragraph around the trust loop (approval + receipt) instead.
  More accurate, no false present-tense local claim.
- generic catch-all post body (line 169): "the local-first AI agent
  platform" -> "the approval-gated AI agent platform with a local-
  first desktop build on the roadmap"

What stays the same:
- The blog's overall position (we are building toward a local-first
  end state) is preserved everywhere it appears as roadmap.
- The OS layer / landlord-not-tenant framing is preserved.
- All structural narrative beats remain intact.

Verification:
- pnpm check (4/4: copy-check, capability-check, trust-gate,
  fabrication-rot-check)
- 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 11:42am

@operatoruplift operatoruplift merged commit 3691101 into master Apr 28, 2026
4 checks passed
operatoruplift added a commit that referenced this pull request Apr 28, 2026
…th (#235)

The hero animation rendered "vault sealed memory encrypted" at the
end of the COMPLETE phase. The web app does not encrypt chat sessions
or memory at rest (encrypt/decrypt callers from secureStore are
absent), so "memory encrypted" was a marketing claim drawn straight
into the canvas pixel buffer.

Replace with "session closed receipt anchored" which describes what
actually happens at the end of an action sequence:
- session ends cleanly on sign-out / explicit close
- the action's ed25519-signed receipt is anchored into the Merkle
  root that gets published to Solana via the audit-trail Anchor
  program

This continues the honesty positioning sweep landed across the
homepage, dashboard, and blog in PRs #227-#234.

Verification:
- pnpm check (4/4: copy-check, capability-check, trust-gate,
  fabrication-rot-check)
- 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