Proposal · 2026-08-29 · written by Claude Fable 5 (plan/creative), build targeted at Claude Opus 5
App: https://clone.arnao.ai · source /Users/byronarnao/clone-mvp · worker /Users/byronarnao/clone-absorb
| Change | Status |
|---|---|
| Default chat model → Claude Opus 5 (premium is now the default experience) | ✅ deployed |
Non-Byron cost cap → $1.00 (FREE_CENTS=100; Byron/admin unmetered; approval flow can still grant more) | ✅ deployed |
OPENROUTER_API_KEY added to prod (premium multi-model routing now possible) | ✅ deployed |
| Absorption worker relaunched on the Mini (dead since the Aug 22 reboot — every absorption since queued forever) | ✅ running |
Twin-chat schema fix: worker now writes owner/published/corpus so the twin can actually speak as its person (was 403 "not your clone") | ✅ live |
| Plausible analytics on clone.arnao.ai (snippet + site registered) | ✅ live |
| Anonymous-spend hole closed: no-session visitors were fully unmetered — now IP rate-limited (8/min, verified 429 in prod) and pinned to the cheap model; premium requires sign-in where the $1 cap applies | ✅ verified |
| ⚠️ Found in verification: prod chat is on the Gemini fallback — the Anthropic API key is out of credits. Opus 5 premium engages the moment credits are topped up (open decision #5) | ⚠️ needs Byron |
| Smoke test passed: photo + 8.7s cloned-voice audio → lip-synced talking-head mp4 in 47.9s, fully local on the M4 Pro (FasterLivePortrait-MLX). The old Wav2Lip pipeline needed ~7.5 minutes for the same clip — ~9× faster | ✅ proven |
Smoke-test artifact: [byron-talkinghead-quality.mp4](assets/byron-talkinghead-quality.mp4) (also at file:///Users/byronarnao/clone-smoketest/byron-talkinghead-quality.mp4)
The pipeline is better-built than it looks — it worked end-to-end exactly once (Aug 7: real Nano Banana avatar, real Chatterbox hello, 58.9s, ~$0.13) and then died of operational neglect, not design flaws. The real defects:
/c/:id surface speaks every reply, the flagship absorption surface speaks never.DEV_LOGIN_CODE backdoor still set in prod (its own header says delete it); README 4 weeks stale; api/avatar.js dead code.Design target: phone-first, one hand, zero wasted pixels. Every stage is one full-bleed screen with at most one instruction and one action.
The moment FaceMesh locks (landmarks already streaming):
filter: blur(14px) saturate(0.3) outside, crisp inside). Cost ≈ one extra canvas draw; no new deps.● REC voice + face chip (top edge, safe-area aware) appears the instant MediaRecorder starts at SCAN and stays until synthesis. Live 5-bar waveform driven by an AnalyserNode — real mic energy, not decoration.Grounded in Stanford's generative-agents result: a single finite structured interview reproduced people's real answers at ~85% of their own test–retest consistency — beating trait quizzes and data dumps (Stanford HAI, genagents). Endless questions aren't just annoying, they're scientifically unnecessary.
4 / 8 — plus one Flash-classified follow-up max per answer (the contract's original design, never built).Today everything renders after the interview. Instead:
absorb-create shipping voice-so-far → the Mini starts Chatterbox encode + FasterLivePortrait render in parallel with the remaining questions (the two-phase job API already supports this shape; add one stage:"voice-early").FasterLivePortrait-MLX (repo, MIT, Apple-native) replaces the Wav2Lip path in ~/avatar and joins the worker: every twin reply can be a ~5×-real-time rendered clip of the user's own face speaking. Fidelity ladder becomes honest and complete: Text → Voice → Reactive → Talking head → Live face (HeyGen seam stays as the paid "Live" rung until local realtime matures).
mirror mode: you, talking to yourself. Split screen: live camera (you) on the left, your clone's talking head on the right. You ask anything; both of you answer — you out loud, it in your voice a beat later. The product demo, the QA harness, and the philosophical gut-punch are the same feature.
The absorbed bundle (persona + voice + face + mannerisms) becomes a deployable unit. Three use cases, strongest first:
Per the fresh model research (see refreshed https://benchmarks.arnao.ai):
| Tier | Model | Why |
|---|---|---|
| Default (= premium, everyone) | Claude Opus 5 — $5/$25 | #1 EQ-Bench creative Elo (2105); best persona embodiment; cheaper than the Opus 4.8 it replaced |
| Persona wildcard (A/B) | MiniMax M2-Her — $0.30/$1.20 | purpose-trained companion/roleplay model; 1/25th the cost — the $1 cap goes 25× further |
| Prestige toggle | Claude Fable 5 — $10/$50 | for Byron's own clone + showcase moments |
| Router/classifier | GPT-5.6 Luna — $0.20/$1.20 | follow-up classification, fidelity scoring |
| Cost note | new-tokenizer Claudes emit ~30% more tokens/word — the $1 cap ≈ 40–60 Opus 5 turns | fine for a taste, converts to approval requests |
feedback/<id>.json on Blob + notify.arnao.ai event per batch — mentor's www/api/feedback.js copied, minus its mistake of hardcoding the shared secret in the client bundle (ours comes from /api/config).hits/ so clone joins the unified stats pane.projects/clone-app/VERSION.md in the workspace, a cat line in scripts/brief/prefetch-brief.sh, a loader in assemble-brief.py, and a source line + AM-structure mention in skills/signal-daily-podcast/SKILL.md §1/§3. Traffic + new feedback + shipped features then read out in the AM/PM episodes exactly like mentor's. Plus: clone-absorb worker liveness → fleet-health.json** (the Aug 22 silent death becomes a headline the next morning, never a 3-week mystery).git init + Gitea remote + the vercel-deploy skill as the single deploy path + product-ops contract repo (byron/product-clone) for releases/changelog; version bump rule in VERSION.md. (True push-triggered CI needs Gitea Actions — flagged as optional, the fleet standard is skill-driven deploys.)| Phase | Scope | Est. |
|---|---|---|
| P0 — Absorption v2 | §2 complete: face-focus composite (half-res, vignette fallback), REC chip + waveform, 8-Q adaptive interview w/ visible progress + absorption %, voice floor, staged early-encode + ≤6s first line + holding beat, worker heartbeat → honest UI states, metering fix (chat 2¢ / absorb 15¢), 5-rung dial, talking-head render in worker (swap ~/avatar pipeline), README refresh, delete api/avatar.js | 1 build day |
| P1 — Mirror + Clone Card | §3 turn-based mirror + fidelity scoring; realtime-puppet behind a flag; shareable 10s Clone Card w/ slug + QR (§8) | 1 day |
| P2 — Platform | §6 feedback/beacon/dailies/CI-CD/VERSION.md + worker liveness in fleet health | ½ day |
| P3 — Deploy-yourself | §4.2 Direct Line, then §4.1 joinly Meet stand-in (audio) | 1–2 days |
| Verify | Full external-vantage user flow per phase (entry→auth→absorb→twin speaks→cap enforcement negative test) before "done" | standing |
Open decisions for Byron
DEV_LOGIN_CODE from prod? (its own header says yes; Google auth is live; I left it untouched)(Run in-session by Fable 5. The API-based critique pass is blocked: the Anthropic API key's credit balance is too low — same unblock flagged Aug 2. Top-up restores the fleet's Fable pipeline, including this skill and Gia's Signal synthesis.)
What the critique caught, now integrated:
absorb-status exposes it; the UI distinguishes "still cooking" from "the forge is cold" (today both render as fake patience); worker-down becomes a fleet-health headline in the next AM podcast. The Aug 22 three-week silent death becomes structurally impossible to repeat.COST.chat: 2, COST.absorb: 15 — so the cap means what it says.Bold idea the draft missed — the Clone Card: the absorption finale mints a shareable 10-second vertical clip — your talking head, saying one line you type — behind a share slug + QR (voice.arnao.ai's library pattern, reused). Every absorbed user becomes distribution. Cost: one extra render (~$0, local). Added to P1 alongside Mirror.
Avatar: FasterLivePortrait-MLX · FLOAT (better quality, CC-NC — non-commercial only) · SadTalker (legacy fallback) · SOTA-but-CUDA: EchoMimicV3, HunyuanVideo-Avatar, InfiniteTalk · cloud: fal OmniHuman, RunPod 4090 $0.34/hr
Voice: Chatterbox Turbo/v3 · Kyutai Pocket TTS (real-time streaming on CPU — the live-conversation engine) · Qwen3-TTS (quality challenger) · license landmines: F5-TTS, Fish/OpenAudio, IndexTTS-2 (non-commercial / gated)
Twin architecture: Second-Me (hierarchical memory, Apache) · WeClone (chat-log LoRA for surface style; AGPL) · clonellm (MIT RAG+trait skeleton) · genagents (the finite-interview science)
Meet presence: joinly · Attendee · Meet Media API is receive-only
| What | Link |
|---|---|
| Live app (Opus 5 default, $1 cap live) | https://clone.arnao.ai |
| Smoke-test talking head (you, local, 47.9s) | [byron-talkinghead-quality.mp4](assets/byron-talkinghead-quality.mp4) |
| Model landscape (refreshed today) | https://benchmarks.arnao.ai |
| Engine repo | https://github.com/ivanfioravanti/fasterliveportrait-mlx |
| Meet bot framework | https://github.com/joinly-ai/joinly |
| Interview science | https://hai.stanford.edu/news/ai-agents-simulate-1052-individuals-personalities-impressive-accuracy |