humanish 0.107.0 → 0.109.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 (671) hide show
  1. package/ARCHITECTURE.md +73 -69
  2. package/CHANGELOG.md +27 -0
  3. package/CONTEXT.md +51 -44
  4. package/README.md +148 -175
  5. package/SECURITY.md +16 -26
  6. package/TELEMETRY.md +8 -6
  7. package/dist/actors/affordance.d.ts +4 -4
  8. package/dist/actors/affordance.js +12 -12
  9. package/dist/actors/agent-session.d.ts +2 -2
  10. package/dist/actors/agent-session.js +7 -7
  11. package/dist/actors/codex/app-server-actor-trace.d.ts +1 -1
  12. package/dist/actors/codex/app-server-actor-trace.js +1 -1
  13. package/dist/actors/codex/app-server-trace.js +2 -1
  14. package/dist/actors/codex/app-server-ui.js +1 -1
  15. package/dist/actors/codex/codex-admission.d.ts +91 -0
  16. package/dist/actors/codex/codex-admission.js +150 -0
  17. package/dist/actors/codex/restricted-executable.d.ts +4 -4
  18. package/dist/actors/codex/restricted-executable.js +8 -8
  19. package/dist/actors/codex/restricted-launch.d.ts +2 -1
  20. package/dist/actors/codex/restricted-launch.js +1 -1
  21. package/dist/actors/codex/restricted-participant.js +20 -18
  22. package/dist/actors/codex/restricted-policy.d.ts +2 -2
  23. package/dist/actors/codex/restricted-policy.js +2 -2
  24. package/dist/actors/codex/restricted-session.d.ts +3 -3
  25. package/dist/actors/codex/restricted-session.js +10 -5
  26. package/dist/actors/computer-use/actor.d.ts +18 -18
  27. package/dist/actors/computer-use/actor.js +4 -4
  28. package/dist/actors/computer-use/admission-limit.d.ts +3 -3
  29. package/dist/actors/computer-use/admission-limit.js +4 -4
  30. package/dist/actors/computer-use/executor-error.d.ts +2 -2
  31. package/dist/actors/computer-use/executor-error.js +3 -3
  32. package/dist/actors/computer-use/loop/actions.d.ts +3 -3
  33. package/dist/actors/computer-use/loop/actions.js +15 -15
  34. package/dist/actors/computer-use/loop/backstop.d.ts +3 -3
  35. package/dist/actors/computer-use/loop/backstop.js +14 -12
  36. package/dist/actors/computer-use/loop/debrief.js +2 -2
  37. package/dist/actors/computer-use/loop/ending.d.ts +6 -6
  38. package/dist/actors/computer-use/loop/ending.js +18 -17
  39. package/dist/actors/computer-use/loop/observation.d.ts +2 -2
  40. package/dist/actors/computer-use/loop/observation.js +15 -14
  41. package/dist/actors/computer-use/loop/provider-call.d.ts +1 -1
  42. package/dist/actors/computer-use/loop/provider-call.js +12 -12
  43. package/dist/actors/computer-use/loop/session.d.ts +4 -4
  44. package/dist/actors/computer-use/loop/session.js +4 -4
  45. package/dist/actors/computer-use/loop/spend.d.ts +1 -1
  46. package/dist/actors/computer-use/loop/spend.js +1 -1
  47. package/dist/actors/computer-use/loop/trace.js +11 -9
  48. package/dist/actors/computer-use/loop/types.d.ts +47 -45
  49. package/dist/actors/computer-use/loop/usage.d.ts +2 -2
  50. package/dist/actors/computer-use/loop/usage.js +2 -2
  51. package/dist/actors/computer-use/loop.d.ts +6 -1
  52. package/dist/actors/computer-use/loop.js +26 -4
  53. package/dist/actors/computer-use/openai-context.d.ts +37 -0
  54. package/dist/actors/computer-use/openai-context.js +214 -0
  55. package/dist/actors/computer-use/openai-provider.d.ts +13 -10
  56. package/dist/actors/computer-use/openai-provider.js +52 -41
  57. package/dist/actors/computer-use/openai-requests.d.ts +36 -10
  58. package/dist/actors/computer-use/openai-requests.js +82 -15
  59. package/dist/actors/computer-use/openai-wire.d.ts +19 -7
  60. package/dist/actors/computer-use/openai-wire.js +36 -34
  61. package/dist/actors/computer-use/provider-error.d.ts +4 -4
  62. package/dist/actors/computer-use/provider-error.js +6 -6
  63. package/dist/actors/contract.d.ts +82 -47
  64. package/dist/actors/contract.js +30 -24
  65. package/dist/actors/local-agent/claude-session.d.ts +1 -1
  66. package/dist/actors/local-agent/claude-session.js +13 -12
  67. package/dist/actors/local-agent/cli.d.ts +9 -7
  68. package/dist/actors/local-agent/cli.js +24 -28
  69. package/dist/actors/local-agent/readiness.d.ts +2 -2
  70. package/dist/actors/local-agent/readiness.js +4 -4
  71. package/dist/actors/reasoning-effort.js +8 -8
  72. package/dist/actors/registry.d.ts +12 -12
  73. package/dist/actors/registry.js +21 -20
  74. package/dist/actors/scripted-browser/actor.d.ts +10 -10
  75. package/dist/actors/scripted-browser/actor.js +17 -17
  76. package/dist/actors/scripted-browser/browser-command.js +1 -1
  77. package/dist/actors/scripted-browser/steps.js +1 -1
  78. package/dist/actors/scripted-browser/types.d.ts +1 -1
  79. package/dist/actors/stop-conditions.d.ts +1 -1
  80. package/dist/analysis/automatic-completion.d.ts +7 -7
  81. package/dist/analysis/automatic-completion.js +1 -1
  82. package/dist/analysis/automatic-config.d.ts +6 -6
  83. package/dist/analysis/automatic-config.js +1 -1
  84. package/dist/analysis/codex-config.d.ts +6 -2
  85. package/dist/analysis/codex-config.js +22 -14
  86. package/dist/analysis/execute.d.ts +1 -1
  87. package/dist/analysis/execute.js +1 -1
  88. package/dist/analysis/service.js +5 -5
  89. package/dist/analysis/types.d.ts +6 -0
  90. package/dist/browser-control/client.js +16 -16
  91. package/dist/browser-control/dispatcher.js +4 -4
  92. package/dist/browser-control/protocol.js +14 -14
  93. package/dist/browser-control/recording-transfer.js +4 -4
  94. package/dist/browser-control/transport.js +7 -7
  95. package/dist/cli/commands/analysis-signals.d.ts +2 -2
  96. package/dist/cli/commands/analyze.js +19 -16
  97. package/dist/cli/commands/codex.js +9 -9
  98. package/dist/cli/commands/comms.js +48 -35
  99. package/dist/cli/commands/feedback.js +20 -21
  100. package/dist/cli/commands/migrate.d.ts +4 -0
  101. package/dist/cli/commands/migrate.js +65 -0
  102. package/dist/cli/commands/observe.d.ts +0 -1
  103. package/dist/cli/commands/observe.js +136 -112
  104. package/dist/cli/commands/run-command.d.ts +10 -0
  105. package/dist/cli/commands/run-command.js +85 -0
  106. package/dist/cli/commands/runs.js +136 -139
  107. package/dist/cli/commands/setup.d.ts +2 -2
  108. package/dist/cli/commands/setup.js +27 -24
  109. package/dist/cli/commands/study-format.d.ts +9 -0
  110. package/dist/cli/commands/{lab-format.js → study-format.js} +39 -27
  111. package/dist/cli/commands/{lab-route-computer-use.d.ts → study-route-computer-use.d.ts} +6 -6
  112. package/dist/cli/commands/{lab-route-computer-use.js → study-route-computer-use.js} +17 -18
  113. package/dist/cli/commands/{lab-route-open.d.ts → study-route-open.d.ts} +4 -4
  114. package/dist/cli/commands/{lab-route-open.js → study-route-open.js} +2 -2
  115. package/dist/cli/commands/{lab-route-preview.d.ts → study-route-preview.d.ts} +7 -7
  116. package/dist/cli/commands/{lab-route-preview.js → study-route-preview.js} +7 -6
  117. package/dist/cli/commands/study-route-run.d.ts +19 -0
  118. package/dist/cli/commands/{lab-route-run.js → study-route-run.js} +6 -6
  119. package/dist/cli/commands/study-route-scripted.d.ts +17 -0
  120. package/dist/cli/commands/{lab-route-scripted.js → study-route-scripted.js} +4 -4
  121. package/dist/cli/commands/{lab-route-shared-world.d.ts → study-route-shared-world.d.ts} +5 -5
  122. package/dist/cli/commands/{lab-route-shared-world.js → study-route-shared-world.js} +10 -10
  123. package/dist/cli/commands/study-route-terminal.d.ts +17 -0
  124. package/dist/cli/commands/{lab-route-terminal.js → study-route-terminal.js} +4 -4
  125. package/dist/cli/commands/study-run.d.ts +9 -0
  126. package/dist/cli/commands/{lab-run.js → study-run.js} +44 -45
  127. package/dist/cli/commands/{lab-scorer.d.ts → study-scorer.d.ts} +7 -7
  128. package/dist/cli/commands/{lab-scorer.js → study-scorer.js} +2 -2
  129. package/dist/cli/commands/study.d.ts +3 -0
  130. package/dist/cli/commands/study.js +146 -0
  131. package/dist/cli/commands/tui.d.ts +4 -4
  132. package/dist/cli/commands/tui.js +31 -31
  133. package/dist/cli/commands/watch.js +71 -121
  134. package/dist/cli/deprecations.d.ts +6 -0
  135. package/dist/cli/deprecations.js +18 -0
  136. package/dist/cli/doctor.d.ts +18 -8
  137. package/dist/cli/doctor.js +114 -59
  138. package/dist/cli/first-run-path.d.ts +15 -13
  139. package/dist/cli/first-run-path.js +35 -33
  140. package/dist/cli/io.d.ts +44 -9
  141. package/dist/cli/io.js +98 -23
  142. package/dist/cli/observer-follow.d.ts +3 -3
  143. package/dist/cli/observer-follow.js +6 -7
  144. package/dist/cli/orientation.d.ts +10 -7
  145. package/dist/cli/orientation.js +89 -47
  146. package/dist/cli/product-sentence.d.ts +6 -0
  147. package/dist/cli/product-sentence.js +6 -0
  148. package/dist/cli/program.d.ts +6 -1
  149. package/dist/cli/program.js +111 -43
  150. package/dist/cli/telemetry.d.ts +16 -16
  151. package/dist/cli/telemetry.js +46 -44
  152. package/dist/cli.js +1 -1
  153. package/dist/comms/capture-surface.d.ts +13 -12
  154. package/dist/comms/capture-surface.js +23 -22
  155. package/dist/comms/catch-host.d.ts +7 -7
  156. package/dist/comms/catch-host.js +17 -17
  157. package/dist/comms/connections.d.ts +1 -1
  158. package/dist/comms/connections.js +2 -2
  159. package/dist/comms/email-catch.d.ts +3 -3
  160. package/dist/comms/email-catch.js +8 -8
  161. package/dist/comms/external-evidence.d.ts +5 -5
  162. package/dist/comms/external-evidence.js +5 -4
  163. package/dist/comms/extract.js +2 -2
  164. package/dist/comms/fake-inbox.d.ts +3 -3
  165. package/dist/comms/fake-inbox.js +3 -3
  166. package/dist/comms/receiving-render.d.ts +1 -1
  167. package/dist/comms/receiving-render.js +2 -2
  168. package/dist/comms/receiving-runtime.d.ts +4 -4
  169. package/dist/comms/sandbox-catch-script.d.ts +6 -6
  170. package/dist/comms/sandbox-catch-script.js +6 -6
  171. package/dist/comms/sandbox-catch.d.ts +38 -39
  172. package/dist/comms/sandbox-catch.js +36 -37
  173. package/dist/comms/setup.d.ts +2 -2
  174. package/dist/comms/setup.js +56 -25
  175. package/dist/comms/thread-evidence.d.ts +1 -1
  176. package/dist/comms/thread-evidence.js +6 -6
  177. package/dist/comms/types.d.ts +6 -6
  178. package/dist/comms/types.js +3 -3
  179. package/dist/evidence/frame-signature.d.ts +1 -1
  180. package/dist/evidence/frame-signature.js +4 -4
  181. package/dist/evidence/redaction.d.ts +3 -3
  182. package/dist/evidence/redaction.js +4 -4
  183. package/dist/feedback/draft.js +38 -80
  184. package/dist/feedback/export-bundle.js +1 -1
  185. package/dist/feedback/export.d.ts +5 -1
  186. package/dist/feedback/export.js +10 -10
  187. package/dist/feedback/feedback.d.ts +2 -2
  188. package/dist/feedback/feedback.js +21 -3
  189. package/dist/feedback/proof.d.ts +1 -1
  190. package/dist/feedback/proof.js +2 -2
  191. package/dist/guest/bootstrap.js +6 -6
  192. package/dist/guest/browser-tools.js +8 -8
  193. package/dist/guest/chromium-text.js +19 -19
  194. package/dist/guest/desktop-executor.d.ts +2 -2
  195. package/dist/guest/desktop-executor.js +20 -20
  196. package/dist/guest/desktop-keys.js +4 -4
  197. package/dist/guest/desktop-media.d.ts +2 -2
  198. package/dist/guest/desktop-media.js +16 -16
  199. package/dist/guest/desktop-native.d.ts +1 -1
  200. package/dist/guest/desktop-native.js +10 -10
  201. package/dist/guest/runtime-desktop.js +2 -2
  202. package/dist/guest/runtime-processes.d.ts +2 -2
  203. package/dist/guest/runtime-processes.js +2 -2
  204. package/dist/guest/runtime.js +6 -6
  205. package/dist/index.d.ts +14 -14
  206. package/dist/index.js +8 -8
  207. package/dist/keys/key-resolution.d.ts +5 -5
  208. package/dist/keys/key-resolution.js +23 -23
  209. package/dist/observer/artifact.d.ts +2 -2
  210. package/dist/observer/artifact.js +7 -7
  211. package/dist/observer/data.d.ts +6 -6
  212. package/dist/observer/data.js +5 -4
  213. package/dist/observer/exposure.d.ts +1 -1
  214. package/dist/observer/exposure.js +11 -11
  215. package/dist/observer/http.js +1 -1
  216. package/dist/observer/library.d.ts +3 -1
  217. package/dist/observer/library.js +8 -3
  218. package/dist/observer/listen.js +5 -4
  219. package/dist/observer/render.d.ts +1 -1
  220. package/dist/observer/render.js +17 -6
  221. package/dist/observer/run-routes.d.ts +4 -3
  222. package/dist/observer/run-routes.js +38 -13
  223. package/dist/observer/serve.d.ts +1 -1
  224. package/dist/observer/serve.js +7 -3
  225. package/dist/observer/tunnel.js +1 -1
  226. package/dist/observer-app.html +4 -4
  227. package/dist/routes/computer-use/bundle-parts.d.ts +9 -9
  228. package/dist/routes/computer-use/bundle-parts.js +18 -17
  229. package/dist/routes/computer-use/bundle.d.ts +2 -2
  230. package/dist/routes/computer-use/bundle.js +10 -9
  231. package/dist/routes/computer-use/e2b-desktop/comms.d.ts +6 -6
  232. package/dist/routes/computer-use/e2b-desktop/comms.js +18 -17
  233. package/dist/routes/computer-use/e2b-desktop/desktop.js +4 -4
  234. package/dist/routes/computer-use/e2b-desktop/fidelity.d.ts +5 -4
  235. package/dist/routes/computer-use/e2b-desktop/fidelity.js +11 -10
  236. package/dist/routes/computer-use/e2b-desktop/prepare.d.ts +1 -1
  237. package/dist/routes/computer-use/e2b-desktop/prepare.js +10 -10
  238. package/dist/routes/computer-use/e2b-desktop/start.js +7 -7
  239. package/dist/routes/computer-use/e2b-desktop/state.d.ts +2 -2
  240. package/dist/routes/computer-use/e2b-desktop/teardown.js +2 -2
  241. package/dist/routes/computer-use/external-comms.d.ts +4 -4
  242. package/dist/routes/computer-use/external-comms.js +1 -1
  243. package/dist/routes/computer-use/fanout-bundle.js +27 -26
  244. package/dist/routes/computer-use/fanout-records.js +12 -13
  245. package/dist/routes/computer-use/live-flush.d.ts +4 -4
  246. package/dist/routes/computer-use/live-flush.js +6 -6
  247. package/dist/routes/computer-use/live-phase.d.ts +5 -4
  248. package/dist/routes/computer-use/live-phase.js +8 -8
  249. package/dist/routes/computer-use/local-tree-pack.d.ts +5 -5
  250. package/dist/routes/computer-use/local-tree-pack.js +1 -1
  251. package/dist/routes/computer-use/local-vm.d.ts +8 -8
  252. package/dist/routes/computer-use/local-vm.js +3 -3
  253. package/dist/routes/computer-use/participant-desktop.d.ts +7 -7
  254. package/dist/routes/computer-use/participant-desktop.js +5 -5
  255. package/dist/routes/computer-use/participant-execution.d.ts +4 -4
  256. package/dist/routes/computer-use/participant-execution.js +10 -10
  257. package/dist/routes/computer-use/participant-model.d.ts +6 -0
  258. package/dist/routes/computer-use/participant-model.js +33 -15
  259. package/dist/routes/computer-use/participant-prompt.d.ts +15 -15
  260. package/dist/routes/computer-use/participant-prompt.js +9 -9
  261. package/dist/routes/computer-use/participant-runs.d.ts +16 -16
  262. package/dist/routes/computer-use/participant-runs.js +26 -25
  263. package/dist/routes/computer-use/plan.d.ts +12 -12
  264. package/dist/routes/computer-use/plan.js +42 -42
  265. package/dist/routes/computer-use/preflight.d.ts +5 -5
  266. package/dist/routes/computer-use/preflight.js +25 -25
  267. package/dist/routes/computer-use/rerun-selection.d.ts +1 -1
  268. package/dist/routes/computer-use/rerun-selection.js +4 -3
  269. package/dist/routes/computer-use/result.d.ts +4 -4
  270. package/dist/routes/computer-use/result.js +22 -21
  271. package/dist/routes/computer-use/route.d.ts +12 -11
  272. package/dist/routes/computer-use/route.js +31 -30
  273. package/dist/routes/computer-use/self-report.d.ts +7 -7
  274. package/dist/routes/computer-use/self-report.js +32 -32
  275. package/dist/routes/computer-use/setup.d.ts +23 -23
  276. package/dist/routes/computer-use/setup.js +28 -29
  277. package/dist/routes/computer-use/single-bundle.d.ts +11 -11
  278. package/dist/routes/computer-use/single-bundle.js +40 -41
  279. package/dist/routes/computer-use/subject-projection.d.ts +4 -4
  280. package/dist/routes/computer-use/subject-projection.js +6 -6
  281. package/dist/routes/computer-use/types.d.ts +71 -73
  282. package/dist/routes/computer-use/types.js +12 -12
  283. package/dist/routes/preview.d.ts +13 -7
  284. package/dist/routes/preview.js +11 -7
  285. package/dist/routes/scripted/bundle.d.ts +7 -7
  286. package/dist/routes/scripted/bundle.js +20 -18
  287. package/dist/routes/scripted/plan.d.ts +8 -8
  288. package/dist/routes/scripted/plan.js +13 -13
  289. package/dist/routes/scripted/result.d.ts +3 -3
  290. package/dist/routes/scripted/result.js +13 -13
  291. package/dist/routes/scripted/route.d.ts +9 -9
  292. package/dist/routes/scripted/route.js +15 -16
  293. package/dist/routes/scripted/scenario.d.ts +1 -1
  294. package/dist/routes/scripted/scenario.js +5 -5
  295. package/dist/routes/scripted/setup.d.ts +6 -6
  296. package/dist/routes/scripted/setup.js +8 -8
  297. package/dist/routes/scripted/subject.d.ts +5 -5
  298. package/dist/routes/scripted/subject.js +4 -4
  299. package/dist/routes/scripted/surface-records.d.ts +1 -1
  300. package/dist/routes/scripted/surface-records.js +4 -4
  301. package/dist/routes/scripted/surface-sessions.d.ts +3 -3
  302. package/dist/routes/scripted/types.d.ts +18 -20
  303. package/dist/routes/scripted/types.js +2 -2
  304. package/dist/routes/shared-world/bundle-records.js +11 -10
  305. package/dist/routes/shared-world/bundle.d.ts +5 -5
  306. package/dist/routes/shared-world/bundle.js +46 -43
  307. package/dist/routes/shared-world/checkpoints.d.ts +4 -4
  308. package/dist/routes/shared-world/checkpoints.js +2 -2
  309. package/dist/routes/shared-world/comms.d.ts +14 -14
  310. package/dist/routes/shared-world/comms.js +19 -18
  311. package/dist/routes/shared-world/external-public.d.ts +4 -3
  312. package/dist/routes/shared-world/external-public.js +16 -12
  313. package/dist/routes/shared-world/handoff.d.ts +7 -6
  314. package/dist/routes/shared-world/handoff.js +65 -57
  315. package/dist/routes/shared-world/lobby-code.d.ts +2 -2
  316. package/dist/routes/shared-world/lobby-code.js +9 -9
  317. package/dist/routes/shared-world/participant-specs.d.ts +10 -9
  318. package/dist/routes/shared-world/participant-specs.js +38 -31
  319. package/dist/routes/shared-world/plan.d.ts +9 -9
  320. package/dist/routes/shared-world/plan.js +16 -16
  321. package/dist/routes/shared-world/provenance.d.ts +2 -2
  322. package/dist/routes/shared-world/provenance.js +2 -2
  323. package/dist/routes/shared-world/provisioned.d.ts +8 -8
  324. package/dist/routes/shared-world/provisioned.js +18 -17
  325. package/dist/routes/shared-world/result.d.ts +6 -6
  326. package/dist/routes/shared-world/result.js +29 -29
  327. package/dist/routes/shared-world/route.d.ts +11 -11
  328. package/dist/routes/shared-world/route.js +40 -39
  329. package/dist/routes/shared-world/setup.d.ts +16 -16
  330. package/dist/routes/shared-world/setup.js +23 -23
  331. package/dist/routes/shared-world/types.d.ts +55 -53
  332. package/dist/routes/shared-world/types.js +4 -4
  333. package/dist/routes/terminal/adapter.d.ts +5 -5
  334. package/dist/routes/terminal/adapter.js +9 -9
  335. package/dist/routes/terminal/bundle.d.ts +13 -13
  336. package/dist/routes/terminal/bundle.js +28 -27
  337. package/dist/routes/terminal/credentials.d.ts +8 -8
  338. package/dist/routes/terminal/credentials.js +12 -12
  339. package/dist/routes/terminal/dry-run.d.ts +4 -4
  340. package/dist/routes/terminal/dry-run.js +12 -12
  341. package/dist/routes/terminal/encoding.js +2 -2
  342. package/dist/routes/terminal/ledger.d.ts +5 -5
  343. package/dist/routes/terminal/ledger.js +14 -14
  344. package/dist/routes/terminal/lifetime.d.ts +1 -1
  345. package/dist/routes/terminal/lifetime.js +1 -1
  346. package/dist/routes/terminal/live-finish.d.ts +2 -2
  347. package/dist/routes/terminal/live-finish.js +10 -10
  348. package/dist/routes/terminal/live-sandbox.d.ts +2 -2
  349. package/dist/routes/terminal/live-sandbox.js +15 -15
  350. package/dist/routes/terminal/participant-text.js +2 -1
  351. package/dist/routes/terminal/persona.d.ts +2 -2
  352. package/dist/routes/terminal/persona.js +3 -3
  353. package/dist/routes/terminal/plan.d.ts +7 -7
  354. package/dist/routes/terminal/plan.js +15 -15
  355. package/dist/routes/terminal/recorder.js +2 -2
  356. package/dist/routes/terminal/result.d.ts +5 -5
  357. package/dist/routes/terminal/result.js +14 -14
  358. package/dist/routes/terminal/route.d.ts +9 -9
  359. package/dist/routes/terminal/route.js +19 -20
  360. package/dist/routes/terminal/sandbox.d.ts +1 -1
  361. package/dist/routes/terminal/sandbox.js +1 -1
  362. package/dist/routes/terminal/session.d.ts +5 -5
  363. package/dist/routes/terminal/session.js +14 -13
  364. package/dist/routes/terminal/token-usage.d.ts +1 -1
  365. package/dist/routes/terminal/token-usage.js +7 -8
  366. package/dist/routes/terminal/trace.d.ts +4 -4
  367. package/dist/routes/terminal/trace.js +2 -2
  368. package/dist/routes/terminal/types.d.ts +48 -50
  369. package/dist/routes/terminal/types.js +5 -5
  370. package/dist/run/bundle-shape.js +3 -3
  371. package/dist/run/bundle.d.ts +49 -49
  372. package/dist/run/bundle.js +3 -2
  373. package/dist/run/cost-summary.js +3 -3
  374. package/dist/run/costs.d.ts +23 -0
  375. package/dist/run/costs.js +79 -44
  376. package/dist/run/detail.d.ts +6 -6
  377. package/dist/run/detail.js +4 -4
  378. package/dist/run/dry-run-inputs.d.ts +1 -1
  379. package/dist/run/dry-run-inputs.js +2 -2
  380. package/dist/run/dry-run.js +20 -20
  381. package/dist/run/judge.d.ts +19 -13
  382. package/dist/run/judge.js +18 -8
  383. package/dist/run/outcomes.d.ts +1 -1
  384. package/dist/run/participant.d.ts +1 -1
  385. package/dist/run/paths.d.ts +1 -1
  386. package/dist/run/paths.js +1 -1
  387. package/dist/run/preflight-receipts.js +1 -1
  388. package/dist/run/pricing.d.ts +11 -6
  389. package/dist/run/pricing.js +22 -15
  390. package/dist/run/projection.d.ts +46 -46
  391. package/dist/run/projection.js +57 -57
  392. package/dist/run/reclaim.d.ts +1 -1
  393. package/dist/run/reclaim.js +3 -3
  394. package/dist/run/results.d.ts +5 -5
  395. package/dist/run/run-cost.d.ts +53 -0
  396. package/dist/run/run-cost.js +105 -0
  397. package/dist/run/run-index-analysis.d.ts +15 -0
  398. package/dist/run/run-index-analysis.js +77 -0
  399. package/dist/run/run-index.d.ts +19 -7
  400. package/dist/run/run-index.js +77 -64
  401. package/dist/run/run-not-found.d.ts +5 -0
  402. package/dist/run/run-not-found.js +15 -0
  403. package/dist/run/run.d.ts +6 -5
  404. package/dist/run/run.js +3 -3
  405. package/dist/run/sandbox-receipts.d.ts +2 -2
  406. package/dist/run/sandbox-receipts.js +3 -3
  407. package/dist/run/shared-world-evidence.d.ts +37 -36
  408. package/dist/run/shared-world-evidence.js +4 -4
  409. package/dist/run/shared-world-shape.d.ts +1 -1
  410. package/dist/run/shared-world-shape.js +7 -7
  411. package/dist/run/stats.d.ts +14 -8
  412. package/dist/run/stats.js +121 -63
  413. package/dist/run/status.d.ts +16 -29
  414. package/dist/run/status.js +10 -29
  415. package/dist/run/stored-runs.js +2 -1
  416. package/dist/run/stream-shape.js +1 -1
  417. package/dist/run/streams.d.ts +7 -7
  418. package/dist/run/study-provenance.d.ts +49 -0
  419. package/dist/run/study-provenance.js +66 -0
  420. package/dist/run/study-result.d.ts +11 -0
  421. package/dist/run/study-result.js +9 -0
  422. package/dist/run/text.d.ts +2 -0
  423. package/dist/run/text.js +4 -0
  424. package/dist/run-study.d.ts +112 -0
  425. package/dist/{run-lab.js → run-study.js} +52 -47
  426. package/dist/{lab → study}/adapter-extension.d.ts +15 -27
  427. package/dist/{lab → study}/adapter-extension.js +10 -45
  428. package/dist/{lab → study}/adapter-scorer-loader.d.ts +17 -17
  429. package/dist/{lab → study}/adapter-scorer-loader.js +34 -34
  430. package/dist/study/composition-rules.d.ts +7 -0
  431. package/dist/{lab → study}/composition-rules.js +53 -53
  432. package/dist/study/config.d.ts +15 -0
  433. package/dist/{lab → study}/config.js +98 -41
  434. package/dist/study/convert.d.ts +33 -0
  435. package/dist/study/convert.js +432 -0
  436. package/dist/{lab → study}/device-presets.d.ts +10 -10
  437. package/dist/{lab → study}/device-presets.js +11 -11
  438. package/dist/study/discover.d.ts +75 -0
  439. package/dist/{lab → study}/discover.js +134 -95
  440. package/dist/{lab → study}/doctor.d.ts +19 -12
  441. package/dist/{lab → study}/doctor.js +58 -20
  442. package/dist/study/field-paths.d.ts +12 -0
  443. package/dist/study/field-paths.js +126 -0
  444. package/dist/study/files.d.ts +26 -0
  445. package/dist/study/files.js +44 -0
  446. package/dist/{lab → study}/init-templates.d.ts +2 -2
  447. package/dist/study/init-templates.js +421 -0
  448. package/dist/{lab → study}/init.d.ts +2 -2
  449. package/dist/{lab → study}/init.js +46 -11
  450. package/dist/study/keys.d.ts +4 -0
  451. package/dist/{lab → study}/keys.js +46 -12
  452. package/dist/study/migrate.d.ts +48 -0
  453. package/dist/study/migrate.js +408 -0
  454. package/dist/study/owned-files.d.ts +38 -0
  455. package/dist/study/owned-files.js +182 -0
  456. package/dist/{lab → study}/parse/actors.d.ts +5 -5
  457. package/dist/{lab → study}/parse/actors.js +14 -14
  458. package/dist/study/parse/comms.d.ts +12 -0
  459. package/dist/{lab → study}/parse/comms.js +5 -5
  460. package/dist/study/parse/execution.d.ts +19 -0
  461. package/dist/{lab → study}/parse/execution.js +13 -13
  462. package/dist/study/parse/study-v3.d.ts +21 -0
  463. package/dist/study/parse/study-v3.js +259 -0
  464. package/dist/study/parse/subject-state.d.ts +30 -0
  465. package/dist/{lab → study}/parse/subject-state.js +19 -19
  466. package/dist/{lab → study}/parse/subject.d.ts +3 -3
  467. package/dist/{lab → study}/parse/subject.js +34 -34
  468. package/dist/{lab → study}/parse/values.d.ts +3 -3
  469. package/dist/{lab → study}/parse/values.js +3 -3
  470. package/dist/{lab → study}/persona-resolve.d.ts +8 -8
  471. package/dist/{lab → study}/persona-resolve.js +6 -6
  472. package/dist/{lab → study}/plan-base.d.ts +7 -7
  473. package/dist/{lab → study}/plan-base.js +1 -1
  474. package/dist/{lab → study}/plan-participants.d.ts +12 -12
  475. package/dist/{lab → study}/plan-participants.js +4 -4
  476. package/dist/{lab → study}/plan-types.d.ts +31 -31
  477. package/dist/{lab → study}/plan-types.js +2 -2
  478. package/dist/study/plan.d.ts +13 -0
  479. package/dist/study/plan.js +101 -0
  480. package/dist/study/preflight-probes.d.ts +3 -0
  481. package/dist/{lab → study}/preflight-probes.js +20 -19
  482. package/dist/study/preflight-result.d.ts +8 -0
  483. package/dist/{lab → study}/preflight-result.js +5 -4
  484. package/dist/study/preflight.d.ts +94 -0
  485. package/dist/{lab → study}/preflight.js +12 -12
  486. package/dist/{lab → study}/requirements.d.ts +3 -3
  487. package/dist/{lab → study}/requirements.js +1 -1
  488. package/dist/study/route-inputs.d.ts +28 -0
  489. package/dist/{lab → study}/route-inputs.js +1 -1
  490. package/dist/{lab → study}/routing.d.ts +39 -33
  491. package/dist/{lab → study}/routing.js +60 -29
  492. package/dist/{lab/run-lab-events.d.ts → study/run-study-events.d.ts} +10 -13
  493. package/dist/{lab/run-lab-events.js → study/run-study-events.js} +3 -9
  494. package/dist/{lab/run-lab-homes.d.ts → study/run-study-homes.d.ts} +21 -18
  495. package/dist/{lab/run-lab-homes.js → study/run-study-homes.js} +1 -1
  496. package/dist/study/run-study-options.d.ts +28 -0
  497. package/dist/{lab/run-lab-options.js → study/run-study-options.js} +29 -25
  498. package/dist/{lab/lab-deps.d.ts → study/study-deps.d.ts} +8 -13
  499. package/dist/{lab/lab-deps.js → study/study-deps.js} +2 -2
  500. package/dist/{lab → study}/summary.d.ts +16 -15
  501. package/dist/{lab → study}/summary.js +21 -21
  502. package/dist/{lab → study}/tasks.d.ts +18 -18
  503. package/dist/{lab → study}/tasks.js +14 -14
  504. package/dist/{lab → study}/types.d.ts +202 -196
  505. package/dist/{lab → study}/types.js +3 -1
  506. package/dist/{lab → study}/validation.d.ts +27 -27
  507. package/dist/{lab → study}/validation.js +53 -51
  508. package/dist/study/warnings.d.ts +12 -0
  509. package/dist/{lab → study}/warnings.js +62 -34
  510. package/dist/subject/clone.d.ts +7 -7
  511. package/dist/subject/clone.js +2 -2
  512. package/dist/subject/desktop-cli.d.ts +1 -1
  513. package/dist/subject/desktop-cli.js +2 -2
  514. package/dist/subject/local-tree-archive.d.ts +2 -2
  515. package/dist/subject/local-tree-archive.js +4 -4
  516. package/dist/subject/local-tree.d.ts +4 -4
  517. package/dist/subject/node-bootstrap.js +1 -1
  518. package/dist/subject/runtime.js +9 -10
  519. package/dist/subject/serve.d.ts +5 -5
  520. package/dist/subject/serve.js +3 -3
  521. package/dist/subject/state.d.ts +4 -4
  522. package/dist/subject/state.js +1 -1
  523. package/dist/subject/steps.d.ts +6 -6
  524. package/dist/subject/steps.js +5 -5
  525. package/dist/substrates/command-failure.d.ts +3 -3
  526. package/dist/substrates/command-failure.js +3 -3
  527. package/dist/substrates/desktop-session.js +2 -2
  528. package/dist/substrates/detached.d.ts +6 -6
  529. package/dist/substrates/detached.js +7 -7
  530. package/dist/substrates/e2b/cdp-probe.d.ts +9 -9
  531. package/dist/substrates/e2b/cdp-probe.js +14 -17
  532. package/dist/substrates/e2b/desktop-browser.d.ts +6 -6
  533. package/dist/substrates/e2b/desktop-browser.js +9 -9
  534. package/dist/substrates/e2b/desktop-cdp.d.ts +10 -10
  535. package/dist/substrates/e2b/desktop-cdp.js +9 -9
  536. package/dist/substrates/e2b/desktop-executor.d.ts +2 -2
  537. package/dist/substrates/e2b/desktop-executor.js +13 -13
  538. package/dist/substrates/e2b/desktop-geometry.d.ts +4 -4
  539. package/dist/substrates/e2b/desktop-geometry.js +8 -8
  540. package/dist/substrates/e2b/desktop-media.d.ts +4 -4
  541. package/dist/substrates/e2b/desktop-media.js +1 -1
  542. package/dist/substrates/e2b/desktop-screenshot-cleanup.d.ts +3 -3
  543. package/dist/substrates/e2b/desktop-screenshot-cleanup.js +3 -3
  544. package/dist/substrates/e2b/lifetime.js +1 -1
  545. package/dist/substrates/e2b/sandbox.d.ts +4 -4
  546. package/dist/substrates/e2b/sandbox.js +2 -2
  547. package/dist/substrates/e2b/sdk.d.ts +12 -12
  548. package/dist/substrates/e2b/sdk.js +7 -7
  549. package/dist/substrates/local/runtime-config.d.ts +4 -4
  550. package/dist/substrates/local/runtime-config.js +4 -4
  551. package/dist/tui/actions.d.ts +1 -1
  552. package/dist/tui/actions.js +13 -13
  553. package/dist/tui/contract.d.ts +23 -23
  554. package/dist/tui/contract.js +11 -11
  555. package/dist/tui/launch.d.ts +7 -7
  556. package/dist/tui/launch.js +36 -31
  557. package/dist/tui/project.js +5 -5
  558. package/dist/tui-app.js +139 -139
  559. package/dist/verify/actor.d.ts +8 -8
  560. package/dist/verify/actor.js +36 -36
  561. package/dist/verify/artifacts.d.ts +2 -2
  562. package/dist/verify/artifacts.js +3 -3
  563. package/dist/verify/context-growth.d.ts +9 -0
  564. package/dist/verify/context-growth.js +62 -0
  565. package/dist/verify/costs.d.ts +6 -6
  566. package/dist/verify/costs.js +8 -8
  567. package/dist/verify/shared-world-concurrent.d.ts +2 -2
  568. package/dist/verify/shared-world-concurrent.js +79 -76
  569. package/dist/verify/shared-world.d.ts +2 -2
  570. package/dist/verify/shared-world.js +16 -16
  571. package/dist/verify/subject.d.ts +5 -5
  572. package/dist/verify/subject.js +19 -19
  573. package/dist/verify/verify.js +94 -44
  574. package/docs/README.md +25 -32
  575. package/docs/architecture/actor-contract.md +60 -91
  576. package/docs/architecture/browser-control.md +1 -1
  577. package/docs/architecture/desktop-sessions.md +7 -7
  578. package/docs/architecture/external-public-shared-world.md +68 -65
  579. package/docs/architecture/github-feedback-loop.md +2 -5
  580. package/docs/architecture/guest-desktop.md +2 -2
  581. package/docs/architecture/observer.md +34 -34
  582. package/docs/architecture/restricted-codex-analysis.md +34 -28
  583. package/docs/architecture/serve.md +34 -37
  584. package/docs/architecture/state-driven-executor.md +55 -58
  585. package/docs/architecture/task-protocol-support.md +6 -6
  586. package/docs/architecture/terminal-product-route.md +70 -110
  587. package/docs/contracts/README.md +24 -0
  588. package/docs/contracts/adapter-admission.md +3 -3
  589. package/docs/contracts/adapter-fixtures.md +4 -7
  590. package/docs/contracts/core.md +1 -3
  591. package/docs/contracts/errors.md +62 -0
  592. package/docs/contracts/feedback.md +8 -9
  593. package/docs/contracts/policy.md +7 -12
  594. package/docs/contracts/run-bundle.md +42 -44
  595. package/docs/contracts/schemas.md +446 -368
  596. package/docs/contracts/study-analysis.md +7 -4
  597. package/docs/contracts/study-costs.md +28 -9
  598. package/docs/decisions/0001-run-bundle-is-the-source-of-truth.md +1 -1
  599. package/docs/decisions/0002-observer-is-one-self-contained-file.md +2 -2
  600. package/docs/decisions/0003-contained-paths-and-cleanup-authority.md +3 -3
  601. package/docs/principles/actor-fidelity.md +4 -4
  602. package/docs/principles/engineering.md +3 -3
  603. package/docs/principles/invariants-and-defaults.md +38 -38
  604. package/docs/principles/self-driving-harness.md +1 -5
  605. package/docs/principles/three-roles.md +1 -1
  606. package/docs/product/automatic-analysis.md +7 -7
  607. package/examples/README.md +1 -1
  608. package/examples/participant/README.md +5 -5
  609. package/examples/participant/run.mjs +11 -10
  610. package/examples/scorer/README.md +3 -3
  611. package/examples/scorer/run.mjs +11 -12
  612. package/examples/scorer/scorer.mjs +3 -3
  613. package/package.json +16 -17
  614. package/skills/humanish/SKILL.md +64 -60
  615. package/skills/humanish/agents/openai.yaml +1 -1
  616. package/AGENTS.md +0 -99
  617. package/CONTRIBUTING.md +0 -148
  618. package/dist/actors/codex/qualified-versions.d.ts +0 -72
  619. package/dist/actors/codex/qualified-versions.js +0 -132
  620. package/dist/cli/commands/lab-format.d.ts +0 -8
  621. package/dist/cli/commands/lab-route-run.d.ts +0 -19
  622. package/dist/cli/commands/lab-route-scripted.d.ts +0 -17
  623. package/dist/cli/commands/lab-route-terminal.d.ts +0 -17
  624. package/dist/cli/commands/lab-run.d.ts +0 -9
  625. package/dist/cli/commands/lab.d.ts +0 -3
  626. package/dist/cli/commands/lab.js +0 -199
  627. package/dist/cli/renamed-options.d.ts +0 -11
  628. package/dist/cli/renamed-options.js +0 -18
  629. package/dist/lab/composition-rules.d.ts +0 -7
  630. package/dist/lab/config.d.ts +0 -7
  631. package/dist/lab/discover.d.ts +0 -65
  632. package/dist/lab/init-templates.js +0 -416
  633. package/dist/lab/keys.d.ts +0 -2
  634. package/dist/lab/parse/comms.d.ts +0 -12
  635. package/dist/lab/parse/execution.d.ts +0 -19
  636. package/dist/lab/parse/subject-state.d.ts +0 -30
  637. package/dist/lab/plan.d.ts +0 -19
  638. package/dist/lab/plan.js +0 -132
  639. package/dist/lab/preflight-probes.d.ts +0 -3
  640. package/dist/lab/preflight-result.d.ts +0 -7
  641. package/dist/lab/preflight.d.ts +0 -92
  642. package/dist/lab/route-inputs.d.ts +0 -28
  643. package/dist/lab/run-lab-options.d.ts +0 -28
  644. package/dist/lab/warnings.d.ts +0 -2
  645. package/dist/observer/static.d.ts +0 -39
  646. package/dist/observer/static.js +0 -369
  647. package/dist/run-lab.d.ts +0 -112
  648. package/docs/architecture/comms-inbox.md +0 -122
  649. package/docs/architecture/desktop-recording.md +0 -80
  650. package/docs/architecture/local-browser-runtime.md +0 -178
  651. package/docs/architecture/observer-review.md +0 -144
  652. package/docs/architecture/participant-media.md +0 -90
  653. package/docs/architecture/project-layout.md +0 -62
  654. package/docs/architecture/real-email-receiving.md +0 -136
  655. package/docs/assets/humanish-drawdb-hero.png +0 -0
  656. package/docs/assets/humanish-observer-hero.png +0 -0
  657. package/docs/goals/current.md +0 -207
  658. package/docs/product/lobby-trivia-3player-external-public.md +0 -77
  659. package/docs/product/open-source-install-experience.md +0 -240
  660. package/docs/ramp/README.md +0 -295
  661. package/docs/release/open-source-readiness.md +0 -222
  662. package/docs/release/public-readiness-standard.md +0 -210
  663. package/docs/roadmap/world-class-open-source-v0.md +0 -311
  664. /package/dist/{lab → study}/init-paths.d.ts +0 -0
  665. /package/dist/{lab → study}/init-paths.js +0 -0
  666. /package/dist/{lab → study}/init-plan.d.ts +0 -0
  667. /package/dist/{lab → study}/init-plan.js +0 -0
  668. /package/dist/{lab → study}/participant-assignment.d.ts +0 -0
  669. /package/dist/{lab → study}/participant-assignment.js +0 -0
  670. /package/dist/{lab → study}/persona.d.ts +0 -0
  671. /package/dist/{lab → study}/persona.js +0 -0
