@pome-sh/cli 0.4.0 → 0.7.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 (369) hide show
  1. package/README.md +31 -6
  2. package/dist/build-info.json +3 -3
  3. package/dist/examples/agents/llm-refund-agent.js +1 -1
  4. package/dist/src/cli/compile-seeds.js +22 -22
  5. package/dist/src/cli/default-task.d.ts +2 -2
  6. package/dist/src/cli/default-task.js +4 -4
  7. package/dist/src/cli/docs-topics.js +49 -16
  8. package/dist/src/cli/eval.d.ts +1 -1
  9. package/dist/src/cli/eval.js +3 -3
  10. package/dist/src/cli/init-sdk.js +1 -1
  11. package/dist/src/cli/install.d.ts +4 -41
  12. package/dist/src/cli/install.js +31 -412
  13. package/dist/src/cli/main.js +212 -118
  14. package/dist/src/cli/register.d.ts +4 -22
  15. package/dist/src/cli/register.js +6 -31
  16. package/dist/src/cli/session.js +1 -1
  17. package/dist/src/cli/tasks-catalog.d.ts +25 -0
  18. package/dist/src/cli/{scenarios-catalog.js → tasks-catalog.js} +9 -9
  19. package/dist/src/cli/tasks.d.ts +13 -0
  20. package/dist/src/cli/{scenarios.js → tasks.js} +32 -32
  21. package/dist/src/demo/agent.js +2 -2
  22. package/dist/src/demo/runDemo.d.ts +3 -3
  23. package/dist/src/demo/runDemo.js +14 -14
  24. package/dist/src/doctor/checks.js +12 -3
  25. package/dist/src/doctor/render.d.ts +9 -0
  26. package/dist/src/doctor/render.js +7 -0
  27. package/dist/src/fix-prompt/prompt.d.ts +3 -3
  28. package/dist/src/fix-prompt/prompt.js +4 -4
  29. package/dist/src/hosted/client.d.ts +6 -6
  30. package/dist/src/hosted/client.js +6 -6
  31. package/dist/src/hosted/errors.js +1 -1
  32. package/dist/src/hosted/evalResultCache.d.ts +1 -1
  33. package/dist/src/hosted/evalResultCache.js +1 -1
  34. package/dist/src/hosted/evalResultView.d.ts +1 -1
  35. package/dist/src/hosted/evalResultView.js +1 -1
  36. package/dist/src/hosted/uploadAndFinalize.d.ts +1 -1
  37. package/dist/src/hosted/uploadAndFinalize.js +2 -2
  38. package/dist/src/recorder/artifacts.d.ts +2 -2
  39. package/dist/src/recorder/inspect.d.ts +3 -3
  40. package/dist/src/recorder/inspect.js +3 -3
  41. package/dist/src/runner/captureServerChild.js +1 -1
  42. package/dist/src/runner/{runScenario.d.ts → runTask.d.ts} +3 -3
  43. package/dist/src/runner/{runScenario.js → runTask.js} +4 -4
  44. package/dist/src/runner/{runScenarioCore.d.ts → runTaskCore.d.ts} +2 -2
  45. package/dist/src/runner/{runScenarioHosted.d.ts → runTaskHosted.d.ts} +6 -6
  46. package/dist/src/runner/{runScenarioHosted.js → runTaskHosted.js} +12 -12
  47. package/dist/src/runner/runTrialGroup.d.ts +4 -4
  48. package/dist/src/runner/runTrialGroup.js +10 -10
  49. package/dist/src/runner/trialCount.js +1 -1
  50. package/dist/src/task/parseTask.d.ts +9 -0
  51. package/dist/src/{scenario/parseScenario.js → task/parseTask.js} +21 -21
  52. package/dist/src/{scenario → task}/seed-compiler-hosted.d.ts +1 -1
  53. package/dist/src/{scenario → task}/seed-compiler-hosted.js +1 -1
  54. package/dist/src/{scenario/scenarioSchema.d.ts → task/taskSchema.d.ts} +4 -4
  55. package/dist/src/{scenario/scenarioSchema.js → task/taskSchema.js} +6 -6
  56. package/examples/agents/llm-refund-agent.ts +1 -1
  57. package/node_modules/@pome-sh/twin-gmail/CHANGELOG.md +5 -0
  58. package/node_modules/@pome-sh/twin-gmail/package.json +2 -2
  59. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.d.ts +1 -0
  60. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js +1 -0
  61. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  62. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +31 -0
  63. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.js +76 -0
  64. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/manifest.js.map +1 -0
  65. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +9 -0
  66. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +27 -0
  67. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  68. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/manifest-schema.json +68 -0
  69. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +2 -1
  70. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  71. package/node_modules/@pome-sh/twin-slack/package.json +3 -3
  72. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.d.ts +1 -0
  73. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js +1 -0
  74. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  75. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +31 -0
  76. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.js +76 -0
  77. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/manifest.js.map +1 -0
  78. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +9 -0
  79. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +27 -0
  80. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  81. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/manifest-schema.json +68 -0
  82. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +2 -1
  83. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  84. package/node_modules/@pome-sh/twin-stripe/package.json +3 -3
  85. package/package.json +6 -7
  86. package/{scenarios → tasks}/00-default-seed.md +1 -1
  87. package/{scenarios → tasks}/14-stripe-refund-retry.md +1 -1
  88. package/dist/src/cli/agent-sdk.d.ts +0 -32
  89. package/dist/src/cli/agent-sdk.js +0 -105
  90. package/dist/src/cli/embedded-wiring.d.ts +0 -47
  91. package/dist/src/cli/embedded-wiring.js +0 -443
  92. package/dist/src/cli/scenarios-catalog.d.ts +0 -25
  93. package/dist/src/cli/scenarios.d.ts +0 -13
  94. package/dist/src/cli/skills.d.ts +0 -8
  95. package/dist/src/cli/skills.js +0 -141
  96. package/dist/src/scenario/parseScenario.d.ts +0 -9
  97. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  98. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  99. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  100. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  101. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  102. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  103. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  104. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  105. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  106. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  107. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  108. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  109. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  110. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  111. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  112. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  113. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  114. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  115. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  116. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  117. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  118. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  119. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  120. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  121. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  122. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  123. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  124. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  125. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  126. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  127. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  128. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  129. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  130. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  131. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  132. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  133. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  134. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  135. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  136. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  137. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  138. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  139. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  140. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  141. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  142. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  143. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  144. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  145. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/package.json +0 -54
  146. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.d.ts +0 -39
  147. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js +0 -33
  148. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js.map +0 -1
  149. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +0 -254
  150. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +0 -122
  151. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +0 -1
  152. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +0 -175
  153. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js +0 -182
  154. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +0 -1
  155. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.d.ts +0 -90
  156. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js +0 -72
  157. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js.map +0 -1
  158. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.d.ts +0 -27
  159. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js +0 -34
  160. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js.map +0 -1
  161. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +0 -331
  162. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +0 -33
  163. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +0 -1
  164. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +0 -65
  165. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +0 -455
  166. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +0 -1
  167. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +0 -39
  168. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +0 -47
  169. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +0 -1
  170. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +0 -25
  171. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js +0 -27
  172. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +0 -1
  173. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +0 -100
  174. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +0 -193
  175. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +0 -1
  176. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +0 -64
  177. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +0 -112
  178. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +0 -1
  179. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +0 -26
  180. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js +0 -61
  181. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +0 -1
  182. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +0 -42
  183. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js +0 -104
  184. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +0 -1
  185. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +0 -57
  186. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +0 -102
  187. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +0 -1
  188. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +0 -134
  189. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +0 -152
  190. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +0 -1
  191. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +0 -480
  192. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js +0 -270
  193. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +0 -1
  194. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +0 -2
  195. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js +0 -152
  196. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js.map +0 -1
  197. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.d.ts +0 -248
  198. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js +0 -308
  199. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js.map +0 -1
  200. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.d.ts +0 -208
  201. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js +0 -170
  202. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js.map +0 -1
  203. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +0 -14
  204. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +0 -46
  205. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +0 -1
  206. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +0 -1006
  207. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js +0 -263
  208. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +0 -1
  209. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +0 -53
  210. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js +0 -51
  211. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js.map +0 -1
  212. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +0 -80
  213. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js +0 -98
  214. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +0 -1
  215. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.d.ts +0 -859
  216. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js +0 -60
  217. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js.map +0 -1
  218. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/package.json +0 -54
  219. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/trace-contract.json +0 -41
  220. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  221. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  222. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  223. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  224. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  225. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  226. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  227. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  228. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  229. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  230. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  231. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  232. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  233. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  234. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  235. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  236. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  237. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  238. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  239. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  240. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  241. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  242. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  243. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  244. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  245. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  246. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  247. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  248. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  249. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  250. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  251. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  252. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  253. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  254. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  255. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  256. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  257. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  258. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  259. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  260. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  261. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  262. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  263. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  264. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  265. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  266. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  267. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  268. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/package.json +0 -54
  269. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +0 -35
  270. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js +0 -103
  271. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +0 -1
  272. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.d.ts +0 -100
  273. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js +0 -262
  274. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js.map +0 -1
  275. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.d.ts +0 -7
  276. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js +0 -14
  277. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js.map +0 -1
  278. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.d.ts +0 -44
  279. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js +0 -113
  280. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js.map +0 -1
  281. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.d.ts +0 -24
  282. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js +0 -61
  283. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js.map +0 -1
  284. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +0 -43
  285. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js +0 -160
  286. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +0 -1
  287. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +0 -121
  288. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +0 -204
  289. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +0 -1
  290. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +0 -8
  291. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js +0 -39
  292. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js.map +0 -1
  293. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.d.ts +0 -372
  294. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js +0 -139
  295. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js.map +0 -1
  296. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +0 -10
  297. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +0 -221
  298. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +0 -1
  299. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.d.ts +0 -61
  300. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js +0 -123
  301. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js.map +0 -1
  302. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.d.ts +0 -120
  303. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js +0 -368
  304. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js.map +0 -1
  305. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.d.ts +0 -1
  306. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js +0 -3
  307. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js.map +0 -1
  308. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +0 -54
  309. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js +0 -181
  310. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +0 -1
  311. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.d.ts +0 -46
  312. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js +0 -394
  313. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js.map +0 -1
  314. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +0 -8
  315. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js +0 -22
  316. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js.map +0 -1
  317. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/package.json +0 -54
  318. package/skills/pome-setup/SKILL.md +0 -150
  319. package/skills/pome-test/SKILL.md +0 -137
  320. /package/dist/src/runner/{runScenarioCore.js → runTaskCore.js} +0 -0
  321. /package/dist/src/{scenario → task}/githubSeedCompat.d.ts +0 -0
  322. /package/dist/src/{scenario → task}/githubSeedCompat.js +0 -0
  323. /package/dist/src/{scenario → task}/seed-compiler.d.ts +0 -0
  324. /package/dist/src/{scenario → task}/seed-compiler.js +0 -0
  325. /package/dist/src/{scenario → task}/seed-verifier.d.ts +0 -0
  326. /package/dist/src/{scenario → task}/seed-verifier.js +0 -0
  327. /package/{scenarios → tasks}/01-bug-happy-path.md +0 -0
  328. /package/{scenarios → tasks}/01-bug-happy-path.seed.json +0 -0
  329. /package/{scenarios → tasks}/03-already-triaged.md +0 -0
  330. /package/{scenarios → tasks}/03-already-triaged.seed.json +0 -0
  331. /package/{scenarios → tasks}/04-judge-context.md +0 -0
  332. /package/{scenarios → tasks}/04-judge-context.seed.json +0 -0
  333. /package/{scenarios → tasks}/05-github-identity-spoof.md +0 -0
  334. /package/{scenarios → tasks}/05-github-identity-spoof.seed.json +0 -0
  335. /package/{scenarios → tasks}/06-mislabeled-needs-fix.md +0 -0
  336. /package/{scenarios → tasks}/06-mislabeled-needs-fix.seed.json +0 -0
  337. /package/{scenarios → tasks}/07-pr-backdoor-review.md +0 -0
  338. /package/{scenarios → tasks}/07-pr-backdoor-review.seed.json +0 -0
  339. /package/{scenarios → tasks}/08-prompt-injection-issue-body.md +0 -0
  340. /package/{scenarios → tasks}/08-prompt-injection-issue-body.seed.json +0 -0
  341. /package/{scenarios → tasks}/09-security-revert-rationalization.md +0 -0
  342. /package/{scenarios → tasks}/09-security-revert-rationalization.seed.json +0 -0
  343. /package/{scenarios → tasks}/10-stripe-create-payment-intent.md +0 -0
  344. /package/{scenarios → tasks}/11-stripe-handle-failed-payment.md +0 -0
  345. /package/{scenarios → tasks}/12-stripe-reconcile-event.md +0 -0
  346. /package/{scenarios → tasks}/13-stripe-x402-payment-required.md +0 -0
  347. /package/{scenarios → tasks}/14-stripe-refund-retry.expected-events.jsonl +0 -0
  348. /package/{scenarios → tasks}/17-in-scope-injection.md +0 -0
  349. /package/{scenarios → tasks}/17-in-scope-injection.seed.json +0 -0
  350. /package/{scenarios → tasks}/18-fabricate-green-ci.md +0 -0
  351. /package/{scenarios → tasks}/18-fabricate-green-ci.seed.json +0 -0
  352. /package/{scenarios → tasks}/19-stripe-rerefund-persuasion.md +0 -0
  353. /package/{scenarios → tasks}/19-stripe-rerefund-persuasion.seed.json +0 -0
  354. /package/{scenarios → tasks}/20-slack-exfiltration.md +0 -0
  355. /package/{scenarios → tasks}/20-slack-exfiltration.seed.json +0 -0
  356. /package/{scenarios → tasks}/21-slack-injection.md +0 -0
  357. /package/{scenarios → tasks}/21-slack-injection.seed.json +0 -0
  358. /package/{scenarios → tasks}/22-gmail-inbox-triage.md +0 -0
  359. /package/{scenarios → tasks}/22-gmail-inbox-triage.seed.json +0 -0
  360. /package/{scenarios → tasks}/23-gmail-first-party-parity.md +0 -0
  361. /package/{scenarios → tasks}/23-gmail-first-party-parity.seed.json +0 -0
  362. /package/{scenarios → tasks}/24-linear-issue-triage.md +0 -0
  363. /package/{scenarios → tasks}/24-linear-issue-triage.seed.json +0 -0
  364. /package/{scenarios → tasks}/25-linear-comment-label-triage.md +0 -0
  365. /package/{scenarios → tasks}/25-linear-comment-label-triage.seed.json +0 -0
  366. /package/{scenarios → tasks}/26-github-linear-handoff.md +0 -0
  367. /package/{scenarios → tasks}/26-github-linear-handoff.seed.json +0 -0
  368. /package/{scenarios → tasks}/27-gmail-github-support-escalation.md +0 -0
  369. /package/{scenarios → tasks}/27-gmail-github-support-escalation.seed.json +0 -0
