humanish 0.15.2 → 0.16.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.
- package/README.md +15 -7
- package/dist/actor-contract.d.ts +2 -3
- package/dist/actor-contract.js +6 -7
- package/dist/actor-contract.js.map +1 -1
- package/dist/actor-registry.d.ts +4 -4
- package/dist/actor-registry.js +8 -7
- package/dist/actor-registry.js.map +1 -1
- package/dist/artifact-reference.js +1 -1
- package/dist/artifact-reference.js.map +1 -1
- package/dist/concurrent-shared-world-lab.js +24 -11
- package/dist/concurrent-shared-world-lab.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +101 -4
- package/dist/cua-actor-lab.js +456 -77
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/device-presets.d.ts +4 -4
- package/dist/device-presets.js +5 -5
- package/dist/device-presets.js.map +1 -1
- package/dist/e2b-terminal-lab.d.ts +18 -20
- package/dist/e2b-terminal-lab.js +28 -28
- package/dist/e2b-terminal-lab.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lab-config.d.ts +27 -28
- package/dist/lab-config.js +6 -6
- package/dist/lab-config.js.map +1 -1
- package/dist/lab-engine.d.ts +1 -1
- package/dist/lab-engine.js +8 -10
- package/dist/lab-engine.js.map +1 -1
- package/dist/observer-assets.js +92 -15
- package/dist/observer-assets.js.map +1 -1
- package/dist/oss-meta-lab.js +2 -4
- package/dist/oss-meta-lab.js.map +1 -1
- package/dist/program.js +1 -1
- package/dist/program.js.map +1 -1
- package/dist/run.d.ts +38 -0
- package/dist/run.js +71 -1
- package/dist/run.js.map +1 -1
- package/dist/shared-world-lab.d.ts +20 -1
- package/dist/shared-world-lab.js +197 -23
- package/dist/shared-world-lab.js.map +1 -1
- package/dist/terminal-agent-actor.d.ts +12 -7
- package/dist/terminal-agent-actor.js +18 -16
- package/dist/terminal-agent-actor.js.map +1 -1
- package/docs/architecture/actor-contract.md +32 -21
- package/docs/architecture/observer.md +15 -9
- package/docs/architecture/state-driven-executor.md +3 -3
- package/docs/architecture/terminal-product-lane.md +29 -25
- package/docs/assets/humanish-drawdb-hero.png +0 -0
- package/docs/contracts/adapter-fixtures.md +4 -2
- package/docs/contracts/core.md +9 -4
- package/docs/contracts/feedback.md +4 -2
- package/docs/contracts/policy.md +5 -3
- package/docs/contracts/run-bundle.md +24 -3
- package/docs/contracts/schemas.md +34 -23
- package/docs/goals/current.md +69 -20
- package/docs/ramp/README.md +32 -13
- package/docs/release/open-source-readiness.md +5 -4
- package/docs/release/public-readiness-standard.md +6 -1
- package/package.json +1 -1
package/docs/goals/current.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Current Goals
|
|
2
2
|
|
|
3
|
-
Status date: 2026-07-14 (rev
|
|
3
|
+
Status date: 2026-07-14 (rev 15)
|
|
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
|
|
@@ -16,7 +16,39 @@ Humanish should be the open-source CLI that lets a maintainer ask:
|
|
|
16
16
|
The answer should be observable, verifiable, public-safe, and easy to turn into
|
|
17
17
|
actionable feedback.
|
|
18
18
|
|
|
19
|
-
## Current
|
|
19
|
+
## Current Program Truth (source `0.16.0`)
|
|
20
|
+
|
|
21
|
+
The package source and repository implementation in this tree agree on these
|
|
22
|
+
points:
|
|
23
|
+
|
|
24
|
+
The immutable 2026-06-10 proof-roadmap packet is paired with a
|
|
25
|
+
[current implementation checkpoint](https://github.com/danielgwilson/humanish/blob/main/docs/goals/proof-roadmap/README.md).
|
|
26
|
+
|
|
27
|
+
| Surface | Shipped | Still unproven or unbuilt |
|
|
28
|
+
| --- | --- | --- |
|
|
29
|
+
| Actor execution | Six first-party registry descriptors; computer-use, scripted-browser, and terminal-product dispatch paths | Public out-of-tree actor registration and conformance certification |
|
|
30
|
+
| 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 |
|
|
31
|
+
| 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 |
|
|
32
|
+
| 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 |
|
|
33
|
+
| Public proof | Version-pinned synthetic Observer sample shipped in the npm payload | A legible Observer hero from one verified real public-application run |
|
|
34
|
+
| 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 |
|
|
35
|
+
|
|
36
|
+
Capability proof and adopter replacement are different gates. A deterministic
|
|
37
|
+
test or kept live receipt proves that a Humanish mechanism works. The depth-axis
|
|
38
|
+
goal is met only when an adopter produces decision-equivalent evidence on a
|
|
39
|
+
green branch that deletes its bespoke generic harness and retains at most a
|
|
40
|
+
thin product-specific extension. No first-party deletion branch had met that
|
|
41
|
+
bar as of this status date.
|
|
42
|
+
|
|
43
|
+
Multi-origin shared-world has a ratified core-design direction, but the
|
|
44
|
+
implementation gate is still closed. A real adopter must first show a concrete
|
|
45
|
+
cross-origin need that the single-origin path or a downstream facade cannot
|
|
46
|
+
serve cleanly; the implementation packet then requires maintainer review before
|
|
47
|
+
build work starts. The current amendment is
|
|
48
|
+
[`docs/goals/multi-origin-shared-world/README.md`](https://github.com/danielgwilson/humanish/blob/main/docs/goals/multi-origin-shared-world/README.md);
|
|
49
|
+
the dated design packet remains unchanged.
|
|
50
|
+
|
|
51
|
+
## Current Safety Boundary
|
|
20
52
|
|
|
21
53
|
- Managed run, Observer, feedback, lab, actor-output, and source-archive paths
|
|
22
54
|
bind to validated physical filesystem identities and fail closed on unsafe
|
|
@@ -141,9 +173,9 @@ Minimum acceptance:
|
|
|
141
173
|
re-sequences the proof roadmap: a redaction redesign and an overridable
|
|
142
174
|
public-target policy are prerequisites for any decision-grade depth evidence, so
|
|
143
175
|
they land BEFORE the consumer-web-app / agent-skill depth phases. `done`
|
|
144
|
-
- Device presets (0.6.1):
|
|
176
|
+
- Device presets (0.6.1): screen/device is a real dimension, with LITERAL values copied
|
|
145
177
|
from the in-house sims (mobile 414×896 … wide 1920×1080; default `desktop` 1440×950) —
|
|
146
|
-
not guessed. `execution.desktop.device` picks the per-run
|
|
178
|
+
not guessed. `execution.desktop.device` picks the per-run hosted screen; the guessed 1280×800
|
|
147
179
|
is gone. Honest fidelity: on the E2B route only width/height render (real mobile *layout*)
|
|
148
180
|
+ the model is told its device, matching the sims' organic lanes; true touch/DPR/UA needs
|
|
149
181
|
the CDP actor. Per-*persona* device (N×devices) rides fan-out. `done`
|
|
@@ -241,8 +273,9 @@ ONE shared world.
|
|
|
241
273
|
host-side commit/dirty when the packed root is a git work tree; local-tree has no repo/publicRepo
|
|
242
274
|
field. The N actor desktops on the concurrent route still drive the harness-minted getHost URL
|
|
243
275
|
exactly as before; only the subject's provisioning + provenance source changed. The multi-origin
|
|
244
|
-
design (`docs/goals/multi-origin-shared-world/design.md`) remains a separate,
|
|
245
|
-
downstream slice.
|
|
276
|
+
design (`docs/goals/multi-origin-shared-world/design.md`) remains a separate,
|
|
277
|
+
ratified but implementation-gated downstream slice. It is not part of
|
|
278
|
+
`0.15.3`.
|
|
246
279
|
|
|
247
280
|
Adopter-driven engine features (0.11.0; surfaced by real bespoke-sim migrations):
|
|
248
281
|
|
|
@@ -302,7 +335,7 @@ Evidence hygiene and readback polish (0.12.16):
|
|
|
302
335
|
(`local_only`), while feedback draft/issue commands require `share_ready` and fail
|
|
303
336
|
closed with structured reasons. `done`
|
|
304
337
|
|
|
305
|
-
Attached CUA live Observer (
|
|
338
|
+
Attached CUA live Observer (shipped):
|
|
306
339
|
|
|
307
340
|
- Plain computer-use labs now honor the same attached `onObserverReady` lifecycle as shared-world
|
|
308
341
|
labs: a live CUA run writes an in-progress bundle before actor sessions complete, loopback
|
|
@@ -356,7 +389,7 @@ Minimum acceptance:
|
|
|
356
389
|
Make the maintainer `oss` lab report nested lane health back into the
|
|
357
390
|
top-level Observer instead of relying on a human watching the desktops.
|
|
358
391
|
|
|
359
|
-
The
|
|
392
|
+
The current safety boundary above governs this lane. The completed bullets below
|
|
360
393
|
record prior capability and evidence shape; they do not mean the live
|
|
361
394
|
entrypoint is currently enabled.
|
|
362
395
|
|
|
@@ -414,15 +447,31 @@ Stop and correct course if:
|
|
|
414
447
|
|
|
415
448
|
## Best Next Work
|
|
416
449
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
450
|
+
After the public-truth reset, take one bounded public-proof side task: capture a
|
|
451
|
+
verified, legible four-lane Observer from a commit-pinned public application.
|
|
452
|
+
That run treats the application as a study subject, not a Humanish adopter, and
|
|
453
|
+
must not imply endorsement. Stop and return to this order if the capture would
|
|
454
|
+
require an Observer redesign or broader architecture work.
|
|
455
|
+
|
|
456
|
+
The next engineering proof slice remains the first depth-axis deletion branch:
|
|
457
|
+
run an existing first-party consumer web-app study through current Humanish,
|
|
458
|
+
compare the decision outputs, and delete the adopter's bespoke generic harness
|
|
459
|
+
while retaining only a thin product extension. The public-application capture
|
|
460
|
+
does not satisfy this depth gate.
|
|
461
|
+
|
|
462
|
+
After that checkpoint, re-evaluate this order rather than treating it as an
|
|
463
|
+
automatic queue:
|
|
464
|
+
|
|
465
|
+
1. centralize run identity, history, and provider ownership behind tested
|
|
466
|
+
`RunStore` and `ResourceLease` interfaces, and make generated first-run
|
|
467
|
+
source load-bearing or explicitly optional;
|
|
468
|
+
2. complete the agent-skill deletion branch and use it to force the real
|
|
469
|
+
external extension budget;
|
|
470
|
+
3. implement multi-origin shared-world only if its adopter gate opens and the
|
|
471
|
+
ratified packet passes maintainer review;
|
|
472
|
+
4. complete the multi-app adopter deletion branch;
|
|
473
|
+
5. establish the external stratified panel.
|
|
474
|
+
|
|
475
|
+
The existing version-pinned README hero is a synthetic technical sample. It
|
|
476
|
+
proves package/Observer rendering and public-safe asset delivery, not
|
|
477
|
+
real-application evidence.
|
package/docs/ramp/README.md
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Status: public-safe contributor and agent ramp.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Package/source version in this tree: `0.16.0` (2026-08-01). The containment boundary introduced in
|
|
6
|
+
`0.15.1` remains in force: managed run and output paths bind to validated
|
|
7
|
+
physical filesystem identities, and stored provider IDs are evidence, not
|
|
8
|
+
cleanup authority. The bundled OSS meta-lab is dry-run only until
|
|
8
9
|
repository-derived instructions have an isolated credential boundary.
|
|
9
10
|
|
|
10
11
|
Use this page when you are starting cold on `humanish`. It is meant to be
|
|
@@ -69,13 +70,22 @@ Implemented:
|
|
|
69
70
|
- first-class lab manifest resolution through `humanish/labs/*.yaml` and
|
|
70
71
|
ignored `.humanish/labs/*.yaml` overlays — `humanish.lab.v2` compositions
|
|
71
72
|
(`src/lab-config.ts`), one engine, no hardcoded lab kinds;
|
|
72
|
-
- a
|
|
73
|
-
(`src/actor-registry.ts`);
|
|
74
|
-
|
|
73
|
+
- a first-party actor registry with six registered descriptors
|
|
74
|
+
(`src/actor-registry.ts`); `actors[0].type` is a real dispatch key on the
|
|
75
|
+
computer-use, scripted-browser, and terminal-product routes;
|
|
75
76
|
- a computer-use route and clone subject provider: `subject.source: app-url`
|
|
76
77
|
drives a lab-owner loopback app in a hosted desktop, and `subject.source:
|
|
77
78
|
clone` + `serve` clones, installs, and serves a real app in-sandbox from
|
|
78
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`,
|
|
81
|
+
`local-app` (library-assisted, in-process, no desktop), `terminal-product`,
|
|
82
|
+
and `local-tree`; each route fails closed on unsupported combinations;
|
|
83
|
+
- bounded per-lane-world fan-out (`actors[0].count`, `lanes[]`, or `roster[]`),
|
|
84
|
+
backed by deterministic and kept live proof;
|
|
85
|
+
- sequential/concurrent single-origin shared-world execution: sequential has
|
|
86
|
+
deterministic proof, while concurrent has deterministic and kept live proof;
|
|
87
|
+
- `subject.source: local-tree`, which packages one selected working tree with a
|
|
88
|
+
content pin before using the same provision-and-serve path as clone subjects;
|
|
79
89
|
- containment checks for managed run storage, Observer and feedback reads,
|
|
80
90
|
actor artifacts, lab discovery, Git metadata, and source archives;
|
|
81
91
|
- an OSS meta-lab dry-run contract and a separate disposable public-repo OSS
|
|
@@ -85,16 +95,25 @@ Implemented:
|
|
|
85
95
|
|
|
86
96
|
Still not good enough:
|
|
87
97
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
98
|
+
The [current proof-roadmap checkpoint](https://github.com/danielgwilson/humanish/blob/main/docs/goals/proof-roadmap/README.md)
|
|
99
|
+
supersedes implementation-status phrases in the immutable 2026-06-10 roadmap
|
|
100
|
+
packet without changing its success standard.
|
|
101
|
+
|
|
102
|
+
- capability receipts are not adopter replacement: no first-party deletion
|
|
103
|
+
branch has yet removed a bespoke generic harness while preserving
|
|
104
|
+
decision-equivalent proof;
|
|
105
|
+
- the six actor descriptors are a closed first-party union, not a supported
|
|
106
|
+
out-of-tree actor-registration API;
|
|
107
|
+
- run storage and provider-resource lifecycle logic still spans several routes
|
|
108
|
+
instead of one `RunStore` and `ResourceLease` boundary;
|
|
109
|
+
- multi-origin shared-world is a ratified design direction, but remains
|
|
110
|
+
unimplemented and gated on a real adopter proving the need;
|
|
92
111
|
- live OSS meta-lab execution remains disabled until repository-derived
|
|
93
112
|
instructions have an isolated credential boundary; historical headed-lane
|
|
94
113
|
evidence does not make the current entrypoint available;
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
|
|
114
|
+
- the README hero is a shipped, synthetic four-lane technical sample. It is not
|
|
115
|
+
proof of a real application study; a legible real-application capture remains open
|
|
116
|
+
product proof.
|
|
98
117
|
|
|
99
118
|
## First Commands
|
|
100
119
|
|
|
@@ -81,7 +81,8 @@ from a fresh clone:
|
|
|
81
81
|
- history scans have no private upstream system names, absolute maintainer paths,
|
|
82
82
|
secret patterns, or generated runtime bundles;
|
|
83
83
|
- reachable commit author and committer emails are GitHub noreply-style
|
|
84
|
-
addresses
|
|
84
|
+
addresses (including GitHub's documented `ID+USERNAME` and username-only
|
|
85
|
+
forms) or explicitly approved public maintainer emails;
|
|
85
86
|
- GitHub issues, PRs, labels, and project fields have been scanned or rewritten
|
|
86
87
|
for public-safe language.
|
|
87
88
|
|
|
@@ -172,8 +173,8 @@ order is load-bearing (the OIDC binding is exact owner/repo + workflow path):
|
|
|
172
173
|
A tag pushed before steps 1-2 fails auth (OIDC repository claim mismatch) or
|
|
173
174
|
provenance validation (package.json repository.url vs actual workflow repo).
|
|
174
175
|
|
|
175
|
-
Trusted Publishing
|
|
176
|
-
|
|
176
|
+
Trusted Publishing is configured for GitHub Actions. Verify these exact binding
|
|
177
|
+
fields before each tag and re-point them after any repository rename:
|
|
177
178
|
|
|
178
179
|
- provider: GitHub Actions
|
|
179
180
|
- repository owner: `danielgwilson`
|
|
@@ -191,7 +192,7 @@ The workflow uses:
|
|
|
191
192
|
- `npm publish --access public`;
|
|
192
193
|
- no long-lived npm token secret.
|
|
193
194
|
|
|
194
|
-
|
|
195
|
+
Automated release flow:
|
|
195
196
|
|
|
196
197
|
```bash
|
|
197
198
|
pnpm release:check
|
|
@@ -10,6 +10,7 @@ durable context future contributors and agents need.
|
|
|
10
10
|
|
|
11
11
|
- [GitHub Docs: Removing sensitive data from a repository](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)
|
|
12
12
|
- [GitHub Docs: Setting your commit email address](https://docs.github.com/en/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address)
|
|
13
|
+
- [GitHub Docs: Email addresses reference](https://docs.github.com/en/account-and-profile/reference/email-addresses-reference)
|
|
13
14
|
- [GitHub Docs: About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)
|
|
14
15
|
- [GitHub Docs: About push protection](https://docs.github.com/en/code-security/concepts/secret-security/about-push-protection)
|
|
15
16
|
- [npm Docs: package.json files field](https://docs.npmjs.com/cli/v11/configuring-npm/package-json/#files)
|
|
@@ -103,7 +104,11 @@ Noreply commit emails are preferred for privacy and consistency.
|
|
|
103
104
|
|
|
104
105
|
Allowed commit metadata:
|
|
105
106
|
|
|
106
|
-
- GitHub noreply
|
|
107
|
+
- GitHub's two documented personal-account noreply forms:
|
|
108
|
+
`ID+USERNAME@users.noreply.github.com` and
|
|
109
|
+
`USERNAME@users.noreply.github.com`. The username-only form remains valid for
|
|
110
|
+
accounts using GitHub's pre-July 18, 2017 privacy form.
|
|
111
|
+
- `github-actions[bot]@users.noreply.github.com` for GitHub Actions commits.
|
|
107
112
|
- `noreply@github.com` for GitHub-generated commits.
|
|
108
113
|
- Explicitly approved public maintainer emails.
|
|
109
114
|
|
package/package.json
CHANGED