Repository navigation
[agent-cli] smoke keeps the How line when no device is bound to photograph (llp/0035 §Lifecycle smoke) - #195
Merged
Merged
Conversation
Kudo
added a commit
that referenced
this pull request
Oct 23, 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Kudo
marked this pull request as ready for review
October 29, 2026 12:24
Kudo
added a commit
that referenced
this pull request
Oct 29, 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Kudo
force-pushed
the
kudo/issue-171-smoke-probe-how
branch
from
October 29, 2026 12:37
27a89be to
3c9d47d
Compare
vonovak
approved these changes
Oct 29, 2026
…graph (llp/0035 §Lifecycle smoke) `smoke --ios --no-start` beside a hand-run dev server skipped the screenshot with "No ios device is bound to this worktree." and nothing else. The registry's refusal names the `dev` command that binds one, and the device probe kept only its first line. Closes #171 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Kudo
force-pushed
the
kudo/issue-171-smoke-probe-how
branch
from
October 29, 2026 19:06
3c9d47d to
d8e3e5d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #171.
Pitch
When
smokehas no device to photograph, it now tells you how to get one. The screenshot row used to stop at "No ios device is bound to this worktree." It now adds thedevcommand that binds a device, so the next step is on the same line.Why
smoke --ios --no-startbeside a hand-runexpo startwith the app attached skips the screenshot with one line:No ios device is bound to this worktree.The skip itself is by design.--no-startbinds nothing, and a read verb never adopts a simulator thatdevdid not bind (llp/0035 Decision 1, Contracts 2 and 3, §Lifecycle smoke). The row does not say what to run next, though. The registry's refusal carries a How line that names thedevcommand which binds a device, and the device probe ofsmokekept only the first line of the error. The boot dependency in the same file keeps the How line throughwhatAndHow. The probe was not switched to it when the binding refusal arrived in #134.How
probeDeviceinsrc/smoke/smokeAsync.tsreports the refusal throughwhatAndHowinstead offirstLine. The screenshot row now reads:The app phase's inconclusive reason quotes the same probe when nothing is attached and no device is found, so it carries the How line too. No LLP text changes.
This PR does not add an
Or:line that namesdev --ios --device <name>for the simulator the attached app runs on. That needs the target's device name on the app connection result and a sentence in llp/0035. Thestatusoutput in the issue is by design (llp/0035 §Lifecycle output: with an app connected,nextkeeps the plan's own action). The reload timeout is a separate mechanism and is not triaged here.Test Plan
smoke-test.ts:smoke --ios --no-start --no-reloadagainst a stub dev server with one Expo Go target and no binding, screenshot enabled, emptyPATH. The screenshot row isskipped, names the missing binding, and names thedevcommand. One e2e case and no unit case, per the test rules in AGENTS.md: the rule crosses a process boundary, and a unit case would mock a module of this package to repeat it.bun run typecheck,bun run lint,bun run format:check,bun run test(5685 pass),bun run build,bun run test:e2e -- smoke-test(45 pass).Verified on main
On main at 6d8c134 (2026-10-24), built fresh, the new e2e case fails with
no screenshot was taken: No ios device is bound to this worktree.and no How line. On this branch it passes.🤖 Generated with Claude Code