Context
PR #55 adds a prompt-level prohibition against passing skip_review: true to forge_complete. However, the tool handler at internal/tools/forge/tools.go:361-374 still accepts skip_review and skip_verification as schema parameters and passes them through to forge.Complete() with no guard.
A determined or confused agent can bypass the review gate by passing skip_review: true directly, since the prohibition is prompt-only.
Requested Change
Add code-level enforcement in the forge_complete tool handler:
- If
skip_review: true is passed, return an error explaining that review cannot be skipped
- Alternatively, strip the parameter and log a warning
This ensures the review gate is enforced at the tool boundary, not just in the prompt.
References
Context
PR #55 adds a prompt-level prohibition against passing
skip_review: truetoforge_complete. However, the tool handler atinternal/tools/forge/tools.go:361-374still acceptsskip_reviewandskip_verificationas schema parameters and passes them through toforge.Complete()with no guard.A determined or confused agent can bypass the review gate by passing
skip_review: truedirectly, since the prohibition is prompt-only.Requested Change
Add code-level enforcement in the
forge_completetool handler:skip_review: trueis passed, return an error explaining that review cannot be skippedThis ensures the review gate is enforced at the tool boundary, not just in the prompt.
References
internal/tools/forge/tools.go:361-374