humanish 0.83.0 → 0.83.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.
@@ -182,6 +182,14 @@ unsupported architectures, a failed download or checksum, and a failed runtime
182
182
  check stop the lane before Codex. Downloads have finite connection, transfer, and
183
183
  retry bounds within the existing five-minute bootstrap deadline.
184
184
 
185
+ The `desktop-cli` computer-use route uses this same Node/npm prerequisite when
186
+ `subject.product.install` is omitted or declares a Node command. With install
187
+ omitted, the participant arrives at an open terminal with Node/npm available;
188
+ the product remains uninstalled for them to discover and install from its public
189
+ surfaces. Runtime setup runs unkeyed and a failed bootstrap stops before the
190
+ participant starts. A declared non-Node install keeps its existing runtime
191
+ behavior. The desktop route retains its ten-minute runtime step deadline.
192
+
185
193
  ## The original command-scoped safety contract
186
194
 
187
195
  The default mode **inverts** the credential-placement default of every other E2B route.
@@ -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.83.0`; it is not an exhaustive inventory of command/result envelopes. Exported types,
6
+ `0.83.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.
@@ -1,6 +1,6 @@
1
1
  # Current Goals
2
2
 
3
- Status date: 2026-09-06 (rev 19)
3
+ Status date: 2026-09-06 (rev 20)
4
4
 
5
5
  This page is the current public-safe operating goal for `humanish`. Keep it
6
6
  short enough to reread before a coding session and concrete enough that future
@@ -29,7 +29,7 @@ study completed, reproduced, and produced a real accessibility finding via a
29
29
  keyboard-first participant
30
30
  ([docs/goals/email-gated-signup/receipts/](email-gated-signup/receipts/)).
31
31
 
32
- ## Current Program Truth (source `0.83.0`)
32
+ ## Current Program Truth (source `0.83.1`)
33
33
 
34
34
  The package source and repository implementation in this tree agree on these
35
35
  points:
@@ -50,7 +50,7 @@ The immutable 2026-06-10 proof-roadmap packet is paired with a
50
50
  | Actor execution | Six first-party registry descriptors; computer-use, scripted-browser, and terminal-product dispatch paths. `0.55.0` makes reasoning effort declarable per actor and per lane and records the resolved value on the trace (`humanish.model-settings.v1`) — it had been reachable in the provider and unreachable from a lab, so every prior run silently took the provider default | Public out-of-tree actor registration and conformance certification |
51
51
  | Persona scale | Bounded per-lane-world fan-out, including differentiated lanes and roster expansion; kept deterministic and live receipts | A completed first-party deletion branch that replaces a bespoke generic harness |
52
52
  | Shared state | Sequential and concurrent single-origin shared-world execution; sequential has deterministic proof, concurrent has deterministic and kept live proof | Multi-origin shared-world runtime/schema support; real-adopter deletion proof |
53
- | Subject sources/routes | Six declared sources: `this-repo`, `clone`, `app-url`, `local-app`, `terminal-product`, and `local-tree`; support is route-specific and `this-repo` remains dry-run-only | One centralized run/resource lifecycle boundary across all routes |
53
+ | Subject sources/routes | Seven declared sources: `this-repo`, `clone`, `app-url`, `local-app`, `terminal-product`, `desktop-cli`, and `local-tree`; support is route-specific and `this-repo` remains dry-run-only | One centralized run/resource lifecycle boundary across all routes |
54
54
  | Public proof | A legible four-persona Observer hero from a verified real public-application study (commit-pinned drawDB) shipped in the npm payload (`0.16.0`) | Coverage beyond a single studied subject; the stratified breadth panel remains unbuilt |
55
55
  | OSS meta-lab | Dry-run contract and separate disposable smoke harness | Live meta-lab execution; disabled until repository instructions and actor credentials have an isolated boundary |
56
56
  | Observer serving | `watch`/`observe` loopback servers plus `serve` — the run-library surface with loopback default, capability-link exposure, `share_ready`-gated open mode, and optional operator-run tunnel; streams never served remotely | A remote live-stream (`--live-streams`) design; a persistent capability-link store |
@@ -471,6 +471,23 @@ Stop and correct course if:
471
471
 
472
472
  ## Best Next Work
473
473
 
