docs: bless the works-today iOS SpringBoard/widget workflow (#1296 PR A) - #1395
Conversation
|
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
|
Reviewed exact head ae00f90. Not ready. P1 — do not publish unverified physical-device support. website/docs/docs/commands.md says open com.apple.springboard binds SpringBoard “on a simulator or physical device today,” but #1296 explicitly lists the physical-iPhone SpringBoard snapshot and selector interaction as an unverified remaining gate; the only evidence is an iPhone simulator, whose private-AX fallback is simulator-only. Limit the claim to the validated simulator or attach physical-device evidence. P2 — add focused SkillGym coverage now. This PR publishes new agent-facing command-planning guidance and routes the skill to it, but only tests rendered strings. The repo requires a SkillGym case for planning-guidance changes; cover opening SpringBoard, fresh snapshots/localized-label discovery, the two bounded coordinate fallbacks, reopening the app, and session cleanup. The simulator workflow itself matches #1296; completed checks are green and iOS smoke is pending. No ready label. |
|
Addressed both at c70a1f7:
|
|
Re-reviewed exact head P2 — make the SkillGym contract test the workflow it documents. The case says SpringBoard labels vary and must be discovered from a fresh snapshot, yet it requires the fixed English literal All current checks are green. |
c70a1f7 to
eef27de
Compare
|
Addressed at eef27de (rebased onto latest main):
|
eef27de to
fbbcd35
Compare
|
Review at |
|
Addressed at b8366d2:
|
|
Re-review at |
cbae02a to
e102129
Compare
|
Addressed at e102129 (rebased onto main, 256887f):
|
|
Re-review at |
Live probe on iOS 26.2/Xcode 26.2 proved open com.apple.springboard already binds a driveable SpringBoard session with zero code changes: the full widget add/edit/remove flow is selector-driven from a fresh snapshot, aside from two documented coordinate fallbacks. Add a help ios-system-ui topic (and cross-links from physical-device/workflow, the skill router, and docs/commands.md) so agents can use it today, ahead of the --ui-target contract and gallery-capture fix landing.
#1296 explicitly leaves physical-iPhone SpringBoard unverified; the only evidence so far is an iPhone simulator run, whose private-AX fallback is simulator-only. Applied to both the CLI help topic and website/docs/docs/commands.md, with a link to the tracking issue. Dropped the SkillGym case from this PR per thymikee: most of that harness is being removed in #1411, so it's not worth iterating on here.
…dget #1404 added a benchmark gate requiring every Agent Workflows pointer to stay within the first 30 lines of bare `agent-device help` output. Adding ios-system-ui to that list pushed help macos to line 31. Drop the AGENT_WORKFLOWS entry; the topic stays fully reachable via its cross-references from help physical-device, help workflow's Escalate section, the agent-device skill router, and website/docs/docs/commands.md.
e102129 to
f482975
Compare
|
Rebased and simplified at f482975:
|
|
Reviewed exact head
All current checks are green; keep |
|
Re review at f482975:
|
|
Per explicit maintainer decision: skip SkillGym coverage for this PR. Accepting the gap as documented in the "SkillGym coverage — intentionally omitted" section of the PR body — treat this as a maintainer waiver rather than a blocker, given #1411 is already removing most of that harness. No further action planned on this point unless #1411's replacement coverage requirement changes that. |
Summary
First slice of #1296's delivery plan — PR A: bless the works-today SpringBoard workflow. Help/skill docs only, no product code, matching the issue's explicit re-scoping after the live simulator probe (see the issue's 2026-07-24 status update).
The probe proved on iPhone 16 sim (iOS 26.2, Xcode 26.2) that the shipping CLI, unchanged, already supports the full widget add/edit/remove flow by opening SpringBoard as the session app:
agent-device open com.apple.springboard --platform iosbinds a driveable SpringBoard session. Verified on iOS simulator only — physical-iPhone SpringBoard support is not yet verified (see iOS: first-class widget and Live Activity testing through a system UI target #1296); the CLI help topic andwebsite/docs/docs/commands.mdboth say so explicitly and link back to the issue.snapshot -i, except two coordinate fallbacks: entering edit mode, and (until the gallery capture fix in a later PR) tapping widget-gallery search-result rows, which currently return unlabeled accessibility nodes.Edit/Add Widget.Scope (4 files)
src/cli/parser/cli-help.ts— newagent-device help ios-system-uitopic with the full command-shape loop and rules; cross-linked fromhelp physical-deviceandhelp workflow's Escalate section.src/cli/parser/__tests__/cli-help-topics.test.ts—usageForCommand resolves ios-system-ui help topictest plus the physical-device-scoping assertion.skills/agent-device/SKILL.md— pointer added to the topic router.website/docs/docs/commands.md— matching section with the same physical-device scoping and issue link.Not in the top-level
Agent Workflows:list on bareagent-device help: adding it there pushedhelp macospast #1404's newly-enforced 30-line first-screen budget benchmark. The topic stays fully reachable via the cross-references above.SkillGym coverage — intentionally omitted
docs/agents/testing.mdcurrently requires a SkillGym case for command-planning-guidance changes. This PR does not include one: per explicit author direction, most of the SkillGym harness is being removed in #1411 (open, not yet merged), so iterating on a case here would be wasted work. Earlier revisions of this PR did include a sequence/adjacency-aware case (ios-system-ui-springboard-widget-add) that passed syntheticfinalOutputvalidation; it was dropped rather than run live, since the harness it depends on is slated for removal. If #1411 lands first, this PR should be rebased and covered by whatever replaces it instead.Test plan
pnpm typecheckpnpm lintpnpm format:checknpx fallow audit --base origin/main(clean)npx vitest run src/cli/parser/__tests__/cli-help-topics.test.ts src/__tests__/cli-help.test.tsnpx vitest run scripts/__tests__/help-conformance-bench.test.ts(unaffected by this change; confirms no regression)pnpm build, then manually rannode ./bin/agent-device.mjs help ios-system-uiandnode ./bin/agent-device.mjs helpto confirm the rendered topic, its cross-links, and that the first-screen output stays within the 30-line budget.