Repository navigation
Keep verify proof small and use Playwright's bundled Chromium - #171
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Verify splits a run's files into run scratch, deleted when the run ends, and small kept proof that Repo Cleanup removes once the work lands. Simulator Lifecycle checks free space and load before device work. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…last reader Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…terministically Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…scratch Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ically Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Proof now lives and dies with its worktree, so it needs no naming, manifest, or cleanup rules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
verifynow keeps proof small and short-lived, and scripted browser checks use Playwright's own Chromium. Verification stops filling the disk with copied builds and leaked Chrome app clones.Why
On 2026-11-09 this Mac's disk hit 96% full and the load average reached 800–990, which stalled a Simulator proof.
~/.t3/artifactsheld 240 GiB of seatcommons verification evidence for closed tickets. One run alone was 57 GiB: a DerivedData copy, a source snapshot, two.appbundles, Pods, and every rerun. The actual proof was under 1% of that.executablePathand were killed on timeout. Each killed launch leaks a code-sign copy of Chrome.app under/var/folders, and 126 of them built up.verify: it said "keep failed attempts…" but never said what proof is, where it goes, or when it goes away.Changes
verify/references/web.md: scripted checks reuse the project's Playwright test when one exists, and otherwise use a library script in run scratch. They launch Playwright's bundled Chromium, with nochannelorexecutablePath. They usechannel: 'chrome'only when the check needs the real browser, such as WebMCP. They close the browser infinallyand stop on Playwright timeouts rather than being killed. Every web check records the browser and its version.verify/SKILL.md, "Keep proof, not runs":mktemp -dand is deleted when the run ends. It holds scripts, snapshots, result bundles, reruns, and any build a later run won't reuse.git rev-parse --git-path verify-proof). Git never commits it, and removing the worktree deletes it. Other runs keep it in session scratch.verify/references/ios.md, Build output:-derivedDataPathin run scratch.-resultBundlePathin run scratch.repo-cleanup: removing a worktree also removes its Xcode DerivedData, matched byWorkspacePath. Housekeeping removes DerivedData whoseWorkspacePathno longer exists.simulator-lifecycle: before acquiring a device, it checks free disk and load once, on the machine that runs the device. Below 10% free, or load above twice the CPU count, it holds device work and reports.implement: the Proof report gives the kept proof's absolute path.project-runners.mdpoints to the iOS build rules.SOURCES.mdis updated to match.Evidence
python3 scripts/check.py: exit 0 at cddd0d9.Review Fix Loop, 8 passes.
Passes 3–7 built a global proof store: an XDG root, hashed names, a
task.jsonmanifest, and cleanup rules. Each pass found new edge cases in it. The final design drops all of that and ties proof to the worktree's lifetime, as the upstream pstack verification skills do: evidence stays in a location the skill names.Dry-run trials on frozen copies, with expectations written first: 7/7, 5/5, 4/4, 6/6, and 4/4 on the final design.
git worktree removeandgit worktree pruneboth deleted the proof folder, andgit status --ignoredstayed empty.Not proven
repo-cleanupis a follow-up.Merge Danger
Two-way door: instructions only, and a revert restores the old text. No proof store exists yet, so there is nothing to migrate. Agents running under the old text keep their
~/.t3/artifactshabits until the installed skills update.🤖 Generated with Claude Code