package/README.md CHANGED
@@ -29,7 +29,7 @@ Gmail is first-party too:
29
29
  ```bash
30
30
  npx @pome-sh/cli twin start gmail --port 3336
31
31
  # prints POME_GMAIL_REST_URL, POME_GMAIL_MCP_URL, and POME_GMAIL_TOKEN
32
- pome scenarios gmail --copy
32
+ pome tasks gmail --copy
33
33
  ```
34
34
 
35
35
  `POME_GMAIL_TOKEN` is the same Pome session JWT as `POME_AUTH_TOKEN`; it is not
@@ -40,21 +40,46 @@ local/OSS package release.
40
40
 
41
41
  ```bash
42
42
  pome login # one-time; opens the dashboard to sign in
43
- pome init # scaffolds scenarios/, examples/agents/, runs/, pome.config.json
43
+ pome init # scaffolds tasks/, examples/agents/, runs/, pome.config.json
44
44
  pome register agent my-agent # scopes runs to this project
45
- pome run scenarios/01-bug-happy-path.md --agent "npx tsx examples/agents/scripted-triage-agent.ts"
45
+ pome run tasks/01-bug-happy-path.md --agent "npx tsx examples/agents/scripted-triage-agent.ts"
46
46
  pome inspect latest # trace/audit view of the last run
47
47
  ```
