Commit Graph

54 Commits

Author SHA1 Message Date
William Valentin e4ee6acce8 Phase 1 run-control semantics and run_state events 2026-02-25 10:22:44 -08:00
William Valentin 2311826092 feat(metrics): add phase-0 baseline counters
Diagrams reviewed: docs/architecture/AGENT_DIAGRAM.md, docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md, docs/api/PROTOCOL.md (no changes required).
2026-02-25 09:05:31 -08:00
William Valentin 6bcdb13bf4 feat(observability): emit run and reaction baseline audit events
Diagrams reviewed: docs/architecture/AGENT_DIAGRAM.md, docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md, docs/api/PROTOCOL.md (no changes required).
2026-02-25 08:54:19 -08:00
William Valentin 37be391a40 Unify TUI runtime commands with gateway and harden gateway restart 2026-02-24 13:14:53 -08:00
William Valentin 2e192ef407 feat(runtime): forward Flynn prompt to pi and harden backend mode commands 2026-02-24 10:41:27 -08:00
William Valentin 4188c68130 feat: add persisted manual pi backend mode controls 2026-02-23 23:06:40 -08:00
William Valentin a389cd659c feat(routing): add pi canary guardrails and backend audit telemetry 2026-02-23 21:13:01 -08:00
William Valentin a761813375 Bind audio.transcribe hydration to current message turn 2026-02-22 21:27:09 -08:00
William Valentin db4e52dd7e Harden audio transcription arg hydration and add rewrite audit event 2026-02-22 18:56:22 -08:00
William Valentin 9c8e9cd546 fix(tui): narrow tool inventory query detection 2026-02-22 17:12:30 -08:00
William Valentin 44c7409a20 feat(councils): add preflight, schema-driven outputs, and artifact reporting 2026-02-22 15:56:30 -08:00
William Valentin b09bfc8373 Unify TUI slash commands and harden tool inventory responses 2026-02-21 12:39:27 -08:00
William Valentin 7c121b82c6 feat(councils-ui): add on-demand council conversations panel and model config controls 2026-02-21 11:26:04 -08:00
William Valentin 54cbf17133 feat(runtime): wire council command and routing integration 2026-02-21 10:49:20 -08:00
William Valentin 290303c14e feat(memory): add daily log continuity controls 2026-02-19 11:58:42 -08:00
William Valentin baa53f91d9 refactor(security): unify elevated mode handling across surfaces 2026-02-19 11:41:53 -08:00
William Valentin 027f7ad283 feat(models): add background task model override config and runtime wiring 2026-02-19 09:52:45 -08:00
William Valentin 02fa604c7c feat: add in-chat skill discovery and local registry install command 2026-02-18 10:41:12 -08:00
William Valentin f34a974210 feat: add session-scoped workflow approval gate commands 2026-02-18 10:35:42 -08:00
William Valentin f341149ac7 feat: add automation reactions event-trigger layer 2026-02-18 10:26:40 -08:00
William Valentin a71aa5992d feat: implement tier-a4 tts voice output replies 2026-02-18 10:22:28 -08:00
William Valentin f38fc063d2 feat: add proactive memory extraction and daily logs 2026-02-18 10:10:47 -08:00
William Valentin 16af5e75fd feat: make /transfer bidirectional across telegram and tui 2026-02-18 07:55:08 -08:00
William Valentin 540f6780e6 feat(safety): gate sensitive tools behind elevation and immutable denylist 2026-02-17 23:51:04 -08:00
William Valentin 898828bb70 feat(audit): log backend routing decisions and fallback events 2026-02-17 15:43:23 -08:00
William Valentin 2273ffd020 feat(agent): implement auto-escalation retries and track remediation state 2026-02-17 15:41:41 -08:00
William Valentin 21a7a18008 fix(config): enforce unsupported backend flags and route by modelFor tags 2026-02-17 15:39:34 -08:00
William Valentin a055f4d338 feat: auto-route research-prefixed prompts to research agent 2026-02-17 15:23:04 -08:00
William Valentin 2b89024a71 feat: add /research command with sub-agent delegation 2026-02-17 15:21:11 -08:00
William Valentin 9a2f1e2bb2 chore: checkpoint browser tooling and routing updates 2026-02-17 15:18:37 -08:00
William Valentin 70bb14a6f6 feat(routing): add auto_escalate retry to complex tier 2026-02-17 10:39:47 -08:00
William Valentin d67cfa64a6 feat(routing): honor models.for via metadata modelFor 2026-02-17 10:38:56 -08:00
William Valentin 776b47f80f feat: wire agent.delegate tool with sub-agent configs
- Export createAgentDelegateTool through builtin/index.ts → tools/index.ts
- Register agent.delegate in routing.ts with lazy orchestrator pattern
- Add agent.delegate + agents.list to messaging and coding policy profiles
- Add group:agents tool group to policy.ts
- Add research/code/comms agent config examples to default.yaml
- Add research/code/comms agent configs to user config.yaml
- Add 11 tests for agent-delegate tool (all pass)
- Typecheck clean, no regressions
2026-02-17 10:28:29 -08:00
William Valentin 8758ea8f1c feat(compaction): add proactive context budget and checkpointing 2026-02-16 15:44:00 -08:00
William Valentin 9b76c75e82 feat(audit): record user action events across gateway and channels 2026-02-16 13:21:15 -08:00
William Valentin fd7ad7bfb0 fix(tui): add /queue command support across tui and routing 2026-02-16 12:19:21 -08:00
William Valentin 83b8e38b11 feat(runtime): add talk mode and capture tools 2026-02-16 10:17:24 -08:00
William Valentin 948d4ac6d8 chore(lint): burn down remaining warnings to zero 2026-02-15 23:14:21 -08:00
William Valentin 46538e71a8 chore(lint): restore zero-error eslint baseline 2026-02-15 22:25:29 -08:00
William Valentin a525ec7b2d fix(memory): wire auto_extract through orchestrator compaction 2026-02-15 22:18:55 -08:00
William Valentin b574d170d1 feat(security): wire /elevate to session config 2026-02-15 16:59:18 -08:00
William Valentin 56e887a6bf feat(skills): audit scan results and block unroutable skills 2026-02-15 11:06:52 -08:00
William Valentin 67058c8719 feat(security): harden tool provenance and skill isolation 2026-02-15 10:16:55 -08:00
William Valentin 151b48310e orchestrator: recover from context overflow on fallback 2026-02-13 21:19:02 -08:00
William Valentin 944b2c916a routing: fast-path voice when transcription not configured 2026-02-13 18:35:04 -08:00
William Valentin 955b9e28e0 feat: add OpenAI OAuth, strict model overrides, and Gmail pull mode 2026-02-13 14:55:40 -08:00
William Valentin 90ce622080 feat(policy): enforce truthfulness and autonomy guardrails
Add runtime truthfulness modes and autonomy-level tool gating with audit metadata for overrides/denials.

