humanish 0.15.2 → 0.15.3

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 (40) hide show
  1. package/README.md +9 -4
  2. package/dist/actor-contract.d.ts +2 -3
  3. package/dist/actor-contract.js +6 -7
  4. package/dist/actor-contract.js.map +1 -1
  5. package/dist/actor-registry.d.ts +4 -4
  6. package/dist/actor-registry.js +8 -7
  7. package/dist/actor-registry.js.map +1 -1
  8. package/dist/artifact-reference.js +1 -1
  9. package/dist/artifact-reference.js.map +1 -1
  10. package/dist/concurrent-shared-world-lab.js +4 -4
  11. package/dist/concurrent-shared-world-lab.js.map +1 -1
  12. package/dist/e2b-terminal-lab.d.ts +18 -20
  13. package/dist/e2b-terminal-lab.js +28 -28
  14. package/dist/e2b-terminal-lab.js.map +1 -1
  15. package/dist/lab-config.d.ts +25 -26
  16. package/dist/lab-config.js +6 -6
  17. package/dist/lab-config.js.map +1 -1
  18. package/dist/lab-engine.d.ts +1 -1
  19. package/dist/lab-engine.js +8 -10
  20. package/dist/lab-engine.js.map +1 -1
  21. package/dist/program.js +1 -1
  22. package/dist/program.js.map +1 -1
  23. package/dist/terminal-agent-actor.d.ts +12 -7
  24. package/dist/terminal-agent-actor.js +18 -16
  25. package/dist/terminal-agent-actor.js.map +1 -1
  26. package/docs/architecture/actor-contract.md +32 -21
  27. package/docs/architecture/observer.md +15 -9
  28. package/docs/architecture/state-driven-executor.md +3 -3
  29. package/docs/architecture/terminal-product-lane.md +29 -25
  30. package/docs/contracts/adapter-fixtures.md +4 -2
  31. package/docs/contracts/core.md +9 -4
  32. package/docs/contracts/feedback.md +4 -2
  33. package/docs/contracts/policy.md +5 -3
  34. package/docs/contracts/run-bundle.md +5 -3
  35. package/docs/contracts/schemas.md +34 -23
  36. package/docs/goals/current.md +67 -18
  37. package/docs/ramp/README.md +32 -13
  38. package/docs/release/open-source-readiness.md +5 -4
  39. package/docs/release/public-readiness-standard.md +6 -1
  40. package/package.json +1 -1
@@ -2,9 +2,10 @@
2
2
 
3
3
  Status: public-safe contributor and agent ramp.
4
4
 
5
- Current safety state: `0.15.1` (2026-07-14). Managed run and output paths bind
6
- to validated physical filesystem identities. Stored provider IDs are evidence,
7
- not cleanup authority. The bundled OSS meta-lab is dry-run only until
5
+ Package/source version in this tree: `0.15.3` (2026-07-14). 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 pluggable actor registry with four registered actors
73
- (`src/actor-registry.ts`); on the computer-use routes `actors[0].type` is a
74
- real dispatch key;
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
- - live `--app-url` browser proof now supports app-specific executable
89
- `browser.steps` in `humanish/scenarios/*.yaml`, with headed provider-backed
90
- public proof against two app/tool targets;
91
- - live PTY and Codex UI lanes need stronger completion health;
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
- - Observer evidence has real screenshots/traces for browser app proof; richer
96
- multi-step product journeys and broader multi-persona matrices remain the next
97
- gap.
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 or explicitly approved public maintainer emails;
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 should be configured for GitHub Actions before cutting the
176
- next tag:
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
- Future automated release flow after trusted publishing is configured:
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 addresses.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "humanish",
3
- "version": "0.15.2",
3
+ "version": "0.15.3",
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": [