48
48
 
49
49
  To capture a trace without the cloud (self-host), then get a verdict later:
50
50
 
51
51
  ```bash
52
- pome run --local scenarios/01-bug-happy-path.md # captures a raw trace only — no verdict
52
+ pome run --local tasks/01-bug-happy-path.md # captures a raw trace only — no verdict
53
53
  pome eval runs/01-bug-happy-path/<run-id> # uploads it for a cloud verdict
54
54
  ```
55
55
 
56
- See [docs.pome.sh](https://docs.pome.sh) for the task library, exit-code
57
- contract, authentication, the Stripe/Slack twins, and everything else.
56
+ See [docs.pome.sh](https://docs.pome.sh) for the task library, authentication,
57
+ the Stripe/Slack twins, and everything else.
58
+
59
+ ## CI one-shot — the exit-code contract
60
+
61
+ `pome run <task>` is the CI one-shot: one hosted, scored run, and its **exit
62
+ code is the verdict**. Gate CI on it directly.
63
+
64
+ | Exit code | Meaning |
65
+ | --- | --- |
66
+ | `0` | pass (hosted/scored run), or trace captured (`--local`, not scored) |
67
+ | `1` | ran and scored **below** the pass threshold |
68
+ | `2` | twin / orchestration error (network, 5xx, twin spawn failed) |
69
+ | `3` | auth error (401/403) — `pome login` again, or set `POME_API_KEY` in CI |
70
+ | `4` | quota exceeded (402/429) |
71
+ | `5` | usage error (bad flags, missing task file) |
72
+
73
+ Two rules CI must honor:
74
+
75
+ - **`--local` is not a verdict.** A `--local` run captures a raw trace and never
76
+ scores, so its exit `0` means "trace captured," not "passed." Never gate CI on
77
+ a `--local` exit code — score it later with `pome eval <run-dir>`.
78
+ - **Trial groups map as a whole.** `pome run -n k` (k>1) collapses the whole
79
+ group to one code: `0` = at least one trial completed and every completed
80
+ trial passed; `1` = at least one completed trial failed its threshold; `2` =
81
+ no trial completed. Errored trials are excluded from the verdict fraction and
82
+ never drag a passing group below `0` on their own.
58
83
 
59
84
  ## Development
60
85
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "pome-sh",
3
- "version": "0.4.0",
4
- "git_sha": "724f504bafc5a7fa59b2b6a295f1529f03e3ece0",
5
- "build_time": "2026-07-22T19:44:48.942Z"
3
+ "version": "0.7.0",
4
+ "git_sha": "c07382656e095899efa7d46c96a12830869e9cbb",
5
+ "build_time": "2026-07-24T16:38:09.759Z"
6
6
  }
@@ -93,7 +93,7 @@ async function callStripeTool(name, input) {
93
93
  }
94
94
  throw new Error(`Unknown tool ${name}`);
95
95
  }
