Scan-theater feel prototype for the AI-primitive OBD reader direction - #5
Draft
DigitalVeer wants to merge 3 commits into
Draft
Scan-theater feel prototype for the AI-primitive OBD reader direction#5DigitalVeer wants to merge 3 commits into
DigitalVeer wants to merge 3 commits into
Conversation
Self-contained, framework-neutral HTML prototype of the "Car Copilot Scan" direction — a trustworthy OBD scan primitive narrated by an always-present AI. Mocked data, no adapter/backend; the question it answers is "does this feel AI-native, or just a nicer FIXD?" Demonstrates the converged design: - Persistent deterministic "Copilot Line" narrating each scan state (no model call on the always-on path) + the narrowing/hedging verdict effect. - Claim Ledger as the spine: every user-visible sentence is a typed Claim (observed/decoded/inferred/not_checked/risk/next_action) with source, confidence, evidence, and fixed-wording vs AI-phrased (modelEditable). Toggle "show how it stays safe" to expose it. The AI rewrites approved claims; it never owns facts, safety, or scope. - Three-axis verdict (mechanical risk / scan status / buyer risk) instead of a single severity number. - Scoped honesty as a spoken claim, never a footer; no "clean car"/"safe to drive"; scoped-clear is teal, never pass-green. - Readiness-monitor "recently cleared" hero moment (buyer scenario 3). - Live-data emergency override with the AI visibly suppressed (scenario 4). - Owner/Buyer/Seller modes over one engine; bounded tap-only follow-ups composed from claims; report = serialized claim ledger. Design spec for whichever cross-platform stack the Phase-0 spike selects. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YLTKkoZLyaRfxcdkcqXURc
Adds AI legibility + presence on top of the trust scaffolding:
- Dominant Copilot hero with emotional avatar states (connecting/
investigating/found/suspicious/emergency/clear) + live status chip.
- "Working thought" card: I'm checking / current read / why it matters.
- Beat-driven narration with interruptions ("Hold on." / "Stop.") and a
held pause for drama; scenario 1 rewritten as a narrowing detective story.
- One bounded tap-question per scenario with adaptive replies.
- Consumer-reframed provenance: "Why I'm saying this" → plain reason →
"technical details" (raw bytes); dev metadata hidden by default.
- "Safety mode · fixed rule" instead of "AI suppressed".
- Warm relief copy on the clean scan; "My read" sentence atop the 3-axis
verdict; per-mode voice (calm/skeptical/transparent); a memory beat;
report framed as something the Copilot made for you.
Demo-only inspector toggle expands all rationale + bytes at once.
Reverses the scan-theater "show the AI thinking" direction. Adopts the
original CAR·COPILOT result-card hierarchy: one screen, one answer, evidence
one tap away.
Four visible layers only:
1. Verdict headline (color-coded, one-glance)
2. Friend-voice explanation (one short paragraph)
3. Practical meta/action row (cost·time·difficulty or a status tag) + CTAs
4. Collapsed drawers: Why I'm saying this / Evidence for a mechanic
(raw bytes nested) / What this scan did not check
The AI is present as WORK PRODUCT, not theater: CTAs compose the fix steps,
the mechanic message, the seller questions, the buyer report. No thinking
card, no scan pips, no avatar moods, no per-claim machinery on the surface,
no "AI suppressed" — the emergency is simply decisive ("Pull over now").
The Claim Ledger remains the grounding contract but is hidden behind a
debug toggle ("data contract underneath"), per: the AI is present in the
quality of the answer, not in a visible thought process.
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.
What this is
A self-contained, framework-neutral HTML feel-prototype (
prototypes/scan_theater.html) of the proposed "Car Copilot Scan" direction — a trustworthy OBD scan primitive narrated by an always-present AI. It is a design artifact, not production code: all data is mocked, there is no backend and no adapter. It exists to answer one product question before any stack is chosen — "does this feel AI-native, or just a nicer FIXD?" — and to serve as the design spec for whichever cross-platform stack the Phase-0 spike selects.Open the file in a browser (works on a phone). Pick a scenario (top-left), toggle Owner/Buyer/Seller modes, tap "Ask about this scan," and flip "show how it stays safe" to expose the Claim Ledger under every sentence.
What it demonstrates
Claim(observed/decoded/inferred/not_checked/risk/next_action) carrying source, confidence, raw-byte evidence, and fixed-wording vs AI-phrased (modelEditable). The AI only rewrites approved claims; it never owns facts, safety, or scope.buyer risk: recent clear?.Scope / status
prototypes/directory; touches nothing inapp/and no existing reference material.ScanSnapshot → ClaimBuilder → Verdict → narrationdata contract are the next steps.🤖 Generated with Claude Code
Generated by Claude Code