Track whether review comments have been addressed #62

Merged
a73x merged 1 commit from worktree-agent-afe94723889fe7d4e into main 2026-08-11 10:58:02 +00:00
a73x commented 2026-08-11 10:51:54 +00:00 (Migrated from git.a73x.sh)

Adds patch.comment_resolve / patch.comment_reopen as ordinary events, so the existing (clock, oid) fold handles concurrency and disagreement stays in the record with attribution. InlineComment gains a resolved field, applied in a second pass like BodyEdit.

Anyone may resolve: unlike an edit, a resolution rewrites nobody's words, so there is no author filter and the fold is total by construction. A new revision never auto-resolves or auto-reopens; a stale claim is surfaced as a hint beside the thread.

patch diff --answers shows the change that answered one comment, reusing the rebase-aware interdiff scoped to the comment's file. Reads only.

Two spec errors found: inline comment identity already exists (b8a55806), and revision-less inline comments are unreachable because the event field is a required u32 and walk_events propagates parse failures.

13 new tests in tests/comment_resolution_test.rs; full suite green, clippy silent.


Migrated from git-collab patche 28fc67517775d880cbe3dbe1a9143423e0237e56.

Original author: a73x dev@a73x.sh.

Fixes #4

Revision 1: d723e7e62edef9dab90e4c7d2748cd961a572239; base ea980317cf7448e6f3ed4335d77456bc6b19cc98

Revision 2: eb3de6b1500bb2e5e0d5fea06ff163287772f29a; base 5cbded8db2ca8f6873264f94d69fd26aa2116af1

Rebased onto main@5cbded8. Two adjustments from the concurrent work that landed: renamed my timeline variant to CommentUnresolved (the patch reopen work took Kind::Reopened, and one word for two unrelated things in the same column misleads), and gave patch resolve/unresolve --json in the shape the other mutating commands now use, returning dag::Corrected with full ids. Added a test for that JSON. 14 tests, full suite green, clippy silent.

Adds patch.comment_resolve / patch.comment_reopen as ordinary events, so the existing (clock, oid) fold handles concurrency and disagreement stays in the record with attribution. InlineComment gains a resolved field, applied in a second pass like BodyEdit. Anyone may resolve: unlike an edit, a resolution rewrites nobody's words, so there is no author filter and the fold is total by construction. A new revision never auto-resolves or auto-reopens; a stale claim is surfaced as a hint beside the thread. patch diff --answers <comment> shows the change that answered one comment, reusing the rebase-aware interdiff scoped to the comment's file. Reads only. Two spec errors found: inline comment identity already exists (b8a55806), and revision-less inline comments are unreachable because the event field is a required u32 and walk_events propagates parse failures. 13 new tests in tests/comment_resolution_test.rs; full suite green, clippy silent. --- Migrated from git-collab patche `28fc67517775d880cbe3dbe1a9143423e0237e56`. Original author: a73x <dev@a73x.sh>. Fixes #4 Revision 1: `d723e7e62edef9dab90e4c7d2748cd961a572239`; base `ea980317cf7448e6f3ed4335d77456bc6b19cc98` Revision 2: `eb3de6b1500bb2e5e0d5fea06ff163287772f29a`; base `5cbded8db2ca8f6873264f94d69fd26aa2116af1` Rebased onto main@5cbded8. Two adjustments from the concurrent work that landed: renamed my timeline variant to CommentUnresolved (the patch reopen work took Kind::Reopened, and one word for two unrelated things in the same column misleads), and gave patch resolve/unresolve --json in the shape the other mutating commands now use, returning dag::Corrected with full ids. Added a test for that JSON. 14 tests, full suite green, clippy silent.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
a73x/git-collab!62
No description provided.