Repository navigation
fix: scheduled and relayed prompts go through the prompt gate - #47
Merged
Merged
Conversation
3 of 4 tasks
…d-relayed-prompts * origin/next: fix: say when the store stops saving (#46) fix: check records read back from the store value by value (#45) fix: a question shows an agent's name only when it is a plain one (#44) docs: say the store's records are keyed by the full session id (#43) chore: release 1.1.3 (#57) docs: checked against Claude Code 2.1.316, and its resume warning (#52) fix: the guard never submits a prompt, and Cancel no longer doubles it (#56) docs: date 1.1.2 to the day it was released (#55) chore: release 1.1.2 (#53) # Conflicts: # TESTING.md
rbartoli
added a commit
that referenced
this pull request
Oct 31, 2026
…near-limit * origin/next: fix: scheduled and relayed prompts go through the prompt gate (#47) fix: say when the store stops saving (#46) fix: check records read back from the store value by value (#45) fix: a question shows an agent's name only when it is a plain one (#44) docs: say the store's records are keyed by the full session id (#43) chore: release 1.1.3 (#57) docs: checked against Claude Code 2.1.316, and its resume warning (#52) fix: the guard never submits a prompt, and Cancel no longer doubles it (#56) docs: date 1.1.2 to the day it was released (#55) chore: release 1.1.2 (#53) # Conflicts: # TESTING.md
rbartoli
added a commit
that referenced
this pull request
Oct 31, 2026
* origin/next: feat: from 95%, wakeups and scheduled jobs are refused (#48) fix: scheduled and relayed prompts go through the prompt gate (#47) fix: say when the store stops saving (#46) fix: check records read back from the store value by value (#45) fix: a question shows an agent's name only when it is a plain one (#44) docs: say the store's records are keyed by the full session id (#43) chore: release 1.1.3 (#57) docs: checked against Claude Code 2.1.316, and its resume warning (#52) fix: the guard never submits a prompt, and Cancel no longer doubles it (#56) docs: date 1.1.2 to the day it was released (#55) chore: release 1.1.2 (#53) # Conflicts: # TESTING.md
rbartoli
added a commit
that referenced
this pull request
Oct 31, 2026
…side-caps * origin/next: feat: the burn rule looks at time to empty (#49) feat: from 95%, wakeups and scheduled jobs are refused (#48) fix: scheduled and relayed prompts go through the prompt gate (#47) fix: say when the store stops saving (#46) fix: check records read back from the store value by value (#45) fix: a question shows an agent's name only when it is a plain one (#44) docs: say the store's records are keyed by the full session id (#43) chore: release 1.1.3 (#57) docs: checked against Claude Code 2.1.316, and its resume warning (#52) fix: the guard never submits a prompt, and Cancel no longer doubles it (#56) docs: date 1.1.2 to the day it was released (#55) chore: release 1.1.2 (#53) # Conflicts: # TESTING.md
rbartoli
added a commit
that referenced
this pull request
Oct 31, 2026
* origin/next: feat: Haiku agents stay out of the running and starts limits (#50) feat: the burn rule looks at time to empty (#49) feat: from 95%, wakeups and scheduled jobs are refused (#48) fix: scheduled and relayed prompts go through the prompt gate (#47) fix: say when the store stops saving (#46) fix: check records read back from the store value by value (#45) fix: a question shows an agent's name only when it is a plain one (#44) docs: say the store's records are keyed by the full session id (#43) chore: release 1.1.3 (#57) docs: checked against Claude Code 2.1.316, and its resume warning (#52) fix: the guard never submits a prompt, and Cancel no longer doubles it (#56) docs: date 1.1.2 to the day it was released (#55) chore: release 1.1.2 (#53) # Conflicts: # TESTING.md # hooks/register.ts
rbartoli
added a commit
that referenced
this pull request
Oct 31, 2026
* origin/next: feat: /agent-guard simulate shows what a rule does (#51) feat: Haiku agents stay out of the running and starts limits (#50) feat: the burn rule looks at time to empty (#49) feat: from 95%, wakeups and scheduled jobs are refused (#48) fix: scheduled and relayed prompts go through the prompt gate (#47) fix: say when the store stops saving (#46) fix: check records read back from the store value by value (#45) fix: a question shows an agent's name only when it is a plain one (#44) docs: say the store's records are keyed by the full session id (#43) chore: release 1.1.3 (#57) docs: checked against Claude Code 2.1.316, and its resume warning (#52) fix: the guard never submits a prompt, and Cancel no longer doubles it (#56) docs: date 1.1.2 to the day it was released (#55) chore: release 1.1.2 (#53) # Conflicts: # TESTING.md # core/index.ts # hooks/register.ts
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.
This is L4 from the 2026-10-24 security review.
sourceOfmapped every origin other thancomposer,bridgeandsdktoother, and the prompt gate letsotherthrough untouched. That left these prompts unchecked:scheduled-trigger: a schedule, routine or/loopfiring;channel: a message an MCP server relays from Slack, Telegram and the like, which anyone who can post in that channel can send;slack-ping.So a
/loopon a 520k-token session re-read the whole context on every firing, without a question, and a relayed message could do the same. Inside those turns the agent and tool gates still applied.Changes
headless, so the prompt gate holds a heavy prompt with the reason, and a dormant heavy one counts against the machine-wide cap, as inclaude -p. There is nobody at the keyboard to answer, so they are never asked, even in an interactive session.fromPerson()(composer,bridge,sdk) decides who may lift limits, by bracket marker or by/agent-guard allow. Without it, the move toheadlesswould have let a channel message reading[allow-usage-guard]lift every limit. A test pins that.Test plan
claude plugin test .on 2.1.310: 105 pass. Withhooks/register.tsstashed, the hold test fails. The marker test passes either way and guards against that regression.claude plugin validate . --strictandtscare clean