AGENTS.md · git:20261101.da1e4b8 · 2026-11-01 · sha256 87181a636c1eb949

AGENTS.md git:20261101.da1e4b8A

Immutable. This exact content never changes and is served at /api/v1/blob/87181a636c1eb949.

# Agent Guard contributor rules

Agent Guard is a boundary guard, not an agent orchestrator. Keep these layers
separate:

- the portable shell CLI owns policy evaluation, scanning, redaction, exit
  codes, and dependency diagnostics;
- host adapters (Claude, Codex, Git hooks, and GitHub Actions) translate their
  native event into the CLI contract and must not duplicate policy logic;
- sub-agent and legacy Task events are inputs to the same boundary checks, not
  permission to bypass them.

Before adding code, follow this minimum-complexity ladder: reuse an existing
path, use POSIX shell or an installed system tool, use a host-native feature,
and add a new dependency only when the preceding options cannot provide the
required security guarantee. Never simplify away validation, redaction,
fail-closed behavior, or cleanup merely to reduce lines.

Every adapter change must preserve safe pass-through behavior for unknown
events, explicit infrastructure-failure policy, and the distinction between a
clean scan and a scan that could not run. Add a fixture for each supported host
and run `tests/run.sh` before declaring the change complete.

## Documentation languages

- Keep public English documentation in English. `README.md` and unsuffixed
  documents in `docs/` are the canonical English sources; do not replace
  their existing English prose with a different language while fixing content.
- Korean and Japanese translations add `.ko` or `.ja` before `.md`,
  such as `README.ko.md` and `docs/installation.ja.md`. Add language navigation to every document in a translated set. Link to the reader's
  language when a translation exists and identify English-only references.
- Update existing translations in the same PR as their English source.
  Preserve commands, code comments, identifiers, logs, error messages,
  exit codes, security boundaries, and verification limits in every language.
  Keep code examples identical to the English source.
- Each translation starts with a `translated-from` comment naming the source
  and its `source-blob` Git object ID. After reviewing a translation against
  an edited source, refresh that ID with `git hash-object <source-path>`.
  The ID identifies the reviewed source; it is not proof of translation quality.
- Translation coverage starts with the README, installation, and verification
  guides. Other documents remain in their current language until a reviewed
  translation is added. Keep release notes, security policies, and skill
  instructions on their existing paths; this policy adds no runtime locale.
- Write tickets, PR titles/descriptions, and internal working notes in Korean.