37f8ceeaf3
Task 7.6: apps/ai-studio (Vite, port 5177) — ingest a message, run CLASSIFY/ SUMMARIZE/EXTRACT, see proposal cards with confidence, evidence citations, abstention, model/cost + a budget meter, and accept/reject; built on the ai-web SDK via AiProvider. scripts/smoke-ai.mjs proves the P7 guarantees end to end: auto-CLASSIFY → AI flag → routing REVIEW/DENY never ALLOW (KG-05), summary cites evidence, EXTRACT stays DISCUSSION (Scenario 7), replay-once, accept. P7 verification: 79 tests green (3x stable), pnpm -r build all packages+demos, boundary passes and fails on ai-web->service, smoke-ai PASS, prior smokes (realtime/inbox/support/adapter/route) PASS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>