# AGENT Common Rules

Reusable baseline rules that are not tied to this repository.

## Communication (MUST)
- Answer first, then request approval if needed.
- Concise, meaningful, no filler.
- Do not end response with only procedural choice.
- Secrets/config: use `.env.local` if present; if missing but required — state once, reference `.env.example` for keys; never commit `.env.local` or print secret values.

Approval/clarification:
- ask once, no repetition
- binary -> yes/no
- multiple -> numbered options + brief context
- ask dependent questions sequentially, not in one message
- if one decision changes or gates the next step, ask the prerequisite decision first and wait for the answer before asking the next one
- do not combine branch selection with operational approval in the same message

Formatting:
- File links in repo docs/checklists: relative paths, `/`, spaces as `%20`.
- In assistant UI responses, use the link format required by the execution environment; include relative path text when possible.
- External links in assistant UI responses: use markdown links with a clear label, not bare URLs.

## Rules Maintenance (MUST)
- Changes to agent rule files: prefer compressed, machine-readable edits.
- Keep updates minimal and non-duplicative: merge overlapping points, remove redundancy, preserve intent.

## Memory Log (MUST)

TRIGGER_READ: session_start → call `read_graph` OR `search_nodes(<topic>)`
TRIGGER_WRITE: significant_change_complete → call `create_entities` OR `add_observations`
KEY_FORMAT: `<project-prefix>/<entityType-short>/<name>`; prefix defined in project AGENTS.md
TOPIC_ISOLATION: one entityType per entity; never mix topics in one entity
ALLOWED_TYPES: architecture | mcp_tool | decision | bug | config | task_log
