humanish 0.99.1 → 0.100.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 (56) hide show
  1. package/README.md +25 -4
  2. package/dist/actor-contract.d.ts +2 -0
  3. package/dist/actor-contract.js +4 -2
  4. package/dist/actor-contract.js.map +1 -1
  5. package/dist/computer-use.js +4 -3
  6. package/dist/computer-use.js.map +1 -1
  7. package/dist/cua-provider-error.d.ts +5 -1
  8. package/dist/cua-provider-error.js +9 -2
  9. package/dist/cua-provider-error.js.map +1 -1
  10. package/dist/doctor-lab.d.ts +8 -0
  11. package/dist/doctor-lab.js +9 -4
  12. package/dist/doctor-lab.js.map +1 -1
  13. package/dist/first-run-path.d.ts +3 -0
  14. package/dist/first-run-path.js +22 -1
  15. package/dist/first-run-path.js.map +1 -1
  16. package/dist/guest-bootstrap.d.ts +12 -4
  17. package/dist/guest-bootstrap.js +49 -17
  18. package/dist/guest-bootstrap.js.map +1 -1
  19. package/dist/guest-runtime-desktop.d.ts +5 -2
  20. package/dist/guest-runtime-desktop.js +30 -6
  21. package/dist/guest-runtime-desktop.js.map +1 -1
  22. package/dist/guest-runtime-main.js +2 -1
  23. package/dist/guest-runtime-main.js.map +1 -1
  24. package/dist/guest-runtime.d.ts +1 -1
  25. package/dist/guest-runtime.js +5 -3
  26. package/dist/guest-runtime.js.map +1 -1
  27. package/dist/init-templates.d.ts +6 -1
  28. package/dist/init-templates.js +39 -3
  29. package/dist/init-templates.js.map +1 -1
  30. package/dist/init.d.ts +6 -1
  31. package/dist/init.js +35 -3
  32. package/dist/init.js.map +1 -1
  33. package/dist/lab-engine.js +1 -1
  34. package/dist/lab-engine.js.map +1 -1
  35. package/dist/lab-summary.d.ts +4 -0
  36. package/dist/lab-summary.js +5 -1
  37. package/dist/lab-summary.js.map +1 -1
  38. package/dist/local-firecracker-desktop.js +13 -10
  39. package/dist/local-firecracker-desktop.js.map +1 -1
  40. package/dist/local-runtime-release.js +8 -8
  41. package/dist/observer-app.html +1 -1
  42. package/dist/program.js +9 -1
  43. package/dist/program.js.map +1 -1
  44. package/dist/restricted-codex-participant.js +3 -3
  45. package/dist/restricted-codex-participant.js.map +1 -1
  46. package/dist/restricted-codex-policy.d.ts +1 -0
  47. package/dist/restricted-codex-policy.js.map +1 -1
  48. package/dist/restricted-codex-session.js +11 -3
  49. package/dist/restricted-codex-session.js.map +1 -1
  50. package/dist/tui-app.js +16 -16
  51. package/docs/architecture/local-browser-runtime.md +25 -5
  52. package/docs/contracts/schemas.md +8 -1
  53. package/docs/goals/current.md +3 -3
  54. package/docs/ramp/README.md +4 -1
  55. package/docs/release/0.100.0-local-setup.md +31 -0
  56. package/package.json +1 -1
@@ -18,8 +18,22 @@ and account restrictions. Docker access is an administrative capability.
18
18
  Humanish does not install Docker on Linux or change host permissions. On Mac,
19
19
  setup installs Docker only inside the dedicated Lima host.
20
20
 
21
- Start your app on loopback, then save a lab such as
22
- `.humanish/labs/local-browser.yaml`:
21
+ Configure the starter while initializing the project, then start your app on
22
+ the same loopback URL:
23
+
24
+ ```sh
25
+ npx humanish init --yes \
26
+ --local-browser http://127.0.0.1:3000 \
27
+ --local-mission "Create a note and explain anything confusing about saving it"
28
+ npx humanish doctor --lab local-browser
29
+ npx humanish lab run local-browser
30
+ ```
31
+
32
+ `init` also writes `humanish/labs/local-browser.yaml` with safe defaults when
33
+ the two options are omitted. The options provide the normal setup path for the
34
+ app URL and mission on first setup. If the file already exists, `init` preserves
35
+ it and warns that these options were skipped; edit the existing manifest to
36
+ change its URL or mission. The resulting lab has this shape:
23
37
 
