AGENTS.md · git:20260910.ed7432e · 2026-09-10 · sha256 0d821a3b46a25ca7

AGENTS.md git:20260910.ed7432eA

Immutable. This exact content is served forever at /api/v1/blob/0d821a3b46a25ca7.

# Repository guidance

## Authoritative references

| Need | Source |
|---|---|
| Setup and contribution workflow | [CONTRIBUTING.md](CONTRIBUTING.md) |
| Usage and configuration | [README.md](README.md), [user guides](docs/README.md) |
| Architecture and behavioral boundaries | [Product decisions](docs/contributing/product-decisions.md) |
| Source and representative tests | [Implementation map](docs/contributing/capabilities.md) |
| Accepted records and instrumentation | [Versioned contracts](contracts/v1/), [task evidence](docs/task-evidence.md) |
| Packaging and validation | [pyproject.toml](pyproject.toml), [MANIFEST.in](MANIFEST.in), [CI](.github/workflows/tests.yml), [extended checks](docs/contributing/README.md) |

## Commands

- Use Python 3.12+, Git and Node.js 22 on macOS or Linux; run commands from the repository root with the virtual environment active.
- Substitute changed Python paths for focused lint/format checks; the table includes the full CI scope.

| Task | Command |
|---|---|
| Development setup | `python3 -m venv .venv && . .venv/bin/activate && python -m pip install -e '.[dev]'` |
| Focused test example | `python -m pytest tests/test_dashboard.py -q` |
| Full suite | `python -m pytest -q` |
| Lint | `python -m ruff check src tests skills/eval/helpers scripts examples` |
| Format check | `python -m ruff format --check src tests skills/eval/helpers scripts examples` |
| Browser setup and tests | `python -m pip install -e '.[dev,browser]' && python -m playwright install chromium && python -m pytest tests/test_dashboard_browser.py -q` |
| JavaScript syntax | `for script in src/agentagon/dashboard_assets/*.js skills/eval/helpers/*.cjs; do node --check "$script"; done` |
| Installer syntax | `sh -n scripts/install.sh` |
| Build sdist and wheel | `python -m build` |

- Validate packaging changes by installing the built wheel in a fresh environment outside the checkout using the [packaging checks](docs/contributing/README.md#packaging-checks).
- Local HTTP/browser tests need loopback access; require authorization before enabling [native registration or live SSH/E2B tests](docs/contributing/README.md#optional-integration-checks), and report skips separately from verified results.

## Project boundaries

- Keep model reasoning, candidate edits and independent reviews in the coding-agent host; Python handles evidence, validation and bounded execution.
- Preserve review scope over captured changes and the fixed audit rubric; full audits may inspect uncommitted or non-Git directories, while evaluation/fix workflows require clean committed inputs.
- Preserve frozen benchmark comparisons, failed/dominated experiment evidence and user choice among verified alternatives; selection, publication, merge and deployment remain separate actions.
- Keep dashboard reads within one checkout's display projections; controls remain opt-in with exact-origin/session validation, and reads must not execute work or reconnect to runners.
- Preserve explicit invocation > project override > user default precedence; store credential references rather than secret values.
- Optional [Intelligence](docs/intelligence.md) uses separately prepared privacy-safe context/focus; never automatically upload raw code, traces, credentials or the saved audit goal.
- Keep the remote worker and copyable Python event helper compatible with Python 3.10 and standard-library-only execution.

## Generated files and private state

- Regenerate build output and caches from source; do not commit `.venv/`, `build/`, `dist/`, `*.egg-info/`, `__pycache__/`, `.pytest_cache/` or `.ruff_cache/` (see [.gitignore](.gitignore)).
- Keep `.agentagon/` private and ignored; use CLI operations for saved state, reports and immutable evidence. Edit prepared host response/templates as workflow inputs, without rewriting frozen records or checksum-addressed artifacts.
- Treat `contracts/`, `signals/`, `skills/` and `src/agentagon/dashboard_assets/` as shipped source, not disposable generated output; keep packaging declarations and resource references aligned when changing them.

## Documentation and commits

- Lead docs with the decision, outcome or action; use plain words, short paragraphs and concrete examples, without filler or unnecessary qualifiers.
- Keep each doc focused and each detailed rule in one authoritative place, linking elsewhere instead of duplicating it.
- Preserve requirements, evidence, tradeoffs and uncertainty; use enough detail to prevent mistakes rather than imposing arbitrary length limits.
- Distinguish proposals, decisions, implemented behavior and verified results; put dated test counts and environment-specific limits in PR/release records.
- Preserve unrelated work and history; do not infer authorization to commit, publish, merge or deploy from a documentation workflow.
- When committing, follow [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/): one logical change, an imperative summary without a trailing period, and a scope only when useful.
- Use `feat` for features and `fix` for bugs; other types are allowed. Mark breaking changes with `!` after the type/scope or a `BREAKING CHANGE:` footer.
- Add a commit body when needed to explain the previous problem, why the change is necessary, and tradeoffs or consequences the diff cannot explain.