Repository navigation
refactor(apple): make runner surface policy explicit - #4251
Conversation
Size Report
Startup median (7 runs, lower is better):
|
Keep the cross-language fixture as a command-to-policy map, check it in the existing trait test, and drop the unconsumed panel-read omission reasons. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
All reported issues were addressed across 11 files
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
Apex SentinelVerdict: Since the last review: 0 new · 0 still open · 0 no longer raised No findings. Reviewed with this repository's own Sentinel configuration ( Reply under an inline comment with Earlier reviewsReview of
|
State each typed refusal once, linked to the owner or test that enforces it, while the command lists stay in the policy fixture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The code at 67d90c8 looks ready, and it keeps the existing behavior. Not blocking, and you can take or leave both: (1) the parity tests pin the command-to-policy map but not what CI is green with 17 of 17 checks passing at 67d90c8, and there are no conflicts. Nothing else must happen before merge. The live iPhone Duo evidence from d2de6a8 still covers this head, which changes only the ADR since then. |
Summary
Replace the
RUNNER_COMMAND_RESOLVES_SURFACEboolean with an explicitRunnerSurfacePolicy:none,app-windows,observed-screenandresolved-modal. TypeScript and Swift both check it against one shared fixture. The host names the lit panel forapp-windowsandobserved-screen, and the runner books an app window only forapp-windows. ADR 0025 drops the drifted command lists and keeps the typed refusal contract, one sentence per rule, each linked to its owner or test. Follow-up to #4122 and #4189; independent of #4250. 11 files, no scope expansion.Simplicity pass: the fixture is now a command→policy map. Parity is one assertion in the existing
runner-command-traits.test.tsand one SwiftXCTAssertEqual. The unconsumedunavailablepanel-read variant (three reasons, no reader) is gone. Size: +347/−70 (net +277) → +170/−61 (net +109).Validation
Head
67d90c8124:pnpm check:affected --run --headpassed,exactCommit=true, unit suite included (run-4poRjw). The ADR-only commit followsd2de6a8702, where the evidence below was taken:press 'label="Form"',fill,get text,snapshot -iandreadTextpassed in portrait, landscape-left and landscape-right.screenshot(669×951 lit panel) andrecord start/stopalso passed. iPhone 17 Pro Max single-panel snapshot and tap passed. Duo folded back; simulators shut down.CI owns coverage, integration and device lanes.
🤖 Generated with Claude Code