wicked-garden 12.53.1 → 12.53.2
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +5 -0
- package/package.json +1 -1
- package/skills/qe/refs/accept.md +40 -13
- package/skills/qe-acceptance-test-executor/SKILL.md +5 -0
- package/skills/qe-acceptance-test-reviewer/SKILL.md +3 -0
- package/skills/qe-acceptance-test-writer/SKILL.md +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "wicked-garden", "owner": {"name": "Mike Parcewski"}, "plugins": [{"name": "wicked-garden", "source": "./", "description": "Your coding agent already plans and swarms \u2014 Wicked Garden is the curated toolkit for what it can't: proof-not-claims gates, code links grep can't see, deterministic refactor, cross-session memory, multi-model second opinions (fallback seats labelled). Don't fight the harness; fill its gaps. The gate needs wicked-vault (a self-contained infra peer, installed directly) and re-derives through garden's built-in engine; estate/bus are opt-in layers (wicked-testing and wicked-brain are retired \u2014 QE ships in-catalog as the qe domain, memory lives in wicked-estate).", "version": "12.53.
|
|
1
|
+
{"name": "wicked-garden", "owner": {"name": "Mike Parcewski"}, "plugins": [{"name": "wicked-garden", "source": "./", "description": "Your coding agent already plans and swarms \u2014 Wicked Garden is the curated toolkit for what it can't: proof-not-claims gates, code links grep can't see, deterministic refactor, cross-session memory, multi-model second opinions (fallback seats labelled). Don't fight the harness; fill its gaps. The gate needs wicked-vault (a self-contained infra peer, installed directly) and re-derives through garden's built-in engine; estate/bus are opt-in layers (wicked-testing and wicked-brain are retired \u2014 QE ships in-catalog as the qe domain, memory lives in wicked-estate).", "version": "12.53.2"}], "version": "12.53.2"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-garden",
|
|
3
|
-
"version": "12.53.
|
|
3
|
+
"version": "12.53.2",
|
|
4
4
|
"description": "Your coding agent's harness already plans and swarms; Wicked Garden is the curated toolkit for what it can't do alone. Proof, not claims \u2014 gates re-derive 'done' through the internal loom engine (fail-closed, independently attested via wicked-vault), so a self-asserted pass can't lie its way green. Relationships grep can't see \u2014 the wicked-estate code graph + injected bus/dispatch/capability/archetype edges power blast-radius & lineage. Plus deterministic multi-file refactor (wicked-patch), cross-session memory + knowledge (the mem domain over wicked-estate), multi-model second opinions (fallback seats labelled) (jam:council), portable expertise as on-demand skill-refs, and evidence-gated testing (the in-catalog qe domain). It reads the shape of your work to apply the right rigor \u2014 steering, not a pipeline \u2014 then gets out of the way. The compiler stamps a self-contained evidence gate into any repo that runs with no wicked-garden installed. Don't fight the harness; fill its gaps. The evidence gate requires wicked-vault, a self-contained infra peer wicked-garden installs directly; wicked-bus is an opt-in layer \u2014 install what you'll use, the toolkit works without the rest.",
|
|
5
5
|
"wicked_vault_version": "^0.5.0",
|
|
6
6
|
"wicked_ledger_version": "^0.6.0",
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [12.53.2] — 2026-10-11
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **qe accept runs in one turn inside a governed unit (PR #1291, #1290).** With `WICKED_RUN_ID` set, `wicked-garden-qe` accept runs writer → executor → reviewer inline in one turn, with no sub-agent dispatch, and ends only on the recorded verdict. A claude QE seat no longer ends its turn on the writer's test plan.
|
|
9
|
+
|
|
5
10
|
## [12.53.1] — 2026-10-11
|
|
6
11
|
|
|
7
12
|
### Fixed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-garden",
|
|
3
|
-
"version": "12.53.
|
|
3
|
+
"version": "12.53.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Curated toolkit for what AI coding agents can't do alone: evidence-gated work, codegraph relationships, deterministic multi-file refactor, multi-model second opinions, and cross-session memory. Installs as a Claude Code plugin.",
|
|
6
6
|
"keywords": [
|
package/skills/qe/refs/accept.md
CHANGED
|
@@ -87,6 +87,24 @@ invocation.)
|
|
|
87
87
|
- `--phase review` — review existing evidence
|
|
88
88
|
- `--json` — emit JSON envelope
|
|
89
89
|
|
|
90
|
+
## Governed unit (`WICKED_RUN_ID` set): one turn, inline
|
|
91
|
+
|
|
92
|
+
A governed wicked-crew unit (`WICKED_RUN_ID` is set) is ONE headless turn: whatever you print
|
|
93
|
+
last is the unit's reply, and the engine reads its `VERDICT:` line. So, on every seat:
|
|
94
|
+
|
|
95
|
+
- Run writer → executor → reviewer **inline, in this one turn**. Carry out each hand-off below
|
|
96
|
+
yourself: open the worker skill (Skill tool, or its SKILL.md from your catalog), do its steps,
|
|
97
|
+
and come back here. Do not dispatch an `Agent` / `Task` sub-agent or a fork. A headless unit has
|
|
98
|
+
none, and a forked result returns to nobody.
|
|
99
|
+
- A worker's output (test plan, evidence report) is an **intermediate artifact**: save it under
|
|
100
|
+
`{EVIDENCE_DIR}` (`test-plan.md`, `evidence.json`) and continue to the next phase. Never end
|
|
101
|
+
your reply on it.
|
|
102
|
+
- Never end the turn before step 6 has written the verdict row and your reply's last line is
|
|
103
|
+
`VERDICT: PASS` or `VERDICT: FAIL`. If a step fails, still finish: record FAIL with
|
|
104
|
+
`reason: inconclusive — <why>` and print that verdict line.
|
|
105
|
+
- Reviewer isolation is evidence-only dispatch here: judge from the scenario, plan and evidence
|
|
106
|
+
files, never from what you saw while executing.
|
|
107
|
+
|
|
90
108
|
## Instructions
|
|
91
109
|
|
|
92
110
|
### Preflight: Validate Input
|
|
@@ -170,9 +188,9 @@ repo under audit, etc.) could otherwise inject instruction-looking prose
|
|
|
170
188
|
writer's instruction turn. The writer has `allowed-tools: Read` so it can
|
|
171
189
|
open the scenario itself.
|
|
172
190
|
|
|
173
|
-
Hand off to the `wicked-garden-qe-acceptance-test-writer` worker skill (
|
|
191
|
+
Hand off to the `wicked-garden-qe-acceptance-test-writer` worker skill (an isolated context where the host forks one; inline in a governed unit):
|
|
174
192
|
|
|
175
|
-
**Hand-off** — open the `wicked-garden-qe-acceptance-test-writer` skill with the brief below as the argument; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog
|
|
193
|
+
**Hand-off** — open the `wicked-garden-qe-acceptance-test-writer` skill with the brief below as the argument; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog; either way carry it out inline in this turn (no sub-agent), then continue here.
|
|
176
194
|
|
|
177
195
|
```markdown
|
|
178
196
|
Generate an evidence-gated test plan for the acceptance scenario
|
|
@@ -195,20 +213,23 @@ at the path below.
|
|
|
195
213
|
6. Map every success criterion to specific assertions.
|
|
196
214
|
7. Flag any specification mismatches you discover.
|
|
197
215
|
|
|
198
|
-
|
|
216
|
+
Produce the complete test plan in the standard format. It is an intermediate
|
|
217
|
+
artifact of `qe accept`: hand it back and continue (garden#1290).
|
|
199
218
|
|
|
200
219
|
```
|
|
201
220
|
|
|
202
|
-
|
|
221
|
+
Save the plan to `{EVIDENCE_DIR}/test-plan.md` (the reviewer reads it from there).
|
|
222
|
+
|
|
223
|
+
If `--phase write`, stop here. Otherwise continue to step 3 in this same turn.
|
|
203
224
|
|
|
204
225
|
### 3. Phase: Execute (Evidence Collection)
|
|
205
226
|
|
|
206
227
|
The run record was already created in step 0 so the evidence dir could derive
|
|
207
228
|
from its UUID. Here we dispatch the executor against that dir.
|
|
208
229
|
|
|
209
|
-
Hand off to the `wicked-garden-qe-acceptance-test-executor` worker skill (
|
|
230
|
+
Hand off to the `wicked-garden-qe-acceptance-test-executor` worker skill (an isolated context where the host forks one; inline in a governed unit):
|
|
210
231
|
|
|
211
|
-
**Hand-off** — open the `wicked-garden-qe-acceptance-test-executor` skill with the brief below as the argument; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog
|
|
232
|
+
**Hand-off** — open the `wicked-garden-qe-acceptance-test-executor` skill with the brief below as the argument; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog; either way carry it out inline in this turn (no sub-agent), then continue here.
|
|
212
233
|
|
|
213
234
|
```markdown
|
|
214
235
|
Execute this test plan and collect evidence artifacts.
|
|
@@ -227,13 +248,14 @@ Execute this test plan and collect evidence artifacts.
|
|
|
227
248
|
5. Continue to next step even if current step fails
|
|
228
249
|
6. Record timestamps for every step
|
|
229
250
|
|
|
230
|
-
|
|
251
|
+
Produce the complete evidence report. It is an intermediate artifact of
|
|
252
|
+
`qe accept`: hand it back and continue (garden#1290).
|
|
231
253
|
|
|
232
254
|
```
|
|
233
255
|
|
|
234
256
|
Update run status in DomainStore after execution.
|
|
235
257
|
|
|
236
|
-
If `--phase execute`, stop here.
|
|
258
|
+
If `--phase execute`, stop here. Otherwise continue to step 4 in this same turn.
|
|
237
259
|
|
|
238
260
|
### 4. Phase: Pre-Review Cold Context (Optional, pre-dispatch validated)
|
|
239
261
|
|
|
@@ -279,7 +301,7 @@ if (result.rejected) {
|
|
|
279
301
|
|
|
280
302
|
Example safe query:
|
|
281
303
|
|
|
282
|
-
**Hand-off** — open the `wicked-garden-mem` skill and run its `recall` action with `<scenario-category> test rules` as the query; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog
|
|
304
|
+
**Hand-off** — open the `wicked-garden-mem` skill and run its `recall` action with `<scenario-category> test rules` as the query; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog; either way carry it out inline in this turn (no sub-agent), then continue here.
|
|
283
305
|
|
|
284
306
|
If the knowledge layer is absent, skip this phase entirely — no `context.md` is
|
|
285
307
|
written and the reviewer still has everything it needs (scenario + plan +
|
|
@@ -291,7 +313,7 @@ evidence).
|
|
|
291
313
|
It does NOT receive the executor's conversation, reasoning, or stdout/stderr directly.
|
|
292
314
|
Pass paths, not content, where possible.
|
|
293
315
|
|
|
294
|
-
**Hand-off** — open the `wicked-garden-qe-acceptance-test-reviewer` skill with the brief below as the argument; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog
|
|
316
|
+
**Hand-off** — open the `wicked-garden-qe-acceptance-test-reviewer` skill with the brief below as the argument; on Claude Code this is the Skill tool, on any other seat open the named skill from your catalog; either way carry it out inline in this turn (no sub-agent), then continue here.
|
|
295
317
|
|
|
296
318
|
```markdown
|
|
297
319
|
Review the evidence against the test plan assertions.
|
|
@@ -314,9 +336,11 @@ flag as CONTEXT_CONTAMINATION and return `VERDICT: FAIL` with
|
|
|
314
336
|
2. Read the test plan file at the path above
|
|
315
337
|
3. Read evidence files from the evidence directory (including context.md if present)
|
|
316
338
|
4. Evaluate each assertion against evidence
|
|
317
|
-
5. End with one plain-text line `VERDICT: PASS` or `VERDICT: FAIL`
|
|
318
|
-
|
|
319
|
-
CONTEXT_CONTAMINATION is FAIL with `reason: inconclusive — <why
|
|
339
|
+
5. End the review with one plain-text line `VERDICT: PASS` or `VERDICT: FAIL`
|
|
340
|
+
(never quote another VERDICT line); missing evidence or
|
|
341
|
+
CONTEXT_CONTAMINATION is FAIL with `reason: inconclusive — <why>`. Hand the
|
|
342
|
+
review back: `qe accept` still writes the verdict (step 6) and prints that
|
|
343
|
+
line last (garden#1290)
|
|
320
344
|
6. For any EQUIVALENT_TO_BASELINE assertion, also return the equivalence facet
|
|
321
345
|
{ baseline_ref, baseline_sha, method, diff_count, tolerance, matched } so the
|
|
322
346
|
orchestrator can persist it on the verdict (see `verdict.equivalence`).
|
|
@@ -432,6 +456,9 @@ emitBusEvent('wicked.test.evidence.captured', {
|
|
|
432
456
|
|
|
433
457
|
### 7. Output
|
|
434
458
|
|
|
459
|
+
The reply's LAST line is the reviewer's `VERDICT: PASS` or `VERDICT: FAIL`, printed
|
|
460
|
+
only after step 6 wrote the verdict row. This is what ends the turn.
|
|
461
|
+
|
|
435
462
|
**Without `--json`** — Present the full verdict:
|
|
436
463
|
|
|
437
464
|
```markdown
|
|
@@ -133,6 +133,11 @@ python3 -c "import json,sys; sys.stdout.write(json.dumps({...}))" 2>/dev/null \
|
|
|
133
133
|
|
|
134
134
|
### 6. Compile Evidence Report
|
|
135
135
|
|
|
136
|
+
**Opened from `qe accept`** (garden#1290): your evidence report is an intermediate artifact of that
|
|
137
|
+
pipeline, not the end of the turn. Hand it back and the pipeline continues to the reviewer in the
|
|
138
|
+
same turn. Never end the turn on it, above all in a governed unit (`WICKED_RUN_ID` set), where your
|
|
139
|
+
last output is the unit's reply.
|
|
140
|
+
|
|
136
141
|
Return a text evidence report with all captured data:
|
|
137
142
|
|
|
138
143
|
```markdown
|
|
@@ -180,6 +180,9 @@ Review any specification notes from the test plan writer. Factor these into your
|
|
|
180
180
|
```markdown
|
|
181
181
|
## Overall Verdict
|
|
182
182
|
|
|
183
|
+
**Opened from `qe accept`** (garden#1290): hand this review back and continue. `qe accept` writes the
|
|
184
|
+
verdict row (its step 6) and then prints the `VERDICT:` line last; that, not this review, ends the turn.
|
|
185
|
+
|
|
183
186
|
### Status: {PASS | FAIL | PARTIAL | INCONCLUSIVE}
|
|
184
187
|
|
|
185
188
|
### Summary
|
|
@@ -26,6 +26,11 @@ Your test plans are designed so that:
|
|
|
26
26
|
|
|
27
27
|
You do NOT execute tests. You do NOT grade results. You produce test plans.
|
|
28
28
|
|
|
29
|
+
**Opened from `qe accept`** (garden#1290): your test plan is an intermediate artifact of that
|
|
30
|
+
pipeline, not the end of the turn. Hand it back and the pipeline continues to the executor in the
|
|
31
|
+
same turn. Never end the turn on it, above all in a governed unit (`WICKED_RUN_ID` set), where your
|
|
32
|
+
last output is the unit's reply.
|
|
33
|
+
|
|
29
34
|
## Why You Can Query Brain
|
|
30
35
|
|
|
31
36
|
You have `Skill` access so you can query the knowledge layer (wicked-estate,
|