474
+ **2026-09-06 (0.83.1).** Desktop CLI studies without a declared product install
475
+ now prepare Node/npm before participant entry, while leaving the product
476
+ uninstalled. Two real stock desktops began without the runtime and reached the
477
+ entry hook with Node/npm/npx available in ordinary and sudo shells. The hook
478
+ then stopped deliberately without starting a participant or model. See the
479
+ [runtime conformance receipt](https://github.com/danielgwilson/humanish/blob/main/docs/goals/computer-use-actor/receipts/desktop-cli-runtime-2026-09-06.md).
480
+
481
+ Terminal startup failures preserve confirmed cleanup from the desktop startup
482
+ guard. An existing empty terminal event log is valid only when both embedded
483
+ and retained terminal traces declare zero events. Unknown cleanup stays
484
+ unproven, and a failed startup remains a failed run. The compiled CLI regression
485
+ checks verified failure evidence and natural process exit using the installed
486
+ SDK's debug constructor with network access blocked. Two hosted startup-fault
487
+ controls also verified failed bundles, prompt natural exit and exact sandbox
488
+ absence with real provider transports. See the
489
+ [startup evidence receipt](https://github.com/danielgwilson/humanish/blob/main/docs/goals/computer-use-actor/receipts/terminal-startup-evidence-2026-09-06.md).
490
+
474
491
  **2026-09-06 (0.83.0).** First-party OpenAI computer-use actors accept
475
492
  an optional per-response `maxOutputTokens` setting. Two independent lanes and two
476
493
  sequential shared-world roles forwarded the declared limit in real requests; all
@@ -646,9 +663,10 @@ are available; the documentation gap from #513 is closed.
646
663
  Remaining engineering work includes:
647
664
 
648
665
  - #581: #665 already reclaims acquired desktop instances when startup fails,
649
- and #666 handles detached screenshot cleanup errors. Remaining boundaries are
650
- allocation ambiguity before instance acquisition, unconfirmed reclamation,
651
- and direct proof that a failed real-SDK CLI exits promptly after its result.
666
+ and #666 handles detached screenshot cleanup errors. The compiled CLI now has
667
+ deterministic exit proof and two hosted startup-fault receipts. Remaining
668
+ boundaries are allocation ambiguity before instance acquisition, unconfirmed
669
+ reclamation, and exit behavior after other provider/network failures.
652
670
  The 2.3.3 SDK update fixed the identified background stream holder; older
653
671
  optional peers still receive an advisory, so a universal no-linger claim
654
672
  would be too broad.
@@ -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.83.0` (2026-09-06). 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.83.1` (2026-09-06). 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
@@ -77,9 +77,10 @@ Implemented:
77
77
  drives a lab-owner loopback app in a hosted desktop, and `subject.source:
78
78
  clone` + `serve` clones, installs, and serves a real app in-sandbox from
79
79
  config before the actor drives it (`src/cua-actor-lab.ts`);
80
- - six declared subject sources: `this-repo` (dry-run-only), `clone`, `app-url`,
80
+ - seven declared subject sources: `this-repo` (dry-run-only), `clone`, `app-url`,
81
81
  `local-app` (library-assisted, in-process, no desktop), `terminal-product`,
82
- and `local-tree`; each route fails closed on unsupported combinations;
82
+ `desktop-cli` (computer-use participant at a terminal), and `local-tree`;
83
+ each route fails closed on unsupported combinations;
83
84
  - bounded per-lane-world fan-out (`actors[0].count`, `lanes[]`, or `roster[]`),
84
85
  backed by deterministic and kept live proof;
85
86
  - sequential/concurrent single-origin shared-world execution: sequential has
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "humanish",
3
- "version": "0.83.0",
3
+ "version": "0.83.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": [
@@ -50,7 +50,8 @@
50
50
  },
51
51
  "scripts": {
52
52
  "build": "tsc -p tsconfig.build.json && pnpm --filter humanish-observer build && pnpm --filter humanish-tui build && node scripts/finish-build.mjs",
53
- "check": "pnpm typecheck && pnpm test && pnpm tui:test && pnpm build && pnpm tui:smoke",
53
+ "check": "pnpm typecheck && pnpm test && pnpm tui:test && pnpm build && pnpm cli:startup:test && pnpm tui:smoke",
54
+ "cli:startup:test": "node scripts/terminal-startup-exit-proof.mjs",
54
55
  "humanish": "tsx src/cli.ts",
55
56
  "pack:dry-run": "npm pack --dry-run",
56
57
  "prepack": "pnpm build",