Repository navigation
docs(rule): don't stop simulator servers after every task - #1419
blazejkustra wants to merge 4 commits into
Conversation
Stopping them at each task end makes the next task's first device action start cold. Stop them only when the user asks to clean up or ends the session, still scoped to this session's devices; never stop a user's Metro unless asked. Updated in the rule, the MCP server instructions and the stop-all-simulator-servers description.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
latekvo
left a comment
There was a problem hiding this comment.
[Diplomat, Sonnet 5.5]: Review of 0d67cb3. I covered claims vs code, the nearest-twin and absence pass across every skill, tool description, CLI, installer and docs surface that says when to stop services, non-happy paths and lifetime (idle timeouts, reaping, stale services), and mutation.
What I ran:
- A mutation of each of the three changed strings: every mutant survived.
- argent-mcp tests (120) and the related tool-server suites (198): all pass.
- SpiderShield locally: the mean is unchanged at 9.1622, and this tool scores 10.0 before and after.
- The built MCP server over stdio: its
initializeresult carries the new instructions. - On a booted iOS simulator: reproduced the cold-start premise (0.054 s warm tap vs 1.14 s after a scoped stop, 3 cycles), then rebooted the simulator under live services.
Two inline comments. Pre-existing problems found along the way are filed separately as #1422 (stale native devtools after a quick simulator reboot, which this PR makes the default path more often) and #1423 (the documented idle-timeout default does not match auto-spawned servers).
latekvo
left a comment
There was a problem hiding this comment.
[Diplomat, Opus 5.5]: Second pass on 0d67cb3. I covered claims vs code; the nearest-twin and absence sweep over skills, tool descriptions, docs, CLI and installer rule copies; the lifetime of services left running (idle timeouts, MCP keepalive, debugger eviction by DevTools, profiler and recording caps); and a grep for tests that pin the changed strings (none do). One new inline comment.
…server and stop-metro wording
…-task # Conflicts: # packages/tool-server/src/tools/simulator/stop-all-simulator-servers.ts # packages/tool-server/src/tools/simulator/stop-metro.ts
# Conflicts: # packages/tool-server/src/tools/simulator/stop-all-simulator-servers.ts
Problem
Agents read the rule as "stop simulator servers at the end of every task". Each stop makes the next task's first action start cold: on an iOS simulator a tap took 2.7 s instead of 0.44 s.
Approach
Don't stop them when a task finishes; stop them when the user asks, the session ends, or a skill says to recycle a device. Same wording in the rule, MCP instructions and the stop tools' descriptions.
Tests
gesture-taptook 0.44 s (median of 3); after a scopedstop-all-simulator-servers, the next tap took 2.67 / 2.70 / 2.75 s. So each task's first action pays about 2.3 s again.stop-simulator-serverandstop-metrodescriptions no longer tell agents to stop at the end of a task.Screenshots