iw-run's IW_CORE_JAR override is absolute, so one worktree's shell runs another worktree's jar #577

Open
opened 2026-09-20 10:28:51 +00:00 by claude · 3 comments
Member

iw-run's tier-1 IW_CORE_JAR override wins over Mill and holds an absolute path, so it follows the shell into every other worktree: a checkout at a different commit silently runs the jar of the worktree that exported it. iw open exports exactly that value (out/core/jar.dest/out.jar) into every session it creates — iw-run:147-158. A baseline comparison run from such a session compares a commit against itself.

Found while working IW-555.

`iw-run`'s tier-1 `IW_CORE_JAR` override wins over Mill and holds an **absolute** path, so it follows the shell into every other worktree: a checkout at a different commit silently runs the jar of the worktree that exported it. `iw open` exports exactly that value (`out/core/jar.dest/out.jar`) into every session it creates — `iw-run:147-158`. A baseline comparison run from such a session compares a commit against itself. Found while working IW-555.
Author
Member

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

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

Implement: needs-human
Reason: batch-implement exit 1 — the kanon plugin command did not compile against the iw-cli core of this branch, so no phase ran

ForgeCatchUp.scala in the installed kanon plugin expects fetchPullRequestForBranch to return Either[String, …]. The iw-cli main (#778, #780) changed the port to Either[TrackerError, …]. The fault is in the plugin, not in this issue. Every iw-cli issue fails the same way until the plugin is updated. No batch-implement.log was written; the command output ends with:

[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

When the plugin compiles again, release the issue to agent-ready through human-review.md.

Implement: needs-human Reason: batch-implement exit 1 — the kanon plugin command did not compile against the iw-cli core of this branch, so no phase ran `ForgeCatchUp.scala` in the installed kanon plugin expects `fetchPullRequestForBranch` to return `Either[String, …]`. The iw-cli `main` (#778, #780) changed the port to `Either[TrackerError, …]`. The fault is in the plugin, not in this issue. Every iw-cli issue fails the same way until the plugin is updated. No `batch-implement.log` was written; the command output ends with: ``` [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 ``` When the plugin compiles again, release the issue to `agent-ready` through `human-review.md`.
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#577
No description provided.