|
1 | | -{"id":"bd-10d","title":"[HOOK] Step 3: Implement installation logic","description":"Implement install_hook() function that installs the hook for Claude (and framework for Codex/Opencode). Generates hook script and updates agent configuration.\n\nFiles to create:\n- crates/terraphim_agent/src/learnings/install.rs\n\nAcceptance Criteria:\n- AgentType enum (Claude, Codex, Opencode)\n- install_hook() async function\n- install_claude_hook() helper\n- generate_hook_script() function\n- Creates ~/.claude/hooks/terraphim-hook.sh\n- Updates ~/.claude/settings.json\n- Proper error handling with InstallError\n- Unit tests for file generation\n\nEstimated: 1.5 hours","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:30.452530313Z","created_by":"alex","updated_at":"2026-02-15T23:56:41.673801131Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"],"dependencies":[{"issue_id":"bd-10d","depends_on_id":"bd-lab","type":"blocks","created_at":"2026-02-15T23:56:41.673726718Z","created_by":"alex","metadata":"{}","thread_id":""}]} |
| 1 | +{"id":"bd-10d","title":"[HOOK] Step 3: Implement installation logic","description":"Implement install_hook() function that installs the hook for Claude (and framework for Codex/Opencode). Generates hook script and updates agent configuration.\n\nFiles to create:\n- crates/terraphim_agent/src/learnings/install.rs\n\nAcceptance Criteria:\n- AgentType enum (Claude, Codex, Opencode)\n- install_hook() async function\n- install_claude_hook() helper\n- generate_hook_script() function\n- Creates ~/.claude/hooks/terraphim-hook.sh\n- Updates ~/.claude/settings.json\n- Proper error handling with InstallError\n- Unit tests for file generation\n\nEstimated: 1.5 hours","status":"closed","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:30.452530313Z","created_by":"alex","updated_at":"2026-02-16T00:13:17.099363542Z","closed_at":"2026-02-16T00:13:17.099307422Z","close_reason":"Implementation complete, all tests passing","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"],"dependencies":[{"issue_id":"bd-10d","depends_on_id":"bd-lab","type":"blocks","created_at":"2026-02-15T23:56:41.673726718Z","created_by":"alex","metadata":"{}","thread_id":""}]} |
2 | 2 | {"id":"bd-12r","title":"[HOOK] Step 3: Implement installation logic","description":"Implement install_hook() function that installs the hook for Claude (and framework for Codex/Opencode). Generates hook script and updates agent configuration.\n\n**Files to create:**\n- crates/terraphim_agent/src/learnings/install.rs\n\n**Acceptance Criteria:**\n- [ ] AgentType enum (Claude, Codex, Opencode)\n- [ ] install_hook() async function\n- [ ] install_claude_hook() helper\n- [ ] generate_hook_script() function\n- [ ] Creates ~/.claude/hooks/terraphim-hook.sh\n- [ ] Updates ~/.claude/settings.json\n- [ ] Proper error handling with InstallError\n- [ ] Unit tests for file generation\n\n**Estimated:** 1.5 hours","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:39:35.527693377Z","created_by":"alex","updated_at":"2026-02-15T23:39:35.527693377Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"]} |
3 | | -{"id":"bd-281","title":"[HOOK] Step 4: CLI integration and final wiring","description":"Wire up the new subcommands to the CLI. Add Hook and InstallHook variants to LearnSub enum, update run_offline_command() and run_server_command() to handle new commands.\n\nFiles to modify:\n- crates/terraphim_agent/src/main.rs\n- crates/terraphim_agent/src/learnings/mod.rs\n\nAcceptance Criteria:\n- AgentFormat enum (clap ValueEnum)\n- LearnSub::Hook variant with --format flag\n- LearnSub::InstallHook variant\n- Handler in run_offline_command()\n- Handler in run_server_command()\n- Export new types in learnings/mod.rs\n- All existing tests still pass\n- New integration tests pass\n\nDependencies: Steps 1-3\nEstimated: 1 hour","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:33.697071538Z","created_by":"alex","updated_at":"2026-02-15T23:56:41.690249021Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"],"dependencies":[{"issue_id":"bd-281","depends_on_id":"bd-10d","type":"blocks","created_at":"2026-02-15T23:56:41.690228673Z","created_by":"alex","metadata":"{}","thread_id":""}]} |
| 3 | +{"id":"bd-281","title":"[HOOK] Step 4: CLI integration and final wiring","description":"Wire up the new subcommands to the CLI. Add Hook and InstallHook variants to LearnSub enum, update run_offline_command() and run_server_command() to handle new commands.\n\nFiles to modify:\n- crates/terraphim_agent/src/main.rs\n- crates/terraphim_agent/src/learnings/mod.rs\n\nAcceptance Criteria:\n- AgentFormat enum (clap ValueEnum)\n- LearnSub::Hook variant with --format flag\n- LearnSub::InstallHook variant\n- Handler in run_offline_command()\n- Handler in run_server_command()\n- Export new types in learnings/mod.rs\n- All existing tests still pass\n- New integration tests pass\n\nDependencies: Steps 1-3\nEstimated: 1 hour","status":"closed","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:33.697071538Z","created_by":"alex","updated_at":"2026-02-16T00:13:17.100680826Z","closed_at":"2026-02-16T00:13:17.100629873Z","close_reason":"Implementation complete, all tests passing","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"],"dependencies":[{"issue_id":"bd-281","depends_on_id":"bd-10d","type":"blocks","created_at":"2026-02-15T23:56:41.690228673Z","created_by":"alex","metadata":"{}","thread_id":""}]} |
4 | 4 | {"id":"bd-2dk","title":"[HOOK] Step 4: CLI integration and final wiring","description":"Wire up the new subcommands to the CLI. Add Hook and InstallHook variants to LearnSub enum, update run_offline_command() and run_server_command() to handle new commands.\n\n**Files to modify:**\n- crates/terraphim_agent/src/main.rs\n- crates/terraphim_agent/src/learnings/mod.rs\n\n**Acceptance Criteria:**\n- [ ] AgentFormat enum (clap ValueEnum)\n- [ ] LearnSub::Hook variant with --format flag\n- [ ] LearnSub::InstallHook variant\n- [ ] Handler in run_offline_command()\n- [ ] Handler in run_server_command()\n- [ ] Export new types in learnings/mod.rs\n- [ ] All existing tests still pass\n- [ ] New integration tests pass\n\n**Dependencies:** Steps 1-3\n**Estimated:** 1 hour","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:39:38.597559340Z","created_by":"alex","updated_at":"2026-02-15T23:39:38.597559340Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"]} |
5 | 5 | {"id":"bd-3av","title":"[HOOK] Step 1: Implement hook types and parser","description":"Define HookInput, ToolInput, ToolResult structs with serde derives. Implement methods: from_json(), should_capture(), error_output(), command(). Add comprehensive unit tests for parsing and filtering logic.\n\n**Files to create:**\n- crates/terraphim_agent/src/learnings/hook.rs\n\n**Acceptance Criteria:**\n- [ ] HookInput struct with serde Deserialize\n- [ ] ToolInput and ToolResult structs \n- [ ] from_json() method\n- [ ] should_capture() method (filters Bash + exit_code != 0)\n- [ ] error_output() method (combines stdout + stderr)\n- [ ] command() method\n- [ ] Unit tests for all methods\n- [ ] Tests pass with cargo test\n\n**Estimated:** 1.5 hours","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:39:29.475873391Z","created_by":"alex","updated_at":"2026-02-15T23:39:29.475873391Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"]} |
6 | | -{"id":"bd-3t3","title":"[HOOK] Step 1: Implement hook types and parser","description":"Define HookInput, ToolInput, ToolResult structs with serde derives. Implement methods: from_json(), should_capture(), error_output(), command(). Add comprehensive unit tests for parsing and filtering logic.\n\nFiles to create:\n- crates/terraphim_agent/src/learnings/hook.rs\n\nAcceptance Criteria:\n- HookInput struct with serde Deserialize\n- ToolInput and ToolResult structs \n- from_json() method\n- should_capture() method (filters Bash + exit_code != 0)\n- error_output() method (combines stdout + stderr)\n- command() method\n- Unit tests for all methods\n- Tests pass with cargo test\n\nEstimated: 1.5 hours","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:24.138912635Z","created_by":"alex","updated_at":"2026-02-15T23:56:24.138912635Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"]} |
7 | | -{"id":"bd-lab","title":"[HOOK] Step 2: Implement hook processing function","description":"Implement process_hook_input() function that reads JSON from stdin, parses it, captures failed commands, and passes through original JSON.\n\nFiles to modify:\n- crates/terraphim_agent/src/learnings/hook.rs (add to existing)\n\nAcceptance Criteria:\n- process_hook_input() async function\n- Reads JSON from stdin\n- Parses using HookInput::from_json()\n- Calls capture_from_hook() for failed commands\n- Outputs original JSON to stdout (passthrough)\n- Proper error handling with HookError\n- Fail-open behavior (never blocks)\n- Integration tests\n\nDependencies: Step 1\nEstimated: 1.5 hours","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:27.213048031Z","created_by":"alex","updated_at":"2026-02-15T23:56:41.648631879Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"],"dependencies":[{"issue_id":"bd-lab","depends_on_id":"bd-3t3","type":"blocks","created_at":"2026-02-15T23:56:41.648138385Z","created_by":"alex","metadata":"{}","thread_id":""}]} |
| 6 | +{"id":"bd-3t3","title":"[HOOK] Step 1: Implement hook types and parser","description":"Define HookInput, ToolInput, ToolResult structs with serde derives. Implement methods: from_json(), should_capture(), error_output(), command(). Add comprehensive unit tests for parsing and filtering logic.\n\nFiles to create:\n- crates/terraphim_agent/src/learnings/hook.rs\n\nAcceptance Criteria:\n- HookInput struct with serde Deserialize\n- ToolInput and ToolResult structs \n- from_json() method\n- should_capture() method (filters Bash + exit_code != 0)\n- error_output() method (combines stdout + stderr)\n- command() method\n- Unit tests for all methods\n- Tests pass with cargo test\n\nEstimated: 1.5 hours","status":"closed","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:24.138912635Z","created_by":"alex","updated_at":"2026-02-16T00:13:17.095817856Z","closed_at":"2026-02-16T00:13:17.095730351Z","close_reason":"Implementation complete, all tests passing","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"]} |
| 7 | +{"id":"bd-lab","title":"[HOOK] Step 2: Implement hook processing function","description":"Implement process_hook_input() function that reads JSON from stdin, parses it, captures failed commands, and passes through original JSON.\n\nFiles to modify:\n- crates/terraphim_agent/src/learnings/hook.rs (add to existing)\n\nAcceptance Criteria:\n- process_hook_input() async function\n- Reads JSON from stdin\n- Parses using HookInput::from_json()\n- Calls capture_from_hook() for failed commands\n- Outputs original JSON to stdout (passthrough)\n- Proper error handling with HookError\n- Fail-open behavior (never blocks)\n- Integration tests\n\nDependencies: Step 1\nEstimated: 1.5 hours","status":"closed","priority":2,"issue_type":"task","created_at":"2026-02-15T23:56:27.213048031Z","created_by":"alex","updated_at":"2026-02-16T00:13:17.097829209Z","closed_at":"2026-02-16T00:13:17.097761856Z","close_reason":"Implementation complete, all tests passing","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"],"dependencies":[{"issue_id":"bd-lab","depends_on_id":"bd-3t3","type":"blocks","created_at":"2026-02-15T23:56:41.648138385Z","created_by":"alex","metadata":"{}","thread_id":""}]} |
8 | 8 | {"id":"bd-msn","title":"[HOOK] Step 2: Implement hook processing function","description":"Implement process_hook_input() function that reads JSON from stdin, parses it, captures failed commands, and passes through original JSON.\n\n**Files to modify:**\n- crates/terraphim_agent/src/learnings/hook.rs (add to existing)\n\n**Acceptance Criteria:**\n- [ ] process_hook_input() async function\n- [ ] Reads JSON from stdin\n- [ ] Parses using HookInput::from_json()\n- [ ] Calls capture_from_hook() for failed commands\n- [ ] Outputs original JSON to stdout (passthrough)\n- [ ] Proper error handling with HookError\n- [ ] Fail-open behavior (never blocks)\n- [ ] Integration tests\n\n**Dependencies:** Step 1\n**Estimated:** 1.5 hours","status":"open","priority":2,"issue_type":"task","created_at":"2026-02-15T23:39:32.403416128Z","created_by":"alex","updated_at":"2026-02-15T23:39:32.403416128Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["implementation"]} |
9 | 9 | {"id":"terraphim-ai-2sz","title":"Add embedded device settings fallback to terraphim-cli","description":"Evaluate and implement an embedded DeviceSettings fallback (similar to terraphim-agent) so terraphim-cli doesn't fail on missing settings.","status":"open","priority":2,"issue_type":"task","owner":"alex@metacortex.engineer","created_at":"2026-02-10T08:23:48.689656434Z","created_by":"AlexMikhalev","updated_at":"2026-02-10T08:23:48.689656434Z","source_repo":".","compaction_level":0,"original_size":0} |
10 | 10 | {"id":"terraphim-ai-cbm","title":"Clarify terraphim-agent TUI offline/server requirement","description":"Determine whether terraphim-agent TUI is expected to work fully offline or requires a running server; document requirement and adjust behavior if needed.","design":"Phase 1/2 docs: docs/plans/terraphim-agent-tui-offline-server-research-2026-02-13.md and docs/plans/terraphim-agent-tui-offline-server-design-2026-02-13.md","acceptance_criteria":"Contract for fullscreen TUI vs REPL/offline is explicit in help/docs; actionable messaging when fullscreen TUI server is unreachable; tests cover mode behavior to prevent regressions.","notes":"Implemented on 2026-02-13: mode-contract wording in CLI/docs, fullscreen TUI server preflight with actionable repl fallback, and regression tests for help/non-TTY/server-failure paths. Validation: cargo fmt --package terraphim_agent; cargo clippy -p terraphim_agent --all-targets -- -D warnings; cargo test -p terraphim_agent --test offline_mode_tests; cargo test -p terraphim_agent --test server_mode_tests test_server_mode_config_show; targeted unit tests in main.rs for URL resolution and error messaging.","status":"closed","priority":2,"issue_type":"task","owner":"alex@metacortex.engineer","created_at":"2026-02-10T08:23:40.310825316Z","created_by":"AlexMikhalev","updated_at":"2026-02-13T14:41:42.093162011Z","closed_at":"2026-02-13T14:41:42.093136090Z","close_reason":"done","source_repo":".","compaction_level":0,"original_size":0} |
|
0 commit comments