Summary
crit pull imports PR review comments from GitHub but does not surface the thread-level resolved state. When a reviewer marks a thread as resolved on github.com (or via the GraphQL resolveReviewThread mutation), the local review file's resolved flag on the imported comment remains false.
Repro
Reproduced by TestRoundtrip_GitHubThreadResolvedOnWeb in roundtrip_integration_test.go (build tag e2e_github). The scenario:
crit comment sample.go:19 'needs decision'
crit push (creates a thread on the PR)
- Resolve that thread via GraphQL (
resolveReviewThread).
crit pull
- Inspect the local review file —
comment.resolved is false even though the thread is resolved on GitHub.
Test fails with:
comment not marked resolved locally after thread resolution on web
Why this matters
- crit's local resolved flag is the source of truth for whether a comment still needs attention. Out-of-band resolves on github.com silently leak past it.
- A reviewer resolving a thread on github.com is a strong signal that crit should not re-list the comment as unresolved.
Likely fix area
crit pull (REST review-comments endpoint) does not expose thread resolution — the REST /pulls/{pr}/comments payload omits it. The fix likely needs a GraphQL query for pullRequest.reviewThreads { isResolved comments { databaseId } } joined onto the existing import path so each imported comment inherits its thread's isResolved.
Skipping in harness
Test will be marked t.Skip against this issue in the roundtrip harness so the suite stays green.
Summary
crit pullimports PR review comments from GitHub but does not surface the thread-level resolved state. When a reviewer marks a thread as resolved on github.com (or via the GraphQLresolveReviewThreadmutation), the local review file'sresolvedflag on the imported comment remainsfalse.Repro
Reproduced by
TestRoundtrip_GitHubThreadResolvedOnWebinroundtrip_integration_test.go(build tage2e_github). The scenario:crit comment sample.go:19 'needs decision'crit push(creates a thread on the PR)resolveReviewThread).crit pullcomment.resolvedisfalseeven though the thread is resolved on GitHub.Test fails with:
Why this matters
Likely fix area
crit pull(REST review-comments endpoint) does not expose thread resolution — the REST/pulls/{pr}/commentspayload omits it. The fix likely needs a GraphQL query forpullRequest.reviewThreads { isResolved comments { databaseId } }joined onto the existing import path so each imported comment inherits its thread'sisResolved.Skipping in harness
Test will be marked
t.Skipagainst this issue in the roundtrip harness so the suite stays green.