refactor(ios-runner): drop the runner's snapshot warning text; the verdict carries every disclosure - #2834
Conversation
Size Report
Startup median (7 runs, lower is better):
|
|
Reviewed at 40e80cb. The runner no longer stamps a Not blocking: the new TS runtime and provider tests also pass on the old code, because TS already ignored Smoke Tests was still queued at review time. The known failure at This needs #2831 to merge first. |
…rdict carries every disclosure The runner rendered recovery, sparse, custom-action coverage and depth warnings into the snapshot payload's message for daemons that predate snapshotQuality. The daemon renders each of those from the structured verdict and ignores message whenever a verdict is present, and local runner adoption pairs only same-version runners, so the text had no reader. The stamped payload now forwards the underlying payload message unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…unner PR lane The deleted partial-coverage message test is replaced in the PR list by the test that pins the stamped payload leaving disclosures to the verdict. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
40e80cb to
5be2568
Compare
|
Checked on main at 5c19230: no Swift producer can emit another state today, but the type does not prevent it.
Filed #2872. It proposes a closed 🤖 Generated with Claude Code |
Summary
Stacked on #2831.
The runner stops writing its own snapshot warning text.
legacyQualityMessageandcustomActionCoverageWarningsare deleted, along with their Swift tests. The stamped payload now forwards the underlyingpayload.messageunchanged; in practice that is nil. The daemon already renders every one of these disclosures fromsnapshotQuality, and it ignoresmessagewhenever a verdict is present. Thetreebackend pin, the capability declarations, and the conformance coverage are unchanged. The host fallback for verdict-less payloads (interactor.ts) stays, because the issue scopes injected-provider compatibility out.Tests:
testStampedPayloadCarriesDisclosuresOnlyInTheVerdictreplaces the deleted message test, including its slot in theios.ymlPR list (finalchore(gates)commit).Where the issue differs from the code: the helpers were also used by tests in
RunnerTests+AXSnapshotFallback.swiftandRunnerTests+SnapshotPresentationInvariantTests.swift. The fixture app has no collapsed container, so the live check used a local Safari page with anaria-labeltab strip.6 files, +93/−143. Closes #2802.
Validation
Rebased onto
mainata913cb222. Signed macOS host lane: 240/240 at5be256801.check:affected --runis green at the stack head60e533284. The evidence below is from before the rebase.Tested at
40e80cb54.pnpm check:affected --runpassed. It fails open to the full set becauseios.ymlchanged; fallow was included.pnpm check:xctest-selectionpassed.snapshot --jsonwarningsarrays are byte-identical (cmp) for all four scenarios; they are listed below.treeandprivate-ax, on the before runner and on the after runner. It ran as a standalone driver because the full smoke E2E stops earlier, atsnapshotDepthFrontier: the host Simulator AX bridge is circuit-disabled here, which is unrelated to this change.main, the iOS lane is already red ontestAbandonedTreeCapture…andtestAlertCannotProve….code-reviewskill (high). 8 of its 9 findings are in lower stack layers. The one in this layer, "remove the host message fallback", was rejected because the issue says not to widen into injected-provider compatibility.Before/after warnings arrays
["Simulator AX snapshot unavailable (circuit-disabled); used XCTest for this app generation.","@e14 [Button] merges many labels into a single accessibility element. The app likely marks a container as accessible, …"], verdict{"state":"healthy","backend":"tree","collapsedLeafIndexes":[13]}--actions): before = after =["Custom actions were read for 12 of 117 merged elements, on-screen ones first; the remaining 105 were not read, …"]--actions,recovered/requested-backend): before = after =nullprivate-ax,recovered/deferred): before = after =["Detected an overly complex or slow accessibility tree. Fell back to the private-ax snapshot backend. …"]["This capture was cut at a backend limit, …"]🤖 Generated with Claude Code