Every release member now declares publishConfig.access: public, so the scope no longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored framework and the native packages. check-workspace-constraints drops the per-sequence expectation and holds every release member to public, which is what stops a member from drifting back. Access is a property of the package, not of a version: the dsh packages already published as restricted become world-readable at their next publication.
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.