24
38
  ```yaml
25
39
  schema: humanish.lab.v2
@@ -42,10 +56,9 @@ execution:
42
56
  ```
43
57
 
44
58
  ```sh
45
- npx humanish init --yes
46
59
  npx humanish runtime status --json
47
- npx humanish doctor --lab .humanish/labs/local-browser.yaml --json
48
- npx humanish lab run .humanish/labs/local-browser.yaml
60
+ npx humanish doctor --lab local-browser --json
61
+ npx humanish lab run local-browser
49
62
  ```
50
63
 
51
64
  The first live run downloads the pinned runtime archive (about 569 MiB on x64 or
@@ -68,6 +81,13 @@ For API billing and its supported caps, use `type: openai-computer-use`, remove
68
81
  default. Neither path silently falls back to another provider or hosted desktop.
69
82
  Existing labs without `execution.target: local` retain their previous behavior.
70
83
 
84
+ Before handing the desktop to the participant, the guest navigates to the
85
+ selected app and waits up to 30 seconds for the initial document's
86
+ `DOMContentLoaded` event, then allows a bounded paint. It does not wait for app
87
+ data, images or network idle: the app's own loading screen remains observable.
88
+ Navigation failures and timeouts fail startup and release the owned desktop.
89
+ Later participant actions and observations do not use this startup wait.
90
+
71
91
  ## Current limits
72
92
 
73
93
  - Linux x64 or M3-or-newer Mac with native ARM64 Node and Lima. The installed
@@ -3,7 +3,7 @@
3
3
  Date: 2026-06-02 (current-state note updated 2026-07-14)
4
4
 
5
5
  Status: reference map for the major contracts shipped through source version
6
- `0.99.1`; it is not an exhaustive inventory of command/result envelopes. Exported types,
6
+ `0.100.0`; it is not an exhaustive inventory of command/result envelopes. Exported types,
7
7
  schema constants, parsers, and validators in `src/` are authoritative. Rows
8
8
  marked "reserved" name layering intent only — no code emits or validates them
9
9
  yet. Do not emit a reserved schema.
@@ -768,6 +768,13 @@ scenario:
768
768
 
769
769
  ## Actor Trace
770
770
 
771
+ Failed account participant requests may include an optional `failurePhase` in
772
+ `providerRequests`, identifying startup, the named Codex setup RPC, `turn/start`,
773
+ `response`, or cleanup. It is a finite local classification, never raw provider
774
+ text. Older receipts without it remain valid. The phase does not replace the
775
+ separate dispatch, usage, or cleanup evidence, and does not establish the cause
776
+ of a timeout. Participant outcome text includes the phase when available.
777
+
771
778
  Actors execute or simulate the trial. Actor evidence is the provider-neutral
772
779
  `humanish.actor-trace.v1` (`src/actor-contract.ts`): Codex app-server items,
773
780
  Claude Agent SDK blocks, pi events, computer-use cycles, scripted browser
@@ -1,9 +1,9 @@
1
1
  # Current Goals
2
2
 
3
- Status date: 2026-09-24. Release baseline: `0.99.1`.
3
+ Status date: 2026-09-25. Release baseline: `0.100.0`.
4
4
 
5
5
  This page guides work on current merged source. Published behavior is described
6
- in the [release notes](../release/0.99.1-action-recovery.md).
6
+ in the [release notes](../release/0.100.0-local-setup.md).
7
7
  The [September 9 history](https://github.com/danielgwilson/humanish/blob/main/docs/goals/current-history-2026-09-09.md)
8
8
  preserves the former status log; its queues do not supersede this page.
9
9
 
@@ -88,7 +88,7 @@ requires decision-equivalent retained evidence and a real deletion branch.
88
88
  No first-party deletion branch has met that gate. Public demonstrations do not
89
89
  substitute for it.
90
90
 
91
- ## Current Program Truth (source `0.99.1`)
91
+ ## Current Program Truth (source `0.100.0`)
92
92
 
93
93
  | Surface | Available in merged source | Remaining boundary |
94
94
  | --- | --- | --- |
@@ -2,7 +2,7 @@
2
2
 
3
3
  Status: public-safe contributor and agent ramp.
4
4
 
5
- Package/source version in this tree: `0.99.1` (2026-09-24). The Observer is phone-usable as a stated requirement (observer/AGENTS.md); interactive primitives start from Base UI. The Observer renderer is the observer/ workspace artifact only; the legacy string-concat renderer was deleted at cutover (#426), and rollback is a version pin to 0.42.0. The containment boundary introduced in
5
+ Package/source version in this tree: `0.100.0` (2026-09-25). The Observer is phone-usable as a stated requirement (observer/AGENTS.md); interactive primitives start from Base UI. The Observer renderer is the observer/ workspace artifact only; the legacy string-concat renderer was deleted at cutover (#426), and rollback is a version pin to 0.42.0. The containment boundary introduced in
6
6
  `0.15.1` remains in force: managed run and output paths bind to validated
7
7
  physical filesystem identities, and stored provider IDs are evidence, not
8
8
  cleanup authority. The bundled OSS meta-lab is dry-run only until
@@ -54,6 +54,9 @@ If a change does not improve one of those loops, it probably belongs elsewhere.
54
54
 
55
55
  ## Current State
56
56
 
57
+ The [0.100.0 release note](../release/0.100.0-local-setup.md) describes local
58
+ browser setup discovery, initial navigation readiness and Codex failure stages.
59
+
57
60
  The [0.99.1 release note](../release/0.99.1-action-recovery.md) describes
58
61
  participant recovery from browser actions rejected before dispatch.
59
62
 
@@ -0,0 +1,31 @@
1
+ # 0.100.0 — Local study setup and startup reliability
2
+
3
+ Initialize a local browser study for your app without writing its lab manifest:
4
+
5
+ ```sh
6
+ humanish init --yes --local-browser http://127.0.0.1:3000 \
7
+ --local-mission "Create a note and find it again"
8
+ humanish doctor --lab local-browser
9
+ humanish run local-browser
10
+ ```
11
+
12
+ The starter uses local Firecracker browsers and the supported Codex account
13
+ login. Model inference remains remote and consumes account quota; E2B and OpenAI
14
+ API keys are unnecessary for this route. Linux needs local Docker/KVM/TUN;
15
+ supported Apple Silicon Macs use Lima. Init and the TUI explain prerequisites
16
+ and reuse the CLI's readiness checks. Existing lab files are preserved; if the
17
+ local starter already exists, edit its URL and mission in
18
+ `humanish/labs/local-browser.yaml` instead of rerunning the init flags.
19
+ The free preview and hosted starter remain available. Local dry runs work without
20
+ starting a desktop or requesting a model turn.
21
+
22
+ The first local participant capture now follows the target document's
23
+ DOMContentLoaded event and a paint. Previously a fixed 500 ms wait could expose
24
+ the runtime's starter page. Navigation is bounded, supports redirects, and
25
+ reports startup failures; it does not wait for all app data or subsequent loads.
26
+ Updated x64 and ARM64 runtime images carry the initial-navigation change.
27
+
28
+ Failed account participant requests retain their finite execution stage, such
29
+ as `thread/start`, in the recording and outcome text. Older recordings remain
30
+ readable. This adds diagnostic evidence without changing retry or deadline
31
+ behavior; it does not claim the cause of a past timeout is known.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "humanish",
3
- "version": "0.99.1",
3
+ "version": "0.100.0",
4
4
  "description": "Open-source-safe CLI for persona simulation, observer review, and public-safe feedback drafts.",
5
5
  "author": "Daniel G Wilson <daniel@danielgwilson.com>",
6
6
  "keywords": [