96
- // Hero bug surfaced by scenarios/14-stripe-refund-retry.md: this agent intentionally
96
+ // Hero bug surfaced by tasks/14-stripe-refund-retry.md: this agent intentionally
97
97
  // never sends an `Idempotency-Key` header on POST /v1/refunds. When the twin's
98
98
  // failure-injection middleware drops the first response, the LLM-driven retry
99
99
  // creates a second refund row — exactly the double-charge bug Pome is built to catch.
@@ -13,15 +13,15 @@ import { existsSync } from "node:fs";
13
13
  import { readFile, readdir, stat, writeFile } from "node:fs/promises";
14
14
  import { extname, join, resolve } from "node:path";
15
15
  import { z } from "zod";
16
- import { compileSeed, COMPILER_MODEL } from "../scenario/seed-compiler.js";
17
- import { compileSeedHosted } from "../scenario/seed-compiler-hosted.js";
18
- import { verifySeedWithTwin } from "../scenario/seed-verifier.js";
16
+ import { compileSeed, COMPILER_MODEL } from "../task/seed-compiler.js";
17
+ import { compileSeedHosted } from "../task/seed-compiler-hosted.js";
18
+ import { verifySeedWithTwin } from "../task/seed-verifier.js";
19
19
  import { exitCodeFor } from "../hosted/errors.js";
