From a9b0cbf4680990468581672a2850378279e5ea05 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Tue, 2 Jun 2026 00:35:12 +0000 Subject: [PATCH] docs(agents): add AGENTS.md with the server testing cadence MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Server regression canaries (tests/regression/, pytest -m canary) are expensive — run them at milestones (polish/review/release), NOT every commit. Per-recipe lifecycle tests keep their normal per-PR !testme trigger. Plus the standing 'never weaken a test to pass' guardrail. Co-Authored-By: Claude Opus 4.8 --- AGENTS.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..db63897 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,30 @@ +# AGENTS.md — cc-ci + +Working notes for agents (and humans) modifying the cc-ci server. See `README.md` for what the server +does and `machine-docs/` for the build's living state (`DECISIONS.md`, `DEFERRED.md`, `STATUS-*.md`). + +## Testing cadence + +Two kinds of tests live here — run them on **different** cadences: + +- **Per-recipe lifecycle tests** (`tests//`, triggered by `!testme` on a recipe PR): these test + the *recipes*. Run them whenever a recipe changes — that's their normal per-PR trigger. + +- **Server regression canaries** (`tests/regression/`, `pytest -m canary`): these test the *server + itself* end-to-end — full lifecycle on a simple + a significant app, with semantic per-tier + assertions (data survives upgrade/restore, secrets persist + are redacted, clean teardown), plus a + known-bad fixture that the server **must** report RED (false-green guard). They are **slow and + resource-heavy** (live Swarm, minutes per app). + + > **Do NOT run the canaries on every commit/PR.** Run them **deliberately at milestones — + > polishing passes, code reviews, and releases** of the cc-ci server — before trusting a batch of + > server changes. They are opt-in behind the `@pytest.mark.canary` marker; if ever wired to + > `!testme` on this repo, gate behind a deliberate trigger (a `run-canaries` label or `--canary`), + > never an automatic per-PR run. + + Spec: `plan-server-regression-canaries.md` (orchestrator `cc-ci-plan/`). + +## Don't weaken tests to pass + +A red test is information. Never skip, delete, or relax a test to make a run green — fix the root +cause or record it in `machine-docs/DEFERRED.md`. (This is a standing build guardrail.)