Repository navigation
Conversation
…t 2 of apache#1887) Add presentational interactive findings pane and Claude Code UI mod for PR review findings (part 2 of apache#1887). - Provide types.d.ts declaring ambient PluginState for reviewFindingsState - Implement renderFindingsPane via ui.render with Box and Text Ink primitives - Support color-coded severity badges ([BLOCKING], [MAJOR], [MINOR], [NIT]) - Support action status indicators ([x] Accept, [ ] Skip, [E] Edit) - Provide path truncation preserving filename and root segment - Provide pure text terminal fallback formatting when ui resolution is unavailable - Register ui.render for both Pane and AbovePrompt components - Add 31 unit tests validating formatters, terminal fallback, lifecycle hooks, and $.ui.mount Generated-by: Claude Code
|
up for review! |
|
Oh. Wow. Let me dog-food and review it using itself |
potiuk
left a comment
There was a problem hiding this comment.
This looks really good — the pane is cleanly structured, numbers inline comments exactly as formatKeepAnswer and render do, and falls through to the next hook on every failure path. I had hoped to dog-food it and run this very review through the pane, but as part 2 of 3 nothing feeds it yet (state only arrives from a session.start payload Claude Code does not send), so this review was done the usual way; that is expected at this stage, and the first inline comment is only about saying so. The rest are small: one handler registered on two surfaces, escaping PR-quoted text before it reaches the terminal, and a few nits. Looking forward to part 3.
Smaller observations
- See inline comments on
plugins/magpie-pr-management/hooks/review-findings.ts:746,plugins/magpie-pr-management/hooks/review-findings.ts:766,plugins/magpie-pr-management/hooks/review-findings.ts:253,plugins/magpie-pr-management/hooks/review-findings.ts:331,plugins/magpie-pr-management/hooks/review-findings.ts:308,plugins/magpie-pr-management/hooks/types.d.ts:20.
This review was drafted by an AI-assisted tool and
confirmed by an Apache Magpie maintainer. The findings
below are observations, not blockers; an Apache Magpie
maintainer — a real person — will take the next look at the
PR. If you think a finding is mis-applied, please reply on
the PR and a maintainer will weigh in.More on how Apache Magpie handles maintainer review:
Contributing guide.
…ings pane - Route session.start fixture hydration via setReviewFindingsState and clarify PR-2 test fixture scope - Register ui.render on Pane surface only and align docstrings - Sanitize external PR content from ANSI, OSC, and control characters before terminal render - Harmonize finding description formatting between interactive pane and terminal fallback - Display clean overflow count text without roadmap notes - Synchronize ambient declaration and runtime state types with automated parity test
|
Thanks for the thorough review, @potiuk!
|
potiuk
left a comment
There was a problem hiding this comment.
Thanks for working through the last round: the single surface, the sanitising and the overflow text are all in place. A few things are still open, mostly around state that only the tests exercise.
Smaller observations
PR description— The docstring now says the session feed comes in part 3, but the Summary still describes a pane that renders findings. In a real session nothing fills it until part 3; one line in the Summary saying so would match the code.- See inline comments on
plugins/magpie-pr-management/hooks/review-findings.test.ts:875,plugins/magpie-pr-management/hooks/review-findings.ts:60,plugins/magpie-pr-management/hooks/review-findings.ts:153,plugins/magpie-pr-management/hooks/review-findings.ts:134.
This review was drafted by an AI-assisted tool and
confirmed by an Apache Magpie maintainer. The findings
below are observations, not blockers; an Apache Magpie
maintainer — a real person — will take the next look at the
PR. If you think a finding is mis-applied, please reply on
the PR and a maintainer will weigh in.More on how Apache Magpie handles maintainer review:
Contributing guide.
- Read exclusively from reviewFindingsState atom without module-level fallback - Reset atom to null on session.start when event carries no findings - Drop unused formatFindingsTerminalFallback until part 3 - Replace runs of line breaks with space before stripping control characters - Remove tautological parity test and align type synchronization comments
|
Thanks @potiuk for the round 2 review! All points addressed:
|
potiuk
left a comment
There was a problem hiding this comment.
Thanks for the third round, @Kaap10 — the pane now reads only the plugin atom, the unused terminal fallback and the tautological parity test are gone, line breaks become spaces before control characters are stripped, and the Summary says plainly that the pane stays empty until part 3 wires the session feed. I've resolved the six threads from the earlier rounds against 568cf20.
Keeping the ambient copy in types.d.ts is fine given strict plugin validation needs it self-contained; the keep-in-sync comments in both files are the right guard until a check can read the file.
Next time, a short reply on each thread when you push makes it easier to see what changed where.
This review was drafted by an AI-assisted tool and
confirmed by an Apache Magpie maintainer. The maintainer
approving this PR has read the findings and signed off. If
something feels off, please reply on the PR and a maintainer
will follow up.More on how Apache Magpie handles maintainer review:
Contributing guide.
Summary
magpie-pr-management(Part 2 of 3 for feat(pr-management): add interactive review findings pane Claude Code mod (part of #1497) #1887, following merged PR feat(pr-management): add review findings data model and parser (part of #1887) #1920, parent issue Explore Claude Code mods across the skill families #1497).renderFindingsPaneviaui.renderusing InkBoxandTextprimitives to display categorized findings (anchored comments numbered to matchformatKeepAnswer, plus unanchored general observations).[BLOCKING],[MAJOR],[MINOR],[NIT]), action toggling indicators ([x] Accept,[ ] Skip,[E] Edit), and deep path truncation.plugins/magpie-pr-management/hooks/types.d.tsforPluginState['magpie-pr-management'].reviewFindingsStatesatisfying strict mod manifest validation.Type of change
.claude/skills/<name>/) — eval fixtures updated belowtools/<system>/*.md)tools/*/withpyproject.toml)docs/,README.md,CONTRIBUTING.md)projects/_template/)prek, workflows, validators)plugins/magpie-pr-management/hooks/)Test plan
claude plugin validate --strict plugins/magpie-pr-management.claude plugin test plugins/magpie-pr-management(34 pass, 0 fail).magpie-security,magpie-setup,magpie-utilities) strictly validated.RFC-AI-0004 compliance
Linked issues
Notes for reviewers (optional)
This is PR-2 of the 3-part split for #1887:
renderFindingsPane), severity badges, action indicators, path truncation, and ambient type definitions.review-flow.mdStep 7a skill integration.