feat(acp): Supervisor.onExit revokes system MCP token (spec §6.3)

- mcpTokens dep added to Supervisor; nil-safe (test fixtures may skip)
- RevokeBySession called after audit Record in onExit
- app.go wires mcpTokenSvc (was nil placeholder)
- Integration test: fakeSupMCPTokens verifies onExit calls RevokeBySession

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-08 12:52:25 +08:00
parent d44ffc851f
commit 702daced7d
4 changed files with 92 additions and 6 deletions
+1
View File
@@ -130,6 +130,7 @@ func TestHandler_Session_CreateAndWS_E2E(t *testing.T) {
audit.NewPostgresRecorder(pool),
disp,
nil, nil, // wtSvc/wsRepo: IsMainWorktree=true path → not called
nil, // mcpTokens
enc,
acp.SupervisorConfig{
SpawnTimeout: 5 * time.Second,