Skip to content

fix(opencode): fix permission matching and add escalation after 3 attempts (#387, #388)#389

Merged
randomm merged 24 commits intodevfrom
feature/issue-381
Apr 7, 2026
Merged

fix(opencode): fix permission matching and add escalation after 3 attempts (#387, #388)#389
randomm merged 24 commits intodevfrom
feature/issue-381

Conversation

@randomm
Copy link
Copy Markdown
Owner

@randomm randomm commented Apr 6, 2026

Fixes #387, #388

randomm added 2 commits April 6, 2026 21:47
…empts (#387, #388)

- Fix permission matching: use find instead of findLast for correct order (#387)
- Add escalation after 3 failed attempts in taskctl pipeline (#388)
@randomm randomm changed the title fix(opencode): change PermissionNext.disabled() to use find() instead of findLast() (#387) fix(opencode): fix permission matching and add escalation after 3 attempts (#387, #388) Apr 6, 2026
randomm added 22 commits April 6, 2026 23:08
- Issue #387: Fix disabled() to use evaluate() for consistency. Adversarial-pipeline agent tools (taskctl, bash) were incorrectly disabled due to wildcard deny rule, despite being explicitly allowed by specific rules.

- Issue #388: Escalation logic already working correctly (MAX_ADVERSARIAL_ATTEMPTS = 3 at pulse-verdicts.ts:21)
- Fix evaluate() to use correct last-match-wins semantics
- Add Wildcard.isWildcard() utility function
- Fix test expectation for disabled() checking with pattern '*'
- All permission-task.test.ts tests now pass (21/21)
- Remove 9 debug/exploration scripts from PR
- Remove .opencode/tasks/ pipeline artifacts
- Fix merge() indentation (2 spaces)
- Remove unused isWildcard() function
- Add skipIf guards to Cloudflare/Bedrock tests (require credentials)

Addresses five-pass code review findings for PR #389
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: taskctl pipeline - adversarial-pipeline cannot record verdict due to permission filtering

1 participant