30 lines
15 KiB
JSON
30 lines
15 KiB
JSON
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:28Z","event_type":"created","id":1,"issue_id":"rook-bfj","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:29Z","event_type":"created","id":2,"issue_id":"rook-dn4","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:29Z","event_type":"created","id":3,"issue_id":"rook-z5s","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:30Z","event_type":"created","id":4,"issue_id":"rook-8o3","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:30Z","event_type":"created","id":5,"issue_id":"rook-hi1","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:30Z","event_type":"created","id":6,"issue_id":"rook-6zs","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:31Z","event_type":"created","id":7,"issue_id":"rook-43b","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:31Z","event_type":"created","id":8,"issue_id":"rook-wka","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:31Z","event_type":"created","id":9,"issue_id":"rook-11u","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:14:32Z","event_type":"created","id":10,"issue_id":"rook-iwn","new_value":"","old_value":""}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:33:41Z","event_type":"claimed","id":11,"issue_id":"rook-bfj","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-bfj\",\"title\":\"Project scaffolding: pyproject.toml, src layout, uv setup\",\"description\":\"Initialize Python project. pyproject.toml with deps (anthropic, elevenlabs, python-telegram-bot, dearpygui). Set up src/rook/ package. Configure uv.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:29Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:29Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T21:38:13Z","event_type":"closed","id":12,"issue_id":"rook-bfj","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-bfj\",\"title\":\"Project scaffolding: pyproject.toml, src layout, uv setup\",\"description\":\"Initialize Python project. pyproject.toml with deps (anthropic, elevenlabs, python-telegram-bot, dearpygui). Set up src/rook/ package. Configure uv.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:29Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:33:42Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:00:11Z","event_type":"claimed","id":13,"issue_id":"rook-z5s","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-z5s\",\"title\":\"Core agent loop: asyncio, Claude API, tool dispatch\",\"description\":\"Main agent turn loop. Claude Haiku 4.5 primary, Sonnet 4.6 fallback. Tool call dispatch. Asyncio event loop with background daemon thread support.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:30Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:30Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:04:02Z","event_type":"closed","id":14,"issue_id":"rook-z5s","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-z5s\",\"title\":\"Core agent loop: asyncio, Claude API, tool dispatch\",\"description\":\"Main agent turn loop. Claude Haiku 4.5 primary, Sonnet 4.6 fallback. Tool call dispatch. Asyncio event loop with background daemon thread support.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:30Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:00:12Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:14:30Z","event_type":"claimed","id":15,"issue_id":"rook-dn4","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-dn4\",\"title\":\"Policy engine: allowlists, confirm gates, backup-before-edit\",\"description\":\"Core policy module. Allowlists per capability (file, shell, git). confirm_spawn() gate for risky ops. backup_before_edit() helper. Approved working dirs enforcement.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:29Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:29Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:18:04Z","event_type":"closed","id":16,"issue_id":"rook-dn4","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-dn4\",\"title\":\"Policy engine: allowlists, confirm gates, backup-before-edit\",\"description\":\"Core policy module. Allowlists per capability (file, shell, git). confirm_spawn() gate for risky ops. backup_before_edit() helper. Approved working dirs enforcement.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:29Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:14:31Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:26:20Z","event_type":"claimed","id":17,"issue_id":"rook-6zs","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-6zs\",\"title\":\"Shell capability: safe subprocess execution\",\"description\":\"Run shell commands with policy checks. Allowlist of approved dirs and commands. confirm_spawn() gate. Log all subprocess calls with timestamps.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:31Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:31Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:28:26Z","event_type":"closed","id":18,"issue_id":"rook-6zs","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-6zs\",\"title\":\"Shell capability: safe subprocess execution\",\"description\":\"Run shell commands with policy checks. Allowlist of approved dirs and commands. confirm_spawn() gate. Log all subprocess calls with timestamps.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:31Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:26:21Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:28:35Z","event_type":"claimed","id":19,"issue_id":"rook-43b","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-43b\",\"title\":\"File capability: read/write/edit with backup\",\"description\":\"File operations with backup-before-edit. Allowlist for working dirs. No destructive deletes without confirmation. Type-hinted API.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:31Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:31Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:31:21Z","event_type":"closed","id":20,"issue_id":"rook-43b","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-43b\",\"title\":\"File capability: read/write/edit with backup\",\"description\":\"File operations with backup-before-edit. Allowlist for working dirs. No destructive deletes without confirmation. Type-hinted API.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:31Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:28:35Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:31:25Z","event_type":"claimed","id":21,"issue_id":"rook-wka","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-wka\",\"title\":\"Git capability: git ops with policy allowlist\",\"description\":\"Git operations (status, diff, add, commit, log). Allowlist gates on push/reset/force ops. Confirmation required for destructive git commands.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:32Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:32Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:34:56Z","event_type":"closed","id":22,"issue_id":"rook-wka","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-wka\",\"title\":\"Git capability: git ops with policy allowlist\",\"description\":\"Git operations (status, diff, add, commit, log). Allowlist gates on push/reset/force ops. Confirmation required for destructive git commands.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:32Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:31:26Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:36:47Z","event_type":"updated","id":23,"issue_id":"rook-8o3","new_value":"{\"description\":\"Discord bot daemon thread. Poll for messages and audio attachments. Pass audio through STT. Route transcribed text to agent queue via asyncio.run_coroutine_threadsafe(). Use discord.py (pip: discord.py). Bot token from DISCORD_BOT_TOKEN env var. Listen in a designated channel.\",\"title\":\"Discord integration: polling, audio STT input\"}","old_value":"{\"id\":\"rook-8o3\",\"title\":\"Telegram integration: polling, audio STT input\",\"description\":\"Telegram bot daemon thread. Poll for messages and audio notes. Pass audio through STT. Route transcribed text to agent queue via asyncio.run_coroutine_threadsafe().\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:30Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:30Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:37:49Z","event_type":"claimed","id":24,"issue_id":"rook-11u","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-11u\",\"title\":\"CoSy integration: subprocess pipe to CoSy.bat/reva.exe\",\"description\":\"Launch CoSy as persistent subprocess via Popen. stdin/stdout pipe. Send Forth-APL expressions, read results. Backup before redefining words. Only load from personal vocab dir.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:32Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:32Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:39:54Z","event_type":"closed","id":25,"issue_id":"rook-11u","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-11u\",\"title\":\"CoSy integration: subprocess pipe to CoSy.bat/reva.exe\",\"description\":\"Launch CoSy as persistent subprocess via Popen. stdin/stdout pipe. Send Forth-APL expressions, read results. Backup before redefining words. Only load from personal vocab dir.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:32Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:37:50Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:45:48Z","event_type":"updated","id":26,"issue_id":"rook-iwn","new_value":"{\"description\":\"GUI using imgui-bundle (NOT dearpygui — multi-viewport issues). Dockable panels: agent transcript, TTS status, CoSy output. Dark theme. Runs on main thread; asyncio on background daemon thread. Use imgui_bundle.imgui and imgui_bundle.hello_imgui. No dearpygui anywhere.\",\"title\":\"imgui-bundle GUI: dockable panels for agent transcript and status\"}","old_value":"{\"id\":\"rook-iwn\",\"title\":\"Dear PyGui GUI: ModernCoSy dockable panels\",\"description\":\"Dear PyGui dark-theme GUI. Dockable panels for agent transcript, TTS status, CoSy output. Runs on main thread; asyncio on background daemon thread.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:32Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:32Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:45:48Z","event_type":"updated","id":27,"issue_id":"rook-8o3","new_value":"{\"description\":\"Discord bot daemon thread. Poll for messages and audio attachments. Pass audio through STT. STT backend pluggable via STT_BACKEND env var: 'whisper' uses openai.Audio.transcribe (OPENAI_API_KEY), 'google' uses google.cloud.speech (GOOGLE_STT_KEY). Route transcribed text to agent queue via asyncio.run_coroutine_threadsafe(). Use discord.py. Bot token from DISCORD_BOT_TOKEN env var. Listen in a designated channel.\"}","old_value":"{\"id\":\"rook-8o3\",\"title\":\"Discord integration: polling, audio STT input\",\"description\":\"Discord bot daemon thread. Poll for messages and audio attachments. Pass audio through STT. Route transcribed text to agent queue via asyncio.run_coroutine_threadsafe(). Use discord.py (pip: discord.py). Bot token from DISCORD_BOT_TOKEN env var. Listen in a designated channel.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:30Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:36:47Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:48:40Z","event_type":"claimed","id":28,"issue_id":"rook-hi1","new_value":"{\"assignee\":\"Ed_\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"rook-hi1\",\"title\":\"TTS output: ElevenLabs Rook voice + Google TTS fallback\",\"description\":\"Speak agent responses. ElevenLabs TTS with Rook voice ID (scratchy/military). Google TTS fallback. Async playback so it doesn't block the agent loop.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:30Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T02:14:30Z\"}"}
|
|
{"actor":"Ed_","comment":null,"created_at":"2026-03-01T22:52:13Z","event_type":"closed","id":29,"issue_id":"rook-hi1","new_value":"{\"status\":\"closed\"}","old_value":"{\"id\":\"rook-hi1\",\"title\":\"TTS output: ElevenLabs Rook voice + Google TTS fallback\",\"description\":\"Speak agent responses. ElevenLabs TTS with Rook voice ID (scratchy/military). Google TTS fallback. Async playback so it doesn't block the agent loop.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"Ed_\",\"owner\":\"edwardgz@gmail.com\",\"created_at\":\"2026-03-02T02:14:30Z\",\"created_by\":\"Ed_\",\"updated_at\":\"2026-03-02T03:48:41Z\"}"}
|