@@ -1,295 +0,0 @@
1
- # humanish Ramp
2
-
3
- Use this page when you are starting cold on `humanish`. It is meant to be
4
- useful without chat history, private notes, local machine paths, or maintainer
5
- context. It is the last step of the reading order in
6
- [CONTRIBUTING.md](../../CONTRIBUTING.md#read-these-in-order) and adds current state, how to pick
7
- work and the quality bar.
8
-
9
- ## First Read
10
-
11
- Start with three things:
12
-
13
- 1. The files in [CONTRIBUTING.md's reading order](../../CONTRIBUTING.md#read-these-in-order).
14
- 2. The current task and [`docs/goals/current.md`](../goals/current.md) for current
15
- product status. Explicit task direction takes precedence over historical queues.
16
- 3. Instructions in the component being changed, then its relevant contracts.
17
-
18
- Use the references below as needed. Historical plans are context, not a backlog
19
- to resume automatically. Keep one concise current task handoff with the requested
20
- outcome, demonstrated behavior, next complete result, constraints and rejected or
21
- deferred approaches; link evidence rather than repeating its chronology.
22
-
23
- | When working on | Reference |
24
- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
25
- | Install, commands or first-run UX | [`README.md`](../../README.md), [install experience](../product/open-source-install-experience.md) |
26
- | Security, evidence handling or defaults | [Invariants and defaults](../principles/invariants-and-defaults.md) |
27
- | Observer | [Observer architecture](../architecture/observer.md) and its component instructions |
28
- | Bundle formats or policy | [Run bundle](../contracts/run-bundle.md), [policy](../contracts/policy.md) |
29
- | Public artifacts or packaging | [Public-readiness standard](../release/public-readiness-standard.md), [release procedure](../release/open-source-readiness.md) |
30
- | Proof architecture or historical decisions | [Proof roadmap](https://github.com/danielgwilson/humanish/blob/main/docs/goals/proof-roadmap/goal.md), [historical delivery roadmap](../roadmap/world-class-open-source-v0.md) |
31
-
32
- ## Mental Model
33
-
34
- humanish is a persona simulation harness for apps, CLIs, and agent-facing product
35
- flows.
36
-
37
- - `humanish/` is committed source: lab manifests, personas, scenarios and
38
- coverage notes.
39
- - `.humanish/` is ignored runtime state: runs, Observer output, transcripts,
40
- reviews, temporary clones, and local evidence.
41
- - humanish source uses `.yaml` for human-authored simulation intent and
42
- JSON/NDJSON for generated artifacts.
43
- - A run bundle is the source of truth.
44
- - The Observer is the projection that makes that truth reviewable.
45
- - Feedback commands turn verified evidence into public-safe issue drafts.
46
-
47
- If a change does not improve one of those loops, it probably belongs elsewhere.
48
-
49
- ## Current State
50
-
51
- [CHANGELOG.md](../../CHANGELOG.md) lists what each version changed. This section describes
52
- what the source supports now.
53
-
54
- humanish has a working public package shape and a safe first-run path.
55
-
56
- Implemented:
57
-
58
- - `commander` CLI with stable command help;
59
- - `init`, `doctor`, `run`, `watch`, `verify`, `review`, `runs`, `analyze`, and `feedback`;
60
- - study analysis with bounded provider admission, a live-run default and opt-out, immutable findings,
61
- source-bound corrections and evidence-linked Observer review;
62
- - synthetic run bundles;
63
- - public-safety verification with machine-readable `shareSafety.status`
64
- (`share_ready`, `local_only`, or `blocked`);
65
- - mission-control Observer over UI, CLI, TUI, and Codex UI stream contracts;
66
- - public-safe feedback issue drafts without GitHub API mutation, gated on
67
- `share_ready` evidence;
68
- - skills.sh-compatible agent skill;
69
- - first-class lab manifest resolution through `humanish/labs/*.yaml` and
70
- ignored `.humanish/labs/*.yaml` overlays, as `humanish.lab.v2` compositions
71
- (`src/lab/config.ts`) with one engine and no hardcoded lab kinds;
72
- - a first-party actor registry with five registered descriptors
73
- (`src/actors/registry.ts`); `actors[0].type` is a real dispatch key on the
74
- computer-use, scripted-browser, and terminal-product routes;
75
- - a computer-use route and clone subject provider: `subject.source: app-url`
76
- drives a lab-owner loopback app in a hosted desktop, and `subject.source:
77
- clone` + `serve` clones, installs, and serves a real app in-sandbox from
78
- config before the actor drives it (`src/routes/computer-use/route.ts`);
79
- - seven declared subject sources: `this-repo` (dry-run-only), `clone`, `app-url`,
80
- `local-app` (library-assisted, in-process, no desktop), `terminal-product`,
81
- `desktop-cli` (computer-use participant at a terminal), and `local-tree`;
82
- each route fails closed on unsupported combinations;
83
- - bounded fan-out with separate worlds (`actors[0].count`, `lanes[]`, or `roster[]`),
84
- backed by deterministic and kept live proof;
85
- - concurrent single-origin shared-world execution with deterministic and kept
86
- live proof; verify still reads bundles from the sequential route removed in
87
- 0.106.0;
88
- - `subject.source: local-tree`, which packages one selected working tree with a
89
- content pin before using the same provision-and-serve path as clone subjects;
90
- - an off-app comms funnel for email-gated flows: a vendor-neutral in-sandbox
91
- catch redirects the app's own send API, a persona reads a minimal inbox surface
92
- and clicks through, and a digest-only `humanish.comms-thread.v1` artifact
93
- records the thread with no raw address, link, or code. It is wired into the
94
- computer-use and concurrent shared-world routes and live-proven on computer-use.
95
- SMS is not yet a configured execution route;
96
- - resolved-persona directives that actually shape the actor prompt on the
97
- terminal-product route (traits are applied and recorded in the actor trace, not
98
- decorative), reusing the same `persona.ts` compiler as the computer-use route;
99
- - a CLI-loadable adopter scorer seam (`review.scorer.ref` in the lab manifest, or
100
- a `--scorer <path>` override): a config-declared `.mjs` supplies
101
- `{score, deriveFeedback, deriveArtifacts}`, resolved with the same containment
102
- as `scenario.ref` and digest-pinned in the bundle
103
- (`humanish.scorer-provenance.v1`); a config-declared scorer that fails to render
104
- a pass fails the run on the scorer-capable routes, while library callers keep
105
- the additive behavior (`costProbe` stays library-only); on the terminal route
106
- the scoring context carries the FULL normalized transcript (byte-identical to
107
- the persisted `terminal-transcript.txt`) instead of the ~2KB tail projection. The
108
- [scorer example](../../examples/scorer/README.md) attaches one from the CLI and from a
109
- library caller;
110
- - containment checks for managed run storage, Observer and feedback reads,
111
- actor artifacts, lab discovery, Git metadata, and source archives;
112
- - cleanup inspection receipts that do not treat mutable run-bundle IDs as
113
- provider-mutation authority;
114
- - every route publishes through the run lifecycle (`runScope` and `Run` in
115
- `src/run/run.ts`): computer-use, shared-world, scripted, terminal, and the preview's
116
- `runDryRun`.
117
-
118
- Still not good enough:
119
-
120
- - capability receipts are not adopter replacement: no first-party deletion
121
- branch has yet removed a bespoke generic harness while preserving
122
- decision-equivalent proof;
123
- - the five actor descriptors are a closed first-party union, not a supported
124
- out-of-tree actor-registration API;
125
- - multi-origin shared-world is an accepted design direction, but remains
126
- unimplemented and gated on a real adopter proving the need;
127
- - the README hero is the drawDB real-application study, a legible capture of a
128
- studied public subject (drawDB is not a humanish adopter); coverage beyond that single
129
- studied subject (the stratified breadth panel) remains open.
130
-
131
- ## Check which compositions a lab can declare
132
-
133
- `parseLabConfig` (`src/lab/config.ts`) enforces this matrix through `compositionReason`
134
- (`src/lab/composition-rules.ts`), which uses the predicates in `src/lab/routing.ts` and the reasons
135
- in `src/lab/validation.ts`. The route entries check it again
136
- for library callers. `tests/fixtures/task-route-preflight/labs.json` holds one lab for each
137
- accepted row except the local browser row. `tests/lab/task-route-preflight.test.ts` checks that
138
- each of those labs routes as shown. `tests/run-lab-local-substrate.test.ts` covers the local
139
- browser row. Accepted rows have further required fields, such as `subject.serve` on `clone`, and
140
- the parse error names the missing one. The computer-use actors are `openai-computer-use` and
141
- `local-agent`.
142
-
143
- | Route (backend name) | `subject.source` | `execution.target` | `actors[0].type` | Result |
144
- | ------------------------------------------ | ------------------------------------------------ | ------------------------ | -------------------------------------- | ------------------------------------------------------------------------------ |
145
- | `computer-use` (`cua`) | `app-url` | `e2b-desktop` | a computer-use actor | Supported |
146
- | `computer-use` (`cua`) | `app-url` | `local` | a computer-use actor | Supported on a local Firecracker desktop, inside Lima on macOS |
147
- | `computer-use` (`cua`) | `clone`, `local-tree` | `e2b-desktop` | a computer-use actor | Supported |
148
- | `computer-use` (`cua`) | `desktop-cli` | `e2b-desktop` or absent | a computer-use actor | Supported |
149
- | `computer-use` (`cua`) | `local-app` | `local` or absent | a computer-use actor | Library only; the CLI refuses it with `HUMANISH_CUA_LAB_LOCAL_APP_NO_EXECUTOR` |
150
- | `shared-world` (`concurrent-shared-world`) | `clone`, `local-tree` + `topology: shared-world` | `e2b-desktop` | a computer-use actor | Supported |
151
- | `shared-world` (`concurrent-shared-world`) | `app-url` + `topology: shared-world` | `e2b-desktop` | a computer-use actor | Supported with `policies.allowPublicTargets: true` |
152
- | `scripted` | `app-url` with a loopback URL | `local` or absent | `scripted-browser` | Supported |
153
- | `scripted` | `clone` | `e2b-desktop` | `scripted-browser` | Supported |
154
- | `terminal` | `terminal-product` | `e2b-terminal` or absent | `codex-exec` | Supported |
155
- | `preview` (`synthetic`) | `this-repo` | absent | not `scripted-browser` or `codex-exec` | Dry run only |
156
- | none | any other pairing | any | any | Refused at parse with `HUMANISH_LAB_INVALID` |
157
-
158
- The fixture's `supported` field records which routes accept declared `actors[0].tasks`. The
159
- computer-use labs in the fixture accept them. The other routes refuse them at parse.
160
-
161
- ## First Commands
162
-
163
- From a clean checkout:
164
-
165
- ```bash
166
- git status --short --branch
167
- pnpm install --frozen-lockfile
168
- pnpm humanish lab list
169
- pnpm humanish watch --json --no-open # a keyless preview run
170
- pnpm humanish runs --json
171
- pnpm vitest run tests/<file> # one test file: the fast loop
172
- pnpm check # the full local gate
173
- pnpm release:check # what CI runs; last, before a pull request
174
- ```
175
-
176
- For local product feel:
177
-
178
- ```bash
179
- pnpm humanish watch
180
- ```
181
-
182
- For private/local dogfood, author an ignored lab manifest under
183
- `.humanish/labs/` or `.humanish/local/labs/`, then invoke it explicitly with an
184
- ignored env file:
185
-
186
- ```bash
187
- pnpm humanish watch .humanish/labs/local-dogfood.yaml --env-file .humanish/local/provider.env
188
- ```
189
-
190
- ## How To Pick Work
191
-
192
- Start from [`docs/goals/current.md`](../goals/current.md).
193
-
194
- Prefer work that makes humanish more believable to a new maintainer:
195
-
196
- - a command becomes easier to run;
197
- - a run bundle becomes more truthful;
198
- - Observer evidence becomes more inspectable;
199
- - verification catches a real bad state;
200
- - feedback drafts become more actionable;
201
- - public-safety gates catch a class of leak or stale residue.
202
-
203
- If no GitHub issue exists for substantial work, draft one with the repo issue
204
- template before building. Use labels to communicate authority, area, risk, and
205
- required proof.
206
-
207
- ## Quality Bar
208
-
209
- Do not close a change on narrative alone.
210
-
211
- Useful proof includes:
212
-
213
- - `pnpm release:check`;
214
- - `pnpm release:dogfood` before a tag (see below);
215
- - focused unit or contract tests;
216
- - a generated run bundle under ignored `.humanish/`;
217
- - Observer screenshots or health output;
218
- - `humanish verify` results;
219
- - public-surface scan output;
220
- - fresh clone checks for packaging or release work.
221
-
222
- A green subset is not the same thing as complete coverage. If something is not
223
- covered, name it as a gap.
224
-
225
- ## Public Boundary
226
-
227
- Assume this repository is public even when local or remote visibility says it is
228
- private.
229
-
230
- Never commit or paste:
231
-
232
- - PII or PHI;
233
- - secrets, keys, tokens, cookies, or raw env files;
234
- - raw private transcripts;
235
- - private screenshots;
236
- - private customer or patient data;
237
- - local machine paths;
238
- - private upstream code or operational details.
239
-
240
- Use synthetic examples, redacted evidence, and env var names without values.
241
-
242
- ## Embarrassment Filter
243
-
244
- Before committing, ask:
245
-
246
- - Would this make sense to someone who found the repo through npm?
247
- - Would I be comfortable with this file quoted in a public issue?
248
- - Does this depend on private chat memory?
249
- - Does it mention removed docs, private machine paths, or internal-only names?
250
- - Does it claim product proof when it only proves a contract?
251
-
252
- If the answer is uncomfortable, rewrite it, synthesize it, or keep it out of the
253
- repo.
254
-
255
- ## Hand-Off Format
256
-
257
- End substantial work with:
258
-
259
- - what changed;
260
- - what proof passed;
261
- - what remains uncertain;
262
- - the next best issue or command.
263
-
264
- Future agents should be able to continue from the repo, not from the previous
265
- chat transcript.
266
-
267
- ## Before you tag: send a participant to meet the build
268
-
269
- ```bash
270
- pnpm release:dogfood # needs OPENAI_API_KEY + E2B_API_KEY; costs about a dollar
271
- ```
272
-
273
- `release:check` proves the code is internally consistent. It cannot tell you whether
274
- someone landing on this build can get anywhere with it. That gap has cost a release:
275
- `0.56.0` passed every check and shipped a regression that hid a run's
276
- price at exactly the moment a person was deciding whether to set keys up. A
277
- synthetic participant found it hours later.
278
-
279
- So the last gate before a tag is the product's own first-contact study, pointed at
280
- the release candidate. It packs the tarball, uploads it into the sandbox, and has a
281
- real autonomous agent install that tarball. Installing `humanish@latest` instead would
282
- measure the last release, the one artifact we already know about.
283
-
284
- It prints the participant's report and fails the gate if they could not get there.
285
- **Read the report even when it passes.** The verdict is a marker the participant
286
- sets; the paragraph underneath it is the finding, and it has twice repeated an
287
- adoption problem we already knew about in words no test could produce.
288
-
289
- This spends money and needs keys, so it is deliberately NOT part of `release:check`
290
- and never runs in CI. The lab's caps hold product spend to `$0`; what it costs is
291
- the agent's own tokens (on `gpt-5.6-sol` unless the lab names a model, estimated in `run.json`'s
292
- `cost`) and a few sandbox-minutes. The agent's model key stays outside
293
- the sandbox in an E2B egress rule (`runtimeAuth: openai-egress`), and its `web_search`
294
- fetches run on the model provider's side, so an error from one says nothing about the
295
- sandbox's network.
@@ -1,222 +0,0 @@
1
- # Open-Source Release Readiness
2
-
3
- Date: 2026-06-02
4
-
5
- Status: HISTORICAL (banner added 2026-06-11). This audit declared the repo a
6
- public repository candidate after reviewed history cleanup; the repository
7
- has since gone public and the package has shipped releases past the `0.1.3`
8
- named below, so treat versions and one-time audit details here as a snapshot. The release gates and publish procedure remain the working
9
- reference. For the live goal state read
10
- [`docs/goals/current.md`](../goals/current.md). Actual
11
- `npm publish` remains a human release action and must not be run by an agent
12
- without explicit approval in the current context.
13
-
14
- Use [`docs/release/public-readiness-standard.md`](public-readiness-standard.md)
15
- as the public-cleanliness policy. The standard distinguishes real blockers such
16
- as secrets, PHI, private source, private screenshots, and raw credentials from
17
- acceptable public metadata such as maintainer-approved public commit email.
18
-
19
- ## Package State
20
-
21
- - Package name: `humanish`
22
- - Version: `0.1.3`
23
- - Binary: `humanish`
24
- - License: MIT
25
- - Repository: `https://github.com/danielgwilson/humanish`
26
- - npm access: public via `publishConfig.access`
27
- - npm contents: compiled `dist`, public docs directories, including ramp and
28
- current-goal docs, `skills/`,
29
- `README.md`, `LICENSE`, `SECURITY.md`, `CONTRIBUTING.md`, and
30
- `package.json`
31
- - GitHub Actions publish workflow: `.github/workflows/publish.yml`
32
- - optional live E2B peer: `@e2b/desktop`
33
-
34
- `prepack` runs the TypeScript build so a clean checkout can produce a usable
35
- tarball with `npm pack` or `npm publish`.
36
-
37
- ## Skill State
38
-
39
- The installable agent skill lives at:
40
-
41
- ```text
42
- skills/humanish/SKILL.md
43
- ```
44
-
45
- This matches skills.sh discovery for `skills/<name>/SKILL.md`. The required
46
- frontmatter fields are present:
47
-
48
- ```yaml
49
- name: humanish
50
- description: ...
51
- ```
52
-
53
- Verification command:
54
-
55
- ```bash
56
- DISABLE_TELEMETRY=1 npx skills add . --list
57
- ```
58
-
59
- Expected install command after the repository is public:
60
-
61
- ```bash
62
- npx skills add danielgwilson/humanish --skill humanish
63
- ```
64
-
65
- ## Public Boundary
66
-
67
- Release work must not include PII, PHI, secrets, keys, tokens, raw private
68
- transcripts, private screenshots, raw customer data, raw patient data, private
69
- source snippets, or generated run bundles.
70
-
71
- Allowed examples are synthetic or redacted only.
72
-
73
- ## GitHub Visibility Gate
74
-
75
- The current tree and reachable Git history are the public surface being
76
- hardened here. The repository must not be made public until these checks pass
77
- from a fresh clone:
78
-
79
- - only the intended `main` branch is reachable;
80
- - no stale release tags point at pre-cleanup source;
81
- - history scans have no private upstream system names, absolute maintainer paths,
82
- secret patterns, or generated runtime bundles;
83
- - reachable commit author and committer emails are GitHub noreply-style
84
- addresses (including GitHub's documented `ID+USERNAME` and username-only
85
- forms) or explicitly approved public maintainer emails;
86
- - GitHub issues, PRs, labels, and project fields have been scanned or rewritten
87
- for public-safe language.
88
-
89
- GitHub may still retain unreachable object caches or historical Actions logs
90
- internally. Treat those as residual platform-cache risk and delete old workflow
91
- runs before public launch if a stricter surface is required.
92
-
93
- History-check shape used during this audit:
94
-
95
- ```bash
96
- git rev-list --all | xargs -n 32 git grep -n -I -i -e '<private-source-name>' -e '<absolute-local-path-marker>' -e '<workspace-path-marker>'
97
- git rev-list --all | xargs -n 32 git grep -n -I -E 'sk-[A-Za-z0-9_-]{20,}|gh[pousr]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]{20,}|AKIA[0-9A-Z]{16}|BEGIN [A-Z ]*PRIVATE KEY|AIza[0-9A-Za-z_-]{20,}|xox[baprs]-[A-Za-z0-9-]{20,}'
98
- ```
99
-
100
- ## Required Gates
101
-
102
- Run these before any public release candidate:
103
-
104
- ```bash
105
- pnpm install --frozen-lockfile
106
- pnpm check
107
- pnpm public-surface:scan
108
- pnpm skill:check
109
- pnpm pack:dry-run
110
- git diff --check
111
- ```
112
-
113
- `pnpm public-surface:scan` scans tracked files plus the npm dry-run payload,
114
- including built `dist/` output. It fails on common secret tokens, absolute local
115
- user paths, local workspace paths, unapproved durable commit email metadata,
116
- known private upstream system names, and binary public assets that are not
117
- explicitly allowlisted by SHA-256.
118
-
119
- ## Tarball Inspection
120
-
121
- Use:
122
-
123
- ```bash
124
- pnpm pack:dry-run
125
- ```
126
-
127
- `pnpm pack:dry-run` delegates to `npm pack --dry-run` after `prepack` builds
128
- `dist`.
129
-
130
- The tarball must not include `.env*`, `.humanish/`, generated run bundles,
131
- private screenshots, raw transcripts, `.npmrc`, tests, fixtures, internal
132
- operations notes, local runtime caches, or private operator packets. Public
133
- `docs/ramp/`, `docs/goals/`, and repo-local `AGENTS.md` files are allowed when
134
- they are synthetic, durable, and public-safe. Public image assets must remain on
135
- the scanner allowlist and keep their approved checksum.
136
-
137
- ## Version Policy
138
-
139
- humanish remains on `0.x` until the maintainer explicitly decides to release
140
- `1.0.0`. General authority to merge and publish does not imply that decision.
141
- Semantic-version components are integers, not decimals: the next minor after
142
- `0.99.0` is `0.100.0`; a patch is `0.99.1`. Use patch releases for compatible
143
- fixes and minor releases for features or pre-1.0 breaking changes, documenting
144
- any breaking changes and migration steps. Do not use `npm version major` or
145
- infer 1.0 readiness from a large minor number. See [SemVer](https://semver.org/).
146
-
147
- ## Publish Procedure
148
-
149
- Only after maintainer approval. Prefer the tag-gated GitHub Actions workflow
150
- over local publication:
151
-
152
- ```bash
153
- pnpm release:check
154
- npm version patch --no-git-tag-version
155
- # Add the version's entry at the top of CHANGELOG.md, then open and merge the release PR.
156
- git fetch origin main --tags
157
- git switch main
158
- git pull --ff-only origin main
159
- VERSION="$(node -p "require('./package.json').version")"
160
- git tag "v${VERSION}"
161
- git push origin "v${VERSION}"
162
- ```
163
-
164
- The GitHub Release for the tag carries the full notes; its opening paragraph is the
165
- CHANGELOG.md entry.
166
-
167
- No agent should run `npm publish` locally without explicit human approval in the
168
- current thread. That approval must come from the maintainer responsible for the
169
- release.
170
-
171
- The release tag must point at a commit already reachable from `origin/main`.
172
- Tagging a local release commit before the release PR merges can publish a
173
- correct package from a commit that is not in main history. The publish workflow
174
- therefore fails closed unless the tag commit is an ancestor of `origin/main` and
175
- the tag name exactly matches `package.json`'s version.
176
-
177
- ## Trusted Publishing Setup
178
-
179
- The npm package page exists. For the first tag after a repository rename, the
180
- order is load-bearing (the OIDC binding is exact owner/repo + workflow path):
181
-
182
- 1. Rename the GitHub repository first.
183
- 2. Configure/point the npm Trusted Publisher at the NEW repository name.
184
- 3. Merge the release commit, then tag.
185
-
186
- A tag pushed before steps 1-2 fails auth (OIDC repository claim mismatch) or
187
- provenance validation (package.json repository.url vs actual workflow repo).
188
-
189
- Trusted Publishing is configured for GitHub Actions. Verify these exact binding
190
- fields before each tag and re-point them after any repository rename:
191
-
192
- - provider: GitHub Actions
193
- - repository owner: `danielgwilson`
194
- - repository name: `humanish`
195
- - workflow filename: `publish.yml`
196
- - environment: blank
197
- - registry: npm public registry
198
-
199
- The workflow uses:
200
-
201
- - `permissions.id-token: write` for OIDC;
202
- - `permissions.contents: read`;
203
- - `actions/checkout@v6`;
204
- - `actions/setup-node@v6` with Node 24 and npm registry URL;
205
- - `npm publish --access public`;
206
- - no long-lived npm token secret.
207
-
208
- Automated release flow:
209
-
210
- ```bash
211
- pnpm release:check
212
- npm version patch --no-git-tag-version
213
- # Open and merge the release PR, then tag the pulled main commit.
214
- git fetch origin main --tags
215
- git switch main
216
- git pull --ff-only origin main
217
- VERSION="$(node -p "require('./package.json').version")"
218
- git tag "v${VERSION}"
219
- git push origin "v${VERSION}"
220
- ```
221
-
222
- The publish job is tag-gated and only publishes when running on a `v*` tag.