fix(athena): deny athena_council tool for council members as defense-in-depth
Already denied via agent-tool-restrictions.ts for all athena sessions, but now also explicitly denied in the per-launch permission to make the anti-recursion intent clear at the launch site.
This commit is contained in:
@@ -68,7 +68,7 @@ describe("executeCouncil", () => {
|
||||
for (const launch of launches) {
|
||||
expect(launch.prompt).toBe(expectedPrompt)
|
||||
expect(launch.agent).toBe("athena")
|
||||
expect(launch.permission).toEqual({ write: "deny", edit: "deny", task: "deny" })
|
||||
expect(launch.permission).toEqual({ write: "deny", edit: "deny", task: "deny", athena_council: "deny" })
|
||||
}
|
||||
|
||||
expect(launches[0]?.model).toEqual({ providerID: "openai", modelID: "gpt-5.3-codex" })
|
||||
|
||||
@@ -72,7 +72,7 @@ async function launchMember(
|
||||
throw new Error(`Invalid model string: "${member.model}"`)
|
||||
}
|
||||
|
||||
const restrictions = createAgentToolRestrictions(["write", "edit", "task"])
|
||||
const restrictions = createAgentToolRestrictions(["write", "edit", "task", "athena_council"])
|
||||
const memberName = member.name ?? member.model
|
||||
return launcher.launch({
|
||||
description: `Council member: ${memberName}`,
|
||||
|
||||
Reference in New Issue
Block a user