wicked-crew 0.9.4 → 0.9.6

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.
Files changed (121) hide show
  1. package/dist/api/delivery-assurance.d.ts.map +1 -1
  2. package/dist/api/delivery-assurance.js +14 -3
  3. package/dist/api/delivery-assurance.js.map +1 -1
  4. package/dist/api/discovery-source.d.ts +4 -4
  5. package/dist/api/discovery-source.d.ts.map +1 -1
  6. package/dist/api/discovery-source.js +14 -8
  7. package/dist/api/discovery-source.js.map +1 -1
  8. package/dist/api/eval-sample.d.ts +12 -12
  9. package/dist/api/governance-steering.d.ts +2 -2
  10. package/dist/api/governance-steering.js +2 -2
  11. package/dist/api/governance-steering.js.map +1 -1
  12. package/dist/api/mcp.d.ts +4 -4
  13. package/dist/api/onboarding-capture.d.ts +1 -1
  14. package/dist/api/onboarding-capture.d.ts.map +1 -1
  15. package/dist/api/onboarding-capture.js +1 -1
  16. package/dist/api/onboarding-capture.js.map +1 -1
  17. package/dist/api/routes.d.ts +133 -131
  18. package/dist/api/routes.d.ts.map +1 -1
  19. package/dist/api/routes.js +37 -34
  20. package/dist/api/routes.js.map +1 -1
  21. package/dist/api/server.d.ts +6 -0
  22. package/dist/api/server.d.ts.map +1 -1
  23. package/dist/api/server.js +36 -1
  24. package/dist/api/server.js.map +1 -1
  25. package/dist/api/testing.js +1 -1
  26. package/dist/api/testing.js.map +1 -1
  27. package/dist/campaigns/plan.d.ts +8 -1
  28. package/dist/campaigns/plan.d.ts.map +1 -1
  29. package/dist/campaigns/plan.js +15 -3
  30. package/dist/campaigns/plan.js.map +1 -1
  31. package/dist/campaigns/routes.d.ts +8 -8
  32. package/dist/core/adapter.d.ts +29 -89
  33. package/dist/core/adapter.d.ts.map +1 -1
  34. package/dist/core/adapter.js +86 -609
  35. package/dist/core/adapter.js.map +1 -1
  36. package/dist/core/builtin-catalog.d.ts +24 -0
  37. package/dist/core/builtin-catalog.d.ts.map +1 -0
  38. package/dist/core/builtin-catalog.js +54 -0
  39. package/dist/core/builtin-catalog.js.map +1 -0
  40. package/dist/core/council-settings.d.ts +18 -0
  41. package/dist/core/council-settings.d.ts.map +1 -0
  42. package/dist/core/council-settings.js +37 -0
  43. package/dist/core/council-settings.js.map +1 -0
  44. package/dist/core/deliver-text.d.ts +1 -1
  45. package/dist/core/deliver-text.d.ts.map +1 -1
  46. package/dist/core/deliver-text.js +3 -2
  47. package/dist/core/deliver-text.js.map +1 -1
  48. package/dist/core/deliver.d.ts +0 -6
  49. package/dist/core/deliver.d.ts.map +1 -1
  50. package/dist/core/deliver.js +0 -6
  51. package/dist/core/deliver.js.map +1 -1
  52. package/dist/core/run-identity.d.ts +1 -1
  53. package/dist/core/run-identity.d.ts.map +1 -1
  54. package/dist/core/run-identity.js +7 -3
  55. package/dist/core/run-identity.js.map +1 -1
  56. package/dist/editors/csp.js +2 -2
  57. package/dist/editors/csp.js.map +1 -1
  58. package/dist/editors/pack-install.d.ts +35 -14
  59. package/dist/editors/pack-install.d.ts.map +1 -1
  60. package/dist/editors/pack-install.js +171 -24
  61. package/dist/editors/pack-install.js.map +1 -1
  62. package/dist/editors/registry.d.ts +151 -13
  63. package/dist/editors/registry.d.ts.map +1 -1
  64. package/dist/editors/registry.js +257 -20
  65. package/dist/editors/registry.js.map +1 -1
  66. package/dist/editors/routes.d.ts +10 -5
  67. package/dist/editors/routes.d.ts.map +1 -1
  68. package/dist/editors/routes.js +30 -20
  69. package/dist/editors/routes.js.map +1 -1
  70. package/dist/learn/routes.d.ts +42 -0
  71. package/dist/learn/routes.d.ts.map +1 -0
  72. package/dist/learn/routes.js +87 -0
  73. package/dist/learn/routes.js.map +1 -0
  74. package/dist/learn/schedule-store.d.ts +41 -0
  75. package/dist/learn/schedule-store.d.ts.map +1 -0
  76. package/dist/learn/schedule-store.js +137 -0
  77. package/dist/learn/schedule-store.js.map +1 -0
  78. package/dist/learn/scheduler.d.ts +71 -0
  79. package/dist/learn/scheduler.d.ts.map +1 -0
  80. package/dist/learn/scheduler.js +222 -0
  81. package/dist/learn/scheduler.js.map +1 -0
  82. package/dist/learn/topics.d.ts +14 -0
  83. package/dist/learn/topics.d.ts.map +1 -0
  84. package/dist/learn/topics.js +95 -0
  85. package/dist/learn/topics.js.map +1 -0
  86. package/dist/projects/graph.d.ts +14 -0
  87. package/dist/projects/graph.d.ts.map +1 -1
  88. package/dist/projects/graph.js +41 -2
  89. package/dist/projects/graph.js.map +1 -1
  90. package/dist/projects/routes.d.ts +2 -2
  91. package/dist/projects/state-home-registry.d.ts.map +1 -1
  92. package/dist/projects/state-home-registry.js +2 -0
  93. package/dist/projects/state-home-registry.js.map +1 -1
  94. package/dist/qe/acceptance.d.ts +5 -0
  95. package/dist/qe/acceptance.d.ts.map +1 -1
  96. package/dist/qe/acceptance.js +4 -2
  97. package/dist/qe/acceptance.js.map +1 -1
  98. package/dist/qe/author-workflow.d.ts +6 -83
  99. package/dist/qe/author-workflow.d.ts.map +1 -1
  100. package/dist/qe/author-workflow.js +6 -300
  101. package/dist/qe/author-workflow.js.map +1 -1
  102. package/dist/qe/ledger.d.ts +20 -0
  103. package/dist/qe/ledger.d.ts.map +1 -1
  104. package/dist/qe/ledger.js +28 -2
  105. package/dist/qe/ledger.js.map +1 -1
  106. package/dist/skills/core-closure.d.ts +3 -5
  107. package/dist/skills/core-closure.d.ts.map +1 -1
  108. package/dist/skills/core-closure.js +3 -5
  109. package/dist/skills/core-closure.js.map +1 -1
  110. package/dist/standing-orders/routes.d.ts +4 -4
  111. package/dist/standing-orders/store.d.ts +2 -2
  112. package/dist/studio/assets/index-C0ZMi_8d.js +583 -0
  113. package/dist/studio/assets/index-DYLo25MW.css +32 -0
  114. package/dist/studio/editors/wicked-page/editor.json +1 -1
  115. package/dist/studio/editors/wicked-page/index.html +1 -1
  116. package/dist/studio/index.html +2 -2
  117. package/dist/studio/testid-inventory.json +566 -36
  118. package/endpoint-manifest.json +59 -2
  119. package/package.json +4 -4
  120. package/dist/studio/assets/index-BGfFmWw4.css +0 -32
  121. package/dist/studio/assets/index-BMRUMU4X.js +0 -567
