···41414242## Issues (read-only)
43434444-- [ ] Fetch issues for a repo from PDS records
4545-- [ ] Display issue list with state filter (open/closed)
4444+- [x] Fetch issues for a repo from PDS records (`listIssueRecords` + `listIssueStateRecords` from owner's PDS)
4545+- [x] Display issue list with state filter (open/closed)
4646- [ ] Issue detail view: title, body, author, state
4747- [ ] Issue comments: fetch `sh.tangled.repo.issue.comment` records, render threaded
48484949## Pull Requests (read-only)
50505151-- [ ] Fetch PRs for a repo from PDS records
5252-- [ ] Display PR list with status filter (open/closed/merged)
5151+- [x] Fetch PRs for a repo from PDS records (`listPullRecords` + `listPullStatusRecords` from owner's PDS)
5252+- [x] Display PR list with status filter (open/closed/merged)
5353- [ ] PR detail view: title, body, author, source/target branches
5454- [ ] PR comments: fetch `sh.tangled.repo.pull.comment` records
55555656## Caching
57575858-- [ ] Configure TanStack Query stale/gc times per data type (see spec)
5959-- [ ] Set up IndexedDB query persister for offline reads
5858+- [x] Configure TanStack Query stale/gc times per data type (see spec)
5959+- [x] Set up IndexedDB query persister for offline reads
6060- [ ] Verify stale-while-revalidate behavior: cached data shows immediately, refreshes in background
61616262## Quality