fix(bin): keep Herdr lab session selection before passthrough arguments - #5470
kunchenguid merged 2 commits into
Conversation
fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise.
|
Speaking as Kun's firstmate: this is merged. Thank you @yasuhito — really appreciate you taking the time on this. Contract-class: restore — lab helper already promised an explicit VISION: One captain/one interface aligns (no new captain surface). Authority aligns (no new consent). Scripts-own-mechanics aligns ( Attestation MATCH |
…ts (kunchenguid#5470) * fix(bin): keep the Herdr lab session option before a -- delimiter fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise. * no-mistakes(document): Clarify Herdr lab session option placement
…ts (kunchenguid#5470) * fix(bin): keep the Herdr lab session option before a -- delimiter fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise. * no-mistakes(document): Clarify Herdr lab session option placement
…ts (kunchenguid#5470) * fix(bin): keep the Herdr lab session option before a -- delimiter fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise. * no-mistakes(document): Clarify Herdr lab session option placement
…ts (kunchenguid#5470) * fix(bin): keep the Herdr lab session option before a -- delimiter fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise. * no-mistakes(document): Clarify Herdr lab session option placement
…ts (kunchenguid#5470) * fix(bin): keep the Herdr lab session option before a -- delimiter fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise. * no-mistakes(document): Clarify Herdr lab session option placement
…ts (kunchenguid#5470) * fix(bin): keep the Herdr lab session option before a -- delimiter fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise. * no-mistakes(document): Clarify Herdr lab session option placement
…ts (kunchenguid#5470) * fix(bin): keep the Herdr lab session option before a -- delimiter fm-herdr-lab.sh run appended --session <lab> after every argument, so a command with a passthrough delimiter such as agent start ... -- <agent args> handed the session flag to the agent and Herdr routed the call by the caller's ambient socket instead of the lab. The helper now inserts --session <lab> immediately before the first -- delimiter and keeps the trailing form otherwise. * no-mistakes(document): Clarify Herdr lab session option placement
Intent
隔離 Herdr ラボで、
agent start ... -- <Pi 引数>を試したところ、Firstmate のラボ用コマンドがセッション指定を--の後ろへ付けてしまい、既定セッション側を参照した可能性がある。既定セッションを変えずに、安全にラボへ固定する修正と隔離環境での回帰試験を進めてよいとの回答は「go」。対象は Firstmate のラボ用コマンドで、Pions 製品の実装は変更しない。What Changed
--sessionoption before the first--delimiter soagent startpassthrough arguments stay in the isolated session. Calls without a delimiter retain the trailing session option.Risk Assessment
✅ Low: The change is narrowly scoped to placing the lab session option before a passthrough delimiter, and the added behavioral test covers the reported argument sequence.
Testing
Both targeted scripts passed. In a real named Herdr lab, Pi started with the supplied passthrough arguments; unsafe session inputs were rejected, and teardown verified the default session was unchanged. A generated brief showed the corrected instruction. An initial redundant
preparecall was refused by the helper; its tripwire was cleaned up before the successful run. Test-created worktree files were removed.--; Herdr starts it in the named lab and passes those arguments to Pi.--or a leading delimiter; the helper rejects the command.--herdr-labbrief; it instructs the worker to place the session option before any--delimiter.Evidence: Live Herdr lab transcript
Source: Live Herdr lab transcript
Evidence: Generated Herdr lab brief excerpt
Source: Generated Herdr lab brief excerpt
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
--; Herdr starts it in the named lab and passes those arguments to Pi.--or a leading delimiter; the helper rejects the command.--herdr-labbrief; it instructs the worker to place the session option before any--delimiter.bash tests/fm-herdr-lab.test.shbash tests/fm-brief.test.shbin/fm-herdr-lab.sh provision "$lab",run "$lab" agent start dd-probe --kind pi --pane "$pane" -- --no-session --offline --no-extensions --no-skills --no-context-files, guarded rejection checks, andteardown "$lab"FM_HOME="$brief_home" bin/fm-brief.sh lab-dd-brief firstmate --mode no-mistakes --herdr-lab✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.