[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93909":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":13,"lastSyncTime":29,"discoverSource":30},93909,"pi-review-loop","earendil-works\u002Fpi-review-loop","earendil-works","A persistent incremental diff review loop for pi",null,"TypeScript",127,17,2,3,0,43.77,"MIT License",false,"main",true,[22,23,24,25],"code-review","developer-tools","pi","pi-extension","2026-09-21 04:01:26","# Review Loop\n\nA persistent, incremental diff reviewer for [pi](https:\u002F\u002Fpi.dev).\n\nReview Loop keeps a native review window open while the agent works. Submitting a review records the current workspace as a session-backed checkpoint, so the next review can show only the changes made afterward.\n\n## Install\n\n```sh\npi install git:github.com\u002Fearendil-works\u002Fpi-review-loop\n```\n\nUpdate an existing installation with:\n\n```sh\npi update --extensions\n```\n\nStart pi in a Git repository and open the reviewer:\n\n```text\n\u002Fdiff-review\n```\n\nThe command returns immediately; it does not replace pi's editor. Running `\u002Fdiff-review` again brings the existing review window forward.\n\n## Review workflow\n\n1. Open the window with `\u002Fdiff-review`.\n2. Select a file from **Recently Changed** or the **Files** tree.\n3. Review its diff.\n4. Hover a line number to reveal a `+`, then click it to add an inline comment.\n   - The left pane refers to **Reviewed** content in `Since review` mode or **HEAD** in `vs HEAD` mode.\n   - The right pane refers to the **Current** on-disk content.\n   - Inline comments work on either pane.\n5. Use **Add file note** for feedback that is not tied to a line.\n6. Comment-count badges appear beside files in both sidebar sections.\n7. Click the review button in the top-right.\n   - All files currently changed since the checkpoint are marked reviewed, whether or not each file was opened.\n   - The current workspace becomes the new review checkpoint.\n   - Review feedback is inserted into pi's normal editor.\n   - Feedback is **not sent automatically**; inspect or edit it in pi, then submit it normally.\n8. Keep the window open. Later changes appear as the next review batch.\n\nSubmitting with no comments simply marks the current workspace as reviewed.\n\n## Diff modes\n\n### Since review\n\nCompares:\n\n```text\nlast review checkpoint → current workspace\n```\n\nThis is the default review queue. After submitting a review, it becomes empty until files change again.\n\nBefore the first checkpoint, the baseline is the `HEAD` captured when Review Loop opens.\n\n### vs HEAD\n\nCompares:\n\n```text\ncurrent HEAD → current workspace\n```\n\nThis shows the complete current working-tree change set, including changes already covered by a review checkpoint. Files that still match the last checkpoint display a green reviewed checkmark; files changed afterward retain the blue pending indicator.\n\nChanging modes does not alter the checkpoint. Submitting a review always checkpoints the current workspace.\n\n## Recently Changed and the file tree\n\nBoth sidebar sections follow the active diff mode:\n\n- In **Since review**, they contain files different from the review checkpoint.\n- In **vs HEAD**, they contain files different from the current `HEAD`, including reviewed files.\n\n**Recently Changed** is a flat list ordered by filesystem modification time. **Files** presents the same mode's files as a directory tree.\n\nReview Loop does not parse or attribute pi tool calls. Any on-disk change—whether made by the agent, the user, or another process—updates the viewer. Deleted files use their parent directory's modification time as an ordering fallback.\n\n## Diff controls\n\n- `Cmd+F` on macOS, or `Ctrl+F` elsewhere: search within the focused diff pane\n- Double-click a word: select it and highlight its other occurrences, including overview\u002Fminimap markers\n- `Cmd+K` on macOS, or `Ctrl+K` elsewhere: focus the sidebar file filter\n- **Wrap lines** toggles line wrapping in both diff panes\n- Minimap and overview markers show changes, matches, and occurrences\n- Scroll positions are remembered separately for each file and diff mode, including horizontal offsets\n- A file opened for the first time starts at the top-left\n\nInline comments remain attached to the recorded pane and line number. If that file changes again before the review is submitted, verify that the comment still refers to the intended code.\n\n## Session persistence\n\nEach submitted review appends a `review-loop\u002Fcheckpoint` custom entry to the active pi session. The checkpoint stores:\n\n- the exact `HEAD` used by the checkpoint,\n- compressed contents for files that differed from that `HEAD`,\n- deleted-file state,\n- reviewed paths,\n- and the composed feedback.\n\nWhen the session is resumed, `\u002Fdiff-review` restores the latest checkpoint on the active session branch and compares it with the current workspace. Session branching therefore also branches review state.\n\nCustom entries do not participate in model context. In an ephemeral `--no-session` run, checkpoint state lasts only for that process.\n\nThe review window closes when pi shuts down, switches sessions, or reloads extensions. Run `\u002Fdiff-review` again after a reload or session switch.\n\n## Requirements\n\n- Node.js 20+\n- pi\n- A Git repository\n- macOS, Linux, or Windows supported by [Glimpse](https:\u002F\u002Fgithub.com\u002Fhazat\u002Fglimpse)\n\n## Development\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fearendil-works\u002Fpi-review-loop\ncd pi-review-loop\nnpm install\nnpm run build\nnpm test\npi -e .\u002Fsrc\u002Findex.ts\n```\n\nWhen testing from a sibling repository, load the package directory directly:\n\n```sh\ncd ~\u002Fworkspaces\u002Fsome-project\npi -e ..\u002Fpi-review-loop\n```\n\nAfter changing `web\u002Fsrc`, run `npm run build:web`; the extension serves the generated self-contained `web\u002Fdist\u002Findex.html`.\n","这是一个为 pi 开发环境设计的持久化增量代码审查工具，支持在代理持续工作时保持审查窗口常驻，并自动追踪自上次审查以来的文件变更。核心功能包括双模式 diff 比较（‘Since review’ 和 ‘vs HEAD’）、基于会话的检查点管理、行级内联评论、文件级备注，以及将审查反馈无缝注入 pi 编辑器。技术上采用 TypeScript 实现，深度集成 pi 的扩展机制与工作区状态管理。适用于 AI 编程代理协作场景下的渐进式代码质量管控，尤其适合需频繁迭代、分批验证修改的自动化开发流程。","2026-07-28 02:30:03","CREATED_QUERY"]