feat(evaluators): add defenseclaw evaluator#248
Merged
namrataghadi-galileo merged 7 commits intoJul 13, 2026
Conversation
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
yashsheth46
approved these changes
Jul 13, 2026
namrataghadi-galileo
enabled auto-merge (squash)
July 13, 2026 18:06
namrataghadi-galileo
deleted the
feature/68338-add-defense-claw-evaluator
branch
July 13, 2026 18:40
Nachiket2605
pushed a commit
to Nachiket2605/agent-control-personal
that referenced
this pull request
Jul 17, 2026
Added two global external evaluator integrations: - `defenseclaw.rule_pack` - `defenseclaw.opa_policy` - Added strict, typed Pydantic configuration models and distinct JSON Schemas. - Added dedicated Agent Control UI forms with canonical serialization of hidden protocol fields. - Both evaluator execution paths are intentionally no-ops and do not install or invoke DefenseClaw OSS packages. **User-facing/API changes:** - Both evaluators appear independently in `GET /api/v1/evaluators`. - Added typed UI forms for rule-pack and OPA-policy configuration. - Rule-pack forms support adding and removing rules. - Fixed protocol fields remain hidden in Form mode but are always serialized. - DefenseClaw configurations are preserved in `get_server_controls()` output. **Internal changes:** - Added the `agent-control-evaluator-defenseclaw` contrib package. - Added evaluator entry-point registration and package/release wiring. - Added strict nested validation, including unique rule IDs and confidence bounds. - Added default configurations and UI registry entries. - Added focused backend and UI tests. **Out of scope:** - DefenseClaw transport, authentication, or provider invocation. - Installing or calling DefenseClaw OSS packages. - Changes to the separate `~/code/ui` Galileo UI repository. - Orbit production packaging changes. **Risk level:** medium **Primary risk:** - The evaluator package must be installed in the server runtime for catalog discovery and server execution. - It must also be installed in SDK runtimes for controls using `execution: "sdk"`. **Rollout requirements:** - Publish `agent-control-evaluator-defenseclaw`. - Add the package to the Orbit Agent Control image dependencies. - Verify both evaluator identifiers appear in `GET /api/v1/evaluators` before activating controls. **Rollback plan:** - Remove or disable controls referencing the DefenseClaw evaluator names. - Remove the DefenseClaw package from runtime dependencies. - Revert the evaluator registry and UI form registration changes. - [x] Added or updated automated tests - Ran `make check` (full repository check was not run). - Ran 26 focused Python tests successfully. - Ran Ruff and mypy successfully. - Ran TypeScript, ESLint, and Prettier checks successfully. - Verified contrib package wiring, evaluator registration, and server catalog schemas. - Playwright could not run in the sandbox because it could not bind the local UI server port. - [x] Manually verified behavior - Registration and generated catalog schemas were verified programmatically. - Full browser-based Form/JSON interaction should be verified locally using the supplied testing guide. - [ ] **Linked issue/spec** - Technical spec: `defenseclaw-external-evaluators-technical-spec.md` - Add the appropriate issue/spec URL before merging. - [x] **Updated docs/examples for user-facing changes** - Added the contrib package README. - Created a first-time local setup and testing guide. - [x] **Included required follow-up tasks** - Add DefenseClaw packaging to `~/code/orbit`. - Implement the corresponding forms in `~/code/ui`. - Run the full Playwright suite. - Install the evaluator package in every SDK runtime that evaluates DefenseClaw controls. (cherry picked from commit 2274ca8)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Added two global external evaluator integrations:
defenseclaw.rule_packdefenseclaw.opa_policyAdded strict, typed Pydantic configuration models and distinct JSON Schemas.
Added dedicated Agent Control UI forms with canonical serialization of hidden protocol fields.
Both evaluator execution paths are intentionally no-ops and do not install or invoke DefenseClaw OSS packages.
Scope
User-facing/API changes:
GET /api/v1/evaluators.get_server_controls()output.Internal changes:
agent-control-evaluator-defenseclawcontrib package.Out of scope:
~/code/uiGalileo UI repository.Risk and Rollout
Risk level: medium
Primary risk:
execution: "sdk".Rollout requirements:
agent-control-evaluator-defenseclaw.GET /api/v1/evaluatorsbefore activating controls.Rollback plan:
Testing
Added or updated automated tests
make check(full repository check was not run).Manually verified behavior
Checklist
Linked issue/spec
defenseclaw-external-evaluators-technical-spec.mdUpdated docs/examples for user-facing changes
Included required follow-up tasks
~/code/orbit.~/code/ui.