wicked-garden 12.53.2 → 12.53.3

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.
@@ -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.2"}], "version": "12.53.2"}
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.3"}], "version": "12.53.3"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wicked-garden",
3
- "version": "12.53.2",
3
+ "version": "12.53.3",
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.3] — 2026-10-11
6
+
7
+ ### Reverted
8
+ - **The inline claude-QE pipeline (PR #1291, shipped in 12.53.2) is reverted by operator ruling.** It removed QE's reviewer isolation. 12.53.3 restores 12.53.1's QE behaviour. Known issue (wicked-garden#1290): a claude-seated QE unit often ends its turn before a verdict. Workaround: put the QE step on a pi seat.
9
+
5
10
  ## [12.53.2] — 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.2",
3
+ "version": "12.53.3",
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": [
@@ -87,24 +87,6 @@ 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
-
108
90
  ## Instructions
109
91
 
110
92
  ### Preflight: Validate Input
@@ -188,9 +170,9 @@ repo under audit, etc.) could otherwise inject instruction-looking prose
188
170
  writer's instruction turn. The writer has `allowed-tools: Read` so it can
189
171
  open the scenario itself.
190
172
 
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):
173
+ Hand off to the `wicked-garden-qe-acceptance-test-writer` worker skill (it runs in an isolated context):
192
174
 
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.
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 and carry it out inline, then continue here.
194
176
 
195
177
  ```markdown
196
178
  Generate an evidence-gated test plan for the acceptance scenario
@@ -213,23 +195,20 @@ at the path below.
213
195
  6. Map every success criterion to specific assertions.
214
196
  7. Flag any specification mismatches you discover.
215
197
 
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).
198
+ Return the complete test plan in the standard format.
218
199
 
219
200
  ```
220
201
 
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.
202
+ If `--phase write`, stop here.
224
203
 
225
204
  ### 3. Phase: Execute (Evidence Collection)
226
205
 
227
206
  The run record was already created in step 0 so the evidence dir could derive
228
207
  from its UUID. Here we dispatch the executor against that dir.
229
208
 
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):
209
+ Hand off to the `wicked-garden-qe-acceptance-test-executor` worker skill (it runs in an isolated context):
231
210
 
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.
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 and carry it out inline, then continue here.
233
212
 
234
213
  ```markdown
235
214
  Execute this test plan and collect evidence artifacts.
@@ -248,14 +227,13 @@ Execute this test plan and collect evidence artifacts.
248
227
  5. Continue to next step even if current step fails
249
228
  6. Record timestamps for every step
250
229
 
251
- Produce the complete evidence report. It is an intermediate artifact of
252
- `qe accept`: hand it back and continue (garden#1290).
230
+ Return the complete evidence report.
253
231
 
254
232
  ```
255
233
 
256
234
  Update run status in DomainStore after execution.
257
235
 
258
- If `--phase execute`, stop here. Otherwise continue to step 4 in this same turn.
236
+ If `--phase execute`, stop here.
259
237
 
260
238
  ### 4. Phase: Pre-Review Cold Context (Optional, pre-dispatch validated)
261
239
 
@@ -301,7 +279,7 @@ if (result.rejected) {
301
279
 
302
280
  Example safe query:
303
281
 
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.
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 and carry it out inline, then continue here.
305
283
 
306
284
  If the knowledge layer is absent, skip this phase entirely — no `context.md` is
307
285
  written and the reviewer still has everything it needs (scenario + plan +
@@ -313,7 +291,7 @@ evidence).
313
291
  It does NOT receive the executor's conversation, reasoning, or stdout/stderr directly.
314
292
  Pass paths, not content, where possible.
315
293
 
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.
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 and carry it out inline, then continue here.
317
295
 
318
296
  ```markdown
319
297
  Review the evidence against the test plan assertions.
@@ -336,11 +314,9 @@ flag as CONTEXT_CONTAMINATION and return `VERDICT: FAIL` with
336
314
  2. Read the test plan file at the path above
337
315
  3. Read evidence files from the evidence directory (including context.md if present)
338
316
  4. Evaluate each assertion against evidence
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)
317
+ 5. End with one plain-text line `VERDICT: PASS` or `VERDICT: FAIL` as the LAST
318
+ line of your reply (never quote another VERDICT line); missing evidence or
319
+ CONTEXT_CONTAMINATION is FAIL with `reason: inconclusive — <why>`
344
320
  6. For any EQUIVALENT_TO_BASELINE assertion, also return the equivalence facet
345
321
  { baseline_ref, baseline_sha, method, diff_count, tolerance, matched } so the
346
322
  orchestrator can persist it on the verdict (see `verdict.equivalence`).
@@ -456,9 +432,6 @@ emitBusEvent('wicked.test.evidence.captured', {
456
432
 
457
433
  ### 7. Output
458
434
 
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
-
462
435
  **Without `--json`** — Present the full verdict:
463
436
 
464
437
  ```markdown
@@ -133,11 +133,6 @@ 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
-
141
136
  Return a text evidence report with all captured data:
142
137
 
143
138
  ```markdown
@@ -180,9 +180,6 @@ 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
-
186
183
  ### Status: {PASS | FAIL | PARTIAL | INCONCLUSIVE}
187
184
 
188
185
  ### Summary
@@ -26,11 +26,6 @@ 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
-
34
29
  ## Why You Can Query Brain
35
30
 
36
31
  You have `Skill` access so you can query the knowledge layer (wicked-estate,