Fix self-align remediation gaps - #12
Conversation
Close merge TOCTOU on squash failure, extend push-guard path matching, emit check/setup partial and skipped badges, add filterable model and branch pickers, align R6.2 with handoff behavior, and clean up docs, dead exports, and duplicated helpers from the triage pass. Co-authored-by: Cursor <cursoragent@cursor.com>
Align code and specs on custom scope command matching, trust packet title/status, merge dirty-worktree guards, push-guard subshell detection, absolute cwd rejection, prompt evidence isolation, and status schema reads. Add R3.8/R17.11–13 requirements, docs corrections, and OptionBoundsSchema for settings validation. Co-authored-by: Cursor <cursoragent@cursor.com>
Trust packet file I/O was misleading portable handoff without restore semantics; the in-app View details summary is the only retained path. Co-authored-by: Cursor <cursoragent@cursor.com>
Deleting a task while intake was still running left the child agent writing parts after the parent session was removed, triggering OpenCode DB errors. Co-authored-by: Cursor <cursoragent@cursor.com>
Greptile SummaryThis PR replaces trust packets with task details and tightens several board lifecycle paths. The main changes are:
Confidence Score: 4/5Mostly safe to merge after fixing one user-visible board shortcut regression. The lifecycle, metadata, docs, and task-details changes are covered and consistent. The comma settings shortcut is advertised and bound, but the board does not register the command it targets. src/commands.tsx
What T-Rex did
|
| Filename | Overview |
|---|---|
| src/commands.tsx | Replaces trust packet menu actions with task details and unified retry checks, but leaves the advertised settings shortcut unhandled on the board. |
| src/server.ts | Hardens helper lifecycle, status gating, check recording, task references, and push guard handling. |
| src/session-api.ts | Adds serialized metadata patching, scoped setup evidence recording, helper retry reset, archiving, and merge/send-back updates. |
| src/task.ts | Adds scoped command parsing, task scope metadata, unified retry logic, citation verification, and helper/status gates. |
| src/check.ts | Adds metadata truncation for command-plan evidence and centralizes check timeout handling. |
| src/settings.tsx | Adds settings UI sections for plugin options, commands, agents, validator models, JSON preview, and save handling. |
| src/task-details.tsx | Introduces the read-only task details model and dialog view replacing trust packet UI. |
| src/git.ts | Hardens git push detection and merge cleanup logic. |
| src/validator.ts | Adds validator model rotation and improves validator prompt evidence handling. |
| test/commands.test.ts | Covers menu/footer/task-details changes and board commands, but misses the broken board kagan.settings binding. |
Comments Outside Diff (1)
-
src/commands.tsx, line 52 (link)Settings shortcut is unhandled
BOARD_BINDINGSbinds,tokagan.settings, butcreateBoardCommandsnever returns a command with that name. The board registers only this local command array for its keymap layer, and the palette command insrc/tui.tsxhas no comma binding, so pressing,on the board does not open settings despite the footer and docs advertising it.Context Used: AGENTS.md (source)
Artifacts
Repro: focused Bun test comparing BOARD_BINDINGS commands against createBoardCommands output
- Contains supporting evidence from the run (text/typescript; charset=utf-8).
Repro: failing Bun test output showing kagan.settings is missing from returned board commands
- Keeps the command output available without making the summary code-heavy.
Ran code and verified through T-Rex
Prompt To Fix With AI
This is a comment left during a code review. Path: src/commands.tsx Line: 52 Comment: **Settings shortcut is unhandled** `BOARD_BINDINGS` binds `,` to `kagan.settings`, but `createBoardCommands` never returns a command with that name. The board registers only this local command array for its keymap layer, and the palette command in `src/tui.tsx` has no comma binding, so pressing `,` on the board does not open settings despite the footer and docs advertising it. **Context Used:** AGENTS.md ([source](https://app.greptile.com/kagan/github/kagan-sh/kagan/-/custom-context?memory=88a14340-9a15-4297-925d-3656d144ad2a)) How can I resolve this? If you propose a fix, please make it concise.
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 1
src/commands.tsx:52
**Settings shortcut is unhandled**
`BOARD_BINDINGS` binds `,` to `kagan.settings`, but `createBoardCommands` never returns a command with that name. The board registers only this local command array for its keymap layer, and the palette command in `src/tui.tsx` has no comma binding, so pressing `,` on the board does not open settings despite the footer and docs advertising it.
Reviews (1): Last reviewed commit: "fix: address branch review gaps" | Re-trigger Greptile
|
🎉 This PR is included in version 0.2.2 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Summary
Testing