Skip to content

P192: refuse claude-ai permission questions to the user for authorized acts - #1728

Closed
trissim wants to merge 7 commits into
mainfrom
cn-phase-0/P192
Closed

trissim wants to merge 7 commits into
mainfrom
cn-phase-0/P192

Conversation

@trissim

@trissim trissim commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

P192: claude-ai kept asking the user "Want me to send...?" for acts it is authorized to take. Nothing in Core refused such a message.

What changed:

  • todos.py: one declared family, AuthorizedAct. Each member declares the words that recognise a question about its act. The members are:
    • Send, Enforce, Strike, Reassign, Fix;
    • after review: Register, Restart, Install, Merge, Kill (kill/stop), Archive, Retry (retry/clear), Start.
  • AuthorizedAct.ASKS is the one pattern for asking. It also covers "should we", "would you like me to" and "let me know if you want me to"; the last needs no question mark.
  • PermissionText is an OrderWords member that refuses with "authorized; act: [...] is yours to do, so do it and report."
  • DirectiveText.TO_USER holds the families that apply only to messages read by a human.
  • connector.py: DirectorCaller.require_directive takes the recipient from the send's target, CommandTarget.named(target).direct_names. A thread target names its thread and a channel names none. TO_USER applies only through that thread's role (role.human(...)). The registry membership probe is deleted.
  • channel_targets.py: NamedTarget declares direct_names as a typed property (no direct names); ThreadTarget overrides it with its own name.
  • tool_caller.py and tools.py: require_directive takes target for all three callers.

Questions about product meaning still reach the user.

Test: test_commander_problem_orders.py, test_claude_ai_permission_seeking_register_or_restart_to_the_user_is_refused_and_product_questions_pass. It checks:

  • these questions to user are refused and nothing is sent: "Want me to send the order?", "Should I register claude-ai on the desktop?", "Would you like me to restart the connector?";
  • "Should P174 keep the old ledger format?" is sent;
  • the same permission question sent to a unit is sent.

Both debt ratchets pass (rc 0). channel_targets.py has one type error fewer than main. Src-Budget: 94.

Main is merged in rather than rebased, because the branch is already pushed and force-pushing is not allowed.

🤖 Generated with Claude Code

trissim and others added 4 commits October 18, 2026 23:53
…rce, strike, reassign or fix is refused, authorized; act

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Src-Budget: 57
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 19, 2026 04:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

trissim and others added 3 commits October 19, 2026 00:10
…mes from the target

register, restart, install, merge, kill/stop, archive, retry/clear and start are
members; ASKS recognises should we, would you like me to and let me know if you
want me to. The registry membership probe is replaced by the target's direct names.

Src-Budget: 91
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Src-Budget: 94
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim

trissim commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

superseded by main; reopen with a rebase if still needed (P192 now lives in #1955)

@trissim trissim closed this Oct 19, 2026
@trissim
trissim deleted the cn-phase-0/P192 branch October 20, 2026 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants