feat: implement Tier 3 features — lane queue, credential redaction, token dashboard, xAI, Voyage AI

- Lane Queue: per-session FIFO queue in gateway replacing reject-when-busy (9 tests)
- Credential Redaction: redactConfig() expanded to cover 18+ secret fields (16 tests)
- Web UI Token Dashboard: system.tokenUsage endpoint + Usage page with summary cards
- xAI (Grok) Provider: OpenAI-compatible client with model pricing
- Voyage AI Embeddings: new embedding provider with configurable dimensions (5 tests)
- Update gap analysis: 90→95 match (70%→74%), Tier 3 section marked DONE
- Update state.json: test count 1001→1034, add tier3_completion entry

Total: 1034 tests passing across 85 files, typecheck clean
This commit is contained in:
William Valentin
2026-02-09 10:32:57 -08:00
parent 1d126cddfb
commit 9be8f76bc7
26 changed files with 1395 additions and 105 deletions
+72 -3
View File
@@ -750,6 +750,74 @@
}
}
},
"tier3-remaining-features": {
"status": "completed",
"date": "2026-02-09",
"summary": "5 Tier 3 features from gap analysis: Lane Queue, credential redaction, Web UI token dashboard, xAI (Grok) provider, Voyage AI embeddings",
"phases": {
"lane_queue": {
"priority": "Tier3",
"status": "completed",
"description": "Per-session FIFO queue in gateway — serializes concurrent requests instead of rejecting. LaneQueue class with enqueue/cancel/queueLength methods.",
"files_created": [
"src/gateway/lane-queue.ts",
"src/gateway/lane-queue.test.ts"
],
"files_modified": [
"src/gateway/handlers/agent.ts",
"src/gateway/server.ts",
"src/gateway/index.ts"
],
"test_status": "9/9 passing"
},
"credential_redaction": {
"priority": "Tier3",
"status": "completed",
"description": "Expanded redactConfig() from 2 secret locations to 18+ secret fields — telegram, discord, slack tokens; server.token; all model tier api_key/auth_token; web_search, audio, memory embedding api_keys; webhook secrets; gmail credentials; MCP server env vars.",
"files_modified": [
"src/gateway/handlers/config.ts",
"src/gateway/handlers/handlers.test.ts"
],
"test_status": "16/16 passing"
},
"web_ui_token_dashboard": {
"priority": "Tier3",
"status": "completed",
"description": "system.tokenUsage gateway endpoint + Usage page in web dashboard SPA with summary cards, per-session table, and auto-refresh.",
"files_created": [
"src/gateway/ui/pages/usage.js"
],
"files_modified": [
"src/gateway/handlers/system.ts",
"src/gateway/session-bridge.ts",
"src/daemon/index.ts",
"src/gateway/ui/index.html",
"src/gateway/ui/style.css"
]
},
"xai_grok_provider": {
"priority": "Tier3",
"status": "completed",
"description": "xAI as OpenAI-compatible model provider — reuses OpenAIClient with baseURL https://api.x.ai/v1, XAI_API_KEY env var fallback, pricing for grok-3/grok-3-mini/grok-2/grok-2-mini/grok-3-fast.",
"files_modified": [
"src/config/schema.ts",
"src/daemon/index.ts",
"src/models/costs.ts"
]
},
"voyage_ai_embeddings": {
"priority": "Tier3",
"status": "completed",
"description": "Voyage AI embedding provider for memory/vector search — OpenAI SDK with baseURL https://api.voyageai.com/v1, defaults to 1024 dimensions, VOYAGE_API_KEY env var.",
"files_modified": [
"src/config/schema.ts",
"src/memory/embeddings.ts",
"src/memory/embeddings.test.ts"
],
"test_status": "5/5 passing"
}
}
},
"earlier_plans": {
"plans": [
{ "file": "2026-02-02-flynn-design.md", "status": "completed" },
@@ -773,7 +841,7 @@
},
"overall_progress": {
"total_test_count": 1001,
"total_test_count": 1034,
"all_tests_passing": true,
"p0_completion": "3/3 (100%)",
"p1_completion": "4/4 (100%)",
@@ -786,7 +854,8 @@
"p8_completion": "8/8 (100%) — agent tools (sessions.list/history/create/delete, agents.list, message.send, cron.list/trigger) + gap analysis audit",
"tier1_completion": "5/5 (100%) — !!think prefix, /verbose command, typing indicators (Discord/WhatsApp), session pruning (TTL), tool groups",
"tier2_completion": "4/4 (100%) — inbound webhooks, vector memory search, Dockerfile, heartbeat monitor",
"feature_gap_scorecard": "88/116 match (76%), 1 partial (1%), 27 missing (23%)",
"next_up": "All phases P0-P8 and Tiers 1-3 complete. Local model tool calling added. Remaining gaps: Tier 3 channels (Signal, Matrix, Teams, Google Chat), Tier 4 deferred/niche items"
"tier3_completion": "5/5 (100%) — lane queue, credential redaction, web UI token dashboard, xAI (Grok) provider, Voyage AI embeddings",
"feature_gap_scorecard": "95/128 match (74%), 1 partial (1%), 32 missing (25%)",
"next_up": "All phases P0-P8 and Tiers 1-3 complete. Local model tool calling added. Remaining gaps: Tier 4 channels (Signal, Matrix, Teams, Google Chat), Tier 5 deferred/niche items"
}
}