feat(p7): ai-studio demo + smoke-ai; P7 verification green

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>
This commit is contained in:
2026-07-01 16:53:40 +05:30
parent 881b37afd0
commit 37f8ceeaf3
8 changed files with 357 additions and 0 deletions
+31
View File
@@ -77,6 +77,37 @@ importers:
specifier: ^6.0.7
version: 6.4.3(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
apps/ai-studio:
dependencies:
'@insignia/iios-ai-web':
specifier: workspace:*
version: link:../../packages/iios-ai-web
'@insignia/iios-kernel-client':
specifier: workspace:*
version: link:../../packages/iios-kernel-client
react:
specifier: ^19.0.0
version: 19.2.7
react-dom:
specifier: ^19.0.0
version: 19.2.7(react@19.2.7)
devDependencies:
'@types/react':
specifier: ^19.0.0
version: 19.2.17
'@types/react-dom':
specifier: ^19.0.0
version: 19.2.3(@types/react@19.2.17)
'@vitejs/plugin-react':
specifier: ^4.3.4
version: 4.7.0(vite@6.4.3(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
typescript:
specifier: ^5.7.3
version: 5.9.3
vite:
specifier: ^6.0.7
version: 6.4.3(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
apps/message-demo:
dependencies:
'@insignia/iios-inbox-web':