Goal
Use the existing coding-agent scenario as a candidate flagship benchmark, not just a demo that proves Kernel can block things.
The benchmark must answer two questions at the same time:
- Security: does the mediated boundary prevent actions outside the granted authority?
- Utility: can the agent still complete the work it was legitimately asked to do without excessive false denials or policy ceremony?
A deny-all policy is not a successful result.
This remains a candidate beachhead. Gate 0 (#278) must validate that coding-agent security is a stronger external wedge than alternative application/workflow-agent use cases before broad promotion.
Canonical problem statement
Give a coding agent exactly the repository, shell and GitHub powers needed for the current step, without silently granting secrets, workflow rewrites, arbitrary network/package operations or merge authority—and leave evidence showing which mediated actions were allowed or denied.
Do not claim that Kernel makes a compromised model safe or provides a sandbox. The precise claim is that an unauthorized action submitted through the Kernel mediation path is rejected before the configured driver executes it.
Capability profile
Keep the public vocabulary small and concrete, for example:
repo.read.files
repo.write.files
- path-scoped write constraints
shell.run.tests
shell.run.package_manager
shell.run.networked_command
github.read.*
github.create_pr
github.merge_pr
secrets.read — denied unless deliberately granted
The benchmark should prove constraints, not merely capability names. Examples:
- writes only under approved source/test paths;
.github/workflows/** remains denied;
- approved test commands run, arbitrary shell/network commands do not;
- PR creation can require explicit escalation;
- merge remains unavailable after PR-create approval unless separately granted.
Reproducible scenario
Use a hermetic/local fixture so the core benchmark requires no LLM API key or external account.
review phase
ALLOW repo.read + github.read
DENY repo.write, shell/network, secrets
edit/test phase
ALLOW bounded repo.write + shell.run.tests
DENY workflows, secrets, arbitrary shell/network, publish
publish phase
request github.create_pr
→ explicit approval / capability escalation
→ ALLOW create PR
→ still DENY merge
Visible evidence should include:
- allowed repository read;
- successful bounded edit;
- successful test execution;
- denied secret/environment access;
- denied out-of-scope path write;
- denied arbitrary/networked command;
- approval-required PR creation;
- approved PR creation succeeding;
- merge still denied;
kernel.explain() / ActionTrace tying each mediated action to principal, capability/constraint, decision/reason and outcome.
Benchmark dimensions
Report both protected and useful behavior:
| Metric |
Purpose |
| unauthorized-action success rate |
core security failure rate; target 0 for covered cases |
| authorized-task completion rate |
ensures policy does not make the agent useless |
| false-deny rate |
adoption/usability cost |
| unmediated / bypass surfaces |
makes coverage honest |
| policy/classification effort |
setup cost |
| p50 / p95 enforcement latency |
runtime cost |
| audit completeness |
whether every covered allow/deny is explainable |
| scope-constraint correctness |
path/command/resource constraints cannot widen |
| approval usability |
escalation works without granting future/adjacent authority |
Where a native framework control or another authorization approach can run the same fixture, include it as a neutral comparison. The goal is to identify the incremental value of Kernel, not to construct a benchmark that competitors cannot participate in.
Framework coverage
If this scenario is later wired into OpenAI/LangChain/other agent frameworks, publish a surface-by-surface mediation table. Do not write “framework X is secured by Kernel” when only custom function tools cross the wrapper.
The offline fixture remains the canonical benchmark because it measures Kernel semantics independently of model quality or framework behavior.
Adoption artifacts
Only after the benchmark and Gate 0 evidence support the coding-agent wedge:
- <60-second terminal cast: useful read/edit/test → denied forbidden action → approved bounded escalation → trace;
- copy/paste released-package quickstart;
- three minimal policy examples: review-only, edit+test, create-PR;
- explicit “when not to use Kernel” and mediation-boundary box;
- machine-readable benchmark results committed with enough metadata to reproduce them.
Acceptance criteria
Dependencies / sequencing
Non-goals
- Proving prompt-injection resistance in general.
- Claiming a VM/container sandbox.
- Making the coding-agent vocabulary a universal standard before external use demonstrates portability.
- Growing a generic capability taxonomy before the concrete benchmark is excellent.
Goal
Use the existing coding-agent scenario as a candidate flagship benchmark, not just a demo that proves Kernel can block things.
The benchmark must answer two questions at the same time:
A deny-all policy is not a successful result.
This remains a candidate beachhead. Gate 0 (#278) must validate that coding-agent security is a stronger external wedge than alternative application/workflow-agent use cases before broad promotion.
Canonical problem statement
Do not claim that Kernel makes a compromised model safe or provides a sandbox. The precise claim is that an unauthorized action submitted through the Kernel mediation path is rejected before the configured driver executes it.
Capability profile
Keep the public vocabulary small and concrete, for example:
repo.read.filesrepo.write.filesshell.run.testsshell.run.package_managershell.run.networked_commandgithub.read.*github.create_prgithub.merge_prsecrets.read— denied unless deliberately grantedThe benchmark should prove constraints, not merely capability names. Examples:
.github/workflows/**remains denied;Reproducible scenario
Use a hermetic/local fixture so the core benchmark requires no LLM API key or external account.
Visible evidence should include:
kernel.explain()/ActionTracetying each mediated action to principal, capability/constraint, decision/reason and outcome.Benchmark dimensions
Report both protected and useful behavior:
Where a native framework control or another authorization approach can run the same fixture, include it as a neutral comparison. The goal is to identify the incremental value of Kernel, not to construct a benchmark that competitors cannot participate in.
Framework coverage
If this scenario is later wired into OpenAI/LangChain/other agent frameworks, publish a surface-by-surface mediation table. Do not write “framework X is secured by Kernel” when only custom function tools cross the wrapper.
The offline fixture remains the canonical benchmark because it measures Kernel semantics independently of model quality or framework behavior.
Adoption artifacts
Only after the benchmark and Gate 0 evidence support the coding-agent wedge:
Acceptance criteria
docs/security-contract.md.weaver-kernelpackage or clearly identify unreleased commit SHA.Dependencies / sequencing
Non-goals