Repository navigation
Enforce deny-all tool scope for ACP teachers - #756
Merged
Merged
Conversation
Honor wildcard denials for advertised and fabricated tools, and prevent automatic specialists from bypassing the run scope. Advertise the ACP scope capability so Noda can reject unsafe older helpers for F-0457. Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Let clients require actual process-level enforcement before creating a teaching session, rather than accepting capability support alone. Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
igorcosta
marked this pull request as ready for review
November 12, 2026 10:32
This was referenced Nov 12, 2026
igorcosta
added a commit
that referenced
this pull request
Nov 12, 2026
Prepare Autohand Code 0.9.11 with the accumulated CLI reliability fixes and reviewed ACP deny-all enforcement. - Preserve terminal drafts and session readiness, recover healthy history, and avoid replay after capacity failures. - Return bounded delegated work as explicit partial results, retain configured model/reasoning choices, and preserve Code Mode images and permission boundaries. - Repair ACP follow-up elicitation, completion capture-budget handling, patch authorization, provider compatibility/deadlines, encoded paths, and packed Git runtime identities. - Include the reviewed #756 scope guard alongside the existing Keenable and OpenAI retry integrations. - Update package, legacy formula, changelog and curated release notes to 0.9.11; retain production archive checksum generation in the release pipeline. Validation: `bun run proof` passed on the exact candidate: 14,284 unit tests and 577 terminal tests. Lint, typecheck and build passed. Existing/platform skips: 81 unit and 3 terminal. Bun 1.4.2, Node 24, two isolated terminal workers. The 151 frozen input hashes and all published Git blob hashes were verified. The original recovered WIP snapshot and unrelated feature branches remain preserved. Historical Cloud safety verdicts and reports lacking incident/configuration evidence are not represented as resolved. Fixes #755. Fixes #754. Fixes #706. Fixes #700. Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
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.
Noda sends structured teaching prompts to ACP with tools refused. Dataset text mentioning tests or a team can still trigger automatic CLI specialist preparation, and the existing bare
*run-tool denial matches a literal tool name rather than all tools.Apply bare wildcard denials to tool advertising and concrete calls, and prevent automatic specialist preparation from bypassing the run scope. The ACP handshake reports whether this process actually activated deny-all enforcement, so Noda can reject incompatible or unconstrained helpers before creating a session.
Validation on fixed head
4a0cfd72b37104eaa2a361c5d3aa835c01d227b0:proof:unitpasses lint, typecheck and all13,975 active tests/975 files (80 tests and6 files skipped), 492.15 seconds. Earlier reported local failures do not reproduce in this run; their root cause is not claimed established.Counterpart: https://github.com/autohandai/noda-app/pull/2
Release hold: this requires an approved CLI release, followed by updating the Noda helper pin/checksum and rebuilding Noda. No version bump, tag, merge, installation, deployment or release was performed. Provider authentication remains a separate user connection; no personal credentials were read or changed during verification. The separate 12 Nov generic session/new failure is not claimed resolved. F-0457.