humanish 0.99.1 → 0.100.1

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 (66) hide show
  1. package/README.md +25 -4
  2. package/dist/actor-contract.d.ts +3 -1
  3. package/dist/actor-contract.js +6 -3
  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-policy.d.ts +0 -2
  45. package/dist/restricted-codex-participant-policy.js +2 -3
  46. package/dist/restricted-codex-participant-policy.js.map +1 -1
  47. package/dist/restricted-codex-participant.d.ts +2 -2
  48. package/dist/restricted-codex-participant.js +46 -39
  49. package/dist/restricted-codex-participant.js.map +1 -1
  50. package/dist/restricted-codex-policy.d.ts +1 -0
  51. package/dist/restricted-codex-policy.js.map +1 -1
  52. package/dist/restricted-codex-session.d.ts +6 -2
  53. package/dist/restricted-codex-session.js +279 -206
  54. package/dist/restricted-codex-session.js.map +1 -1
  55. package/dist/restricted-codex-transport.d.ts +4 -2
  56. package/dist/restricted-codex-transport.js +14 -2
  57. package/dist/restricted-codex-transport.js.map +1 -1
  58. package/dist/tui-app.js +16 -16
  59. package/docs/architecture/local-browser-runtime.md +25 -5
  60. package/docs/architecture/restricted-codex-analysis.md +14 -5
  61. package/docs/contracts/schemas.md +8 -1
  62. package/docs/goals/current.md +3 -3
  63. package/docs/ramp/README.md +7 -1
  64. package/docs/release/0.100.0-local-setup.md +31 -0
  65. package/docs/release/0.100.1-participant-continuity.md +20 -0
  66. 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
@@ -36,11 +36,20 @@ host RPCs and asynchronous question messages before accepting any report. The
36
36
  actual notification/denial captures and provenance are in
37
37
  [`tests/fixtures/restricted-codex`](https://github.com/danielgwilson/humanish/blob/46330116726f74080fa18947c36da4fb4b333805/tests/fixtures/restricted-codex/README.md).
38
38
 
39
- Each request owns a separate child process, temporary home and fresh thread;
40
- participant, analyst and readiness requests may run concurrently. An unresolved
41
- child process blocks new requests until its exit is confirmed. Each thread receives
42
- one turn. Evidence is not silently
43
- downselected: at most 128 images, 20 MiB decoded image data, and 32 MiB serialized
39
+ Each analyst or readiness request owns a separate child process, temporary home
40
+ and fresh thread. Participants use the same launcher with one process and thread
41
+ for their entire interaction and closing feedback; successive turns append the
42
+ current screenshot, context and action acknowledgments to that conversation.
43
+ Codex manages context compaction. Humanish does not replace it with a rolling
44
+ history window or restart a failed conversation without its memory. Participant
45
+ threads never share state with each other or the analyst.
46
+
47
+ An unresolved child process blocks new sessions until its exit is confirmed.
48
+ Limits and deadlines apply to each request, including startup on the first turn.
49
+ Thread-cumulative token usage is converted to per-turn usage before accounting.
50
+ The qualified CLI omits compaction requests from its thread totals. A turn that
51
+ compacts therefore retains known counts but records incomplete usage.
52
+ Evidence is not silently downselected: at most 128 images, 20 MiB decoded image data, and 32 MiB serialized
44
53
  request data are admitted. Generated report text is limited to 2 MiB. Raw input
45
54
  notifications echo image data URLs, so their frame budget is the larger of 2 MiB
46
55
  or the admitted serialized packet plus 1 MiB; total stdout is bounded separately
@@ -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.1`; 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.1`.
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.1-participant-continuity.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.1`)
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.1` (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,12 @@ 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.1 release note](../release/0.100.1-participant-continuity.md) describes
58
+ continuing local participant conversations and per-turn usage accounting.
59
+
60
+ The [0.100.0 release note](../release/0.100.0-local-setup.md) describes local
61
+ browser setup discovery, initial navigation readiness and Codex failure stages.
62
+
57
63
  The [0.99.1 release note](../release/0.99.1-action-recovery.md) describes
58
64
  participant recovery from browser actions rejected before dispatch.
59
65
 
@@ -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.
@@ -0,0 +1,20 @@
1
+ # 0.100.1 — Continuing participant conversations
2
+
3
+ Local Codex participants now keep one conversation for their entire study,
4
+ including closing feedback. Previously, each screenshot started a new thread
5
+ with only eight turns of summarized history. Earlier observations, actions and
6
+ participant context now remain in the Codex conversation, with Codex managing
7
+ context compaction.
8
+
9
+ Each participant has its own process and thread. The existing browser executor,
10
+ recordings and separate post-run analyst are preserved. Request deadlines still
11
+ apply per turn; thread-cumulative token usage is converted to per-turn receipts.
12
+ Codex omits compaction requests from its thread totals, so turns that compact
13
+ retain known counts and report incomplete usage.
14
+ An interrupted or failed participant closes its session rather than silently
15
+ restarting with empty memory. Dollar usage remains unknown for account-backed
16
+ inference.
17
+
18
+ Existing E2B/API and hosted Codex participants already continued their
19
+ conversations and retain those paths. Older Observer recordings remain readable.
20
+ No setup changes or Firecracker image downloads are required for this fix.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "humanish",
3
- "version": "0.99.1",
3
+ "version": "0.100.1",
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": [