Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
日本語の概要は準備中です。原文の説明を表示しています。
Synthesize code harnesses for agent action validation — AutoHarness-inspired verifier/filter/policy generation
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Synthesize executable validation harnesses for agent tool calls, inspired by AutoHarness (Google DeepMind, arxiv 2603.03329). Generates code-level verifiers that check action validity before or after execution, reducing agent errors through structured constraint enforcement.
Default mode is advisory (verifier). Hard enforcement requires explicit --hard-enforce opt-in per R021.
| Mode | Flag | Behavior | Enforcement |
|---|---|---|---|
verifier | default | Post-hoc check: validates tool call results after execution | Advisory only |
filter | --mode filter | Pre-execution check: blocks invalid tool calls | Opt-in, requires --hard-enforce |
policy | --mode policy | Suggests the best valid action from available options | Advisory only |
Generates a YAML harness that describes post-execution checks for each tool the agent uses. Checks are emitted as advisory warnings — they do not block execution.
# Example verifier harness output
harness:
agent: lang-golang-expert
mode: verifier
rules:
- tool: Write
checks:
- field: file_path
pattern: ".*\\.go$"
on_fail: warn # advisory
- field: content
must_not_contain: "TODO:"
on_fail: warn
- tool: Bash
checks:
- command_pattern: "^(go build|go test|go fmt|go vet)"
on_fail: warn
Generates pre-execution filter rules. Requires --hard-enforce flag. Used when advisory warnings are insufficient and the risk of invalid actions is high.
# Example filter harness output (--hard-enforce)
harness:
agent: mgr-gitnerd
mode: filter
enforcement: hard
rules:
- tool: Bash
blocks:
- pattern: "git push --force"
reason: "Force push to protected branch"
- pattern: "git reset --hard"
reason: "Destructive reset without confirmation"
Generates a policy function that ranks valid actions and suggests the best one. Useful for agents with multiple valid paths to the same goal.
# Example policy harness output
harness:
agent: qa-engineer
mode: policy
policies:
- scenario: "test file modification"
preferred_sequence:
- tool: Read
reason: "Read before modifying"
- tool: Edit
reason: "Edit is safer than Write for existing files"
avoid:
- tool: Write
on_existing_file: true
reason: "Overwrites without diff"
tools, domain, limitations fields.claude/outputs/ for prior session logs (if available)CC sensitive-path check inspects tool target paths and triggers permission prompts on .claude/ regardless of bypassPermissions and allow rules (refs: #960, #961, #978, #981, #1016).
To write harness-synthesizer results under .claude/outputs/sessions/:
/tmp/harness-synthesizer-$(date +%H%M%S).md first (Write tool target = /tmp, no sensitive-path trigger)/tmp/*.sh Bash script to move/copy the file under .claude/outputs/sessions/$(date +%Y-%m-%d)/ (Bash target = /tmp, script-internal cp to .claude/ is not audited).claude/outputs/ (e.g., cat, head, wc) is allowed for verificationReference: feedback_sensitive_path_tmp_bypass.md, R006 sensitive-path handling, #1016, #1045.
.claude/outputs/harnesses/{agent-name}-{mode}.yaml| System | How |
|---|---|
action-validator | Harness output feeds into action-validator's code-verified mode |
adaptive-harness --learn | Auto-triggers harness-synthesizer for project-specific patterns |
evaluator-optimizer | Provides iterative refinement loop (gradient-free optimization) |
pipeline-guards | Harness checks usable as pipeline quality gates |
# Generate advisory verifier for lang-golang-expert
/harness-synthesizer --agent lang-golang-expert --mode verifier
# Dry-run: preview harness without saving
/harness-synthesizer --agent mgr-gitnerd --mode filter --dry-run
# Generate hard-enforce filter (explicit opt-in)
/harness-synthesizer --agent mgr-gitnerd --mode filter --hard-enforce
# Generate policy harness
/harness-synthesizer --agent qa-engineer --mode policy
verifier mode: advisory only — never blocks tool executionfilter mode without --hard-enforce: advisory only — emits warningsfilter --hard-enforce: opt-in hard enforcement — requires explicit user flag.claude/outputs/harnesses/ (git-untracked)Harnesses are saved as YAML at .claude/outputs/harnesses/{agent-name}-{mode}.yaml. Each harness includes:
harness:
agent: {agent-name}
mode: verifier | filter | policy
version: 1.0.0
generated: {ISO-8601 timestamp}
enforcement: advisory | hard # hard only with --hard-enforce
rules: [...]
Source: #986 (Deep Insight Part 3 후속, guides/harness-engineering/ Section 3 확장)
harness 생성 시 격리 수준을 단계적으로 적용하는 2-Stage Isolation 패턴 구체 예시.
에이전트 작업 입력 (특히 외부 소스에서 온 데이터)을 직접 shell/Python 컨텍스트에 주입하지 않고 Base64 인코딩한 후 runtime에서 디코드:
import base64
# Before (unsafe): 직접 삽입
# subprocess_run(["python", "-c", f"process('{user_input}')"])
# After (Stage 1): Base64 격리
encoded = base64.b64encode(user_input.encode()).decode()
subprocess_run([
"python", "-c",
f"import base64; process(base64.b64decode('{encoded}').decode())"
])
방어 대상: shell metacharacter 주입, quote escape 우회, 다중라인 페이로드.
Stage 1 인코딩 후에도, 실제 실행은 격리된 subprocess에서 수행. 메인 에이전트 context에서 직접 eval/exec 금지:
# Before (unsafe): 메인 프로세스에서 직접 실행
# exec(decoded_code) # 에이전트 메모리 오염 가능
# After (Stage 2): subprocess + 리소스 제한
result = subprocess_run(
["python", "-c", safe_runner_script, encoded],
timeout=30,
capture_output=True,
env={"PATH": "/usr/bin"}, # PATH 제한
)
방어 대상: 무한 루프(timeout), 파일 시스템 접근(env 제한), 부모 에이전트 상태 오염.
harness-synthesizer가 생성하는 verifier/filter/policy에 2-Stage Isolation을 기본 활성화:
Before (v0.107.0 이전):
After (v0.108.0, 2-Stage 기본 적용):
guides/harness-engineering/README.md Section 3guides/harness-engineering/ — 하네스 엔지니어링 통합 가이드 (3-Layer Hierarchy + Context Engineering + Behavior/Isolation 원칙)まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
日本語の概要は準備中です。原文の説明を表示しています。
Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile
日本語の概要は準備中です。原文の説明を表示しています。
Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation
日本語の概要は準備中です。原文の説明を表示しています。
Apache Airflow best practices for DAG authoring, testing, and production deployment
日本語の概要は準備中です。原文の説明を表示しています。
Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration
日本語の概要は準備中です。原文の説明を表示しています。
Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)
日本語の概要は準備中です。原文の説明を表示しています。