From 580394de7ce61b0b84f3a7fa828fc30696588fe5 Mon Sep 17 00:00:00 2001 From: wave-contract-rollout Date: Sat, 29 Aug 2026 23:04:36 -0400 Subject: [PATCH] =?UTF-8?q?chore(contracts):=20correct=20false=20TESTING.m?= =?UTF-8?q?d=20(no=20test=20command=20here)=20=E2=86=92=20declared=20absen?= =?UTF-8?q?ce=20in=20.contracts-absent.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .contracts-absent.json | 10 ++++++++++ TESTING.md | 43 ------------------------------------------ 2 files changed, 10 insertions(+), 43 deletions(-) create mode 100644 .contracts-absent.json delete mode 100644 TESTING.md diff --git a/.contracts-absent.json b/.contracts-absent.json new file mode 100644 index 0000000..c234cc2 --- /dev/null +++ b/.contracts-absent.json @@ -0,0 +1,10 @@ +{ + "version": "0.1", + "absent": { + "test-contract": { + "reason": "no-test-command", + "declared_at": "2026-08-30", + "by": "contract-rollout-fix" + } + } +} diff --git a/TESTING.md b/TESTING.md deleted file mode 100644 index 067fc4f..0000000 --- a/TESTING.md +++ /dev/null @@ -1,43 +0,0 @@ -# TESTING - -How to run this project's tests, for people and for agents. The fenced -`yaml test-contract` block below is the machine surface: `testmd validate` -checks it, `testmd run` executes it and writes receipts, and the stop gate -verifies receipts before an agent may claim DONE. Edit the YAML, keep the -fence line exactly as-is, and never paste secret values into it (fixture -NAMES only). - -```yaml test-contract -version: "0.1" -entry: npm test -suites: - unit: - cmd: npm test - timeout_s: 600 - lint: - cmd: npm run lint - required: false - timeout_s: 120 -pass: - exit: 0 -forbidden: - - skip-failing - - delete-tests - - mock-prod - - claim-pass-on-timeout -flake: - retries: 0 - on_flaky: fail -receipt: - format: json - path: .testmd/receipts - bind: gitCommit -``` - -## Notes for contributors - -- `testmd run` executes every suite and writes one receipt per suite under - `.testmd/receipts/` (add that directory to `.gitignore`). -- A receipt is bound to the contract text AND the git commit it ran at; edit - either and the receipt goes stale — re-run. -- Optional suites (`required: false`) may fail without failing the gate.