@aperant/framework 0.10.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.
Files changed (199) hide show
  1. package/CHANGELOG.md +236 -1
  2. package/agents/apt-planner.md +15 -0
  3. package/agents/apt-verifier.md +15 -10
  4. package/bin/apt-proof-video.mjs +256 -76
  5. package/dist/cli/commands/apply-recipe.d.mts +6 -0
  6. package/dist/cli/commands/apply-recipe.d.mts.map +1 -0
  7. package/dist/cli/commands/apply-recipe.mjs +98 -0
  8. package/dist/cli/commands/apply-recipe.mjs.map +1 -0
  9. package/dist/cli/commands/catch-up.d.mts +9 -0
  10. package/dist/cli/commands/catch-up.d.mts.map +1 -0
  11. package/dist/cli/commands/catch-up.mjs +64 -0
  12. package/dist/cli/commands/catch-up.mjs.map +1 -0
  13. package/dist/cli/commands/mobile-prepare.d.mts +53 -0
  14. package/dist/cli/commands/mobile-prepare.d.mts.map +1 -0
  15. package/dist/cli/commands/mobile-prepare.mjs +139 -0
  16. package/dist/cli/commands/mobile-prepare.mjs.map +1 -0
  17. package/dist/cli/commands/pr-review.d.mts +16 -4
  18. package/dist/cli/commands/pr-review.d.mts.map +1 -1
  19. package/dist/cli/commands/pr-review.mjs +30 -11
  20. package/dist/cli/commands/pr-review.mjs.map +1 -1
  21. package/dist/cli/commands/recipe-diff.d.mts +6 -0
  22. package/dist/cli/commands/recipe-diff.d.mts.map +1 -0
  23. package/dist/cli/commands/recipe-diff.mjs +75 -0
  24. package/dist/cli/commands/recipe-diff.mjs.map +1 -0
  25. package/dist/cli/commands/roadmap.d.mts.map +1 -1
  26. package/dist/cli/commands/roadmap.mjs +53 -0
  27. package/dist/cli/commands/roadmap.mjs.map +1 -1
  28. package/dist/cli/commands/route.d.mts.map +1 -1
  29. package/dist/cli/commands/route.mjs +92 -2
  30. package/dist/cli/commands/route.mjs.map +1 -1
  31. package/dist/cli/commands/verify-sandbox.d.mts +6 -0
  32. package/dist/cli/commands/verify-sandbox.d.mts.map +1 -0
  33. package/dist/cli/commands/verify-sandbox.mjs +200 -0
  34. package/dist/cli/commands/verify-sandbox.mjs.map +1 -0
  35. package/dist/cli/config/share-policy.d.mts.map +1 -1
  36. package/dist/cli/config/share-policy.mjs +1 -0
  37. package/dist/cli/config/share-policy.mjs.map +1 -1
  38. package/dist/cli/config/upgrade-gitignore.d.mts.map +1 -1
  39. package/dist/cli/config/upgrade-gitignore.mjs +1 -0
  40. package/dist/cli/config/upgrade-gitignore.mjs.map +1 -1
  41. package/dist/cli/consistency/parse-qa.d.mts.map +1 -1
  42. package/dist/cli/consistency/parse-qa.mjs +18 -4
  43. package/dist/cli/consistency/parse-qa.mjs.map +1 -1
  44. package/dist/cli/consistency/rules/r5-verdict-consistency.d.mts.map +1 -1
  45. package/dist/cli/consistency/rules/r5-verdict-consistency.mjs +11 -10
  46. package/dist/cli/consistency/rules/r5-verdict-consistency.mjs.map +1 -1
  47. package/dist/cli/coordination/catch-up.d.mts +26 -0
  48. package/dist/cli/coordination/catch-up.d.mts.map +1 -0
  49. package/dist/cli/coordination/catch-up.mjs +239 -0
  50. package/dist/cli/coordination/catch-up.mjs.map +1 -0
  51. package/dist/cli/coordination/last-seen.d.mts +45 -0
  52. package/dist/cli/coordination/last-seen.d.mts.map +1 -0
  53. package/dist/cli/coordination/last-seen.mjs +128 -0
  54. package/dist/cli/coordination/last-seen.mjs.map +1 -0
  55. package/dist/cli/coordination/store.d.mts +15 -0
  56. package/dist/cli/coordination/store.d.mts.map +1 -1
  57. package/dist/cli/coordination/store.mjs +16 -0
  58. package/dist/cli/coordination/store.mjs.map +1 -1
  59. package/dist/cli/coverage-check/user-outcomes.d.mts +7 -2
  60. package/dist/cli/coverage-check/user-outcomes.d.mts.map +1 -1
  61. package/dist/cli/coverage-check/user-outcomes.mjs +50 -17
  62. package/dist/cli/coverage-check/user-outcomes.mjs.map +1 -1
  63. package/dist/cli/dispatch.d.mts.map +1 -1
  64. package/dist/cli/dispatch.mjs +30 -0
  65. package/dist/cli/dispatch.mjs.map +1 -1
  66. package/dist/cli/gate/gates/verify-approved.d.mts +0 -48
  67. package/dist/cli/gate/gates/verify-approved.d.mts.map +1 -1
  68. package/dist/cli/gate/gates/verify-approved.mjs +23 -80
  69. package/dist/cli/gate/gates/verify-approved.mjs.map +1 -1
  70. package/dist/cli/git/default-branch.d.mts +51 -0
  71. package/dist/cli/git/default-branch.d.mts.map +1 -0
  72. package/dist/cli/git/default-branch.mjs +234 -0
  73. package/dist/cli/git/default-branch.mjs.map +1 -0
  74. package/dist/cli/git/identity.d.mts +3 -5
  75. package/dist/cli/git/identity.d.mts.map +1 -1
  76. package/dist/cli/git/identity.mjs +10 -4
  77. package/dist/cli/git/identity.mjs.map +1 -1
  78. package/dist/cli/install/legacy-paths.d.mts.map +1 -1
  79. package/dist/cli/install/legacy-paths.mjs +2 -0
  80. package/dist/cli/install/legacy-paths.mjs.map +1 -1
  81. package/dist/cli/install/mcp-server-specs.d.mts +6 -5
  82. package/dist/cli/install/mcp-server-specs.d.mts.map +1 -1
  83. package/dist/cli/install/mcp-server-specs.mjs +22 -4
  84. package/dist/cli/install/mcp-server-specs.mjs.map +1 -1
  85. package/dist/cli/roadmap/backend-adapter.d.mts +43 -0
  86. package/dist/cli/roadmap/backend-adapter.d.mts.map +1 -0
  87. package/dist/cli/roadmap/backend-adapter.mjs +222 -0
  88. package/dist/cli/roadmap/backend-adapter.mjs.map +1 -0
  89. package/dist/cli/util/runtime-capabilities.d.mts +7 -0
  90. package/dist/cli/util/runtime-capabilities.d.mts.map +1 -1
  91. package/dist/cli/util/runtime-capabilities.mjs +65 -0
  92. package/dist/cli/util/runtime-capabilities.mjs.map +1 -1
  93. package/dist/cli/verify-proof/manifest-validator.mjs +13 -0
  94. package/dist/cli/verify-proof/manifest-validator.mjs.map +1 -1
  95. package/dist/cli/verify-proof/resolver.d.mts +10 -7
  96. package/dist/cli/verify-proof/resolver.d.mts.map +1 -1
  97. package/dist/cli/verify-proof/resolver.mjs +28 -7
  98. package/dist/cli/verify-proof/resolver.mjs.map +1 -1
  99. package/dist/cli/verify-proof/sandbox/apply.d.mts +64 -0
  100. package/dist/cli/verify-proof/sandbox/apply.d.mts.map +1 -0
  101. package/dist/cli/verify-proof/sandbox/apply.mjs +379 -0
  102. package/dist/cli/verify-proof/sandbox/apply.mjs.map +1 -0
  103. package/dist/cli/verify-proof/sandbox/gate-predicate.d.mts +63 -0
  104. package/dist/cli/verify-proof/sandbox/gate-predicate.d.mts.map +1 -0
  105. package/dist/cli/verify-proof/sandbox/gate-predicate.mjs +115 -0
  106. package/dist/cli/verify-proof/sandbox/gate-predicate.mjs.map +1 -0
  107. package/dist/cli/verify-proof/sandbox/pattern-matcher.d.mts +57 -0
  108. package/dist/cli/verify-proof/sandbox/pattern-matcher.d.mts.map +1 -0
  109. package/dist/cli/verify-proof/sandbox/pattern-matcher.mjs +124 -0
  110. package/dist/cli/verify-proof/sandbox/pattern-matcher.mjs.map +1 -0
  111. package/dist/cli/verify-proof/sandbox/recipe-diff.d.mts +28 -0
  112. package/dist/cli/verify-proof/sandbox/recipe-diff.d.mts.map +1 -0
  113. package/dist/cli/verify-proof/sandbox/recipe-diff.mjs +190 -0
  114. package/dist/cli/verify-proof/sandbox/recipe-diff.mjs.map +1 -0
  115. package/dist/cli/verify-proof/sandbox/sandbox-config.d.mts +25 -0
  116. package/dist/cli/verify-proof/sandbox/sandbox-config.d.mts.map +1 -0
  117. package/dist/cli/verify-proof/sandbox/sandbox-config.mjs +85 -0
  118. package/dist/cli/verify-proof/sandbox/sandbox-config.mjs.map +1 -0
  119. package/dist/cli/verify-proof/sandbox/self-test.d.mts +39 -0
  120. package/dist/cli/verify-proof/sandbox/self-test.d.mts.map +1 -0
  121. package/dist/cli/verify-proof/sandbox/self-test.mjs +248 -0
  122. package/dist/cli/verify-proof/sandbox/self-test.mjs.map +1 -0
  123. package/dist/plugin/.claude-plugin/plugin.json +2 -1
  124. package/dist/plugin/agents/apt-planner.md +15 -0
  125. package/dist/plugin/agents/apt-verifier.md +15 -10
  126. package/dist/plugin/skills/apt/SKILL.md +29 -0
  127. package/dist/plugin/skills/apt-catch-up/SKILL.md +79 -0
  128. package/dist/plugin/skills/apt-plan/SKILL.md +23 -0
  129. package/dist/plugin/skills/apt-pr-review/SKILL.md +5 -4
  130. package/dist/plugin/skills/apt-run/SKILL.md +1 -1
  131. package/dist/plugin/skills/apt-setup/SKILL.md +132 -0
  132. package/dist/plugin/skills/apt-verify/SKILL.md +20 -15
  133. package/dist/plugin/skills/apt-verify-proof/SKILL.md +146 -11
  134. package/dist/proof-report.d.ts.map +1 -1
  135. package/dist/proof-report.js +4 -1
  136. package/dist/proof-report.js.map +1 -1
  137. package/dist/types/config.d.ts +42 -4
  138. package/dist/types/config.d.ts.map +1 -1
  139. package/dist/types/qa-scoring.d.ts +45 -9
  140. package/dist/types/qa-scoring.d.ts.map +1 -1
  141. package/dist/types/qa-scoring.js +34 -13
  142. package/dist/types/qa-scoring.js.map +1 -1
  143. package/dist/types/state.d.ts +7 -2
  144. package/dist/types/state.d.ts.map +1 -1
  145. package/dist/types/task-record.d.ts +10 -2
  146. package/dist/types/task-record.d.ts.map +1 -1
  147. package/drivers/mobile/README.md +40 -0
  148. package/drivers/mobile/driver.mjs +106 -0
  149. package/drivers/mobile/manifest.json +49 -0
  150. package/package.json +1 -1
  151. package/prompts/inbox-clarification.md +11 -0
  152. package/prompts/inbox-triage.md +20 -0
  153. package/prompts/qa_orchestrator_agentic.md +18 -17
  154. package/prompts/qa_reviewer.md +17 -15
  155. package/skills/apt/SKILL.md +29 -0
  156. package/skills/apt-catch-up/SKILL.md +79 -0
  157. package/skills/apt-plan/SKILL.md +23 -0
  158. package/skills/apt-pr-review/SKILL.md +5 -4
  159. package/skills/apt-run/SKILL.md +1 -1
  160. package/skills/apt-setup/SKILL.md +132 -0
  161. package/skills/apt-verifier.md +7 -4
  162. package/skills/apt-verify/SKILL.md +20 -15
  163. package/skills/apt-verify-proof/SKILL.md +146 -11
  164. package/src/cli/commands/apply-recipe.mjs +105 -0
  165. package/src/cli/commands/catch-up.mjs +67 -0
  166. package/src/cli/commands/mobile-prepare.mjs +151 -0
  167. package/src/cli/commands/pr-review.mjs +32 -11
  168. package/src/cli/commands/recipe-diff.mjs +81 -0
  169. package/src/cli/commands/roadmap.mjs +54 -0
  170. package/src/cli/commands/route.mjs +92 -1
  171. package/src/cli/commands/verify-sandbox.mjs +231 -0
  172. package/src/cli/config/share-policy.mjs +1 -0
  173. package/src/cli/config/upgrade-gitignore.mjs +1 -0
  174. package/src/cli/consistency/parse-qa.mjs +20 -4
  175. package/src/cli/consistency/rules/r5-verdict-consistency.mjs +11 -13
  176. package/src/cli/coordination/catch-up.mjs +231 -0
  177. package/src/cli/coordination/last-seen.mjs +131 -0
  178. package/src/cli/coordination/store.mjs +18 -0
  179. package/src/cli/coverage-check/user-outcomes.mjs +52 -17
  180. package/src/cli/dispatch.mjs +29 -0
  181. package/src/cli/gate/gates/verify-approved.mjs +22 -81
  182. package/src/cli/git/default-branch.mjs +250 -0
  183. package/src/cli/git/identity.mjs +9 -3
  184. package/src/cli/install/legacy-paths.mjs +2 -0
  185. package/src/cli/install/mcp-server-specs.mjs +24 -4
  186. package/src/cli/roadmap/backend-adapter.mjs +231 -0
  187. package/src/cli/util/runtime-capabilities.mjs +67 -0
  188. package/src/cli/verify-proof/manifest-validator.mjs +15 -0
  189. package/src/cli/verify-proof/resolver.mjs +27 -7
  190. package/src/cli/verify-proof/sandbox/apply.mjs +401 -0
  191. package/src/cli/verify-proof/sandbox/gate-predicate.mjs +126 -0
  192. package/src/cli/verify-proof/sandbox/pattern-matcher.mjs +127 -0
  193. package/src/cli/verify-proof/sandbox/recipe-diff.mjs +208 -0
  194. package/src/cli/verify-proof/sandbox/sandbox-config.mjs +82 -0
  195. package/src/cli/verify-proof/sandbox/sandbox-schema.json +33 -0
  196. package/src/cli/verify-proof/sandbox/self-test.mjs +265 -0
  197. package/templates/config.json +21 -1
  198. package/templates/proof-verification.md +27 -8
  199. package/workflows/verify-proof.md +376 -302
