Repository navigation
Make Footwork actions verifiable and recover scoped native appends after restart - #1
Merged
Merged
Conversation
…en_locked, and the posture refuses every delivery; G4 inconclusive (the screen locked mid-run and the harness pressed keys for 25 steps against it) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…ified-pass column is no longer 0 on every arm (Q17) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
….69, −0.01]) but cost 4 verified passes with no-fact refusals up; the delivery guardrail caught a false not_delivered on select_dropdown; the input fix moved verified passes 121 to 137 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…s change event confirms a dropdown or input step (Q12b's false not_delivered on every working sort); package D summary Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…ied values, save readback, locked-screen stop) and D's receipt fixes Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
… owner's draft Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
… 6 of 6 (Q17: 0 of 6); the readback polls up to 3 s before calling a save partial Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…re the rerun Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…arly reads; the receipts were true and sent the driver to File > Save; 6 of 6 verified again Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…ifies 148 against 137 with no false completion, but the primary's interval includes zero; not adopted on this run; V1 held Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…ion rule) and Q11b (the narrow declaration on live-dev) pre-registered Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…w-rust-year on both arms, whose predicate (2015) disagrees with Wikipedia's current infobox (2012) that both arms quoted; the stale oracle is the owner's call Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…ooled through no-fact refusals (91 against 68) with predicate passes unchanged; not adopted Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…ur source gaps (CLI judge wiring for key and Enter, unbound effect on a raised dispatch, screenshots before scrubbing, strict claim asides); Rust oracle erratum recommended Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
… judge through footwork do; a raised dispatch ends in a named refusal; the browser judges Enter like a click; no screenshot while a secret is held; strict claims check facts inside asides Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…arms quoted): Q16b regrades to 20 against 22 of 24 with no false completions, decision unchanged; Q17 corrected to six tasks Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
… facts are elsewhere on the page, before the audit set exists Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…wrong product, wrong field, wrong task, unsupported qualification, fact in an aside, wrong year on the page, order not placed), scored by the claim check and the full verifier in both modes; labels committed before scoring Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…hanged) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
… either mode; strict halves false rejections (6/8 to 3/8); the claim check alone is weak as the audit said (V2 failed); V3 predicts two strict-mode verifier fixes, before making them Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…ies only to tasks that ask for an answer; claims audit false rejection 3/8 to 2/8 with false acceptance 0/10 (V3 failed its threshold; A4's remaining refusal is an absence without a trajectory) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…lue landed once, at the end, with the earlier content intact, and name the failure otherwise; start clears carries and snapshots; pilot uses both Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…not its value is still exported or long enough to scrub (secondary audit, second round) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…on, carry, snapshot, receipts, file before and after, recovery), a duplicate variant; G7 before running Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
…a traceback; the pilot stops at its first failed step; G7's first run kept as evidence of both defects Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015SXfQdX2QiRjY8NkxiQS5H
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 678443eb71
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
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.
Agents can lose an action reply after native input has already been delivered. This change makes the scoped TextEdit append recoverable from a qualified, operation-bound execution receipt, while keeping missing receipts unknown and refusing automatic replay. Exact field content, geometry and resource identity remain checked at the final input boundary.
This is the combined unpublished Footwork development branch. It includes the four-tool capability MCP slice, Jev decision and evaluation infrastructure, bounded browser inspection tools, and the recorded architecture/reference research and experiments. Much of the diff is frozen research evidence; failed and inconclusive runs retain their original conclusions. A merge commit preserves preregistration chronology and source hashes.
The capability slice binds a trusted loopback source and a selected native destination. A detached one-action worker separates execution from the caller transport; private immutable records, write-ahead admission and operation binding let read-only status recover qualified historical completion. Fresh document agreement remains a separate observation. Repeated tokens and status never launch another append.
Independent review and repository bot review reproduced and remediated stale field/save evidence, Unicode receipt corruption, false submission authority from query navigation, and loss of exact field/resource preconditions during live native dispatch. Completion now expires current-state evidence after potentially delivered same-source inputs. Ordinary query navigation supplies no submission acknowledgement, so completion remains blocked where that acknowledgement is required. Browser capture now redacts short opaque URL credentials and retains only documented inventory counters. Frozen visual fixtures are validated against authored hashes across platforms; Mac-only probes remain isolated while portable checks continue on Linux.
Validation:
Evidence:
jevdual/results/pr-review-remediation-20261010/. Reference mechanisms and exact local repository revisions:jevdual/docs/plans/reference-restart-reconciliation-20261010.mdandreference-capability-build-20261009.md.The native qualification covers the selected TextEdit AX route and process interruption. It does not establish disk-save durability, power-loss recovery, arbitrary-app support, exactly-once GUI execution or general installation readiness. No provider defaults or deployment are changed by this PR. Footwork remains MIT; dependency licenses continue to apply.