feat(FN-4488): complete Step 7 — docs and changeset
Fusion-Task-Id: FN-4488 Fusion-Task-Lineage: 3fc1ac43-490f-43f2-a27e-4fdceb64d9c4
This commit is contained in:
5
.changeset/fn-4488-agent-permission-policies.md
Normal file
5
.changeset/fn-4488-agent-permission-policies.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@runfusion/fusion": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Add editable agent permission policies with project defaults and per-agent overrides, including per-category action-gate dispositions across git writes, file writes/deletes, command execution, network/API, and task/agent mutation.
|
||||||
@@ -1402,3 +1402,24 @@ POST /api/agents/:id/ratings
|
|||||||
- [Workflow Steps](./workflow-steps.md)
|
- [Workflow Steps](./workflow-steps.md)
|
||||||
- [Settings Reference](./settings-reference.md)
|
- [Settings Reference](./settings-reference.md)
|
||||||
- [Architecture](./architecture.md)
|
- [Architecture](./architecture.md)
|
||||||
|
|
||||||
|
## Permission Policies
|
||||||
|
|
||||||
|
Permanent-agent sensitive actions are gated across five categories:
|
||||||
|
- `git_write`
|
||||||
|
- `file_write_delete`
|
||||||
|
- `command_execution`
|
||||||
|
- `network_api`
|
||||||
|
- `task_agent_mutation`
|
||||||
|
|
||||||
|
Each category can be set to one disposition:
|
||||||
|
- `allow`
|
||||||
|
- `require-approval`
|
||||||
|
- `block`
|
||||||
|
|
||||||
|
Precedence:
|
||||||
|
1. Per-agent permission policy override (Agent Detail → Settings → Permissions)
|
||||||
|
2. Project default permission policy (`defaultAgentPermissionPolicy` in Project Settings → Agent Permissions)
|
||||||
|
3. Built-in fallback preset (`unrestricted` / allow-all)
|
||||||
|
|
||||||
|
Per-agent rows can inherit project defaults category-by-category.
|
||||||
|
|||||||
@@ -1144,3 +1144,25 @@ Fusion supports scoped automations and routines:
|
|||||||
**Settings that interact with scheduling:**
|
**Settings that interact with scheduling:**
|
||||||
- `autoBackupEnabled` / `autoBackupSchedule` — Backup automation respects scope like any other scheduled task.
|
- `autoBackupEnabled` / `autoBackupSchedule` — Backup automation respects scope like any other scheduled task.
|
||||||
- `insightExtractionEnabled` / `insightExtractionSchedule` — Insight extraction can be configured as global or project-scoped.
|
- `insightExtractionEnabled` / `insightExtractionSchedule` — Insight extraction can be configured as global or project-scoped.
|
||||||
|
|
||||||
|
### `defaultAgentPermissionPolicy`
|
||||||
|
|
||||||
|
Project-scoped default permission policy for permanent-agent action gates.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"defaultAgentPermissionPolicy": {
|
||||||
|
"rules": {
|
||||||
|
"git_write": "require-approval",
|
||||||
|
"command_execution": "require-approval",
|
||||||
|
"network_api": "block"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- `rules` is a partial map of category → disposition.
|
||||||
|
- Categories: `git_write`, `file_write_delete`, `command_execution`, `network_api`, `task_agent_mutation`.
|
||||||
|
- Dispositions: `allow`, `require-approval`, `block`.
|
||||||
|
- Missing categories default to `allow` via the built-in `unrestricted` seed.
|
||||||
|
- Per-agent overrides take precedence over this project default.
|
||||||
|
|||||||
Reference in New Issue
Block a user