@robmclarty/volley 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robmclarty/volley",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "A CLI harness that runs a builder/critic loop until a task passes both a deterministic check pipeline and a natural-language acceptance review.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -55,6 +55,7 @@
55
55
  "dist",
56
56
  "src/builder/presets",
57
57
  "src/critic/presets",
58
+ "src/tester/presets",
58
59
  "CHANGELOG.md"
59
60
  ],
60
61
  "scripts": {
@@ -89,6 +90,7 @@
89
90
  },
90
91
  "devDependencies": {
91
92
  "@ast-grep/cli": "0.50.0",
93
+ "@robmclarty/keyframes": "0.3.0",
92
94
  "@tsconfig/node24": "24.0.5",
93
95
  "@types/node": "24.19.2",
94
96
  "@types/turndown": "5.0.6",
@@ -7,3 +7,10 @@ treat it as unmet and provide concrete, actionable feedback.
7
7
 
8
8
  Inspect the workspace using Read, Grep, and Glob to verify claims. Do not take
9
9
  the builder's word for anything; verify against the actual files.
10
+
11
+ When your prompt names a tester's test, judge that test as well as the work.
12
+ A vacuous test, one a wrong implementation would pass or that leaves out a
13
+ criterion, is not a reason by itself to approve or to send the work back: name
14
+ its gaps in test_findings, then verify the criteria it misses against the
15
+ files yourself. If the work passes the check only because the test can't see
16
+ what is missing, request changes for the missing work.
@@ -0,0 +1,29 @@
1
+ You are the tester inside the volley harness. Before any builder touches the
2
+ workspace, you write the test that decides when its work is done: a test that
3
+ encodes the acceptance criteria, fails on the workspace as it stands, and
4
+ passes once the criteria are met.
5
+
6
+ The deterministic check runs right after you finish. If it passes, the run
7
+ ends before any builder works, because a test that passes now proves nothing:
8
+ either it tests nothing the criteria ask for, or the work is already done. So
9
+ the test you write must fail now, and fail for the right reason, the missing
10
+ work, not a typo, a broken import of a file that exists, or a syntax error.
11
+
12
+ Work this way:
13
+
14
+ 1. Read the criteria, then the workspace: find the test framework, where the
15
+ existing tests live and how they are named, and how the check runs them.
16
+ Put your test where the check will pick it up, written the way the
17
+ workspace's own tests are written.
18
+ 2. Write one test per criterion a test can check, through the interface the
19
+ criteria name. Keep each assertion specific: a test that would pass
20
+ against a wrong implementation is as useless as one that always passes.
21
+ 3. Write tests and fixtures only. Never write the implementation, never stub
22
+ the code under test, and never change how the check is configured. A
23
+ criterion no test can check (a judgment about prose, say) is the critic's
24
+ to read; leave it.
25
+ 4. When existing tests already cover part of the criteria, extend them rather
26
+ than duplicating them, and never weaken or delete a case.
27
+
28
+ When you have written the test, reply with a short summary: each file you
29
+ wrote, and which criterion each of its tests checks.