@@ -242,6 +242,11 @@ export declare function runWindowFromEvents(events: RecordedEvent[] | null, runI
242
242
  export declare function buildAcceptanceView(opts: {
243
243
  runId: string;
244
244
  repo: RepoEntry | null;
245
+ /**
246
+ * The run's evidence root (`session.evidence_root`), when it has one: its QE ledger is then
247
+ * `<evidence root>/.wicked-qe` and nothing else ({@link runQeLedgerRoot}, crew#951).
248
+ */
249
+ evidenceRoot?: string | null;
245
250
  /** What the run must prove ({@link acceptanceRequirementOf}). */
246
251
  requirement: AcceptanceRequirement;
247
252
  qeRunId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@
46
46
  import { VERDICT_VALUES } from 'wicked-ledger/manifest';
47
47
  import { runIdentityOf, runWorkflowDef } from '../core/run-identity.js';
48
48
  import { basename } from 'node:path';
49
- import { describeAttribution, readAcceptanceState, summarizeManifest } from './ledger.js';
49
+ import { describeAttribution, readLedgerAcceptanceState, runQeLedgerRoot, summarizeManifest } from './ledger.js';
50
50
  import { resolveConformance } from './conformance.js';
51
51
  /**
52
52
  * Verdict → run-status, 1:1 with garden's qe `accept` action (VERDICT_TO_STATUS)
@@ -429,7 +429,9 @@ export async function buildAcceptanceView(opts) {
429
429
  const subject = opts.qeRunId !== undefined
430
430
  ? { qeRunId: opts.qeRunId }
431
431
  : { run: runWindowFromEvents(eventRows, opts.runId, eventsError) };
432
- const state = opts.repo !== null ? await readAcceptanceState(opts.repo.root_path, subject) : null;
432
+ // The run's ONE ledger (crew#951): its evidence root's when it has one, else its repo's.
433
+ const ledgerRoot = runQeLedgerRoot({ evidence_root: opts.evidenceRoot ?? null }, opts.repo?.root_path ?? null);
434
+ const state = ledgerRoot !== null ? await readLedgerAcceptanceState(ledgerRoot, subject) : null;
433
435
  // Deny-dominates across the repo ledger too: on a run whose requirement is walkthroughs only, a
434
436
  // verdict the repo ledger DOES attribute to this run still counts — a FAIL there denies.
435
437
  // An unreadable repo ledger counts too: it cannot say whether it attributes a denial (Copilot on #759).
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../src/qe/acceptance.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,11 @@
1
1
  /**
2
2
  * `qe-author-tests` — the governed test-authoring workflow (wave 6: F-7R2-003/004/005/012/014/015,
3
- * acceptance verdict R4-r2), workflows-as-data.
4
- *
5
- * ## Why a workflow, not a free-text run
6
- *
7
- * The studio's "New test" used to `POST /testing/recon` a plain free-text governed run: the planner
8
- * split the brief at sentence boundaries into seven alternating agent units, two of them chat
9
- * replies ("Gate protocol acknowledged … What is the next task?"), every gate a vacuous
10
- * default-allow, no `skill_ref` anywhere (the 40-specialist QE domain never routed), no deliver
11
- * phase (the LAST worker opened the PR from its own shell — invisible to the ledger), no campaign
12
- * registered (the Test landing stayed empty), and the produced Playwright e2e was never executed by
13
- * the run — it failed at its first check on the first independent run (R4-r2: 0 of 12 checks).
14
- *
15
- * This def is the fix, as data the engine validates AS AUTHORED (wicked-core#414 — a code-writing
16
- * agent phase carries the evidence-floor pin, the verified-evidence phase carries it too):
17
- *
18
- * recon (agent, neutral, `wicked-garden-qe` plan) — read the repo + its tests, detect the
19
- * harness, map intent → behaviours → gaps
20
- * author (agent, CREATOR, `wicked-garden-qe` author, — write behaviour tests against the repo's
21
- * executes_code, evidence-floor pinned) own harness + `tests/PLAN-<slug>.md`
22
- * verify (TOOL, verified_evidence, pinned) — {@link qeVerifyScript}: run the repo's own
23
- * checks INCLUDING every produced test;
24
- * FAIL if any fails or was never executed
25
- * review (agent, EVALUATOR, `wicked-garden-qe` review,— independent fitness verdict; escalates a
26
- * pinned, human_confirm_if verdict_not_pass) not-pass to a human, never auto-denies
27
- * deliver — NOT here. Appended per run by the ENGINE-side composition (`deliver: "pr"`, the
28
- * crew#393 default for a repo-scoped code-work def): the engine lifts, re-verifies,
29
- * pushes and opens the PR so the ledger records the delivery. A worker seat never
30
- * pushes (the wave-6 engine's remote-write fence refuses `git push`/`gh pr create`).
31
- *
32
- * The METHOD lives in the garden skill (`wicked-garden-qe`, actions plan/author/review) — each
33
- * phase's inline `instructions` is a one-line orientation only, because a governed worker's prompt
34
- * rides a single PTY line capped at 1022 bytes (wicked-core execute_wrapped.rs) and the planner
35
- * folds the instructions onto that line beside the run intent.
36
- *
37
- * Crew-authored drop-in (like `capture-learnings`): NOT core-seeded, so `launchRun`'s
38
- * `_writeBuiltinOverlay` write is the only way the engine resolves the id. Not `is_system`: it IS an
39
- * operator-selectable work mode (the catalog finally carries something labelled test/QE — F-075).
3
+ * acceptance verdict R4-r2). It is wicked-core's built-in preset (X-MIG M10; its steps, the verify
4
+ * Tool script included, live in core's `src/presets/qe-author-tests.json`): recon → author (the
5
+ * creator, evidence-floor pinned) → verify (the Tool step that runs the repo's own checks INCLUDING
6
+ * every produced test) → review (the evaluator, `human_confirm_if verdict_not_pass`). Crew serves
7
+ * it from the engine (`core/builtin-catalog.ts`, X-MIG M11) and keeps here only what it READS back:
8
+ * the verify report's markers and parser, and the plan summary the testing route answers with.
40
9
  */
41
10
  import type { PhaseDef, WorkflowDef } from '../core/types.js';
42
11
  /** The workflow id — `GET /workflows` lists it; `POST /testing/author` launches it. */
@@ -53,52 +22,6 @@ export declare const QE_VERIFY_CHECK_MARKER = "QE-VERIFY-CHECK:";
53
22
  export declare const QE_VERIFY_SUMMARY_MARKER = "QE-VERIFY-SUMMARY:";
54
23
  /** Where the author phase must record its plan (glob, repo-relative). */
55
24
  export declare const QE_PLAN_GLOB = "tests/PLAN-*.md";
56
- /** Ceiling for each phase's inline orientation — the PTY line also carries the intent. */
57
- export declare const QE_MAX_INLINE_INSTRUCTION_BYTES = 600;
58
- /**
59
- * The verify phase's script — the R4-r2 floor: a produced test that fails, or was never run, FAILS
60
- * the unit. Runs in the run worktree as `bash -lc`:
61
- *
62
- * 1. BASE — the run branch's fork point off origin's default branch (the engine's own derivation
63
- * order: origin/HEAD, origin/main, origin/master; then a local main/master; else HEAD).
64
- * 2. PRODUCED — every path changed/added since BASE plus every untracked file: the run's own work,
65
- * committed or not. Test files are the conventional shapes (`*.test.*`, `*.spec.*`, `*_test.py`,
66
- * `test_*.py`, `__tests__/`); fixtures, factories and the PLAN are produced but not "tests".
67
- * 3. HARNESS per file — the REPOSITORY's own, resolved PER FILE by walking up from the file's
68
- * directory to the nearest marker (monorepo-aware — review H-1/M-1 of #536): Playwright
69
- * (`playwright.config.*` / `@playwright/test` in the nearest package.json) for `*.spec.*`, a
70
- * Python Playwright rig (imports `playwright`), vitest/jest from the nearest package.json that
71
- * declares them, pytest for every other test-shaped `.py` (nearest `pytest.ini` / `conftest.py`
72
- * / `tox.ini` / `pyproject.toml [tool.pytest]` / `setup.cfg [tool:pytest]` dir, else the root).
73
- * The RUNNER is the nearest `node_modules/.bin/<tool>` (or `.venv/bin/pytest` / an importable
74
- * pytest) from that package dir up to the worktree root — NEVER `npx` (a registry fetch on the
75
- * verify path) and NEVER a plain interpreter for a test-shaped file (a pytest module run as
76
- * `python3 file.py` defines its functions and exits 0 with zero assertions — a vacuous PASS).
77
- * A missing/unrunnable runner is NOT EXECUTED = fail, with "harness not available: <tool>" and
78
- * the remedy (install the dependencies in the worktree in the author phase). The runner runs
79
- * FROM its package dir with a package-relative path.
80
- * 4. COLLECTED — every executed file must show ≥ 1 test in the RUNNER's own summary (pytest
81
- * `N passed` / `collected N items`, vitest `Tests N passed`, jest `N total`, Playwright
82
- * `N passed`, a Python rig's check/pass lines); exit 0 with 0 tests reported = NOT EXECUTED.
83
- * 5. REPO CHECKS — the full unit suite of every (harness, package dir) a produced test used
84
- * (vitest/jest/pytest) runs once too, so the produced tests are verified INSIDE the repository's
85
- * own check, not beside it. The Playwright suite is not re-run whole (its produced specs ran
86
- * individually).
87
- * 6. VERDICT — `QE-VERIFY-SUMMARY:` then exit 0 only when: ≥ 1 produced test, every one executed
88
- * with ≥ 1 test collected, none failed, the PLAN exists, and the repo checks passed. Every
89
- * refusal names its reason.
90
- *
91
- * `set -u -o pipefail` but NOT `-e`: each command's exit is captured deliberately. `exec 2>&1`
92
- * keeps the transcript chronological (the engine appends stderr after stdout otherwise).
93
- */
94
- export declare function qeVerifyScript(): string;
95
- /** The verify TOOL phase — deterministic, pinned to the evidence floor (the run left a change),
96
- * `executes_code: false` like the deliver phase: engine-owned tooling, not governed agent work
97
- * (a Tool unit is never worktree-guarded, so the harness's caches cannot deny it). */
98
- export declare function qeVerifyPhase(dependsOn?: string[]): PhaseDef;
99
- /** The shipped definition (see the module doc). Exported as data — tests assert it, the adapter
100
- * serves it from `BUILTIN_WORKFLOWS`, and the engine validates it as authored at the overlay write. */
101
- export declare const QE_AUTHOR_TESTS_WORKFLOW_DEF: WorkflowDef;
102
25
  /** One produced test file as the verify phase judged it. */
103
26
  export interface QeVerifiedFile {
104
27
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"author-workflow.d.ts","sourceRoot":"","sources":["../../src/qe/author-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE9D,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,iGAAiG;AACjG,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAE3C,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAE9C,0FAA0F;AAC1F,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAqBnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAuJvC;AA0BD;;uFAEuF;AACvF,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAM,EAAe,GAAG,QAAQ,CAgBxE;AAED;wGACwG;AACxG,eAAO,MAAM,4BAA4B,EAAE,WAkB1C,CAAC;AAIF,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;yFACqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;IAC7C,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,KAAK,CAAC,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,cAAc,CAAC;CAC3E;AAED,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAkDvE;AAID,4FAA4F;AAC5F,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sEAAsE;IACtE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,mBAAmB,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;qGACqG;AACrG,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAQD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,OAAO,GACf,YAAY,CAuBd"}
1
+ {"version":3,"file":"author-workflow.d.ts","sourceRoot":"","sources":["../../src/qe/author-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE9D,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,iGAAiG;AACjG,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAE3C,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAI9C,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;yFACqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;IAC7C,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,KAAK,CAAC,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,cAAc,CAAC;CAC3E;AAED,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAkDvE;AAID,4FAA4F;AAC5F,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sEAAsE;IACtE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,mBAAmB,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;qGACqG;AACrG,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAQD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,OAAO,GACf,YAAY,CAuBd"}
@@ -1,44 +1,12 @@
1
1
  /**
2
2
  * `qe-author-tests` — the governed test-authoring workflow (wave 6: F-7R2-003/004/005/012/014/015,
3
- * acceptance verdict R4-r2), workflows-as-data.
4
- *
5
- * ## Why a workflow, not a free-text run
6
- *
7
- * The studio's "New test" used to `POST /testing/recon` a plain free-text governed run: the planner
8
- * split the brief at sentence boundaries into seven alternating agent units, two of them chat
9
- * replies ("Gate protocol acknowledged … What is the next task?"), every gate a vacuous
10
- * default-allow, no `skill_ref` anywhere (the 40-specialist QE domain never routed), no deliver
11
- * phase (the LAST worker opened the PR from its own shell — invisible to the ledger), no campaign
12
- * registered (the Test landing stayed empty), and the produced Playwright e2e was never executed by
13
- * the run — it failed at its first check on the first independent run (R4-r2: 0 of 12 checks).
14
- *
15
- * This def is the fix, as data the engine validates AS AUTHORED (wicked-core#414 — a code-writing
16
- * agent phase carries the evidence-floor pin, the verified-evidence phase carries it too):
17
- *
18
- * recon (agent, neutral, `wicked-garden-qe` plan) — read the repo + its tests, detect the
19
- * harness, map intent → behaviours → gaps
20
- * author (agent, CREATOR, `wicked-garden-qe` author, — write behaviour tests against the repo's
21
- * executes_code, evidence-floor pinned) own harness + `tests/PLAN-<slug>.md`
22
- * verify (TOOL, verified_evidence, pinned) — {@link qeVerifyScript}: run the repo's own
23
- * checks INCLUDING every produced test;
24
- * FAIL if any fails or was never executed
25
- * review (agent, EVALUATOR, `wicked-garden-qe` review,— independent fitness verdict; escalates a
26
- * pinned, human_confirm_if verdict_not_pass) not-pass to a human, never auto-denies
27
- * deliver — NOT here. Appended per run by the ENGINE-side composition (`deliver: "pr"`, the
28
- * crew#393 default for a repo-scoped code-work def): the engine lifts, re-verifies,
29
- * pushes and opens the PR so the ledger records the delivery. A worker seat never
30
- * pushes (the wave-6 engine's remote-write fence refuses `git push`/`gh pr create`).
31
- *
32
- * The METHOD lives in the garden skill (`wicked-garden-qe`, actions plan/author/review) — each
33
- * phase's inline `instructions` is a one-line orientation only, because a governed worker's prompt
34
- * rides a single PTY line capped at 1022 bytes (wicked-core execute_wrapped.rs) and the planner
35
- * folds the instructions onto that line beside the run intent.
36
- *
37
- * Crew-authored drop-in (like `capture-learnings`): NOT core-seeded, so `launchRun`'s
38
- * `_writeBuiltinOverlay` write is the only way the engine resolves the id. Not `is_system`: it IS an
39
- * operator-selectable work mode (the catalog finally carries something labelled test/QE — F-075).
3
+ * acceptance verdict R4-r2). It is wicked-core's built-in preset (X-MIG M10; its steps, the verify
4
+ * Tool script included, live in core's `src/presets/qe-author-tests.json`): recon → author (the
5
+ * creator, evidence-floor pinned) → verify (the Tool step that runs the repo's own checks INCLUDING
6
+ * every produced test) → review (the evaluator, `human_confirm_if verdict_not_pass`). Crew serves
7
+ * it from the engine (`core/builtin-catalog.ts`, X-MIG M11) and keeps here only what it READS back:
8
+ * the verify report's markers and parser, and the plan summary the testing route answers with.
40
9
  */
41
- import { EVIDENCE_FLOOR_PIN } from '../core/deliver.js';
42
10
  /** The workflow id — `GET /workflows` lists it; `POST /testing/author` launches it. */
43
11
  export const QE_AUTHOR_TESTS_WORKFLOW = 'qe-author-tests';
44
12
  /** The garden skill every agent phase routes through (`skills/qe/SKILL.md`, actions by name). */
@@ -53,268 +21,6 @@ export const QE_VERIFY_CHECK_MARKER = 'QE-VERIFY-CHECK:';
53
21
  export const QE_VERIFY_SUMMARY_MARKER = 'QE-VERIFY-SUMMARY:';
54
22
  /** Where the author phase must record its plan (glob, repo-relative). */
55
23
  export const QE_PLAN_GLOB = 'tests/PLAN-*.md';
56
- /** Ceiling for each phase's inline orientation — the PTY line also carries the intent. */
57
- export const QE_MAX_INLINE_INSTRUCTION_BYTES = 600;
58
- const RECON_INSTRUCTIONS = 'Phase 1/4 PLAN (qe skill, plan action): read the repository and its existing tests, detect the ' +
59
- 'test harness (vitest/jest/pytest/Playwright/node:test and any loopback e2e fixture), map the operator ' +
60
- 'intent to behaviours, and list the coverage gaps — cite file:line for anything you claim is ' +
61
- 'already covered. Analysis only: write no files.';
62
- const AUTHOR_INSTRUCTIONS = 'Phase 2/4 AUTHOR (qe skill, author action): write BEHAVIOUR tests for the planned gaps against ' +
63
- "the repository's own harness, plus tests/PLAN-<slug>.md recording each test, the exact command " +
64
- 'that runs it and its observed result. RUN every test you write before claiming it. Never push, ' +
65
- "never open or edit a pull request — the run's deliver phase does that.";
66
- const REVIEW_INSTRUCTIONS = 'Phase 4/4 REVIEW (qe skill, review action): judge the produced tests independently — behaviour ' +
67
- 'vs implementation coupling, every claim of existing coverage verified at file:line, no sleeps ' +
68
- "or flaky waits, the PLAN matches what shipped, and the verify phase's QE-VERIFY report shows " +
69
- 'every produced test executed. End with one plain-text line VERDICT: PASS or VERDICT: FAIL as ' +
70
- 'the last line, findings above it; never quote another VERDICT line. Read-only: change nothing.';
71
- /**
72
- * The verify phase's script — the R4-r2 floor: a produced test that fails, or was never run, FAILS
73
- * the unit. Runs in the run worktree as `bash -lc`:
74
- *
75
- * 1. BASE — the run branch's fork point off origin's default branch (the engine's own derivation
76
- * order: origin/HEAD, origin/main, origin/master; then a local main/master; else HEAD).
77
- * 2. PRODUCED — every path changed/added since BASE plus every untracked file: the run's own work,
78
- * committed or not. Test files are the conventional shapes (`*.test.*`, `*.spec.*`, `*_test.py`,
79
- * `test_*.py`, `__tests__/`); fixtures, factories and the PLAN are produced but not "tests".
80
- * 3. HARNESS per file — the REPOSITORY's own, resolved PER FILE by walking up from the file's
81
- * directory to the nearest marker (monorepo-aware — review H-1/M-1 of #536): Playwright
82
- * (`playwright.config.*` / `@playwright/test` in the nearest package.json) for `*.spec.*`, a
83
- * Python Playwright rig (imports `playwright`), vitest/jest from the nearest package.json that
84
- * declares them, pytest for every other test-shaped `.py` (nearest `pytest.ini` / `conftest.py`
85
- * / `tox.ini` / `pyproject.toml [tool.pytest]` / `setup.cfg [tool:pytest]` dir, else the root).
86
- * The RUNNER is the nearest `node_modules/.bin/<tool>` (or `.venv/bin/pytest` / an importable
87
- * pytest) from that package dir up to the worktree root — NEVER `npx` (a registry fetch on the
88
- * verify path) and NEVER a plain interpreter for a test-shaped file (a pytest module run as
89
- * `python3 file.py` defines its functions and exits 0 with zero assertions — a vacuous PASS).
90
- * A missing/unrunnable runner is NOT EXECUTED = fail, with "harness not available: <tool>" and
91
- * the remedy (install the dependencies in the worktree in the author phase). The runner runs
92
- * FROM its package dir with a package-relative path.
93
- * 4. COLLECTED — every executed file must show ≥ 1 test in the RUNNER's own summary (pytest
94
- * `N passed` / `collected N items`, vitest `Tests N passed`, jest `N total`, Playwright
95
- * `N passed`, a Python rig's check/pass lines); exit 0 with 0 tests reported = NOT EXECUTED.
96
- * 5. REPO CHECKS — the full unit suite of every (harness, package dir) a produced test used
97
- * (vitest/jest/pytest) runs once too, so the produced tests are verified INSIDE the repository's
98
- * own check, not beside it. The Playwright suite is not re-run whole (its produced specs ran
99
- * individually).
100
- * 6. VERDICT — `QE-VERIFY-SUMMARY:` then exit 0 only when: ≥ 1 produced test, every one executed
101
- * with ≥ 1 test collected, none failed, the PLAN exists, and the repo checks passed. Every
102
- * refusal names its reason.
103
- *
104
- * `set -u -o pipefail` but NOT `-e`: each command's exit is captured deliberately. `exec 2>&1`
105
- * keeps the transcript chronological (the engine appends stderr after stdout otherwise).
106
- */
107
- export function qeVerifyScript() {
108
- return [
109
- 'set -uo pipefail',
110
- 'exec 2>&1',
111
- 'echo "QE-VERIFY-BEGIN worktree=$PWD"',
112
- // 1. base
113
- 'D=$(git symbolic-ref -q --short refs/remotes/origin/HEAD || true)',
114
- 'if [ -z "$D" ] || ! git rev-parse --verify -q "$D^{commit}" >/dev/null; then',
115
- ' if git rev-parse --verify -q origin/main^{commit} >/dev/null; then D=origin/main;',
116
- ' elif git rev-parse --verify -q origin/master^{commit} >/dev/null; then D=origin/master;',
117
- ' elif git rev-parse --verify -q main^{commit} >/dev/null; then D=main;',
118
- ' elif git rev-parse --verify -q master^{commit} >/dev/null; then D=master;',
119
- ' else D=""; fi',
120
- 'fi',
121
- 'if [ -n "$D" ]; then BASE=$(git merge-base "$D" HEAD 2>/dev/null || git rev-parse HEAD); else BASE=$(git rev-parse HEAD); fi',
122
- 'echo "QE-VERIFY-BASE ref=${D:-HEAD} commit=$BASE"',
123
- // 2. produced
124
- 'PRODUCED=$( { git diff --name-only --diff-filter=AMR "$BASE" -- . ; git ls-files --others --exclude-standard ; } | sort -u )',
125
- 'is_test_path() {',
126
- ' case "$1" in *.md|*.json|*.snap|*.txt|*.yml|*.yaml|*.toml|*.lock|*.html|*.css|*.png|*.svg) return 1;; esac',
127
- ' case "$1" in *.test.*|*.spec.*|*_test.py|test_*.py|*/test_*.py|__tests__/*|*/__tests__/*) return 0;; esac',
128
- ' return 1',
129
- '}',
130
- // 3. harness detection — PER FILE, nearest marker dir walking UP from the file (monorepo-aware)
131
- 'pkg_has_dep() { [ -f "$1/package.json" ] && grep -Eq "\\"$2\\"[[:space:]]*:" "$1/package.json"; }',
132
- 'is_pw_dir() { ls "$1"/playwright.config.* >/dev/null 2>&1 || pkg_has_dep "$1" "@playwright/test"; }',
133
- 'is_vitest_dir() { pkg_has_dep "$1" vitest; }',
134
- 'is_jest_dir() { pkg_has_dep "$1" jest; }',
135
- 'is_py_dir() { [ -f "$1/pytest.ini" ] || [ -f "$1/conftest.py" ] || [ -f "$1/tox.ini" ] || { [ -f "$1/pyproject.toml" ] && grep -q "tool.pytest" "$1/pyproject.toml"; } || { [ -f "$1/setup.cfg" ] && grep -q "tool:pytest" "$1/setup.cfg"; }; }',
136
- // node:test rung: package.json scripts.test declares "node --test"
137
- 'pkg_has_nodetest() { local f="$1/package.json"; [ -f "$f" ] || return 1; grep -q "node --test" "$f"; }',
138
- // any package.json dir — used for node:test file resolution and npm-test fallback
139
- 'is_pkg_dir() { [ -f "$1/package.json" ]; }',
140
- // package has a non-placeholder test script (not the npm "no test specified" default)
141
- 'pkg_has_test_script() { local f="$1/package.json"; [ -f "$f" ] || return 1; grep -Eq "\\"test\\"[[:space:]]*:" "$f" || return 1; grep -q "no test specified" "$f" && return 1; return 0; }',
142
- 'nearest() { local d; d=$(dirname "$1"); while :; do if "$2" "$d"; then echo "$d"; return 0; fi; [ "$d" = "." ] && break; d=$(dirname "$d"); done; echo ""; return 1; }',
143
- // the runner: the nearest node_modules/.bin/<tool> from the package dir up to the worktree root,
144
- // spelled RELATIVE TO the package dir (every command runs from there: `./…` or `../…`) — NEVER npx
145
- 'find_bin() { local d="$1" up=""; while :; do if [ -x "$d/node_modules/.bin/$2" ]; then echo "${up:-./}node_modules/.bin/$2"; return 0; fi; [ "$d" = "." ] && break; d=$(dirname "$d"); up="../$up"; done; echo ""; return 1; }',
146
- 'find_pytest() { local d="$1" up=""; while :; do if [ -x "$d/.venv/bin/pytest" ]; then echo "${up:-./}.venv/bin/pytest"; return 0; fi; [ "$d" = "." ] && break; d=$(dirname "$d"); up="../$up"; done; if python3 -c "import pytest" >/dev/null 2>&1; then echo "python3 -m pytest"; return 0; fi; echo ""; return 1; }',
147
- 'resolve() {',
148
- ' local d',
149
- ' case "$1" in',
150
- ' *.py)',
151
- ' if grep -Eq "^[[:space:]]*(from|import)[[:space:]]+playwright" "$1" 2>/dev/null; then echo "playwright-python $(dirname "$1")"; return; fi',
152
- ' d=$(nearest "$1" is_py_dir); [ -n "$d" ] || d="."',
153
- ' echo "pytest $d"; return;;',
154
- ' esac',
155
- ' case "$1" in *.spec.*) d=$(nearest "$1" is_pw_dir); if [ -n "$d" ]; then echo "playwright $d"; return; fi;; esac',
156
- ' d=$(nearest "$1" is_vitest_dir); if [ -n "$d" ]; then echo "vitest $d"; return; fi',
157
- ' d=$(nearest "$1" is_jest_dir); if [ -n "$d" ]; then echo "jest $d"; return; fi',
158
- ' d=$(nearest "$1" is_pw_dir); if [ -n "$d" ]; then echo "playwright $d"; return; fi',
159
- ' # node:test rung: file imports node:test OR nearest package has node --test in scripts.test',
160
- ' if grep -q "node:test" "$1" 2>/dev/null; then d=$(nearest "$1" is_pkg_dir); [ -n "$d" ] || d="."; printf "node-test\\t%s\\n" "$d"; return; fi',
161
- ' d=$(nearest "$1" pkg_has_nodetest); if [ -n "$d" ]; then printf "node-test\\t%s\\n" "$d"; return; fi',
162
- ' echo "unknown ."',
163
- '}',
164
- // how many tests the RUNNER says it executed (its own summary line) — 0 = nothing ran
165
- 'sum_counts() { grep -E "$2" "$1" | tail -1 | awk \'{s=0; for(i=1;i<=NF;i++) if($i ~ /^[0-9]+$/ && $(i+1) ~ /^(passed|failed|flaky|skipped|total)/) s+=$i; print s}\'; }',
166
- 'collected() {',
167
- ' local n="" fname="${3:-}"',
168
- ' case "$1" in',
169
- ' pytest) n=$(sum_counts "$2" "[0-9]+ (passed|failed)"); [ "${n:-0}" -gt 0 ] || n=$(grep -Eo "collected [0-9]+ item" "$2" | tail -1 | grep -Eo "[0-9]+");;',
170
- ' vitest) n=$(sum_counts "$2" "^[[:space:]]*Tests[[:space:]]");;',
171
- ' jest) n=$(grep -Eo "[0-9]+ total" "$2" | tail -1 | grep -Eo "[0-9]+");;',
172
- ' playwright) n=$(sum_counts "$2" "[0-9]+ (passed|failed|flaky)");;',
173
- ' playwright-python) n=$(grep -Eci "passed|\\bpass\\b|✓|\\"checks\\"|\\bok\\b" "$2");;',
174
- ' node-test) n=$(grep -Eo "pass [0-9]+" "$2" | head -1 | grep -Eo "[0-9]+");;',
175
- ' npm-test) if [ -n "$fname" ] && grep -qF "$fname" "$2" 2>/dev/null; then n=1; else n=0; fi;;',
176
- ' esac',
177
- ' echo "${n:-0}"',
178
- '}',
179
- 'P=0; E=0; PASS=0; FAIL=0; NX=0; PLAN=""; HARNESSES=""',
180
- 'not_executed() { NX=$((NX+1)); echo "QE-VERIFY: file=$1 harness=$2 pkg=$3 cmd=\\"\\" exit=- tests=0 status=not-executed reason=\\"$4\\""; echo "qe-verify: $1 — $4"; }',
181
- 'while IFS= read -r f; do',
182
- ' [ -n "$f" ] || continue',
183
- ' case "$f" in tests/PLAN-*.md|*/tests/PLAN-*.md) PLAN="$f";; esac',
184
- ' is_test_path "$f" || continue',
185
- ' P=$((P+1))',
186
- ' R=$(resolve "$f"); H="${R%% *}"; PKG="${R#* }"',
187
- ' rel="$f"; [ "$PKG" = "." ] || rel="${f#$PKG/}"',
188
- ' case "$H" in',
189
- ' playwright) BIN=$(find_bin "$PKG" playwright) || { not_executed "$f" "$H" "$PKG" "harness not available: playwright (@playwright/test) — no node_modules/.bin/playwright from $PKG up to the worktree root; install the repository dependencies in the worktree (npm ci) in the author phase. The verify path never runs npx"; continue; }; CMD=("$BIN" test "$rel");;',
190
- ' vitest) BIN=$(find_bin "$PKG" vitest) || { not_executed "$f" "$H" "$PKG" "harness not available: vitest — no node_modules/.bin/vitest from $PKG up to the worktree root; install the repository dependencies in the worktree (npm ci) in the author phase. The verify path never runs npx"; continue; }; CMD=("$BIN" run "$rel");;',
191
- ' jest) BIN=$(find_bin "$PKG" jest) || { not_executed "$f" "$H" "$PKG" "harness not available: jest — no node_modules/.bin/jest from $PKG up to the worktree root; install the repository dependencies in the worktree (npm ci) in the author phase. The verify path never runs npx"; continue; }; CMD=("$BIN" "$rel");;',
192
- ' pytest) PT=$(find_pytest "$PKG") || { not_executed "$f" "$H" "$PKG" "harness not available: pytest — no .venv/bin/pytest from $PKG up to the worktree root and python3 cannot import pytest; a test-shaped .py file is NEVER run as a plain script (it would pass with zero assertions). Install pytest in the worktree in the author phase"; continue; }; if [ "$PT" = "python3 -m pytest" ]; then CMD=(python3 -m pytest -q "$rel"); else CMD=("$PT" -q "$rel"); fi;;',
193
- ' playwright-python) python3 -c "import playwright" >/dev/null 2>&1 || { not_executed "$f" "$H" "$PKG" "harness not available: playwright (python) — python3 cannot import playwright; pip install playwright && playwright install chromium in the author phase"; continue; }; CMD=(python3 "$rel");;',
194
- ' node-test) CMD=(node --test "$rel");;',
195
- ' unknown)',
196
- ' NPM_PKG=$(nearest "$f" is_pkg_dir); NPM_PKG="${NPM_PKG:-.}"',
197
- ' if pkg_has_test_script "$NPM_PKG"; then',
198
- ' H=npm-test; PKG="$NPM_PKG"; rel="$f"; [ "$PKG" = "." ] || rel="${f#$PKG/}"; CMD=(npm test)',
199
- ' else',
200
- ' not_executed "$f" unknown "$NPM_PKG" "no harness recognised — declare one the repository owns (playwright.config.*, vitest/jest/node:test in the nearest package.json, a pytest marker); the repository has no test script to fall back to"; continue',
201
- ' fi;;',
202
- ' *) not_executed "$f" "$H" "$PKG" "unrecognised harness: $H"; continue;;',
203
- ' esac',
204
- ' case " $HARNESSES " in *" $H|$PKG "*) ;; *) HARNESSES="$HARNESSES $H|$PKG";; esac',
205
- ' echo "QE-VERIFY-RUN file=$f harness=$H pkg=$PKG cmd=\\"${CMD[*]}\\""',
206
- ' OUT=$(mktemp "${TMPDIR:-/tmp}/qe-verify.XXXXXX") || { echo "qe-verify: FAIL — cannot create capture file for $f; check that ${TMPDIR:-/tmp} is writable"; exit 1; }',
207
- ' ( cd "$PKG" && "${CMD[@]}" ) >"$OUT" 2>&1; RC=$?',
208
- ' head -c 51200 <"$OUT"',
209
- ' N=$(collected "$H" "$OUT" "$rel"); rm -f "$OUT"',
210
- ' E=$((E+1))',
211
- ' if [ "$RC" -ne 0 ]; then FAIL=$((FAIL+1)); ST=failed;',
212
- ' elif [ "${N:-0}" -lt 1 ]; then NX=$((NX+1)); E=$((E-1)); ST=not-executed; echo "qe-verify: $f — the $H runner exited 0 but reported 0 tests (nothing was collected or executed)";',
213
- ' else PASS=$((PASS+1)); ST=passed; fi',
214
- ' echo "QE-VERIFY: file=$f harness=$H pkg=$PKG cmd=\\"${CMD[*]}\\" exit=$RC tests=${N:-0} status=$ST"',
215
- "done < <(printf '%s\\n' \"$PRODUCED\")",
216
- // 4. repo checks — the full unit suite once per (harness, package dir) the produced tests used;
217
- // when HEAD fails, re-run at BASE to classify: produced-test-failure vs pre-existing-on-base vs unclassified
218
- 'C=0; CF=0',
219
- 'for HP in $HARNESSES; do',
220
- ' H="${HP%%|*}"; PKG="${HP#*|}"',
221
- ' case "$H" in',
222
- ' vitest) BIN=$(find_bin "$PKG" vitest); CMD=("$BIN" run);;',
223
- ' jest) BIN=$(find_bin "$PKG" jest); CMD=("$BIN");;',
224
- ' pytest) PT=$(find_pytest "$PKG"); if [ "$PT" = "python3 -m pytest" ]; then CMD=(python3 -m pytest -q); else CMD=("$PT" -q); fi;;',
225
- ' node-test) CMD=(npm test);;',
226
- ' npm-test|*) echo "QE-VERIFY-CHECK: harness=$H pkg=$PKG skipped=full-suite (produced files ran individually)"; continue;;',
227
- ' esac',
228
- ' C=$((C+1))',
229
- ' echo "QE-VERIFY-CHECK-RUN harness=$H pkg=$PKG cmd=\\"${CMD[*]}\\""',
230
- ' CHECK_OUT=$(mktemp "${TMPDIR:-/tmp}/qe-check.XXXXXX") || CHECK_OUT=""',
231
- ' ( cd "$PKG" && "${CMD[@]}" ) >"${CHECK_OUT:-/dev/null}" 2>&1; RC=$?',
232
- ' [ -n "$CHECK_OUT" ] && head -c 51200 <"$CHECK_OUT"; rm -f "$CHECK_OUT"',
233
- ' CLASS=""',
234
- ' if [ "$RC" -ne 0 ]; then',
235
- ' BASE_WT="${TMPDIR:-/tmp}/qe-base-$$-$RANDOM"',
236
- ' if git worktree add --detach "$BASE_WT" "$BASE" >/dev/null 2>&1; then',
237
- ' [ -d "$BASE_WT/$PKG" ] && [ -d "$PKG/node_modules" ] && { NM_ABS=$(cd "$PKG/node_modules" 2>/dev/null && pwd -P) && ln -sfn "$NM_ABS" "$BASE_WT/$PKG/node_modules"; } 2>/dev/null || true',
238
- ' BASE_CHECK_OUT=$(mktemp "${TMPDIR:-/tmp}/qe-base-check.XXXXXX") 2>/dev/null || BASE_CHECK_OUT=""',
239
- ' echo "QE-VERIFY-CHECK-BASE-RUN harness=$H pkg=$PKG base=$BASE"',
240
- ' ( cd "$BASE_WT/$PKG" 2>/dev/null && "${CMD[@]}" ) >"${BASE_CHECK_OUT:-/dev/null}" 2>&1; BASE_RC=$?',
241
- ' [ -n "$BASE_CHECK_OUT" ] && head -c 51200 <"$BASE_CHECK_OUT"; rm -f "$BASE_CHECK_OUT"',
242
- ' git worktree remove --force "$BASE_WT" >/dev/null 2>&1 || true',
243
- ' if [ "$BASE_RC" -ne 0 ]; then CLASS=pre-existing-on-base',
244
- ' else CLASS=produced-test-failure; CF=$((CF+1)); fi',
245
- ' else CLASS=unclassified; CF=$((CF+1)); fi',
246
- ' fi',
247
- ' echo "QE-VERIFY-CHECK: harness=$H pkg=$PKG cmd=\\"${CMD[*]}\\" exit=$RC${CLASS:+ class=$CLASS}"',
248
- 'done',
249
- // 5. verdict
250
- 'echo "QE-VERIFY-SUMMARY: produced=$P executed=$E passed=$PASS failed=$FAIL not_executed=$NX plan=${PLAN:-missing} checks=$C checks_failed=$CF"',
251
- '[ "$P" -gt 0 ] || { echo "qe-verify: FAIL — the author phase produced no test files; nothing was verified, so done cannot be asserted"; exit 1; }',
252
- '[ -n "$PLAN" ] || { echo "qe-verify: FAIL — no tests/PLAN-*.md was produced (the plan records every test, the command that ran it and its result)"; exit 1; }',
253
- '[ "$NX" -eq 0 ] || { echo "qe-verify: FAIL — $NX produced test file(s) were never executed (no available harness, or the runner reported 0 tests); a test that never ran proves nothing"; exit 1; }',
254
- '[ "$FAIL" -eq 0 ] || { echo "qe-verify: FAIL — $FAIL of $E produced test file(s) failed under the repository harness"; exit 1; }',
255
- '[ "$CF" -eq 0 ] || { echo "qe-verify: FAIL — $CF repository check(s) failed with the produced tests in the tree"; exit 1; }',
256
- 'echo "qe-verify: PASS — $E produced test file(s) executed and passed under the repository harness; plan $PLAN"',
257
- ].join('\n');
258
- }
259
- function agentPhase(id, kind, instructions, over) {
260
- return {
261
- id,
262
- kind,
263
- instructions,
264
- gate_type: 'execution',
265
- gate: 'auto',
266
- executes_code: false,
267
- verified_evidence: false,
268
- required_deliverables: [],
269
- depends_on: [],
270
- role: 'neutral',
271
- skill_ref: QE_SKILL,
272
- allowed_skills: [],
273
- validator_pin: null,
274
- ...over,
275
- };
276
- }
277
- /** The verify TOOL phase — deterministic, pinned to the evidence floor (the run left a change),
278
- * `executes_code: false` like the deliver phase: engine-owned tooling, not governed agent work
279
- * (a Tool unit is never worktree-guarded, so the harness's caches cannot deny it). */
280
- export function qeVerifyPhase(dependsOn = ['author']) {
281
- return {
282
- id: QE_VERIFY_PHASE_ID,
283
- kind: 'test',
284
- executor: { type: 'tool', cmd: ['bash', '-lc', qeVerifyScript()] },
285
- gate_type: 'execution',
286
- gate: 'auto',
287
- executes_code: false,
288
- verified_evidence: true,
289
- required_deliverables: [],
290
- depends_on: dependsOn,
291
- role: 'neutral',
292
- skill_ref: null,
293
- allowed_skills: [],
294
- validator_pin: EVIDENCE_FLOOR_PIN,
295
- };
296
- }
297
- /** The shipped definition (see the module doc). Exported as data — tests assert it, the adapter
298
- * serves it from `BUILTIN_WORKFLOWS`, and the engine validates it as authored at the overlay write. */
299
- export const QE_AUTHOR_TESTS_WORKFLOW_DEF = {
300
- id: QE_AUTHOR_TESTS_WORKFLOW,
301
- phases: [
302
- agentPhase('recon', 'recon', RECON_INSTRUCTIONS, { gate_type: 'strategy', role: 'neutral' }),
303
- agentPhase('author', 'build', AUTHOR_INSTRUCTIONS, {
304
- depends_on: ['recon'],
305
- role: 'creator',
306
- executes_code: true,
307
- validator_pin: EVIDENCE_FLOOR_PIN,
308
- }),
309
- qeVerifyPhase(['author']),
310
- agentPhase('review', 'review', REVIEW_INSTRUCTIONS, {
311
- depends_on: [QE_VERIFY_PHASE_ID],
312
- role: 'evaluator',
313
- gate: { human_confirm_if: 'verdict_not_pass' },
314
- validator_pin: EVIDENCE_FLOOR_PIN,
315
- }),
316
- ],
317
- };
318
24
  /** `key=value` and `key="quoted value"` pairs of one marker line. */
319
25
  function fields(rest) {
320
26
  const out = {};