@@ -205,6 +205,7 @@ AskUserQuestion([
205
205
  - "Visibility" → jump to **Step 3e** (Batch 6 only), then skip to **Step 4** and **Step 5**
206
206
  - "Task Tracking" → jump to **Step 3g** (Batch 8 only), then skip to **Step 4** and **Step 5**
207
207
  - "Changelog & Release Notes" → jump to **Step 3h** (Batch 9 only), then skip to **Step 4** and **Step 5**
208
+ - "Collaboration" → jump to **Step 3i** (Batch 10 only), then skip to **Step 4** and **Step 5**
208
209
  - "Everything" → proceed to **Step 2** and run all batches (same as fresh setup). **Legacy-completes-Everything marker write:** if the starting config has no `onboarding` block (legacy unmarked config) and the user completes the full flow, write a full `onboarding` block at Step 5 as `{ completed: true, seeded_from_template: false, seeded_at: <ISO-8601 now> }` to record the explicit onboarding pass.
209
210
  - "Done" → display "Settings unchanged." and exit
210
211
 
@@ -306,6 +307,62 @@ AskUserQuestion([
306
307
  ])
307
308
  ```
308
309
 
310
+ ### Sandbox-setup hook — parallel /apt:verify-proof (FRAMEWORK milestone fw-sandbox-parallel-verify-proof)
311
+
312
+ Gated on THREE conditions ALL true (ID-08):
313
+
314
+ 1. `verification.sandbox` is ABSENT from `.aperant/config.json` (the
315
+ adopter has not opted in yet — once configured this hook never
316
+ fires again).
317
+ 2. `host.capabilities.structured_prompts === true` (the host supports
318
+ native question dialogs — Claude Code, Gemini CLI, OpenCode).
319
+ 3. `process.stdout.isTTY === true` (interactive shell — never block CI
320
+ or fan-out child terminals on a setup prompt).
321
+
322
+ When all three hold, ask one yes/no question:
323
+
324
+ ```
325
+ AskUserQuestion([
326
+ {
327
+ question: "Parallel /apt:verify-proof is not configured. Run setup now?",
328
+ header: "Sandbox Setup",
329
+ multiSelect: false,
330
+ options: [
331
+ { label: "Yes — set up parallel verify-proof", description: "Walk recipe-diff one change at a time, then apply-recipe with --confirm --accept-all once you've reviewed all four, then verify-sandbox" },
332
+ { label: "Not now", description: "Skip; re-prompted on next /apt:setup if still unconfigured" }
333
+ ]
334
+ }
335
+ ])
336
+ ```
337
+
338
+ On `Yes`, dispatch the three sandbox commands in order, surfacing the
339
+ output of each to the user before moving to the next. The CLI defaults
340
+ to skipping every change when `--confirm` is passed without
341
+ `--accept-all` (ID-02 fail-safe), so the interactive flow walks the
342
+ adopter through each change in the diff first, then applies once they
343
+ confirm:
344
+
345
+ ```bash
346
+ apt-tools recipe-diff . # preview, no writes
347
+ # (host CLI shows each change in the Markdown diff to the user)
348
+ # (host CLI asks: "All four changes accepted? [y/N]")
349
+ apt-tools apply-recipe . --confirm --accept-all
350
+ apt-tools verify-sandbox .
351
+ ```
352
+
353
+ On `Not now`, continue with the rest of /apt:setup unchanged.
354
+
355
+ **Non-interactive surfaces** (CI runs, fan-out child terminals, headless
356
+ agents — `host.capabilities.structured_prompts === false` OR
357
+ `process.stdout.isTTY === false`) SKIP this hook entirely. Print a
358
+ one-line stderr tip:
359
+
360
+ ```
361
+ [apt] tip: run `/apt:verify-proof setup` from an interactive terminal to enable parallel verification
362
+ ```
363
+
364
+ and continue. NEVER block on a setup prompt in a non-interactive context.
365
+
309
366
  ## 3. Present Settings (Batch 2: Pipeline)
310
367
 
311
368
  ```
@@ -1180,6 +1237,74 @@ The selective-edit pass through Batch 9 MUST respect the §1b dispatch — it do
1180
1237
 
1181
1238
  ---
1182
1239
 
1240
+ ## 3i. Present Settings (Batch 10: Collaboration Catch-Up)
1241
+
1242
+ The **collaboration catch-up** surfaces show on every interactive (TTY) `/apt`
1243
+ call: a **Welcome-Back Summary** (your most-recently-active task + next step,
1244
+ always-on, local-only) and a **Team-Change Digest** (the PRs teammates merged
1245
+ to main since you last pulled — gated to `share.visibility` `team`/`oss`).
1246
+ Written to `.aperant/config.json.collaboration`.
1247
+
1248
+ ```
1249
+ AskUserQuestion([
1250
+ {
1251
+ question: "Show the Welcome-Back Summary when you return after a break?",
1252
+ header: "Welcome-Back",
1253
+ multiSelect: false,
1254
+ options: [
1255
+ { label: "Yes (Recommended)", description: "On your next /apt after the staleness window, surface where you left off — task, phase, next step. Local only." },
1256
+ { label: "No", description: "Never show the welcome-back nudge." }
1257
+ ]
1258
+ },
1259
+ {
1260
+ question: "How many hours away before the Welcome-Back Summary fires?",
1261
+ header: "Threshold (hours)",
1262
+ multiSelect: false,
1263
+ options: [
1264
+ { label: "16 (Recommended)", description: "Roughly 'since yesterday' — fires after an overnight gap." },
1265
+ { label: "8", description: "Fires after a long lunch / half-day gap." },
1266
+ { label: "24", description: "Once-a-day cadence." }
1267
+ ]
1268
+ },
1269
+ {
1270
+ question: "Show the Team-Change Digest (teammates' merged PRs since your last pull)?",
1271
+ header: "Team Digest",
1272
+ multiSelect: false,
1273
+ options: [
1274
+ { label: "Yes (Recommended)", description: "Only computes when share.visibility is team/oss; reads local git history, never fetches." },
1275
+ { label: "No", description: "Never show the digest, even in team/oss mode." }
1276
+ ]
1277
+ },
1278
+ {
1279
+ question: "Maximum PRs to list in the digest before '+N more on main'?",
1280
+ header: "Digest Max Entries",
1281
+ multiSelect: false,
1282
+ options: [
1283
+ { label: "7 (Recommended)", description: "Low-noise ceiling; the rest collapse into a '+N more' tail." },
1284
+ { label: "5", description: "Tighter." },
1285
+ { label: "12", description: "Roomier." }
1286
+ ]
1287
+ }
1288
+ ])
1289
+ ```
1290
+
1291
+ For hosts without structured prompts, present the same four questions as
1292
+ numbered lists (Batch 5 style) and read single-index responses.
1293
+
1294
+ ### 3i.1 Review-Mode routing entry
1295
+
1296
+ The "1b. Review Mode" routing table (§1b) includes "Collaboration" as a
1297
+ selectable edit target — jumping directly back into this Batch 10 picker.
1298
+
1299
+ ### 3i.2 Confirmation row
1300
+
1301
+ Add a row to the Step 8 table:
1302
+ ```
1303
+ | Collaboration | welcome-back {on/off} ({N}h) · team-digest {on/off} (max {M}) |
1304
+ ```
1305
+
1306
+ ---
1307
+
1183
1308
  ## 4. Map Answers to Config
1184
1309
 
1185
1310
  **AUDIT-001 — file-routing contract for per-device fields (UPDATED 0.8.1 for FRAMEWORK-RFC-001):** the
@@ -1295,6 +1420,12 @@ Note: task ids are slug-first since v0.6.6 — the date-format setting controls
1295
1420
  - "Sub-Agents" → `"sub-agents"`
1296
1421
  - "Sequential" → `"sequential"`
1297
1422
 
1423
+ **Collaboration Catch-Up (Batch 10):**
1424
+ - Welcome-Back "Yes" → `collaboration.welcome_back.enabled: true`, "No" → `false`
1425
+ - Threshold → `collaboration.welcome_back.threshold_hours: <8|16|24>`
1426
+ - Team Digest "Yes" → `collaboration.team_digest.enabled: true`, "No" → `false`
1427
+ - Digest Max Entries → `collaboration.team_digest.max_entries: <5|7|12>`
1428
+
1298
1429
  ## 5. Write Config
1299
1430
 
1300
1431
  Write merged config to two files per AUDIT-001 routing (see Step 4 block):
@@ -1402,6 +1533,7 @@ Display:
1402
1533
  | Debate Mode | {Auto / Agent Team / Sub-Agents / Sequential} |
1403
1534
  | Visibility | {solo / team / oss} (overrides if any) |
1404
1535
  | Changelog & Release Notes | dev: {Yes/No}; release-notes: {Yes/No} (audience, persona-filter) |
1536
+ | Collaboration | welcome-back {on/off} ({N}h) · team-digest {on/off} (max {M}) |
1405
1537
  | Saved as Defaults | {Yes/No} |
1406
1538
 
1407
1539
  Config saved to: .aperant/config.json
@@ -211,15 +211,15 @@ Rate each of the 4 dimensions on a 1-10 scale using the rubrics below. Provide a
211
211
  - **3-4:** Minimal tests, many untested paths
212
212
  - **1-2:** No meaningful test coverage
213
213
 
214
- ### Verdict Derivation
214
+ ### Verdict Derivation (v0.9.0 two-gate envelope)
215
215
 
216
- Derive the verdict from dimension scores using these threshold rules:
216
+ Verdict is the closed set `{approved, rejected, needs_human}`. It derives from the two-gate envelope (`automation_gate` AND `proof_gate`); dimensions are informational rationale only.
217
217
 
218
- - **approved** -- ALL dimensions >= 7, no critical issues
219
- - **approved-with-notes** -- ALL dimensions >= 5, minor issues noted
220
- - **rejected** -- ANY dimension < 5, or critical issues found
218
+ - **approved** -- `automation_gate: pass` AND `proof_gate: pass` AND no critical issues
219
+ - **needs_human** -- `automation_gate: pass` AND `proof_gate: fail` (typically: UI-surface outcome lacked driver transport; the human must install it and re-run /apt:verify-proof)
220
+ - **rejected** -- `automation_gate: fail` (any of lint/typecheck/tests red) OR critical issues unresolved
221
221
 
222
- These thresholds match `QA_DIMENSION_THRESHOLDS` in `packages/framework/src/types/qa-scoring.ts`.
222
+ The `deriveVerdict({automation_gate, proof_gate})` helper in `packages/framework/src/types/qa-scoring.ts` is the canonical mapping. The legacy `approved_with_notes` middle band is deleted in v0.9.0+; reading the legacy value from a stale `qa_signoff.json` crashes the consumer with a clear migration error.
223
223
 
224
224
  ## 6. Fix-Verify Loop (max 4 iterations)
225
225
 
@@ -272,7 +272,7 @@ Create `qa_signoff.json` using the `ScoredQASignoff` format (see `packages/frame
272
272
 
273
273
  ```json
274
274
  {
275
- "status": "approved|approved-with-notes|rejected",
275
+ "status": "approved|rejected|needs_human",
276
276
  "timestamp": "{ISO date}",
277
277
  "iterations": 1,
278
278
  "dimensions": [
@@ -281,6 +281,10 @@ Create `qa_signoff.json` using the `ScoredQASignoff` format (see `packages/frame
281
281
  { "dimension": "code_quality", "score": 7, "rationale": "Clean code, follows conventions" },
282
282
  { "dimension": "test_coverage", "score": 7, "rationale": "Good coverage of main paths" }
283
283
  ],
284
+ "gates": {
285
+ "automation_gate": "pass",
286
+ "proof_gate": "pass"
287
+ },
284
288
  "checks": {
285
289
  "tests": { "status": "pass", "count": 42, "failures": [] },
286
290
  "typecheck": { "status": "pass", "errors": [] },
@@ -293,10 +297,10 @@ Create `qa_signoff.json` using the `ScoredQASignoff` format (see `packages/frame
293
297
 
294
298
  The `dimensions` array must contain exactly the 4 dimensions defined in `QA_DIMENSIONS`: `completeness`, `correctness`, `code_quality`, `test_coverage`. Each entry includes a numeric `score` (1-10) and a `rationale` string explaining the score.
295
299
 
296
- The `status` field is derived from the minimum dimension score:
297
- - All >= 7 and no critical issues: `"approved"`
298
- - All >= 5 and no critical issues: `"approved-with-notes"`
299
- - Any < 5 or critical issues: `"rejected"`
300
+ The `status` field derives from the two gates:
301
+ - `automation_gate: pass` AND `proof_gate: pass`: `"approved"`
302
+ - `automation_gate: pass` AND `proof_gate: fail`: `"needs_human"`
303
+ - `automation_gate: fail` OR critical issues unresolved: `"rejected"`
300
304
 
301
305
  ```bash
302
306
  node packages/framework/bin/apt-tools.mjs commit "qa: verification {status}" --files qa_signoff.json
@@ -304,10 +308,11 @@ node packages/framework/bin/apt-tools.mjs commit "qa: verification {status}" --f
304
308
 
305
309
  ### Mark lifecycle phase as `reviewing` (approved path only)
306
310
 
307
- If `status` is `approved` or `approved-with-notes`, flip the task's lifecycle
308
- phase so the next stage (`/apt:review`, or `/apt:ship` if review is skipped)
309
- finds the task in the correct from-state. Skip this transition entirely on
310
- `rejected` — the task stays in `verifying` until the user re-runs after fixes.
311
+ If `status` is `approved`, flip the task's lifecycle phase so the next stage
312
+ (`/apt:review`, or `/apt:ship` if review is skipped) finds the task in the
313
+ correct from-state. Skip this transition on `rejected` (the task stays in
314
+ `verifying` until the user re-runs after fixes) or `needs_human` (re-run
315
+ /apt:verify-proof after installing the missing driver transport).
311
316
 
312
317
  ```bash
313
318
  node packages/framework/bin/apt-tools.mjs task update . --id {task-id} --lifecycle-phase reviewing
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: apt:verify-proof
3
- description: "Visual proof-of-work verification screenshots, HTML report, optional multi-model review (BETA)"
3
+ description: "Outcome walkerdrives spec.md `## User Outcomes` one at a time, captures surface-appropriate evidence, derives a two-gate verdict ({approved, rejected, needs_human}). Fails closed on file-evidence for UI surfaces."
4
4
  apt-skill-version: {{APT_VERSION}}
5
5
  stage: verify
6
6
  intent: ship
@@ -105,14 +105,58 @@ disable the walk entirely (root-only behaviour, backwards compat).
105
105
  The `verification.runtimes[]` override stays the final escape hatch
106
106
  and is now usually unnecessary because the walk runs by default.
107
107
 
108
- ### Bundled drivers (5)
108
+ ### Bundled drivers (6)
109
109
 
110
110
  - **browser** (priority=100, ga) — Next.js / vanilla web frontends.
111
111
  - **electron** (priority=90, ga) — Electron desktop apps.
112
112
  - **tauri** (priority=85, ga) — Tauri desktop apps.
113
+ - **mobile** (priority=80, ga) — iOS + Android (Expo / React Native / native) via `mobile-mcp`. App build/launch is owned by `apt-tools mobile prepare`, not the driver.
113
114
  - **cli** (priority=60, ga) — headless CI, output-shape assertions.
114
115
  - **api** (priority=50, ga) — HTTP / JSON-API regression tests.
115
116
 
117
+ > **Precondition.** When `--parallel` is requested, the sandbox gate at apt-verify-proof/SKILL.md Step 2c runs BEFORE this step. An unverified sandbox exits with `{status:"error", code:"E_SANDBOX_UNVERIFIED", verdict:"needs_human", reason:"sandbox_unverified"}` without loading any MCP driver tools or entering the outcome-walker loop. See `docs/verify-proof-sandbox-patterns.md` for setup.
118
+
119
+ ### Deferred-tool discovery (Claude Code / OpenCode hosts) — A5 fix
120
+
121
+ On Claude Code and OpenCode hosts, MCP driver tools listed under
122
+ `drivers/<surface>/manifest.json :: transport.mcp_server_id` are
123
+ **deferred** — they live in the host's MCP server registry but their
124
+ schemas are NOT loaded by default. Before driving any UI-surface
125
+ outcome the workflow runner MUST load them via `ToolSearch(query='select:...')`.
126
+
127
+ **Worked example.** For the bundled `browser` driver (manifest field
128
+ `transport.mcp_server_id = "puppeteer"` → `mcp__puppeteer__*` tools):
129
+
130
+ ```
131
+ ToolSearch(query='select:mcp__puppeteer__browser_navigate,mcp__puppeteer__browser_click,mcp__puppeteer__browser_screenshot,mcp__puppeteer__browser_type')
132
+ ```
133
+
134
+ For the bundled `electron` driver (manifest field
135
+ `transport.mcp_server_id = "electron"` → `mcp__electron__*` tools):
136
+
137
+ ```
138
+ ToolSearch(query='select:mcp__electron__app_launch,mcp__electron__app_click,mcp__electron__app_screenshot,mcp__electron__app_type')
139
+ ```
140
+
141
+ For the bundled `mobile` driver (manifest field
142
+ `transport.mcp_server_id = "mobile-mcp"` → `mcp__mobile-mcp__*` tools):
143
+
144
+ ```
145
+ ToolSearch(query='select:mcp__mobile-mcp__mobile_click_on_screen_at_coordinates,mcp__mobile-mcp__mobile_swipe_on_screen,mcp__mobile-mcp__mobile_save_screenshot,mcp__mobile-mcp__mobile_type_keys')
146
+ ```
147
+
148
+ After the call, list the now-loaded tool names back to confirm they
149
+ appear in the active tool surface. If any required driver tool fails to
150
+ load, emit `result: "needs_human_with_transport"` on each affected
151
+ outcome — do NOT fall back to file-evidence. The legacy
152
+ "commit hash as proof" pattern is rejected by the proof_gate.
153
+
154
+ The manifest field is `transport.mcp_server_id` (and `transport.skill_id`
155
+ where applicable). The names `mcp_transport.tool_prefix` and
156
+ `transport.tool_prefix` are NOT real manifest fields — do not search
157
+ for them. This block is no-op on hosts whose entire MCP surface is
158
+ loaded eagerly (some Codex builds); `ToolSearch` is idempotent there.
159
+
116
160
  ### Install-time MCP provisioning (verification.provision_mcp)
117
161
 
118
162
  `apt-tools init` (and `/apt:update`, which routes through the same path)
@@ -149,10 +193,99 @@ IDL types, error taxonomy, and conformance kit live inside the framework
149
193
  itself under `packages/framework/src/driver-sdk/` — see that directory's
150
194
  public-api-lock test for the surface contract.
151
195
 
152
- ## Execution
196
+ ## Step 1 — First-run sandbox-setup hook (interactive `--parallel` only)
197
+
198
+ When the user invokes `/apt:verify-proof --parallel` on a project where
199
+ `verification.sandbox` is ABSENT from `.aperant/config.json` AND
200
+ `host.capabilities.structured_prompts === true` AND
201
+ `process.stdout.isTTY === true`, prompt:
202
+
203
+ ```
204
+ AskUserQuestion([
205
+ {
206
+ question: "Parallel /apt:verify-proof is not configured. Run setup now?",
207
+ header: "Sandbox Setup",
208
+ multiSelect: false,
209
+ options: [
210
+ { label: "Yes — run sandbox setup", description: "Walk recipe-diff with you, then apply-recipe --confirm --accept-all (after you've reviewed each change), then verify-sandbox before continuing" },
211
+ { label: "Cancel", description: "Exit; re-invoke without --parallel for single-instance verify-proof" }
212
+ ]
213
+ }
214
+ ])
215
+ ```
216
+
217
+ On `Yes`, dispatch `/apt:verify-proof setup` (the setup-mode flow) before
218
+ returning to the walker. On `Cancel`, exit with the same envelope the
219
+ Step 2c gate would produce so the user sees the structured remediation.
220
+
221
+ Non-interactive surfaces (`structured_prompts:false` OR
222
+ `stdout.isTTY:false`) print the one-line stderr tip and proceed:
223
+
224
+ ```
225
+ [apt] tip: run `/apt:verify-proof setup` to enable parallel verification
226
+ ```
227
+
228
+ then exit at the Step 2c gate. Never block CI / fan-out children on
229
+ this prompt (ID-08).
230
+
231
+ ## Step 2c — Sandbox gate (precondition for `--parallel`)
232
+
233
+ When `--parallel` is requested AND `.aperant/config.json :: verification.sandbox`
234
+ is present, this gate runs BEFORE Step 2.5 (Deferred-tool-load) and BEFORE
235
+ entering the Outcome Walker loop. It is a **precondition gate**, NOT a
236
+ per-outcome transport-failure gate.
237
+
238
+ **Dispatch on the state file** at
239
+ `.aperant/state/verify-proof-sandbox-verified.json`:
240
+
241
+ | condition | action |
242
+ |-----------|--------|
243
+ | `--parallel` requested + state file shows `verified:true` (verdict:`approved`) | **proceed** to Step 2.5; the parallel surface is now safe (each instance has its own SQLite path + userData dir + singleton-lock opt-out). |
244
+ | `--parallel` requested + state file missing OR `verified:false` | **exit BEFORE Step 2.5** with the JSON envelope below; do NOT load deferred MCP tools, do NOT initialize the outcome walker, do NOT write verification.json. |
245
+ | `--parallel` NOT requested | today's behavior unchanged — this gate is a no-op (Fast Path Guarantee ID-07). |
246
+
247
+ **Fail-loud envelope.** sandbox not verified — run `/apt:verify-proof setup` first:
248
+
249
+ ```json
250
+ {
251
+ "status": "error",
252
+ "code": "E_SANDBOX_UNVERIFIED",
253
+ "verdict": "needs_human",
254
+ "reason": "sandbox_unverified",
255
+ "remediation": "/apt:verify-proof setup"
256
+ }
257
+ ```
258
+
259
+ The single-line stderr message is: `sandbox not verified — run \`/apt:verify-proof setup\` first`.
260
+
261
+ **v2 vocabulary alignment.** The gate's failure envelope uses verify-proof
262
+ v2's existing `verdict:"needs_human"` vocabulary (ID-09) so reviewers,
263
+ downstream tools, and the e2e see one shape across both the per-run
264
+ envelope and per-outcome verification.json. We deliberately do NOT emit
265
+ per-outcome `needs_human_with_transport` rows for this case — sandbox
266
+ unverified is a precondition failure for the whole walker, not a
267
+ per-outcome transport failure for individual outcomes. Only the two
268
+ v2-shipped verdicts (`approved`, `needs_human`) appear in this gate's
269
+ envelope — the deprecated middle-band verdict v2 removed is not
270
+ referenced anywhere in this block (TD-07 grep guard locks this).
271
+
272
+ **Anti-queue invariant.** This gate fails loud rather than silently
273
+ serializing parallel invocations through a cooperative queue. The
274
+ `install/install-semaphore.mjs` queuing primitive is explicitly forbidden
275
+ in this code path (ID-01); a regression test grep-guards the invariant.
276
+
277
+ See `docs/verify-proof-sandbox-patterns.md` for the worked
278
+ electron-libsql adopter flow + the manual-integration template for
279
+ unrecognized runtimes.
280
+
281
+ ## Execution — Outcome Walker (v0.9.0)
153
282
 
154
283
  Execute the verify-proof workflow end-to-end using IDL verbs (the driver
155
- maps verbs to its transport — MCP server, local command, HTTP):
284
+ maps verbs to its transport — MCP server, local command, HTTP). The
285
+ workflow is an **outcome walker**: iterate `spec.md ## User Outcomes`
286
+ parent bullets one at a time, drive the stated bullet AND each inferred
287
+ child, capture surface-appropriate evidence, fix-loop on red, advance on
288
+ green.
156
289
 
157
290
  <execution_context>
158
291
  @packages/framework/workflows/verify-proof.md
@@ -168,15 +301,17 @@ to adopt the adversarial QA mindset. You are not a helpful assistant during veri
168
301
  you are trying to break things and prove they work.
169
302
 
170
303
  Respect ALL workflow gates:
171
- 1. Pre-check gate — all subtasks completed
172
- 2. Design-lint gate (C11) for every UI-touching task, run `apt-tools design-lint` against the implementation's generated HTML + `{task_dir}/mockups/mockup_final.html` (when present). The DESIGN.md contract's `antiPatterns` block is the authority. Violations MUST be surfaced in the VERIFICATION.md report as a distinct section; they are NOT blocking by themselves but they contribute to the visual-quality score.
173
- 3. Test generation gate — ALL tests written before execution
174
- 4. Test execution gate — ALL tests executed before scoring
175
- 5. Evidence gate — every test has evidence AND analysis
176
- 6. Scoring gate — scores derived from evidence, not assumed
304
+ 1. **Pre-check gate** — all subtasks completed.
305
+ 2. **User Outcomes gate**spec.md MUST carry `## User Outcomes` with `body_kind {outcomes, empty-with-note}`. NO fallback to feature-registry-derived tests.
306
+ 3. **Deferred-tool-load gate**on Claude Code / OpenCode hosts, MCP driver tools under `drivers/<surface>/manifest.json :: transport.mcp_server_id` MUST be loaded via `ToolSearch(query='select:...')` BEFORE driving any UI-surface outcome.
307
+ 4. **Automation gate**`automated_checks.{tests,typecheck,lint}.status {pass, fail}` (closed set, no `"enforced_at_commit"` dodge).
308
+ 5. **Outcome-walker gate** — every parent outcome AND every inferred child has its own test entry with evidence appropriate to its surface OR `result: "needs_human_with_transport"`.
309
+ 6. **Proof gate**UI-surface outcomes carrying `evidence: "file-evidence: ..."` are rejected as `needs_human_with_transport`. File-evidence is NEVER sufficient for any surface.
310
+ 7. **Verdict gate** — verdict is exactly one of `{approved, rejected, needs_human}`. The legacy `approved_with_notes` middle band is DELETED.
311
+ 8. **Design-lint gate (C11)** — for every UI-touching task, run `apt-tools design-lint` against the implementation's generated HTML + `{task_dir}/mockups/mockup_final.html` (when present). Violations contribute to the proof-gate evidence story but are NOT blocking on their own.
177
312
 
178
313
  Use the proof-verification template (@packages/framework/templates/proof-verification.md)
179
- for the VERIFICATION.md output format.
314
+ for the verification.json output schema.
180
315
 
181
316
  **Design-lint invocation** (when the task touched UI):
182
317
 
@@ -1 +1 @@
1
- {"version":3,"file":"proof-report.d.ts","sourceRoot":"","sources":["../src/proof-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAA0C,aAAa,EAAE,MAAM,eAAe,CAAA;AAiJ1F,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAkLjF;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAyErF;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CASpF"}
1
+ {"version":3,"file":"proof-report.d.ts","sourceRoot":"","sources":["../src/proof-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAA0C,aAAa,EAAE,MAAM,eAAe,CAAA;AAoJ1F,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAkLjF;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAyErF;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CASpF"}
@@ -16,13 +16,16 @@ function escapeHtml(str) {
16
16
  .replace(/"/g, '&quot;');
17
17
  }
18
18
  function statusBadge(status) {
19
+ // v0.9.0 — verdict enum is {approved, rejected, needs_human}.
20
+ // `needs_human` is amber; `approved-with-notes` is DELETED (no shim).
19
21
  const colors = {
20
22
  pass: '#22c55e',
21
23
  approved: '#22c55e',
22
24
  fail: '#ef4444',
23
25
  rejected: '#ef4444',
24
26
  partial: '#f59e0b',
25
- 'approved-with-notes': '#f59e0b',
27
+ needs_human: '#f59e0b',
28
+ needs_human_with_transport: '#f59e0b',
26
29
  skip: '#6b7280',
27
30
  error: '#ef4444',
28
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"proof-report.js","sourceRoot":"","sources":["../src/proof-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proof-report.js","sourceRoot":"","sources":["../src/proof-report.ts"],"names":[],"mappings":"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"}
@@ -95,12 +95,17 @@ export interface GraceMode {
95
95
  /** Temporarily lowered Coverage threshold during grace (default: 3) */
96
96
  coverage_threshold_override: number;
97
97
  }
98
- /** Quality assurance thresholds and behavior */
98
+ /**
99
+ * Quality assurance thresholds and behavior.
100
+ *
101
+ * v0.9.0 (verify-proof-v2-outcome-walker_27-05-26) — `approved_with_notes_threshold`
102
+ * is DELETED. Reading a legacy config value at this key is silently dropped
103
+ * (logged once); see `src/cli/consistency/parse-qa.mjs` for the migration error
104
+ * surface on stale `qa_signoff.json` files.
105
+ */
99
106
  export interface QAConfig {
100
- /** Minimum score (1-10) for "approved" verdict */
107
+ /** Minimum score (1-10) for "approved" verdict (informational rationale only in v0.9.0+) */
101
108
  approved_threshold: number;
102
- /** Minimum score (1-10) for "approved with notes" verdict */
103
- approved_with_notes_threshold: number;
104
109
  /** Require visual proof capture for UI changes */
105
110
  require_proof_for_ui: boolean;
106
111
  /** Max fix-verify iterations before failing */
@@ -110,6 +115,27 @@ export interface QAConfig {
110
115
  }
111
116
  /** Detected or user-specified project archetype */
112
117
  export type ProjectType = 'web-app' | 'api-service' | 'cli-tool' | 'library' | 'monorepo' | 'unknown';
118
+ /**
119
+ * Sandbox-setup opt-in for parallel /apt:verify-proof (milestone
120
+ * `fw-sandbox-parallel-verify-proof`). Mirrors the JSON-Schema at
121
+ * `packages/framework/src/cli/verify-proof/sandbox/sandbox-schema.json`.
122
+ *
123
+ * - `enabled`: master switch; false suppresses the gate without removing
124
+ * recipe artifacts.
125
+ * - `recipeId` + `recipeVersion`: identifies which recipe was applied.
126
+ * Read by `apt-tools recipe-diff` to dispatch on already-applied /
127
+ * incremental / incompatible cases via the recipe's
128
+ * `compatibleWithApplied[]` field (ID-05).
129
+ * - `appliedAt`, `appliedHash`: optional audit metadata recorded at apply
130
+ * time. Drift detection uses `appliedHash`.
131
+ */
132
+ export interface SandboxConfig {
133
+ enabled: boolean;
134
+ recipeId: string;
135
+ recipeVersion: string;
136
+ appliedAt?: string;
137
+ appliedHash?: string;
138
+ }
113
139
  /** Full v2 config schema — stored at .aperant/config.json */
114
140
  export interface AperantConfig {
115
141
  version: number;
@@ -123,6 +149,18 @@ export interface AperantConfig {
123
149
  evidence_capture: boolean;
124
150
  max_iterations: number;
125
151
  strict: boolean;
152
+ /**
153
+ * Sandbox-setup opt-in (parallel /apt:verify-proof). Optional.
154
+ * Absent = today's behavior, byte-identical Fast Path Guarantee (ID-07).
155
+ * Present = the sandbox precondition gate at apt-verify-proof/SKILL.md
156
+ * Step 2c reads the verified state file and gates `--parallel` runs on
157
+ * the v2 verdict envelope (verdict:'needs_human', reason:'sandbox_unverified').
158
+ *
159
+ * Written by `apt-tools apply-recipe --confirm`; consumed by the gate
160
+ * and the first-run hook. See packages/framework/src/cli/verify-proof/
161
+ * sandbox/sandbox-schema.json for the JSON-schema mirror.
162
+ */
163
+ sandbox?: SandboxConfig;
126
164
  };
127
165
  multi_model: {
128
166
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}