refactor(permission): consume structured bash payload

- require @gotgenes/pi-permission-system >=25.3.0 and read the complete local bash command from PromptPermissionDetails.payload instead of session-walking recovery
- remove the @sikongjueluo/pi-permission-shared package
- pass the triggering command unit to handlers via HandlerContext.unit in place of details.command
- add shadow-only AI judge modules for evidence projection, structured verdict requests, and prompt building, with vitest coverage
- record ADR 0004 and mark the ADR 0001 recovery mechanism superseded
- exclude pi-permission-system 25.3.0 from the pnpm minimumReleaseAge guard
This commit is contained in:
2026-08-16 23:08:45 +08:00
parent 6008c9e817
commit 1afcbd3118
29 changed files with 1540 additions and 587 deletions
+9 -31
View File
@@ -208,14 +208,10 @@ importers:
.:
dependencies:
'@gotgenes/pi-permission-system':
specifier: ^24.0.0
version: 24.0.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)
specifier: ^25.3.0
version: 25.3.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)
packages/pi-permission-ai-judge:
dependencies:
'@sikongjueluo/pi-permission-shared':
specifier: workspace:*
version: link:../pi-permission-shared
devDependencies:
'@earendil-works/pi-ai':
specifier: '*'
@@ -224,8 +220,8 @@ importers:
specifier: '*'
version: 0.84.1(ws@8.21.2)(zod@4.4.3)
'@gotgenes/pi-permission-system':
specifier: '>=20.10.0'
version: 24.0.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)
specifier: '>=25.3.0'
version: 25.3.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)
'@types/node':
specifier: ^26.0.0
version: 26.1.2
@@ -239,11 +235,8 @@ importers:
packages/pi-permission-inner-cmd:
dependencies:
'@gotgenes/pi-permission-system':
specifier: '>=24.0.0'
version: 24.0.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)
'@sikongjueluo/pi-permission-shared':
specifier: workspace:*
version: link:../pi-permission-shared
specifier: '>=25.3.0'
version: 25.3.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)
devDependencies:
'@earendil-works/pi-ai':
specifier: '*'
@@ -261,21 +254,6 @@ importers:
specifier: ^3
version: 3.2.7(@types/node@26.1.2)(jiti@2.7.0)(yaml@2.9.0)
packages/pi-permission-shared:
devDependencies:
'@earendil-works/pi-coding-agent':
specifier: '*'
version: 0.84.1(ws@8.21.2)(zod@4.4.3)
'@types/node':
specifier: ^26.0.0
version: 26.1.2
typescript:
specifier: ^5
version: 5.9.3
vitest:
specifier: ^3
version: 3.2.7(@types/node@26.1.2)(jiti@2.7.0)(yaml@2.9.0)
packages:
'@anthropic-ai/sdk@0.91.1':
@@ -583,8 +561,8 @@ packages:
'@modelcontextprotocol/sdk':
optional: true
'@gotgenes/pi-permission-system@24.0.0':
resolution: {integrity: sha512-4WncumJPPDDs8Ulrjk7qvU3kHjQSjGyZnpLx1Nu9EkxWQZQi+qvVOpGpPGbHwlXt6rg8AjvI8zSl2Aj2bo5lfA==}
'@gotgenes/pi-permission-system@25.3.0':
resolution: {integrity: sha512-L72uZOIZQE4TAv0fjFD9l1lt3QSRbo2nfmWsvZZ6JX7+o/+V6KmVP6U5KqJ4pVSTKsK3/6YgXgie5tgeTRkQlg==}
engines: {node: '>=22'}
peerDependencies:
'@earendil-works/pi-coding-agent': '>=0.79.0'
@@ -1837,7 +1815,7 @@ snapshots:
- supports-color
- utf-8-validate
'@gotgenes/pi-permission-system@24.0.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)':
'@gotgenes/pi-permission-system@25.3.0(@earendil-works/pi-coding-agent@0.84.1)(@earendil-works/pi-tui@0.84.1)':
dependencies:
'@earendil-works/pi-coding-agent': 0.84.1(ws@8.21.2)(zod@4.4.3)
'@earendil-works/pi-tui': 0.84.1