diff --git a/.opencode/agents/agent-evolution-pool-supervisor.md b/.opencode/agents/agent-evolution-pool-supervisor.md index 05c4c1035..9b8c9ee4b 100644 --- a/.opencode/agents/agent-evolution-pool-supervisor.md +++ b/.opencode/agents/agent-evolution-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: "#E74C3C" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/agent-evolution-worker.md b/.opencode/agents/agent-evolution-worker.md index 2ba3099bb..ba98f319c 100644 --- a/.opencode/agents/agent-evolution-worker.md +++ b/.opencode/agents/agent-evolution-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/agent-prefix-info.md b/.opencode/agents/agent-prefix-info.md index f4d6723ad..baacaec98 100644 --- a/.opencode/agents/agent-prefix-info.md +++ b/.opencode/agents/agent-prefix-info.md @@ -11,6 +11,9 @@ hidden: true temperature: 0.1 model: anthropic/claude-haiku-4-5 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/agent-type-info.md b/.opencode/agents/agent-type-info.md index b0e314d24..566ce6c0d 100644 --- a/.opencode/agents/agent-type-info.md +++ b/.opencode/agents/agent-type-info.md @@ -9,6 +9,9 @@ hidden: true temperature: 0.0 model: openai/gpt-5-nano permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/architecture-guard-pool-supervisor.md b/.opencode/agents/architecture-guard-pool-supervisor.md index be355870a..ae02cff7f 100644 --- a/.opencode/agents/architecture-guard-pool-supervisor.md +++ b/.opencode/agents/architecture-guard-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.1 model: google/gemini-2.5-pro color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/architecture-guard-worker.md b/.opencode/agents/architecture-guard-worker.md index 864ab34d7..a3fb678f5 100644 --- a/.opencode/agents/architecture-guard-worker.md +++ b/.opencode/agents/architecture-guard-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.1 model: google/gemini-2.5-pro permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/architecture-pool-supervisor.md b/.opencode/agents/architecture-pool-supervisor.md index b3f9c17e4..e1e6e1be3 100644 --- a/.opencode/agents/architecture-pool-supervisor.md +++ b/.opencode/agents/architecture-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.3 model: anthropic/claude-sonnet-4-6 color: primary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/architecture-worker.md b/.opencode/agents/architecture-worker.md index e27d57783..1e81b6e01 100644 --- a/.opencode/agents/architecture-worker.md +++ b/.opencode/agents/architecture-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.3 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/asv-benchmarker.md b/.opencode/agents/asv-benchmarker.md index 8ae8148e4..1fa1bd5bf 100644 --- a/.opencode/agents/asv-benchmarker.md +++ b/.opencode/agents/asv-benchmarker.md @@ -8,6 +8,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: success permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/async-agent-cleanup-all.md b/.opencode/agents/async-agent-cleanup-all.md index 91e5c9214..d1eacc4d4 100644 --- a/.opencode/agents/async-agent-cleanup-all.md +++ b/.opencode/agents/async-agent-cleanup-all.md @@ -8,6 +8,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#DC2626" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/async-agent-cleanup.md b/.opencode/agents/async-agent-cleanup.md index 604a0bc30..13c4b6c5e 100644 --- a/.opencode/agents/async-agent-cleanup.md +++ b/.opencode/agents/async-agent-cleanup.md @@ -8,6 +8,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#DC2626" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/async-agent-manager.md b/.opencode/agents/async-agent-manager.md index de7cf168b..8c63ad510 100644 --- a/.opencode/agents/async-agent-manager.md +++ b/.opencode/agents/async-agent-manager.md @@ -10,6 +10,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#DC2626" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/async-agent-monitor.md b/.opencode/agents/async-agent-monitor.md index b19855729..402beaddd 100644 --- a/.opencode/agents/async-agent-monitor.md +++ b/.opencode/agents/async-agent-monitor.md @@ -9,6 +9,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#DC2626" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/automation-tracking-manager.md b/.opencode/agents/automation-tracking-manager.md index a83add77d..ce785ce7e 100644 --- a/.opencode/agents/automation-tracking-manager.md +++ b/.opencode/agents/automation-tracking-manager.md @@ -10,6 +10,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: secondary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: @@ -53,7 +56,7 @@ Creates a new status tracking issue for a cycle. Closes ALL existing open status Parameters from caller: `agent-prefix`, `tracking-type`, `body`, `sleep-interval-default`, `repo-owner`, `repo-name` Steps: -1. Search for all open issues with label `Automation Tracking` whose title starts with `[{agent-prefix}] Status:`. +1. Search for all open issues with label `Automation Tracking` whose title starts with `[{agent-prefix}] Status:`. For example if the `agent-prefix` is `AUTO-IMP-SUP` then you'd search for titles starting with `[AUTO-IMP-SUP] Status:`. 2. **CRITICAL** Close every one found (post comment "Superseded by next cycle" before closing). 3. Determine next cycle number: search ALL issues (open and closed) with the same prefix, find the highest cycle number, add 1. 4. Determine next estimated cycle interval: use the issue identified in step 3 above, take its reported estimated cycle interval, then using the rolling average formula: if a previous issue exists, `round(old_interval * 0.90 + actual_interval * 0.10)`, otherwise use `sleep-interval-default`. diff --git a/.opencode/agents/behave-tester.md b/.opencode/agents/behave-tester.md index f85559bd8..3abbc5219 100644 --- a/.opencode/agents/behave-tester.md +++ b/.opencode/agents/behave-tester.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 # NO MODEL SPECIFIED - inherits from caller (tier selector) permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/branch-setup.md b/.opencode/agents/branch-setup.md index 836476146..964a98b35 100644 --- a/.opencode/agents/branch-setup.md +++ b/.opencode/agents/branch-setup.md @@ -8,6 +8,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: secondary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/bug-hunt-pool-supervisor.md b/.opencode/agents/bug-hunt-pool-supervisor.md index a06575694..60493f557 100644 --- a/.opencode/agents/bug-hunt-pool-supervisor.md +++ b/.opencode/agents/bug-hunt-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.1 model: google/gemini-2.5-pro color: error permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/bug-hunt-worker.md b/.opencode/agents/bug-hunt-worker.md index e42968ab2..32d329845 100644 --- a/.opencode/agents/bug-hunt-worker.md +++ b/.opencode/agents/bug-hunt-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.1 model: google/gemini-2.5-pro permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/ci-log-fetcher.md b/.opencode/agents/ci-log-fetcher.md index ec121e06c..4bbe4fd64 100644 --- a/.opencode/agents/ci-log-fetcher.md +++ b/.opencode/agents/ci-log-fetcher.md @@ -9,6 +9,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#6B7280" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/commit-message-formatter.md b/.opencode/agents/commit-message-formatter.md index f65b64c11..09a6d5077 100644 --- a/.opencode/agents/commit-message-formatter.md +++ b/.opencode/agents/commit-message-formatter.md @@ -9,6 +9,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: secondary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/coverage-improver.md b/.opencode/agents/coverage-improver.md index ea81a3517..f4f658448 100644 --- a/.opencode/agents/coverage-improver.md +++ b/.opencode/agents/coverage-improver.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 # NO MODEL SPECIFIED - inherits from caller (tier selector) permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/difficulty-evaluator.md b/.opencode/agents/difficulty-evaluator.md index 19c6a721f..e15ee418f 100644 --- a/.opencode/agents/difficulty-evaluator.md +++ b/.opencode/agents/difficulty-evaluator.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-haiku-4-5 color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/documentation-pool-supervisor.md b/.opencode/agents/documentation-pool-supervisor.md index 086a332c6..19ba98202 100644 --- a/.opencode/agents/documentation-pool-supervisor.md +++ b/.opencode/agents/documentation-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.3 model: anthropic/claude-sonnet-4-6 color: "#9B59B6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/documentation-worker.md b/.opencode/agents/documentation-worker.md index cb52eb187..a9472104a 100644 --- a/.opencode/agents/documentation-worker.md +++ b/.opencode/agents/documentation-worker.md @@ -7,6 +7,9 @@ hidden: true temperature: 0.3 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/epic-planning-pool-supervisor.md b/.opencode/agents/epic-planning-pool-supervisor.md index 303bb2e4f..c2eae8aa9 100644 --- a/.opencode/agents/epic-planning-pool-supervisor.md +++ b/.opencode/agents/epic-planning-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: accent permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/epic-planning-worker.md b/.opencode/agents/epic-planning-worker.md index 934acbfc8..a6d7beb06 100644 --- a/.opencode/agents/epic-planning-worker.md +++ b/.opencode/agents/epic-planning-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/final-reporter.md b/.opencode/agents/final-reporter.md index 54d2eb83a..0cda77a4a 100644 --- a/.opencode/agents/final-reporter.md +++ b/.opencode/agents/final-reporter.md @@ -8,6 +8,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/fix-pr.md b/.opencode/agents/fix-pr.md index 4cf9400f9..4fa6eca31 100644 --- a/.opencode/agents/fix-pr.md +++ b/.opencode/agents/fix-pr.md @@ -7,6 +7,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: "#059669" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/forgejo-label-manager.md b/.opencode/agents/forgejo-label-manager.md index ca42daa2f..5952faca4 100644 --- a/.opencode/agents/forgejo-label-manager.md +++ b/.opencode/agents/forgejo-label-manager.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: "#9B59B6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/forgejo-signature-appender.md b/.opencode/agents/forgejo-signature-appender.md index e856dc906..7f97e41cb 100644 --- a/.opencode/agents/forgejo-signature-appender.md +++ b/.opencode/agents/forgejo-signature-appender.md @@ -9,6 +9,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#6B7280" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/git-commit-helper.md b/.opencode/agents/git-commit-helper.md index ec2d60614..a39bfb402 100644 --- a/.opencode/agents/git-commit-helper.md +++ b/.opencode/agents/git-commit-helper.md @@ -9,6 +9,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#10B981" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/git-committer.md b/.opencode/agents/git-committer.md index 9180c0411..cd4fba331 100644 --- a/.opencode/agents/git-committer.md +++ b/.opencode/agents/git-committer.md @@ -8,6 +8,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: secondary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/grooming-pool-supervisor.md b/.opencode/agents/grooming-pool-supervisor.md index 4ccc76264..5337c3a07 100644 --- a/.opencode/agents/grooming-pool-supervisor.md +++ b/.opencode/agents/grooming-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: "#95A5A6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/grooming-worker.md b/.opencode/agents/grooming-worker.md index 21ac35825..dd1b72ad6 100644 --- a/.opencode/agents/grooming-worker.md +++ b/.opencode/agents/grooming-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.1 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/human-liaison-pool-supervisor.md b/.opencode/agents/human-liaison-pool-supervisor.md index 41ef61f69..a25f0212d 100644 --- a/.opencode/agents/human-liaison-pool-supervisor.md +++ b/.opencode/agents/human-liaison-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.3 model: anthropic/claude-sonnet-4-6 color: "#3498DB" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/human-liaison-worker.md b/.opencode/agents/human-liaison-worker.md index be0b66339..f7d0f48f9 100644 --- a/.opencode/agents/human-liaison-worker.md +++ b/.opencode/agents/human-liaison-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.3 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/implementation-pool-supervisor.md b/.opencode/agents/implementation-pool-supervisor.md index 6cca00ce0..a677d7288 100644 --- a/.opencode/agents/implementation-pool-supervisor.md +++ b/.opencode/agents/implementation-pool-supervisor.md @@ -9,6 +9,9 @@ mode: all temperature: 0.1 color: primary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/implementation-reviewer.md b/.opencode/agents/implementation-reviewer.md index c5667a35e..30d1efdda 100644 --- a/.opencode/agents/implementation-reviewer.md +++ b/.opencode/agents/implementation-reviewer.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/implementation-worker.md b/.opencode/agents/implementation-worker.md index 65c7ba929..3d9a8eb23 100644 --- a/.opencode/agents/implementation-worker.md +++ b/.opencode/agents/implementation-worker.md @@ -9,6 +9,9 @@ hidden: true temperature: 0.1 # No model specified — tier is set by the supervisor via tier selectors permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/implementer.md b/.opencode/agents/implementer.md index 068eb4d16..f09ecc259 100644 --- a/.opencode/agents/implementer.md +++ b/.opencode/agents/implementer.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 # NO MODEL SPECIFIED - inherits from caller (tier selector) permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/integration-test-runner.md b/.opencode/agents/integration-test-runner.md index 952fe6d48..f96359b1d 100644 --- a/.opencode/agents/integration-test-runner.md +++ b/.opencode/agents/integration-test-runner.md @@ -8,6 +8,9 @@ temperature: 0.2 # NO MODEL SPECIFIED - inherits from caller (tier selector) color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/issue-analyzer.md b/.opencode/agents/issue-analyzer.md index c957a1405..704326e27 100644 --- a/.opencode/agents/issue-analyzer.md +++ b/.opencode/agents/issue-analyzer.md @@ -9,6 +9,9 @@ temperature: 0.0 model: anthropic/claude-haiku-4-5 color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/issue-comment-formatter.md b/.opencode/agents/issue-comment-formatter.md index 40e8c769d..d60ab2928 100644 --- a/.opencode/agents/issue-comment-formatter.md +++ b/.opencode/agents/issue-comment-formatter.md @@ -8,6 +8,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#8B5CF6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/issue-finder.md b/.opencode/agents/issue-finder.md index de787cf20..68d385341 100644 --- a/.opencode/agents/issue-finder.md +++ b/.opencode/agents/issue-finder.md @@ -8,6 +8,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/issue-note-writer.md b/.opencode/agents/issue-note-writer.md index feb2370d2..855f5c160 100644 --- a/.opencode/agents/issue-note-writer.md +++ b/.opencode/agents/issue-note-writer.md @@ -8,6 +8,9 @@ temperature: 0.3 model: anthropic/claude-haiku-4-5 color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/issue-state-updater.md b/.opencode/agents/issue-state-updater.md index 423ce473f..b62eebe4e 100644 --- a/.opencode/agents/issue-state-updater.md +++ b/.opencode/agents/issue-state-updater.md @@ -8,6 +8,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: "#9B59B6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/lint-fixer.md b/.opencode/agents/lint-fixer.md index 5d9ca5cd6..b6214322a 100644 --- a/.opencode/agents/lint-fixer.md +++ b/.opencode/agents/lint-fixer.md @@ -8,6 +8,9 @@ temperature: 0.1 # NO MODEL SPECIFIED - inherits from caller (tier selector) color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/milestone-reviewer.md b/.opencode/agents/milestone-reviewer.md index c4c8e63de..28bcee857 100644 --- a/.opencode/agents/milestone-reviewer.md +++ b/.opencode/agents/milestone-reviewer.md @@ -9,6 +9,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/new-issue-creator.md b/.opencode/agents/new-issue-creator.md index db955bea9..79354fd7a 100644 --- a/.opencode/agents/new-issue-creator.md +++ b/.opencode/agents/new-issue-creator.md @@ -9,6 +9,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: "#9B59B6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/pr-ci-test-fixer.md b/.opencode/agents/pr-ci-test-fixer.md index 578223fa7..93970f4d8 100644 --- a/.opencode/agents/pr-ci-test-fixer.md +++ b/.opencode/agents/pr-ci-test-fixer.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/pr-creator.md b/.opencode/agents/pr-creator.md index ffbb0aab9..17bc3c3aa 100644 --- a/.opencode/agents/pr-creator.md +++ b/.opencode/agents/pr-creator.md @@ -9,6 +9,9 @@ temperature: 0.0 model: anthropic/claude-sonnet-4-6 color: "#9B59B6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/pr-description-writer.md b/.opencode/agents/pr-description-writer.md index d87cff89f..a7a3bec2b 100644 --- a/.opencode/agents/pr-description-writer.md +++ b/.opencode/agents/pr-description-writer.md @@ -8,6 +8,9 @@ temperature: 0.3 model: anthropic/claude-haiku-4-5 color: secondary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/pr-editor.md b/.opencode/agents/pr-editor.md index 35a593035..fc6c3c0b8 100644 --- a/.opencode/agents/pr-editor.md +++ b/.opencode/agents/pr-editor.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: "#10B981" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/pr-manager.md b/.opencode/agents/pr-manager.md index 6b4f05bc3..ed8a6f494 100644 --- a/.opencode/agents/pr-manager.md +++ b/.opencode/agents/pr-manager.md @@ -8,6 +8,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: "#6366F1" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/pr-merge-pool-supervisor.md b/.opencode/agents/pr-merge-pool-supervisor.md index 24383d4b9..775a6679b 100644 --- a/.opencode/agents/pr-merge-pool-supervisor.md +++ b/.opencode/agents/pr-merge-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: "#059669" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow @@ -118,13 +121,12 @@ Also anytime the status ticket is updated you should consider if you have anythi 1. **Always verify merges.** Never trust the merge API response alone. Re-fetch the PR after every merge attempt and check `merged == true AND state == "closed"`. 2. **Never merge immediately after rebase.** Wait for CI to complete quality gates/tests first. 3. **Pass credentials down.** Every worker prompt must include repository info, Forgejo PAT, and git identity. Workers never read environment variables. -4. **Batch review checks.** Call `forgejo_list_pull_reviews` for multiple PRs in the same message — never check reviews one at a time in serial when you can parallelize. -5. **Act fast on ready PRs.** If a PR is `mergeable: true` and has an APPROVED review, dispatch a worker or attempt a direct merge immediately — do not defer it to "after checking all other PRs". -6. **Bot signature on all Forgejo content:** +4. **Bot signature on all Forgejo content:** ``` --- **Automated by CleverAgents Bot** Supervisor: PR Merge Pool | Agent: pr-merge-pool-supervisor ``` -7. **Apply labels via `forgejo-label-manager`.** Never apply labels directly or using the Forgejo MCP/task. All label operations must go through `forgejo-label-manager`. -8. **Exhaustive pagination for all list results.** Every tool call that returns a list must be treated as potentially paginated. Always set `limit=50` for Forgejo MCP tools. After each list response, check whether the number of returned items equals the page size — if so, fetch the next page. Never assume the first response is the complete result. This applies to: `forgejo_list_repo_pull_requests` (must paginate ALL pages — missing a page means a ready PR never gets merged), `forgejo_list_pull_reviews` (paginate to see all review rounds), `forgejo_list_issue_comments` (paginate when updating linked issues post-merge). +5. **Apply labels via `forgejo-label-manager`.** Never apply labels directly or using the Forgejo MCP/task. All label operations must go through `forgejo-label-manager`. +6. **Exhaustive pagination for all list results.** Every tool call that returns a list must be treated as potentially paginated. Always set `limit=50` for Forgejo MCP tools. After each list response, check whether the number of returned items equals the page size — if so, fetch the next page. Never assume the first response is the complete result. This applies to: `forgejo_list_repo_pull_requests` (must paginate ALL pages — missing a page means a ready PR never gets merged), `forgejo_list_pull_reviews` (paginate to see all review rounds), `forgejo_list_issue_comments` (paginate when updating linked issues post-merge). +7. **Never close or change the label of a PR's issue** The issue for a PR will automatically be closed and the grooming agent will update its labels. Never close the originating issue directly or change its state. diff --git a/.opencode/agents/pr-merge-worker.md b/.opencode/agents/pr-merge-worker.md index ead2603c7..6c92cdf6f 100644 --- a/.opencode/agents/pr-merge-worker.md +++ b/.opencode/agents/pr-merge-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.1 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow @@ -31,6 +34,7 @@ permission: "*": deny "repo-isolator": allow "git-commit-helper": allow + "forgejo-label-manager": allow "forgejo_*": deny "forgejo_merge_pull_request": allow # CRITICAL: Never list repo-level labels — use org labels via forgejo-label-manager @@ -66,3 +70,4 @@ Your prompt tells you which PR to rebase. You must: 3. **Clean up your clone.** Delete the temporary clone directory before exiting. 4. **Apply labels via `forgejo-label-manager`.** Never apply labels directly or using the Forgejo MCP/task. All label operations must go through `forgejo-label-manager`. 5. **Exhaustive pagination for all list results.** Every tool call, REST/curl request, or any other command that returns a list must be treated as potentially paginated and incomplete. Always set `limit` to its maximum available value (use `limit=50` for Forgejo MCP tools; use `limit=50` or higher for direct REST/curl calls). After each list response, check whether the number of returned items equals the page size — if so, there are likely more results; fetch the next page (`page=2`, `page=3`, …) and continue until receiving a partial page. Never assume the first response is the complete result. This rule applies to every list-returning call without exception. *Examples specific to this agent (not exhaustive):* `git log` listing commits during conflict resolution must be fully read; any future REST/curl calls returning JSON arrays must be paginated. +6. **Never close or change the label of a PR's issue** The issue for a PR will automatically be closed and the grooming agent will update its labels. Never close the originating issue directly or change its state. diff --git a/.opencode/agents/pr-review-pool-supervisor.md b/.opencode/agents/pr-review-pool-supervisor.md index 6a127d6f5..ae1822e78 100644 --- a/.opencode/agents/pr-review-pool-supervisor.md +++ b/.opencode/agents/pr-review-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/pr-reviewer.md b/.opencode/agents/pr-reviewer.md index 18f60abcf..0d8f632a1 100644 --- a/.opencode/agents/pr-reviewer.md +++ b/.opencode/agents/pr-reviewer.md @@ -10,6 +10,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/pr-status-analyzer.md b/.opencode/agents/pr-status-analyzer.md index 930e1320c..bc55e857a 100644 --- a/.opencode/agents/pr-status-analyzer.md +++ b/.opencode/agents/pr-status-analyzer.md @@ -8,6 +8,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#3B82F6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/product-builder.md b/.opencode/agents/product-builder.md index 5eebb0d38..bdcf591cf 100644 --- a/.opencode/agents/product-builder.md +++ b/.opencode/agents/product-builder.md @@ -8,6 +8,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: primary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/product-verifier.md b/.opencode/agents/product-verifier.md index 990116286..2ffe8d50b 100644 --- a/.opencode/agents/product-verifier.md +++ b/.opencode/agents/product-verifier.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/project-bootstrapper.md b/.opencode/agents/project-bootstrapper.md index 170a06ada..5ea12ef4d 100644 --- a/.opencode/agents/project-bootstrapper.md +++ b/.opencode/agents/project-bootstrapper.md @@ -9,6 +9,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: primary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/project-owner-pool-supervisor.md b/.opencode/agents/project-owner-pool-supervisor.md index 4917c7856..9ca6416de 100644 --- a/.opencode/agents/project-owner-pool-supervisor.md +++ b/.opencode/agents/project-owner-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.3 model: anthropic/claude-sonnet-4-6 color: "#8E44AD" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/project-owner-worker.md b/.opencode/agents/project-owner-worker.md index 54eb5bcf1..da7f95983 100644 --- a/.opencode/agents/project-owner-worker.md +++ b/.opencode/agents/project-owner-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.3 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/quality-enforcer.md b/.opencode/agents/quality-enforcer.md index 0438743da..16be1cc53 100644 --- a/.opencode/agents/quality-enforcer.md +++ b/.opencode/agents/quality-enforcer.md @@ -9,6 +9,9 @@ temperature: 0.0 model: anthropic/claude-sonnet-4-6 color: error permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/ref-material-loader.md b/.opencode/agents/ref-material-loader.md index 4bda01724..f5da33068 100644 --- a/.opencode/agents/ref-material-loader.md +++ b/.opencode/agents/ref-material-loader.md @@ -9,6 +9,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#6B7280" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/ref-reader.md b/.opencode/agents/ref-reader.md index 14603073f..bebde43a3 100644 --- a/.opencode/agents/ref-reader.md +++ b/.opencode/agents/ref-reader.md @@ -9,6 +9,9 @@ temperature: 0.0 model: google/gemini-2.5-pro color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/repo-isolator.md b/.opencode/agents/repo-isolator.md index ccf663a2e..ec8b99c5a 100644 --- a/.opencode/agents/repo-isolator.md +++ b/.opencode/agents/repo-isolator.md @@ -9,6 +9,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: "#6B7280" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/robot-tester.md b/.opencode/agents/robot-tester.md index 8f4bbf7dc..46a4fd234 100644 --- a/.opencode/agents/robot-tester.md +++ b/.opencode/agents/robot-tester.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 # NO MODEL SPECIFIED - inherits from caller (tier selector) permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/session-cleanup.md b/.opencode/agents/session-cleanup.md index 82682f779..de99b71cd 100644 --- a/.opencode/agents/session-cleanup.md +++ b/.opencode/agents/session-cleanup.md @@ -7,6 +7,9 @@ mode: primary temperature: 0.0 color: error permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/session-persister.md b/.opencode/agents/session-persister.md index 996c069b8..59bc82368 100644 --- a/.opencode/agents/session-persister.md +++ b/.opencode/agents/session-persister.md @@ -9,6 +9,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: secondary permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/spec-reader.md b/.opencode/agents/spec-reader.md index d2ee955b2..afc83fb72 100644 --- a/.opencode/agents/spec-reader.md +++ b/.opencode/agents/spec-reader.md @@ -8,6 +8,9 @@ temperature: 0.0 model: google/gemini-2.5-pro color: info permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/spec-update-pool-supervisor.md b/.opencode/agents/spec-update-pool-supervisor.md index bdbc608c4..cf086becc 100644 --- a/.opencode/agents/spec-update-pool-supervisor.md +++ b/.opencode/agents/spec-update-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.2 model: anthropic/claude-sonnet-4-6 color: "#9B59B6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/spec-update-worker.md b/.opencode/agents/spec-update-worker.md index f2f190dbd..2ca59c39e 100644 --- a/.opencode/agents/spec-update-worker.md +++ b/.opencode/agents/spec-update-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/state-reconciler.md b/.opencode/agents/state-reconciler.md index 1867e697a..fa55ca913 100644 --- a/.opencode/agents/state-reconciler.md +++ b/.opencode/agents/state-reconciler.md @@ -8,6 +8,9 @@ temperature: 0.0 model: anthropic/claude-sonnet-4-6 color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/subtask-checker.md b/.opencode/agents/subtask-checker.md index 88da7b525..320d99221 100644 --- a/.opencode/agents/subtask-checker.md +++ b/.opencode/agents/subtask-checker.md @@ -9,6 +9,9 @@ temperature: 0.0 model: openai/gpt-5-nano color: "#9B59B6" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/subtask-loop.md b/.opencode/agents/subtask-loop.md index 3d50e6ef0..afd8b293c 100644 --- a/.opencode/agents/subtask-loop.md +++ b/.opencode/agents/subtask-loop.md @@ -11,6 +11,9 @@ temperature: 0.1 model: openai/gpt-5-codex color: accent permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/system-watchdog-pool-supervisor.md b/.opencode/agents/system-watchdog-pool-supervisor.md index f2461092a..5e779d8eb 100644 --- a/.opencode/agents/system-watchdog-pool-supervisor.md +++ b/.opencode/agents/system-watchdog-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: "#E74C3C" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/system-watchdog-worker.md b/.opencode/agents/system-watchdog-worker.md index 505e0e7b0..bf590a5cf 100644 --- a/.opencode/agents/system-watchdog-worker.md +++ b/.opencode/agents/system-watchdog-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.1 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/test-fixer.md b/.opencode/agents/test-fixer.md index c58edd26a..9100e73e6 100644 --- a/.opencode/agents/test-fixer.md +++ b/.opencode/agents/test-fixer.md @@ -9,6 +9,9 @@ temperature: 0.2 # NO MODEL SPECIFIED - inherits from caller (tier selector) color: warning permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/test-infra-pool-supervisor.md b/.opencode/agents/test-infra-pool-supervisor.md index e5cdd767d..47740b356 100644 --- a/.opencode/agents/test-infra-pool-supervisor.md +++ b/.opencode/agents/test-infra-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.2 model: google/gemini-2.5-pro color: "#2ECC71" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: @@ -63,6 +66,13 @@ Workers are `test-infra-worker` agents. Each worker analyzes one area of testing Workers use: `[AUTO-INF-]` where N is a sequential number or area identifier. +### Dispatching Workers + +Launch workers via the `async-agent-manager`. Each worker's prompt must include: +- Area of focus (one of: CI timing, coverage gaps, test architecture, flaky tests, pipeline design, test data quality, missing test levels, dependency security) +- Repository owner/name, Forgejo PAT, git identity +- A customized briefing containing CONTRIBUTING.md merge requirements and open announcements + ### Eight Analysis Areas Workers are assigned one of these focus areas: diff --git a/.opencode/agents/test-infra-worker.md b/.opencode/agents/test-infra-worker.md index ab14305d9..5df9b03af 100644 --- a/.opencode/agents/test-infra-worker.md +++ b/.opencode/agents/test-infra-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 model: google/gemini-2.5-pro permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/tier-codex.md b/.opencode/agents/tier-codex.md index a750b1711..793b7504a 100644 --- a/.opencode/agents/tier-codex.md +++ b/.opencode/agents/tier-codex.md @@ -7,6 +7,9 @@ hidden: true temperature: 0.0 model: openai/gpt-5-codex permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/tier-haiku.md b/.opencode/agents/tier-haiku.md index 2d1a964d6..855de38cd 100644 --- a/.opencode/agents/tier-haiku.md +++ b/.opencode/agents/tier-haiku.md @@ -7,6 +7,9 @@ hidden: true temperature: 0.0 model: anthropic/claude-haiku-4-5 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/tier-opus.md b/.opencode/agents/tier-opus.md index a00f0eda5..988995ccb 100644 --- a/.opencode/agents/tier-opus.md +++ b/.opencode/agents/tier-opus.md @@ -7,6 +7,9 @@ hidden: true temperature: 0.0 model: anthropic/claude-opus-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/tier-sonnet.md b/.opencode/agents/tier-sonnet.md index fd57741fe..1f425eb22 100644 --- a/.opencode/agents/tier-sonnet.md +++ b/.opencode/agents/tier-sonnet.md @@ -7,6 +7,9 @@ hidden: true temperature: 0.0 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/timeline-update-pool-supervisor.md b/.opencode/agents/timeline-update-pool-supervisor.md index eed18f703..aaaeb45de 100644 --- a/.opencode/agents/timeline-update-pool-supervisor.md +++ b/.opencode/agents/timeline-update-pool-supervisor.md @@ -9,6 +9,9 @@ temperature: 0.1 model: anthropic/claude-sonnet-4-6 color: "#2ECC71" permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/timeline-update-worker.md b/.opencode/agents/timeline-update-worker.md index b4c3a9438..18e23176c 100644 --- a/.opencode/agents/timeline-update-worker.md +++ b/.opencode/agents/timeline-update-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.1 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/typecheck-fixer.md b/.opencode/agents/typecheck-fixer.md index 65ac6bc89..0b59eb7e0 100644 --- a/.opencode/agents/typecheck-fixer.md +++ b/.opencode/agents/typecheck-fixer.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.1 # NO MODEL SPECIFIED - inherits from caller (tier selector) permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow diff --git a/.opencode/agents/uat-test-pool-supervisor.md b/.opencode/agents/uat-test-pool-supervisor.md index 463311228..a6b753f7c 100644 --- a/.opencode/agents/uat-test-pool-supervisor.md +++ b/.opencode/agents/uat-test-pool-supervisor.md @@ -10,6 +10,9 @@ temperature: 0.3 model: anthropic/claude-sonnet-4-6 color: success permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/uat-test-worker.md b/.opencode/agents/uat-test-worker.md index 8280eaa63..5cb8d5097 100644 --- a/.opencode/agents/uat-test-worker.md +++ b/.opencode/agents/uat-test-worker.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.3 model: anthropic/claude-sonnet-4-6 permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: deny webfetch: deny bash: diff --git a/.opencode/agents/unit-test-runner.md b/.opencode/agents/unit-test-runner.md index ec9d2af6e..1658869f1 100644 --- a/.opencode/agents/unit-test-runner.md +++ b/.opencode/agents/unit-test-runner.md @@ -8,6 +8,9 @@ hidden: true temperature: 0.2 # NO MODEL SPECIFIED - inherits from caller (tier selector) permission: + "*": deny + question: deny + "sequential-thinking*": allow edit: "*": deny "/tmp/**": allow