Repository navigation
Keep native CLI independent and stop on focus violations - #13
Merged
Merged
Conversation
max1874
marked this pull request as ready for review
November 5, 2026 14:45
max1874
added a commit
that referenced
this pull request
Nov 8, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
max1874
added a commit
that referenced
this pull request
Nov 9, 2026
* README: lead with what it solves and the two ways to drive it Problem table, a diagram of the loop, coding-agent setup with real output, then the built-in agent, operations, guarantees and limits as tables and lists. No behaviour claims were added or dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * README: narrower diagram that fits GitHub's column Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * README: fold in #13's CLI exit codes, agent extra and focus_check Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * README: X-ray hero replayed from a real run, real TextEdit example, machine-wide gate The Calculator GIF and sample output are replaced. The hero is drawn from one real observe/act on System Settings > Appearance; no capture of the maintainer's desktop. DESIGN.md records the verdicts behind it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Hero GIF: start on the complete state, loop the editor seamlessly, no fades GitHub and reduced-motion readers see the first frame; it was black. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Record Max's acceptance of the hero GIF 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.
The native CLI still imported the model client and Inspector, while the model Agent could record a focus steal, continue dispatching, and eventually report DONE. The CLI now has no runtime dependencies, keeps planning/Inspector behind the optional agent extra, and preserves the public Agent API through lazy import. A known focus violation stops Agent input and makes CLI act return focus_violation (exit 3), retaining the real delivery disposition even after native errors.
The existing full-task activation observer can supply Agent.focus_check; it is checked before commands, immediately before input after prediction/value preparation, and afterwards. Unavailable configured evidence also stops. The observer still covers cleanup and is the only basis for full-interval acceptance; one CLI command or endpoint inactivity makes no task-success claim. Calculator now delegates to that same owned-instance acceptance runner instead of retaining another launcher and an invalid “never foreground” endpoint check. Inspector exposes the stop reason and labels DONE as a model claim.
Remove the unoffered native increment/decrement branches, their publication and settle entries, and old acted/missing-disposition inference. Missing, contradictory or malformed action delivery replies reset the bridge and leave the mutation uncertain, without replay. Identity, process binding, AX deadlines, secure fields and dispatch locking remain in place. Choice heads and Jev text generation remain in the optional Agent layer; their decision contract was reviewed and is unchanged rather than replaced by an unmeasured policy.
Runtime evidence (artifacts outside Git at ~/AI/Artifacts/Open Computer Use Contract Cleanup):
No paid model APIs were called. Focus-fault injection was explicitly authorized as a short, disposable-app window; no foreground restoration was added.