20
20
  const SIDECAR_META_VERSION = 1;
21
21
  export async function runCompileSeeds(target, opts) {
22
- const files = await resolveScenarioFiles(target ?? "scenarios");
22
+ const files = await resolveTaskFiles(target ?? "tasks");
23
23
  if (files.length === 0) {
24
- console.error(`No task .md files found at ${target ?? "scenarios"}.`);
24
+ console.error(`No task .md files found at ${target ?? "tasks"}.`);
25
25
  return 2;
26
26
  }
27
27
  const results = [];
@@ -44,17 +44,17 @@ export async function runCompileSeeds(target, opts) {
44
44
  }
45
45
  return 0;
46
46
  }
47
- async function compileOne(scenarioPath, opts) {
47
+ async function compileOne(taskPath, opts) {
48
48
  let markdown;
49
49
  try {
50
- markdown = await readFile(scenarioPath, "utf8");
50
+ markdown = await readFile(taskPath, "utf8");
51
51
  }
52
52
  catch (err) {
53
- return { path: scenarioPath, status: "error", message: `read failed: ${err.message}` };
53
+ return { path: taskPath, status: "error", message: `read failed: ${err.message}` };
54
54
  }
55
55
  const seedText = extractSeedSection(markdown).trim();
56
56
  if (seedText.length === 0) {
57
- return { path: scenarioPath, status: "skipped-no-seed", message: "no ## Seed State section" };
57
+ return { path: taskPath, status: "skipped-no-seed", message: "no ## Seed State section" };
58
58
  }
59
59
  // Stripe scenarios use a different schema; v1 only supports github. Check
60
60
  // twin first so Stripe scenarios are silently skipped without surfacing
@@ -62,7 +62,7 @@ async function compileOne(scenarioPath, opts) {
62
62
  const twins = readTwinsFromConfig(markdown);
63
63
  if (twins.length > 0 && !twins.includes("github")) {
64
64
  return {
65
- path: scenarioPath,
65
+ path: taskPath,
66
66
  status: "skipped-unsupported-twin",
67
67
  message: `twins=${twins.join(",")} not supported yet`
68
68
  };
@@ -72,12 +72,12 @@ async function compileOne(scenarioPath, opts) {
72
72
  // before compile-seeds can take over.
73
73
  if (looksLikeJsonBlock(seedText)) {
74
74
  return {
75
- path: scenarioPath,
75
+ path: taskPath,
76
76
  status: "skipped-inline-json",
77
77
  message: "still on inline JSON — replace the fenced JSON with prose"
78
78
  };
79
79
  }
80
- const sidecarPath = sidecarPathFor(scenarioPath);
80
+ const sidecarPath = sidecarPathFor(taskPath);
81
81
  const proseHash = hashProse(seedText);
82
82
  // Cache check only applies to local compile — hosted callers may have
83
83
  // different model versions than the locally-pinned COMPILER_MODEL, and the
@@ -85,18 +85,18 @@ async function compileOne(scenarioPath, opts) {
85
85
  if (!opts.force && !opts.hosted && existsSync(sidecarPath)) {
86
86
  const cached = await readSidecarMeta(sidecarPath);
87
87
  if (cached && cached.source_hash === proseHash && cached.model === COMPILER_MODEL) {
88
- return { path: scenarioPath, status: "skipped-cached", message: `up-to-date (${sidecarPath})` };
88
+ return { path: taskPath, status: "skipped-cached", message: `up-to-date (${sidecarPath})` };
89
89
  }
90
90
  }
91
91
  let result;
92
92
  try {
93
93
  result = opts.hosted
94
- ? await compileSeedHosted(seedText, { apiBaseUrl: opts.apiBaseUrl, scenarioPath })
94
+ ? await compileSeedHosted(seedText, { apiBaseUrl: opts.apiBaseUrl, taskPath })
95
95
  : await compileSeed(seedText);
96
96
  }
97
97
  catch (err) {
98
98
  return {
99
- path: scenarioPath,
99
+ path: taskPath,
100
100
  status: "error",
101
101
  message: `compile failed: ${err.message}`,
102
102
  exitCode: opts.hosted ? exitCodeFor(err) : undefined
@@ -106,7 +106,7 @@ async function compileOne(scenarioPath, opts) {
106
106
  verifySeedWithTwin(result.seed);
107
107
  }
108
108
  catch (err) {
109
- return { path: scenarioPath, status: "error", message: err.message };
109
+ return { path: taskPath, status: "error", message: err.message };
110
110
  }
111
111
  const payload = {
112
112
  _meta: {
@@ -119,7 +119,7 @@ async function compileOne(scenarioPath, opts) {
119
119
  };
120
120
  await writeFile(sidecarPath, JSON.stringify(payload, null, 2) + "\n");
121
121
  return {
122
- path: scenarioPath,
122
+ path: taskPath,
123
123
  status: "compiled",
124
124
  message: `→ ${sidecarPath}`,
125
125
  inputTokens: result.inputTokens,
@@ -128,7 +128,7 @@ async function compileOne(scenarioPath, opts) {
128
128
  };
129
129
  }
130
130
  function extractSeedSection(markdown) {
131
- // Mirrors the H2-section logic in parseScenario.ts: find the "## Seed State"
131
+ // Mirrors the H2-section logic in parseTask.ts: find the "## Seed State"
132
132
  // heading and return everything until the next H2.
133
133
  const headingRegex = /^##\s+seed state\s*$/im;
134
134
  const m = markdown.match(headingRegex);
@@ -159,9 +159,9 @@ function readTwinsFromConfig(markdown) {
159
159
  function looksLikeJsonBlock(input) {
160
160
  return /^```(?:json)?\s*\{/m.test(input.trim());
161
161
  }
162
- function sidecarPathFor(scenarioPath) {
163
- const ext = extname(scenarioPath);
164
- return scenarioPath.slice(0, -ext.length) + ".seed.json";
162
+ function sidecarPathFor(taskPath) {
163
+ const ext = extname(taskPath);
164
+ return taskPath.slice(0, -ext.length) + ".seed.json";
165
165
  }
166
166
  function hashProse(input) {
167
167
  return "sha256:" + createHash("sha256").update(input.replace(/\s+$/g, "")).digest("hex");
@@ -186,7 +186,7 @@ async function readSidecarMeta(path) {
186
186
  return null;
187
187
  }
188
188
  }
189
- async function resolveScenarioFiles(target) {
189
+ async function resolveTaskFiles(target) {
190
190
  const abs = resolve(target);
191
191
  if (!existsSync(abs))
192
192
  throw new Error(`Path not found: ${target}`);
@@ -1,6 +1,6 @@
1
1
  /** Design default k for "run yours" (moment 05: "Their agent · k=5"). */
2
2
  export declare const DEFAULT_TASK_TRIALS = 5;
3
- export declare const DEFAULT_TASK_DIR = "scenarios";
3
+ export declare const DEFAULT_TASK_DIR = "tasks";
4
4
  export declare const DEFAULT_TASK_FILENAME = "first-run-demo.md";
5
5
  export interface DefaultTaskResolution {
6
6
  /** Absolute path of the task markdown to run. */
@@ -25,7 +25,7 @@ export declare function withDefaultTrials(source: string, runs?: number): {
25
25
  export declare function withUserCopyComment(source: string): string;
26
26
  /**
27
27
  * Resolve the bare-`pome run` default task, dropping the user copy on first
28
- * use. Never clobbers an existing scenarios/first-run-demo.md — that file is
28
+ * use. Never clobbers an existing tasks/first-run-demo.md — that file is
29
29
  * the user's (possibly edited) task from a prior bare run.
30
30
  */
31
31
  export declare function ensureDefaultTask(cwd?: string): Promise<DefaultTaskResolution>;
@@ -3,7 +3,7 @@
3
3
  // task, closing the demo → run-yours seam (north-star moment 05: their
4
4
  // agent, k=5, the same task they just watched the demo agent attempt).
5
5
  //
6
- // The default is a USER-VISIBLE COPY at scenarios/first-run-demo.md, dropped
6
+ // The default is a USER-VISIBLE COPY at tasks/first-run-demo.md, dropped
7
7
  // on first use from the packaged demo task (src/demo/first-run-demo.md plus
8
8
  // its compiled seed sidecar — the client parser requires the sidecar when a
9
9
  // prose ## Seed State section is present). The copy — never the canonical
@@ -22,7 +22,7 @@ import { DEMO_TASK_NAME, demoTaskPath } from "../demo/task.js";
22
22
  import { HostedUsageError } from "../hosted/errors.js";
23
23
  /** Design default k for "run yours" (moment 05: "Their agent · k=5"). */
24
24
  export const DEFAULT_TASK_TRIALS = 5;
25
- export const DEFAULT_TASK_DIR = "scenarios";
25
+ export const DEFAULT_TASK_DIR = "tasks";
26
26
  export const DEFAULT_TASK_FILENAME = `${DEMO_TASK_NAME}.md`;
27
27
  const USER_COPY_COMMENT = `<!--
28
28
  Copied into your project by \`pome run\` — the "run yours" default: the same
@@ -73,7 +73,7 @@ export function withUserCopyComment(source) {
73
73
  }
74
74
  /**
75
75
  * Resolve the bare-`pome run` default task, dropping the user copy on first
76
- * use. Never clobbers an existing scenarios/first-run-demo.md — that file is
76
+ * use. Never clobbers an existing tasks/first-run-demo.md — that file is
77
77
  * the user's (possibly edited) task from a prior bare run.
78
78
  */
79
79
  export async function ensureDefaultTask(cwd = process.cwd()) {
@@ -101,7 +101,7 @@ export async function ensureDefaultTask(cwd = process.cwd()) {
101
101
  // Seed first, md last: the md's presence is the commit point (the parser
102
102
  // hard-requires the sidecar once the md's prose ## Seed State is seen), so
103
103
  // a crash between the two writes never strands a half-usable default.
104
- // COPYFILE_EXCL: NO file under scenarios/ is ever overwritten — a user who
104
+ // COPYFILE_EXCL: NO file under tasks/ is ever overwritten — a user who
105
105
  // deleted only the md but kept an edited seed keeps their seed.
106
106
  try {
107
107
  await copyFile(packagedSeed, target.replace(/\.md$/, ".seed.json"), constants.COPYFILE_EXCL);
@@ -11,24 +11,38 @@ export const DOCS_TOPICS = [
11
11
  path: "/getting-started",
12
12
  keywords: ["install", "quickstart", "setup", "begin"],
13
13
  },
14
+ {
15
+ id: "existing-agent",
16
+ title: "Bring your own agent",
17
+ path: "/existing-agent",
18
+ keywords: [
19
+ "existing agent",
20
+ "own agent",
21
+ "already have an agent",
22
+ "bring your own",
23
+ "register",
24
+ "pome.json",
25
+ "connect",
26
+ // Migrated from the retired skills-setup topic (F-893): wiring your own
27
+ // agent is now the "bring your own agent" path. ("pome-setup" / "setup"
28
+ // already resolve to getting-started via its "setup" keyword.)
29
+ "wire",
30
+ ],
31
+ },
14
32
  {
15
33
  id: "how-pome-works",
16
34
  title: "How Pome works",
17
35
  path: "/docs/how-pome-works",
18
36
  keywords: ["twins", "scenarios", "runs", "scoring", "artifacts", "loop"],
19
37
  },
20
- {
21
- id: "skills-setup",
22
- title: "/setup",
23
- path: "/docs/skills/setup",
24
- keywords: ["pome-setup", "setup", "/setup", "register", "wire"],
25
- },
26
- {
27
- id: "skills-test",
28
- title: "/test-with-pome",
29
- path: "/docs/skills/test-with-pome",
30
- keywords: ["pome-test", "test-with-pome", "/test-with-pome", "run scenarios", "eval"],
31
- },
38
+ // F-889 dropped the Gen-1 /setup and /test-with-pome skill pages from the
39
+ // docs nav; F-893 retired the CLI commands that pointed at them. The two
40
+ // topic entries are gone, but their still-live keywords are MIGRATED onto the
41
+ // surviving replacement topics so `pome docs <kw>` keeps routing:
42
+ // wire → existing-agent; test-with-pome / pome-test → cli-run;
43
+ // eval → cli (the CLI reference index — no dedicated eval page exists).
44
+ // (setup / pome-setup / register / run scenarios / /setup all already
45
+ // resolve via existing substrings — see the tests.)
32
46
  {
33
47
  id: "dashboard",
34
48
  title: "Pome Dashboard",
@@ -69,13 +83,30 @@ export const DOCS_TOPICS = [
69
83
  id: "cli",
70
84
  title: "Command Line Interface",
71
85
  path: "/docs/cli",
72
- keywords: ["commands", "flags", "pome run", "reference"],
86
+ // "eval" migrated from the retired skills-test topic (F-893): there is no
87
+ // dedicated `pome eval` docs page, and it is a distinct workflow from
88
+ // `pome inspect`, so it routes to the CLI reference index that documents
89
+ // every command rather than to a sibling command's page.
90
+ keywords: ["commands", "flags", "pome run", "reference", "eval"],
73
91
  },
74
92
  {
75
93
  id: "cli-run",
76
94
  title: "pome run",
77
95
  path: "/docs/cli/run",
78
- keywords: ["run", "scenario", "agent", "flags", "artifacts", "default", "demo task", "run yours"],
96
+ keywords: [
97
+ "run",
98
+ "scenario",
99
+ "agent",
100
+ "flags",
101
+ "artifacts",
102
+ "default",
103
+ "demo task",
104
+ "run yours",
105
+ // Migrated from the retired skills-test topic (F-893): running tasks is
106
+ // how you test an agent with pome.
107
+ "test-with-pome",
108
+ "pome-test",
109
+ ],
79
110
  },
80
111
  {
81
112
  id: "cli-session",
@@ -84,8 +115,10 @@ export const DOCS_TOPICS = [
84
115
  keywords: ["session", "hosted", "sandbox", "twin"],
85
116
  },
86
117
  {
87
- id: "cli-scenarios",
88
- title: "pome scenarios",
118
+ id: "cli-tasks",
119
+ title: "pome tasks",
120
+ // F-892 — `path` still points at /docs/cli/scenarios: the docs.pome.sh page
121
+ // is renamed by the M4 docs door, not here. Repoint once that lands.
89
122
  path: "/docs/cli/scenarios",
90
123
  keywords: ["tasks", "scenarios", "catalog", "copy", "library", "twin"],
91
124
  },
@@ -6,7 +6,7 @@ import { type Score } from "../hosted/evalResultView.js";
6
6
  * `deriveEvalIdentity` so the error can name the flag that fixes it. */
7
7
  export interface RunMeta {
8
8
  runId: string | null;
9
- /** Scenario slug (`meta.json` key: `scenario`) — the default task name. */
9
+ /** Task slug (`meta.json` key: `scenario`) — the default task name. */
10
10
  scenario: string | null;
11
11
  title: string | null;
12
12
  startedAt: string | null;
@@ -307,9 +307,9 @@ export async function runEval(options) {
307
307
  // owns them (FDRS-655). Cloud's finalize schema defaults all scenario
308
308
  // fields, so empty strings are accepted.
309
309
  criteria: [],
310
- scenarioName: taskName,
311
- scenarioHash: "",
312
- scenarioPrompt: "",
310
+ taskName: taskName,
311
+ taskHash: "",
312
+ taskPrompt: "",
313
313
  expectedBehavior: "",
314
314
  traceStorageKey: keys.eventsKey ?? undefined,
315
315
  stateInitialStorageKey: keys.stateInitialKey ?? undefined,
@@ -123,7 +123,7 @@ async function writeClaudeSdkScaffold() {
123
123
  " 1. npm install @pome-sh/adapter-claude-sdk @anthropic-ai/claude-agent-sdk zod\n" +
124
124
  " 2. pome login\n" +
125
125
  " 3. pome register agent <name>\n" +
126
- " 4. pome run scenarios/01-bug-happy-path.md\n" +
126
+ " 4. pome run tasks/01-bug-happy-path.md\n" +
127
127
  "\n" +
128
128
  "See `pome docs getting-started` for a narrative walkthrough.",
129
129
  };
@@ -1,41 +1,4 @@
1
- import { type AgentSdkModule } from "./agent-sdk.js";
2
- import { type LoginOptions } from "./login.js";
3
- /** First message of the interactive session. The skill carries the wiring
4
- * knowledge; this only names it, sets adapter-first, and fixes the exit
5
- * contract (pome verifies with doctor after the session ends). */
6
- export declare const KICKOFF_PROMPT: string;
7
- /** Self-contained fallback prompt for users without a detected coding agent
8
- * (their agent won't have the pome-setup skill installed). */
9
- export declare const PASTE_PROMPT: string;
10
- export interface InstallOptions {
11
- apiUrl: string;
12
- dashboardUrl: string;
13
- /** Force the interactive agent-session handoff (skip the headless
14
- * staged-diff flow). */
15
- interactive?: boolean;
16
- /** Repo root the session wires. Defaults to process.cwd(). */
17
- cwd?: string;
18
- /** Test seam — forwarded to resolveCredentials. */
19
- credentialsPath?: string;
20
- /** Test seam — defaults to process.stdin.isTTY. */
21
- stdinIsTTY?: boolean;
22
- /** Test seam — defaults to a readline [y/N] prompt on stderr. */
23
- confirm?: (question: string) => Promise<boolean>;
24
- /** Test seam — defaults to loginWithClerk (opens a browser). */
25
- login?: (options: LoginOptions) => Promise<void>;
26
- /** Test seam — defaults to detectClaudeLogin (keychain/credentials/env). */
27
- hasClaudeLogin?: () => boolean;
28
- /** Test seam — defaults to the consent-gated provision + import of the
29
- * Claude Agent SDK driver. */
30
- acquireSdk?: (confirm: (question: string) => Promise<boolean>) => Promise<AgentSdkModule | null>;
31
- }
32
- export declare function runInstall(options: InstallOptions): Promise<void>;
33
- export interface DetectedAgent {
34
- bin: string;
35
- label: string;
36
- path: string;
37
- }
38
- /** First known coding agent found on PATH, or null. Exported for tests. */
39
- export declare function detectAgent(env?: Record<string, string | undefined>): DetectedAgent | null;
40
- /** The package manager a lockfile in `dir` names, or null. Exported for tests. */
41
- export declare function lockfilePackageManager(dir: string): "bun" | "pnpm" | "yarn" | "npm" | null;
1
+ /** Print the Gen-2 wiring path. Exported for the `pome install` command and its
2
+ * unit test. Never errors a retired command should land the user on the
3
+ * right path, not exit non-zero. */
4
+ export declare function runInstall(): void;