humanish 0.85.1 → 0.86.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.
- package/dist/concurrent-shared-world-lab.d.ts +1 -1
- package/dist/concurrent-shared-world-lab.js +13 -1
- package/dist/concurrent-shared-world-lab.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +7 -2
- package/dist/cua-actor-lab.js +28 -3
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/e2b-desktop-launch.d.ts +4 -1
- package/dist/e2b-desktop-launch.js +31 -8
- package/dist/e2b-desktop-launch.js.map +1 -1
- package/dist/e2b-terminal-lab.d.ts +1 -1
- package/dist/e2b-terminal-lab.js +13 -2
- package/dist/e2b-terminal-lab.js.map +1 -1
- package/dist/export.js +1 -1
- package/dist/export.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lab-config.d.ts +4 -0
- package/dist/lab-config.js +18 -0
- package/dist/lab-config.js.map +1 -1
- package/dist/lab-engine.js +24 -1
- package/dist/lab-engine.js.map +1 -1
- package/dist/observer-app.html +9 -9
- package/dist/observer.d.ts +3 -1
- package/dist/observer.js +7 -4
- package/dist/observer.js.map +1 -1
- package/dist/oss-lab.d.ts +1 -1
- package/dist/oss-meta-lab.d.ts +1 -1
- package/dist/oss-meta-lab.js.map +1 -1
- package/dist/participant-assignment.d.ts +12 -0
- package/dist/participant-assignment.js +15 -0
- package/dist/participant-assignment.js.map +1 -0
- package/dist/run.d.ts +13 -1
- package/dist/run.js +11 -0
- package/dist/run.js.map +1 -1
- package/dist/scripted-browser-lab.d.ts +1 -1
- package/dist/scripted-browser-lab.js +9 -0
- package/dist/scripted-browser-lab.js.map +1 -1
- package/dist/shared-world-lab.d.ts +5 -2
- package/dist/shared-world-lab.js +13 -1
- package/dist/shared-world-lab.js.map +1 -1
- package/docs/architecture/task-protocol-support.md +35 -0
- package/docs/contracts/run-bundle.md +33 -0
- package/docs/contracts/schemas.md +1 -1
- package/docs/goals/current.md +5 -1
- package/docs/ramp/README.md +10 -1
- package/docs/release/0.86.0-participant-evidence.md +50 -0
- package/docs/release/0.86.1-task-preflight-saved-recordings.md +40 -0
- package/package.json +4 -3
|
@@ -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.
|
|
6
|
+
`0.86.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.
|
package/docs/goals/current.md
CHANGED
|
@@ -29,11 +29,15 @@ 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.
|
|
32
|
+
## Current Program Truth (source `0.86.1`)
|
|
33
33
|
|
|
34
34
|
The package source and repository implementation in this tree agree on these
|
|
35
35
|
points:
|
|
36
36
|
|
|
37
|
+
**Declared tasks and saved recordings, 2026-09-09 (#737, #738).** Task declarations now fail preflight when the execution path cannot consume them, before hooks, processes or paid allocation. Portable HTML exports stay saved recordings over HTTP, including snapshots captured while a participant was running. Ordinary served runs still report real update failures. See the [0.86.1 release note](../release/0.86.1-task-preflight-saved-recordings.md).
|
|
38
|
+
|
|
39
|
+
**Participant evidence context, 2026-09-09 (#733).** New runs preserve each participant's authored mission and lane focus. The Observer distinguishes individual actions within a capture interval, including links and saved moments, and labels the capture's time relative to the action. Supported desktop SDK startup cleanup shares a bounded result between SDK-internal cleanup and Humanish's fallback (#734). See the [0.86.0 release note](../release/0.86.0-participant-evidence.md).
|
|
40
|
+
|
|
37
41
|
**Observer review continuity, 2026-09-09 (#731).** The run library opens during player/comparison review. Comparison frames link into the player and return to the saved alignment and cursor; participant names stay consistent. Explicit thinking filters reveal narration, and run/setup notices remain inspectable separately from frame-linked findings. See the [0.85.1 release note](../release/0.85.1-observer-continuity.md).
|
|
38
42
|
|
|
39
43
|
**Observer watching and review, 2026-09-09 (#723, #724, #726, #728).** Grid previews preserve complete screens at a shared height, with compact captions and controls below the evidence. Run activity, live viewing, recorded replay and update freshness are distinct. Seeking, refresh and incoming captures preserve the selected viewing intent. The player adds elapsed-time review, zoom, saved moments and participant/cross-run comparison. The built TUI and observe serve existing evidence; exports contain no runtime desktop grants. See the [0.85.0 release note](../release/0.85.0-observer-review.md) for capabilities, acceptance evidence and limits.
|
package/docs/ramp/README.md
CHANGED
|
@@ -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.
|
|
5
|
+
Package/source version in this tree: `0.86.1` (2026-09-09). 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
|
|
@@ -47,6 +47,15 @@ If a change does not improve one of those loops, it probably belongs elsewhere.
|
|
|
47
47
|
|
|
48
48
|
## Current State
|
|
49
49
|
|
|
50
|
+
The [0.86.1 release note](../release/0.86.1-task-preflight-saved-recordings.md)
|
|
51
|
+
describes task preflight on unsupported execution paths and saved HTML recordings
|
|
52
|
+
that remain snapshots when served over HTTP.
|
|
53
|
+
|
|
54
|
+
The [0.86.0 release note](../release/0.86.0-participant-evidence.md) describes
|
|
55
|
+
participant assignments, action-specific replay links and bounded cleanup with
|
|
56
|
+
the current desktop SDK. Old runs without assignment fields remain readable;
|
|
57
|
+
the Observer labels that absence instead of borrowing another participant's goal.
|
|
58
|
+
|
|
50
59
|
Humanish has a working public package shape and a safe first-run path:
|
|
51
60
|
|
|
52
61
|
```bash
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Humanish 0.86.0: know which assignment and action you are reviewing
|
|
2
|
+
|
|
3
|
+
The Observer now shows each participant's assigned mission and lane focus.
|
|
4
|
+
Expand **Assigned task** in the player or participant details to read the
|
|
5
|
+
instructions. Computer-use runs also include their participant-facing task
|
|
6
|
+
goals. Hidden success checks and runtime access details stay outside this
|
|
7
|
+
assignment. Older recordings explicitly say when an assignment was not recorded.
|
|
8
|
+
|
|
9
|
+
Selecting an activity entry now selects that entry's identity, timestamp and
|
|
10
|
+
coordinate pin. Two clicks between the same screenshots can be inspected
|
|
11
|
+
separately. The image remains the recorded capture; its label explains whether
|
|
12
|
+
its timestamp is before, after or equal to the selected entry's timestamp.
|
|
13
|
+
Missing timestamps stay explicit. **Show capture interval** returns to the
|
|
14
|
+
complete interval, and **Next action** visits actions within the same interval.
|
|
15
|
+
|
|
16
|
+
Copied links and local saved moments retain the selected action. Saved entries
|
|
17
|
+
include subsecond timestamps and their recorded order, so repeated clicks or
|
|
18
|
+
keypresses remain distinguishable. A missing saved entry reports its absence.
|
|
19
|
+
On phones, the player keeps the selected participant's name above the evidence.
|
|
20
|
+
|
|
21
|
+
This release also supports the current `@e2b/desktop` 2.4.0 startup cleanup path.
|
|
22
|
+
If startup fails after an instance is acquired, the SDK's internal kill and
|
|
23
|
+
Humanish's fallback share one cleanup result bounded by the lower of the
|
|
24
|
+
caller's request timeout and ten seconds. Unconfirmed cleanup prevents another
|
|
25
|
+
allocation. Successful creation restores normal teardown behavior. Older
|
|
26
|
+
supported SDKs retain their cleanup protection.
|
|
27
|
+
|
|
28
|
+
Install with `npm install -g humanish@0.86.0`. Reopen an existing run with
|
|
29
|
+
`humanish observe --run RUN`, or regenerate its HTML export, to update its viewer.
|
|
30
|
+
Updating the viewer cannot reconstruct assignments absent from the original run.
|
|
31
|
+
|
|
32
|
+
## Verification and limits
|
|
33
|
+
|
|
34
|
+
The [retained study receipt](https://github.com/danielgwilson/humanish/blob/main/docs/goals/observer-qol/receipts/2026-09-09-participant-context.md)
|
|
35
|
+
records the two-participant app study, actual-recording browser review and two
|
|
36
|
+
hosted SDK startup-fault probes, including their incomplete outcomes and limits.
|
|
37
|
+
|
|
38
|
+
Assignment tests cover computer-use, shared-world and terminal producers,
|
|
39
|
+
including redaction, old bundles and hidden-field exclusion. Shared-world and
|
|
40
|
+
terminal routes retain their mission and role instructions; they do not expose
|
|
41
|
+
unexecuted manifest tasks as participant assignments. Browser checks cover
|
|
42
|
+
action selection, refresh, save/recall and phone context in the production
|
|
43
|
+
artifact. SDK conformance uses the actual installed create/start implementation
|
|
44
|
+
with controlled method faults on the current, older and minimum supported peers.
|
|
45
|
+
|
|
46
|
+
Screenshot replay remains sparse. This change does not add continuous video,
|
|
47
|
+
infer participant thoughts, or certify physical mobile input. A cleanup deadline
|
|
48
|
+
does not establish ownership before the SDK returns a handle or prove provider
|
|
49
|
+
reclamation after an unconfirmed response. Saved moments remain local to the
|
|
50
|
+
browser.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Humanish 0.86.1: enforce declared tasks and preserve saved recordings
|
|
2
|
+
|
|
3
|
+
Humanish now refuses a task protocol when the chosen execution path cannot run
|
|
4
|
+
it. Previously, a shared-world, terminal, scripted or synthetic lab could accept
|
|
5
|
+
`actors[0].tasks` and then omit those tasks during execution. Preflight now names
|
|
6
|
+
the unsupported field before creating a run or starting hooks, processes,
|
|
7
|
+
desktops or model requests. Remove `tasks` only when you intend a mission-only
|
|
8
|
+
study, or choose a supported per-lane computer-use route.
|
|
9
|
+
|
|
10
|
+
The same check protects direct library callers. Per-lane computer-use tasks
|
|
11
|
+
remain supported, including `local-agent`, `local-app` and `desktop-cli` paths.
|
|
12
|
+
Tasks on a second or later actor are rejected because current runners consume
|
|
13
|
+
the first actor. The [support matrix](../architecture/task-protocol-support.md)
|
|
14
|
+
describes the execution boundaries and structured errors.
|
|
15
|
+
|
|
16
|
+
Portable HTML exports now identify themselves as **Saved recording**, including
|
|
17
|
+
when opened from a website. They do not request a live feed, show a retry warning
|
|
18
|
+
for a missing endpoint, or open a desktop preview from a recording captured
|
|
19
|
+
while the participant was running. Recorded outcomes, timestamps and images
|
|
20
|
+
remain intact. Ordinary `humanish observe` and `humanish serve` pages still
|
|
21
|
+
request updates and report real connection failures.
|
|
22
|
+
|
|
23
|
+
Install with `npm install -g humanish@0.86.1`. Regenerate an existing export with
|
|
24
|
+
`humanish export --run RUN --format html` to use the corrected viewer. Existing
|
|
25
|
+
HTML files keep the behavior of the version that produced them.
|
|
26
|
+
|
|
27
|
+
## Verification and limits
|
|
28
|
+
|
|
29
|
+
The task preflight proof exercises unsupported lab shapes through the compiled
|
|
30
|
+
CLI with provider, network and subprocess operations denied. Parser and direct
|
|
31
|
+
runner tests also cover supported CUA paths and mission-only execution. These
|
|
32
|
+
are refusal and compatibility checks; they do not establish task support in
|
|
33
|
+
the rejected engines.
|
|
34
|
+
|
|
35
|
+
Production browser checks use a retained real recording over HTTP and from a
|
|
36
|
+
local file at desktop and phone widths. Controls cover ordinary served pages,
|
|
37
|
+
legacy exports and a snapshot captured while running. Snapshot checks verify
|
|
38
|
+
that no feed, history or live desktop request occurs; served controls preserve
|
|
39
|
+
the visible connection failure. No run-data schema or original study result
|
|
40
|
+
changes, and this release adds no continuous video or physical-device proof.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "humanish",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.86.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,8 +50,9 @@
|
|
|
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 cli:startup:test && pnpm tui:smoke",
|
|
53
|
+
"check": "pnpm typecheck && pnpm test && pnpm tui:test && pnpm build && pnpm cli:startup:test && pnpm cli:preflight:test && pnpm tui:smoke",
|
|
54
54
|
"cli:startup:test": "node scripts/terminal-startup-exit-proof.mjs",
|
|
55
|
+
"cli:preflight:test": "node scripts/task-route-preflight-proof.mjs",
|
|
55
56
|
"humanish": "tsx src/cli.ts",
|
|
56
57
|
"pack:dry-run": "npm pack --dry-run",
|
|
57
58
|
"prepack": "pnpm build",
|
|
@@ -108,7 +109,7 @@
|
|
|
108
109
|
},
|
|
109
110
|
"devDependencies": {
|
|
110
111
|
"@anthropic-ai/claude-agent-sdk": "^0.3.0",
|
|
111
|
-
"@e2b/desktop": "^2.
|
|
112
|
+
"@e2b/desktop": "^2.4.0",
|
|
112
113
|
"@types/node": "^20.19.41",
|
|
113
114
|
"@types/pngjs": "^6.0.5",
|
|
114
115
|
"tsx": "^4.22.4",
|