Wire policy through prompt assembly, tool execution context, and daemon/gateway agent paths; update tests and planning state for Phase 3 PR #2 completion.
2026-02-12 16:06:45 -08:00
William Valentin a8a2c59313 feat: implement model persistence with per-session overrides
- Add session_config SQLite table for per-session settings
- Update routing to support session override → agent config → global default resolution chain
- Upgrade WebChat SessionBridge from NativeAgent to AgentOrchestrator
- Add /model, /local, /cloud commands to Telegram adapter
- Add /model command to WebChat gateway handlers
- Clear session overrides on /reset command
- Pass memoryStore and config through to SessionBridge
- Add comprehensive tests for all new functionality

Fixes model persistence bug where TUI model changes didn't affect WebChat/Telegram sessions. Now:
- TUI /model sets global default (persists across restarts, affects all new sessions)
- WebChat/Telegram /model sets session override (only that conversation, cleared on /reset)
- WebChat sessions gain AgentOrchestrator features (delegation, compaction, memory)
2026-02-11 21:51:38 -08:00
William Valentin 2e235213d9 fix(audio): handle voice message failures gracefully
- Send user feedback when voice/audio download fails instead of silent failure
- Send graceful message when audio transcription is not configured instead of empty text which crashes API
2026-02-11 19:44:42 -08:00
William Valentin 148219153e feat(audio): add tests, token estimation, and config override for native audio
- Add capabilities.test.ts (18 tests) for supportsAudioInput()
- Add 15 audio tests to media.test.ts (hasAudio, stripAudioParts, attachmentToAudioSource)
- Add estimateAudioTokens() to tokens.ts (base64→bytes→duration→tokens)
- Update estimateMessageTokens() to include audio content parts
- Add 5 audio token tests to tokens.test.ts
- Add supports_audio config override to model schema
- Wire supports_audio from tier config through routing to capability check

Total tests: 1369 (was 1331, +38 audio-related)
2026-02-11 18:27:19 -08:00