Published iw-cli-ops skill omits the workspace backend selection rule (herdr or tmux) #724

Open
opened 2026-10-06 06:37:48 +00:00 by claude · 3 comments
Member

The published iw-cli-ops skill does not say how iw selects the terminal workspace backend. A session that reads it looks for a session on a tmux socket, finds nothing where herdr holds it, and reports a live agent as dead.

kanon commit 5aa5ab1 ("docs: the session backend is a choice, tmux or herdr") added this text by hand to kanon's copies of the two skills. kanon now takes both skills unmodified from the build-iw-cli-skills output (DEVDOCS-439, built from iw-cli 110831e9 / v0.20.0), so the hand edit is gone. The text belongs in the skill source here, so that every rebuild carries it.

Add to iw-cli-ops, next to start/open/rm:

The workspace lives in one of two backends, so never probe for it in the wrong one. iw picks the backend in this order: IW_WORKSPACE_BACKEND (tmux or herdr) wins, and an unrecognised value is a loud error; else HERDR_ENV=1 selects herdr, which herdr itself sets inside its sessions; else the dashboard's workspaceBackend setting; else tmux. In short: herdr when you run inside herdr or the dashboard asks for it, tmux otherwise. No tmux variable participates in the choice, so TMUX or TMUX_TMPDIR in the environment proves nothing about where a session went. To see a workspace, ask the selected backend (herdr workspace list, tmux ls); to see the worktree, ask ./iw worktrees, which reports it either way.

And in the environment-variable list:

  • IW_WORKSPACE_BACKEND — choose the terminal workspace backend: tmux or herdr
  • IW_TMUX_SOCKET — isolate tmux to its own socket (tmux backend only)

In iw-command-creation, the intro names "tmux sessions" as a core module area; it should say "terminal workspaces".

Acceptance: a fresh build-iw-cli-skills run produces both texts, and kanon can take the output unmodified.


Type: bug
Filed from: /home/mph/ops/kanon-DEVDOCS-439 on branch DEVDOCS-439-phase-03

The published `iw-cli-ops` skill does not say how iw selects the terminal workspace backend. A session that reads it looks for a session on a tmux socket, finds nothing where herdr holds it, and reports a live agent as dead. kanon commit 5aa5ab1 ("docs: the session backend is a choice, tmux or herdr") added this text by hand to kanon's copies of the two skills. kanon now takes both skills unmodified from the `build-iw-cli-skills` output (DEVDOCS-439, built from iw-cli 110831e9 / v0.20.0), so the hand edit is gone. The text belongs in the skill source here, so that every rebuild carries it. Add to `iw-cli-ops`, next to `start`/`open`/`rm`: > **The workspace lives in one of two backends, so never probe for it in the wrong one.** iw picks the backend in this order: `IW_WORKSPACE_BACKEND` (`tmux` or `herdr`) wins, and an unrecognised value is a loud error; else `HERDR_ENV=1` selects herdr, which herdr itself sets inside its sessions; else the dashboard's `workspaceBackend` setting; else tmux. In short: **herdr when you run inside herdr or the dashboard asks for it, tmux otherwise.** No tmux variable participates in the choice, so `TMUX` or `TMUX_TMPDIR` in the environment proves nothing about where a session went. To see a workspace, ask the selected backend (`herdr workspace list`, `tmux ls`); to see the worktree, ask `./iw worktrees`, which reports it either way. And in the environment-variable list: - `IW_WORKSPACE_BACKEND` — choose the terminal workspace backend: `tmux` or `herdr` - `IW_TMUX_SOCKET` — isolate tmux to its own socket (tmux backend only) In `iw-command-creation`, the intro names "tmux sessions" as a core module area; it should say "terminal workspaces". Acceptance: a fresh `build-iw-cli-skills` run produces both texts, and kanon can take the output unmodified. --- **Type:** bug **Filed from:** `/home/mph/ops/kanon-DEVDOCS-439` on branch `DEVDOCS-439-phase-03`
Author
Member

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

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

Implement: needs-human
Reason: batch-implement exit 1 — the kanon plugin does not compile against the iw-cli core on current main (ForgeCatchUp.scala expects Either[String, …] from fetchPullRequestForBranch; core now returns Either[TrackerError, …]). No phase ran, and batch-implement.log was not written. These are the last lines of the command output:

[warn]  Using directives detected in multiple files:
- /home/mph/.local/share/iw/plugins/kanon/lib/deps.scala:1:1-7:41
It is recommended to keep them centralized in the /home/mph/Devel/iw/iw-cli-IW-724/core/project.scala file.

[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
Implement: needs-human Reason: batch-implement exit 1 — the kanon plugin does not compile against the iw-cli core on current main (ForgeCatchUp.scala expects Either[String, …] from fetchPullRequestForBranch; core now returns Either[TrackerError, …]). No phase ran, and batch-implement.log was not written. These are the last lines of the command output: ``` [warn] Using directives detected in multiple files: - /home/mph/.local/share/iw/plugins/kanon/lib/deps.scala:1:1-7:41 It is recommended to keep them centralized in the /home/mph/Devel/iw/iw-cli-IW-724/core/project.scala file. [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 ```
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#724
No description provided.