@hank-warren/pi-auto-permissions 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @hank-warren/pi-auto-permissions
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ad12ad0: Rename the eval-logging prompt's block option to "Block — asking was appropriate".
8
+
9
+ Label clarity only — the schema is unchanged (`userChoice: "block"`, `expectedDecision: "ask_user"`). A block always affirms that asking was right: the guardian has no reject verdict (its non-approve outcomes are `ask_user` and `revise`), so the only true rejection in the system is the user's at this prompt. Plain "Block" from the logging-disabled prompt still classifies identically, including for override evidence.
10
+
3
11
  ## 0.6.1
4
12
 
5
13
  ### Patch Changes
package/README.md CHANGED
@@ -201,7 +201,7 @@ The path defaults to `review-evals.jsonl` beside the Auto Permissions config and
201
201
  When logging is enabled, prompted reviews offer three choices:
202
202
 
203
203
  - **Allow — asking was unnecessary** executes the command and records `userChoice: "allow_unnecessary"` with `expectedDecision: "approve"`.
204
- - **Block** remains the second choice, blocks the command, and records `userChoice: "block"` with `expectedDecision: "ask_user"`.
204
+ - **Block — asking was appropriate** remains the second choice, blocks the command, and records `userChoice: "block"` with `expectedDecision: "ask_user"`. (A block always affirms the prompt: the guardian has no reject verdict — its only non-approve outcomes are asking you or bouncing the command back to the agent as `revise` — so the only true rejection in the system is yours at this prompt.)
205
205
  - **Allow — asking was appropriate** executes the command and records `userChoice: "allow_appropriate"` with `expectedDecision: "ask_user"`.
206
206
 
207
207
  When logging is disabled, the prompt retains the normal **Allow** and **Block** choices. Prompts from Pi or other extensions are unchanged.
package/evaluation-log.ts CHANGED
@@ -5,7 +5,7 @@ import type { PermissionDecision, ReviewEvidenceRecord } from "./review.js";
5
5
  export const PROMPT_FEEDBACK_OPTIONS = {
6
6
  allowUnnecessary: "Allow — asking was unnecessary",
7
7
  allowAppropriate: "Allow — asking was appropriate",
8
- block: "Block",
8
+ block: "Block — asking was appropriate",
9
9
  } as const;
10
10
 
11
11
  export type PromptEvaluationUserChoice = "allow_unnecessary" | "allow_appropriate" | "block";
@@ -47,6 +47,10 @@ export interface PromptEvaluationRecord {
47
47
 
48
48
  export function classifyPromptChoice(choice: string | undefined): PromptChoiceClassification | undefined {
49
49
  if (choice === "Allow") return { allowsExecution: true };
50
+ // Plain "Block" is still live: the logging-disabled prompt offers
51
+ // ["Allow", "Block"]. It carries the same block semantics as the labeled
52
+ // variant so override evidence works in both prompt modes.
53
+ if (choice === "Block") return { allowsExecution: false, userChoice: "block" };
50
54
  if (choice === PROMPT_FEEDBACK_OPTIONS.allowUnnecessary) {
51
55
  return { allowsExecution: true, userChoice: "allow_unnecessary" };
52
56
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hank-warren/pi-auto-permissions",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "Fork of @ogulcancelik/pi-auto-permissions with dialog-answer user evidence: context-aware Bash permissions for Pi with automated guardian review.",
5
5
  "type": "module",
6
6
  "keywords": [