A failed push in phase-pr writes the pre-push hook's whole output into the review-state card message #586

Open
opened 2026-09-21 08:33:49 +00:00 by claude · 7 comments
Member

Found during IW-578 phase 1.

A failed push in phase-pr writes the whole failure text — the pre-push hook's full output, ~600 KB — into the review-state card's message field.

Found during IW-578 phase 1. A failed push in `phase-pr` writes the whole failure text — the pre-push hook's full output, ~600 KB — into the review-state card's `message` field.
Author
Member

Seen again on IW-491 phase 1: the first phase-pr --no-wait push failed, and the card grew to 623 KB, with message at 516 KB.

Seen again on IW-491 phase 1: the first `phase-pr --no-wait` push failed, and the card grew to 623 KB, with `message` at 516 KB.
Author
Member

Seen again during IW-652:

  • iw phase-pr writes the whole output of a push that the pre-push hook refused (about 600 KB of test log) into the review-state message, and the text stays after a later green run — PR #664, review-state.json after the run that was stopped by CommandDeclarationTest.
Seen again during IW-652: - `iw phase-pr` writes the whole output of a push that the pre-push hook refused (about 600 KB of test log) into the review-state `message`, and the text stays after a later green run — PR #664, review-state.json after the run that was stopped by `CommandDeclarationTest`.
Author
Member

Seen again in IW-715 (2026-10-05):

  • a failed phase-pr push writes the whole pre-push hook output into the card's message, and later commands keep it — core/adapters/Git.scala:287 puts $reason (all of stderr) into the error, and phase-pr stores it; on 2026-10-05 the IW-715 card grew to 700 KB (message 580 385 chars), still there after phase-advance, so every review-state path/cat of the card floods the terminal.
Seen again in IW-715 (2026-10-05): - [ ] a failed phase-pr push writes the whole pre-push hook output into the card's `message`, and later commands keep it — core/adapters/Git.scala:287 puts `$reason` (all of stderr) into the error, and phase-pr stores it; on 2026-10-05 the IW-715 card grew to 700 KB (`message` 580 385 chars), still there after phase-advance, so every `review-state path`/`cat` of the card floods the terminal.
Author
Member

Seen again during IW-672, phase 1:

  • iw phase-pr writes the whole failed git push output (pre-push hook log, ~470 KB) into review-state message — seen on IW-672 phase 1; the card should hold a short summary.
Seen again during IW-672, phase 1: - [ ] `iw phase-pr` writes the whole failed `git push` output (pre-push hook log, ~470 KB) into review-state `message` — seen on IW-672 phase 1; the card should hold a short summary.
Author
Member

Intake: agent-ready
Workflow: diagnostic
Reason: all gates passed
Analysis: project-management/issues/IW-586/analysis.md on branch IW-586

Intake: agent-ready Workflow: diagnostic Reason: all gates passed Analysis: project-management/issues/IW-586/analysis.md on branch IW-586
Author
Member

Implement: needs-human
Reason: batch-implement exit 1 — the kanon plugin does not compile against the iw-cli core of this branch. ForgeCatchUp.scala:143 expects Either[String, …] from fetchPullRequestForBranch, and the core now returns Either[TrackerError, …] (#778, #780). No phase ran. This stops every iw-cli issue until the plugin is updated, not only this one.

The plugin wrote no batch-implement.log. The last lines of the command output:

[error] /home/mph/.local/share/iw/plugins/kanon/lib/batch/ForgeCatchUp.scala:143:7
[error] Found:    Either[iw.core.model.TrackerError, Option[batch.ForgeState]]
[error] Required: Either[String, Option[batch.ForgeState]]
Compilation failed
exit=1
Implement: needs-human Reason: batch-implement exit 1 — the kanon plugin does not compile against the iw-cli core of this branch. `ForgeCatchUp.scala:143` expects `Either[String, …]` from `fetchPullRequestForBranch`, and the core now returns `Either[TrackerError, …]` (#778, #780). No phase ran. This stops every iw-cli issue until the plugin is updated, not only this one. The plugin wrote no batch-implement.log. The last lines of the command output: ``` [error] /home/mph/.local/share/iw/plugins/kanon/lib/batch/ForgeCatchUp.scala:143:7 [error] Found: Either[iw.core.model.TrackerError, Option[batch.ForgeState]] [error] Required: Either[String, Option[batch.ForgeState]] Compilation failed exit=1 ```
Author
Member

Release: the implement loop failed this issue for a reason outside it. The kanon plugin did not compile against iw-cli main, because the tracker port now returns TrackerError (iw-cli #778). The plugin fix is dev-docs #484, and iw-cli 0.22.1 carries the core change. The issue goes back to the implement loop.

Release: the implement loop failed this issue for a reason outside it. The kanon plugin did not compile against iw-cli main, because the tracker port now returns TrackerError (iw-cli #778). The plugin fix is dev-docs #484, and iw-cli 0.22.1 carries the core change. The issue goes back to the implement loop.
Sign in to join this conversation.
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
iterative-works/iw-cli#586
No description provided.