Files
deepseek-harness/packages/guard
_Kerman 3cd80a6f3f Merge remote-tracking branch 'origin/xtr/session-format-migration' into xtr/message-tool-call-id
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-20-branded-ids.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-20-branded-ids.md
#	.agents/notes/implemented/architecture/2026-06-20-branded-ids.zh.md
#	packages/fs/tool-fs/tests/read-image.spec.ts
#	packages/llm/llm-deepseek/tests/adapter.e2e.ts
#	packages/llm/llm-deepseek/tests/serialize.spec.ts
#	packages/llm/llm-pi-ai/src/context.ts
#	packages/llm/llm-pi-ai/tests/context.spec.ts
#	packages/llm/llm-pi-ai/tests/convert.spec.ts
#	packages/llm/llm/src/message.ts
#	packages/llm/llm/tests/content.spec.ts
2026-08-22 16:03:48 +08:00
..

guard/ — loop-hygiene guard family

English | 中文

Behavioral guard plugins watch the agent loop for unproductive patterns and enforce per-call budgets. A guard is a self-contained consumer of core services and extension points, not a swappable capability.

Package Role ctx key
repeat-tool-reminder/ Advisory reminders for repeated tool calls listens on tool and agent events
timeout-policy/ Arms per-call tool deadlines as deployment policy registers a tools/execute listener

Reminders travel as additionalContexts on the tools/post-execute decision and are appended as logged plugin-sourced user/message events (tools); the timeout split across dsh-timeout, capability termination, and this policy layer is recorded in the timeout-library Agent Note.