Skip to content

docs: fix stale platforms/ios paths after Apple consolidation (#968) + remaining-work plan#969

Merged
thymikee merged 1 commit into
mainfrom
apple-consolidation-followups
Jul 1, 2026
Merged

docs: fix stale platforms/ios paths after Apple consolidation (#968) + remaining-work plan#969
thymikee merged 1 commit into
mainfrom
apple-consolidation-followups

Conversation

@thymikee

Copy link
Copy Markdown
Member

Summary

Post-#968 (Apple platform consolidation) follow-up: doc/config path fixes, live runner validation, and the decomposed plan for the remaining Phase 3 work.

1. Stale path fixes (the code change here)

#968 moved the OS-agnostic Apple runner engine from src/platforms/ios/ to src/platforms/apple/core/, but several docs/config still pointed at the old locations (actively misleading to agents grepping those paths):

  • AGENTS.md — repointed the runner-seam map, the Apple-family sync rule, the record/trace seam, the search-roots hint, and the platform-backends list at src/platforms/apple/core/...; renamed "iOS Runner Seams" → "Apple Runner Seams".
  • .fallowrc.json — dropped the two stale ignoreExports entries for the removed src/platforms/ios/{apps,index}.ts (the live src/platforms/apple/core/apps.ts entry already covers those test-only exports).
  • ios-runner/{README,RUNNER_PROTOCOL}.md — pointed the TypeScript-client links at src/platforms/apple/core/runner/runner-client.ts.

Docs/config only; no behavior change. fallow audit, tsc, oxlint --deny-warnings, and rslib build stay green.

2. Live runner validation

Ran the full iOS simulator replay suite on a booted iPhone 17 Pro (building the runner fresh): 6/6 passed in 160s01-settings, 02-deep-navigation, 03-scroll-discovery, 04-text-input-keyboard, 05-app-lifecycle, 06-swipe-gestures. Confirms the consolidated Apple runner works live across tap/scroll/type/swipe/lifecycle. (This is the live smoke replay the plan now relies on after the request-count CI gate was removed.)

3. My #968 review follow-ups — already resolved in the merge

Items 3–5 from the review are addressed in the merged #968: the existing iOS/tvOS/macOS disallowed SDK lists do not contain xros/xrsimulator (only the new visionOS row does); the device.ts visionOS comment is accurate; and apple/core no longer imports backward through ios/ shims (the shims are deleted, imports point at siblings).

Remaining Phase 3 work (plan — needs issues filed)

The remaining work from plans/phase3-platform-plugin-progress.md decomposes into the units below. I have full agent-ready bodies for each but could not auto-file them as GitHub issues (blocked by the external-write guard — needs your OK). Once filed, plans/phase3-platform-plugin-progress.md can be removed (its content lives in the issues + perfect-shape.md §5–7 + ADR-0009).

Sequencing (→ = blocked by):

b.2 ─┬─> d.5
b.3 ─┴─> d.1 ──┐
d.2 ───────────┤
d.4 ───────────┼─> d.3 (LAST: public Platform collapse ios/macos→apple)
d.5 ───────────┘
cleanup-tests / cosmetic-rename  (independent)
Unit Summary Label Blocked by
b.2 Relocate supports()/unsupportedHint() Apple closures onto plugin.capability.supportsByDefault (parity-gated) ready-for-agent
b.3 Platform-neutral daemon facets providers/recording/appLog/perf (4-way fan-out, each parity-gated) ready-for-agent
d.1 Relocate plugin + interactor + interactions.ts under platforms/apple ready-for-agent b.3
d.2 Promote tvOS to an explicit Apple-OS leaf (preserve focus-only/UNSUPPORTED-tap) ready-for-agent
d.4 watchOS unsupported sentinel ready-for-agent
d.5 Per-AppleOS capability tables ready-for-agent b.2
d.3 Final public Platform collapse ios/macosapple (~59 macOS + 47 isApplePlatform sites) ready-for-human b.2,b.3,d.1,d.2,d.5
cleanup Relocate the 18 Apple unit tests out of platforms/ios/__tests__ (+ split index.test.ts, move recording-scripts.test.ts) ready-for-agent
cosmetic Rename ios-runnerapple-runner + runIosRunnerCommand/createIosRunnerCachePrewarmOnColdBoot backlog

Discipline (perfect-shape §7): every derived table/closure is pinned by a table-/closure-equivalence parity test across src/__tests__/test-utils/device-fixtures.ts before any hand site is deleted; do not flatten the leaves (two-finger XCTest synthesis, tvOS focus-only, AppKit macOS helper).

Post-#968 follow-up: the OS-agnostic Apple runner engine moved from
src/platforms/ios/ to src/platforms/apple/core/, but several docs/config still
pointed at the old locations, misleading agents that grep those paths.

- AGENTS.md: repoint the runner-seam map, the Apple-family sync rule, the
  record/trace seam, the search-roots hint, and the platform-backends list at
  src/platforms/apple/core/...; rename "iOS Runner Seams" -> "Apple Runner Seams".
- .fallowrc.json: drop the two stale ignoreExports entries for the removed
  src/platforms/ios/apps.ts and src/platforms/ios/index.ts (the live
  src/platforms/apple/core/apps.ts entry already covers those test-only exports).
- ios-runner/{README,RUNNER_PROTOCOL}.md: point the TypeScript-client links at
  src/platforms/apple/core/runner/runner-client.ts.

Docs/config only; no behavior change. fallow audit + build/lint stay green, and a
live iOS simulator replay suite (6/6) confirms the consolidated runner works.
@github-actions

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
JS raw 1.4 MB 1.4 MB 0 B
JS gzip 450.4 kB 450.4 kB 0 B
npm tarball 549.7 kB 549.7 kB 0 B
npm unpacked 1.9 MB 1.9 MB 0 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 27.8 ms 27.7 ms -0.1 ms
CLI --help 48.1 ms 49.3 ms +1.2 ms

Top changed chunks: no changes in the largest emitted chunks.

@thymikee

Copy link
Copy Markdown
Member Author

Review pass for head ddd6a1f found no actionable blockers.

Checked against ADR-0009 and the Phase 3 platform-plugin plan: the PR only updates stale docs/config paths after #968, keeps the remaining Apple work explicitly sequenced, and does not claim the public Platform collapse or deferred Apple leaf work is done. The replacement runner/device/app paths exist under src/platforms/apple/core, and the removed fallow ignores target src/platforms/ios files that no longer exist on main. All 21 reported checks are green, and the PR body includes live iOS simulator replay evidence for the relocated runner path.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Jun 30, 2026
@thymikee thymikee merged commit 3df1e14 into main Jul 1, 2026
21 checks passed
@thymikee thymikee deleted the apple-consolidation-followups branch July 1, 2026 05:24
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-07-01 05:24 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant