* Add inline Put actions for sessions and tasks windows
Introduce a Put command to both the sessions list and tasks windows,
allowing inline edits via prefixed annotations in the body:
Sessions (cmd/Assist/main.go):
- `- <id>` Kill session
- `~ <id>` Stop session (graceful)
- `@ <id> <alias>` Set alias on session
- `+ <backend> <path> [alias]` Start new session
Tasks (cmd/Assist/main.go + internal/p9/beads.go):
- `- [idx]` Delete bead
- `~ [idx]` Claim bead as user
- `^ [idx]` Unclaim bead (clear assignee, reset to open)
- `x [idx]` Complete bead
- `f [idx]` Fail bead
- `+ <title>` Create new bead with title pre-filled
Also adds `unclaim` ctl command to BeadsFS and helper functions:
claimBeadAsUser, unclaimBead, completeBead, failBead,
openNewBeadWindowWithTitle.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add [Failed] [PendingReview] [PendingApproval] filters to tasks window
Extends the tasks window filter bar with three new status filters:
- [Failed] closed beads whose close_reason != "completed"
- [PendingReview] beads with status "pending_review"
- [PendingApproval] beads with status "pending_approval"
Implementation details:
- Add CloseReason field (json:"close_reason") to Bead struct so
fail-vs-complete distinction is available after JSON decode.
- listBeadsWithFilter: add "failed" special case (closed beads with
non-"completed" close_reason); "pending_review" and
"pending_approval" fall through the existing status equality path.
- handleTasksWindow: wire Failed/PendingReview/PendingApproval cases
to set statusFilter and refresh the list.
- refreshTasksWindowWithBeads: update filter bar header line.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add bulk-archive via inline Put notation to inbox and archive windows
In the inbox window, lines prefixed with "- <shortID>" are parsed on Put
and each matching message is archived (moved to completed). In the archive
window the same notation permanently deletes the message from the archive.
Adds: parseMailEdits, mailEdit type, deleteArchivedMessage in Assist;
DeleteFromCompleted in mailbox.Manager; "delete <msg-id>" command on
user/ctl in the p9 server.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Levi Neely <lkn@darkstar.example.net>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>