humanish 0.93.0 → 0.94.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.
Files changed (82) hide show
  1. package/README.md +18 -3
  2. package/dist/automatic-analysis-completion.d.ts +1 -1
  3. package/dist/automatic-analysis-completion.js +2 -2
  4. package/dist/automatic-analysis-completion.js.map +1 -1
  5. package/dist/automatic-analysis-config.d.ts +3 -0
  6. package/dist/automatic-analysis-config.js +6 -3
  7. package/dist/automatic-analysis-config.js.map +1 -1
  8. package/dist/automatic-study-analysis.d.ts +2 -0
  9. package/dist/automatic-study-analysis.js +8 -2
  10. package/dist/automatic-study-analysis.js.map +1 -1
  11. package/dist/comms-catch-host.js +33 -4
  12. package/dist/comms-catch-host.js.map +1 -1
  13. package/dist/comms-email-catch.d.ts +2 -1
  14. package/dist/comms-email-catch.js +5 -2
  15. package/dist/comms-email-catch.js.map +1 -1
  16. package/dist/comms-fake-inbox.d.ts +1 -1
  17. package/dist/comms-fake-inbox.js +15 -12
  18. package/dist/comms-fake-inbox.js.map +1 -1
  19. package/dist/comms-images.d.ts +7 -0
  20. package/dist/comms-images.js +39 -0
  21. package/dist/comms-images.js.map +1 -0
  22. package/dist/comms-inbox.d.ts +7 -1
  23. package/dist/comms-inbox.js +120 -21
  24. package/dist/comms-inbox.js.map +1 -1
  25. package/dist/comms-sandbox-catch.d.ts +1 -1
  26. package/dist/comms-sandbox-catch.js +60 -11
  27. package/dist/comms-sandbox-catch.js.map +1 -1
  28. package/dist/comms-types.d.ts +9 -0
  29. package/dist/concurrent-shared-world-lab.js +6 -3
  30. package/dist/concurrent-shared-world-lab.js.map +1 -1
  31. package/dist/cua-actor-lab.js +25 -12
  32. package/dist/cua-actor-lab.js.map +1 -1
  33. package/dist/doctor-lab.d.ts +16 -0
  34. package/dist/doctor-lab.js +62 -0
  35. package/dist/doctor-lab.js.map +1 -0
  36. package/dist/e2b-terminal-lab.js +5 -2
  37. package/dist/e2b-terminal-lab.js.map +1 -1
  38. package/dist/export.js +35 -18
  39. package/dist/export.js.map +1 -1
  40. package/dist/first-run-path.js +5 -4
  41. package/dist/first-run-path.js.map +1 -1
  42. package/dist/init.js +5 -7
  43. package/dist/init.js.map +1 -1
  44. package/dist/lab-config.d.ts +8 -3
  45. package/dist/lab-config.js +27 -8
  46. package/dist/lab-config.js.map +1 -1
  47. package/dist/lab-preflight.js +1 -1
  48. package/dist/lab-preflight.js.map +1 -1
  49. package/dist/local-agent-cli.d.ts +7 -3
  50. package/dist/local-agent-cli.js +75 -16
  51. package/dist/local-agent-cli.js.map +1 -1
  52. package/dist/observer-app.html +9 -9
  53. package/dist/observer.d.ts +6 -0
  54. package/dist/observer.js +11 -2
  55. package/dist/observer.js.map +1 -1
  56. package/dist/program.js +12 -7
  57. package/dist/program.js.map +1 -1
  58. package/dist/run.d.ts +6 -1
  59. package/dist/run.js +33 -19
  60. package/dist/run.js.map +1 -1
  61. package/dist/scripted-browser-lab.js +5 -2
  62. package/dist/scripted-browser-lab.js.map +1 -1
  63. package/dist/shared-world-lab.js +5 -2
  64. package/dist/shared-world-lab.js.map +1 -1
  65. package/dist/study-analysis-engine.d.ts +5 -0
  66. package/dist/study-analysis-engine.js +11 -2
  67. package/dist/study-analysis-engine.js.map +1 -1
  68. package/dist/study-analysis-provider.d.ts +1 -1
  69. package/dist/study-analysis-provider.js +33 -3
  70. package/dist/study-analysis-provider.js.map +1 -1
  71. package/dist/study-analysis-service.d.ts +2 -0
  72. package/dist/study-analysis-service.js +4 -2
  73. package/dist/study-analysis-service.js.map +1 -1
  74. package/docs/architecture/comms-inbox.md +78 -0
  75. package/docs/contracts/schemas.md +1 -1
  76. package/docs/contracts/study-analysis.md +11 -1
  77. package/docs/goals/current.md +5 -5
  78. package/docs/product/automatic-analysis.md +13 -4
  79. package/docs/ramp/README.md +10 -1
  80. package/docs/release/0.93.1-observer-review-controls.md +24 -0
  81. package/docs/release/0.94.0-reliability.md +48 -0
  82. package/package.json +6 -2
@@ -25,7 +25,7 @@ export interface StudyAnalysisProviderResult {
25
25
  usage: StudyAnalysisTokenUsage | null;
26
26
  /** Dispatch does not imply a known charge. A failed request can still have consumed tokens. */
27
27
  dispatched: boolean;
28
- errorCode: "invalid_request" | "provider_http_error" | "provider_network_error" | "invalid_response" | "response_too_large" | "output_incomplete" | "refusal" | "cancelled" | "timeout" | null;
28
+ errorCode: "invalid_request" | "provider_http_error" | "provider_network_error" | "invalid_response" | "provider_headers_timeout" | "provider_body_timeout" | "provider_connect_timeout" | "provider_connection_reset" | "provider_dns_error" | "response_too_large" | "output_incomplete" | "refusal" | "cancelled" | "timeout" | null;
29
29
  httpStatus?: number;
30
30
  }
31
31
  export type StudyAnalysisProvider = (request: StudyAnalysisProviderRequest) => Promise<StudyAnalysisProviderResult>;
@@ -1,9 +1,34 @@
1
+ import { Agent } from "undici";
1
2
  const MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
2
3
  const MAX_REQUEST_BYTES = 32 * 1024 * 1024;
3
4
  const INPUT_IMAGE = /^data:image\/(?:png|jpeg|webp);base64,[A-Za-z0-9+/]+={0,2}$/;
4
5
  const record = (value) => value !== null && typeof value === "object" && !Array.isArray(value)
5
6
  ? value : {};
6
7
  const count = (value) => Number.isSafeInteger(value) && value >= 0 && value <= 1e12;
8
+ /** Node's fetch has a separate response-header deadline. The caller's wall-clock
9
+ * deadline must govern this one request, including uploads and body reads, without
10
+ * changing transport behavior for other requests in the process. */
11
+ class AnalysisAgent extends Agent {
12
+ dispatch(options, handler) {
13
+ return super.dispatch({ ...options, headersTimeout: 0, bodyTimeout: 0 }, handler);
14
+ }
15
+ }
16
+ /** Persist only a closed vocabulary, never an exception's prose, URL or headers. */
17
+ function networkErrorCode(error) {
18
+ const codes = {
19
+ UND_ERR_HEADERS_TIMEOUT: "provider_headers_timeout", UND_ERR_BODY_TIMEOUT: "provider_body_timeout",
20
+ UND_ERR_CONNECT_TIMEOUT: "provider_connect_timeout", ECONNRESET: "provider_connection_reset",
21
+ UND_ERR_SOCKET: "provider_connection_reset", ENOTFOUND: "provider_dns_error", EAI_AGAIN: "provider_dns_error"
22
+ };
23
+ let current = error;
24
+ for (let depth = 0; depth < 4; depth += 1) {
25
+ const value = record(current);
26
+ if (typeof value.code === "string" && Object.hasOwn(codes, value.code))
27
+ return codes[value.code];
28
+ current = value.cause;
29
+ }
30
+ return "provider_network_error";
31
+ }
7
32
  function usageOf(raw) {
8
33
  const usage = record(record(raw).usage);
9
34
  const details = record(usage.input_tokens_details);
@@ -83,13 +108,17 @@ export function createStudyAnalysisProvider(options) {
83
108
  const onAbort = () => controller.abort();
84
109
  request.signal?.addEventListener("abort", onAbort, { once: true });
85
110
  const timer = setTimeout(() => { timedOut = true; controller.abort(); }, request.timeoutMs);
111
+ const dispatcher = new AnalysisAgent();
86
112
  try {
87
113
  if (request.signal?.aborted)
88
114
  return failure("cancelled", false, "cancelled");
89
115
  dispatched = true;
90
116
  const response = await fetchFn("https://api.openai.com/v1/responses", {
91
117
  method: "POST", redirect: "error", signal: controller.signal,
92
- headers: { Authorization: `Bearer ${options.apiKey}`, "Content-Type": "application/json" }, body
118
+ headers: { Authorization: `Bearer ${options.apiKey}`, "Content-Type": "application/json" }, body,
119
+ dispatcher
120
+ // Node accepts a custom dispatcher; its bundled Undici declarations may be
121
+ // older than this compatible dispatcher (browser RequestInit omits it).
93
122
  });
94
123
  if (!response.ok) {
95
124
  // Never read provider error prose: it may echo evidence or credentials.
@@ -126,14 +155,15 @@ export function createStudyAnalysisProvider(options) {
126
155
  return failure("invalid_response", true);
127
156
  }
128
157
  }
129
- catch {
158
+ catch (error) {
130
159
  if (controller.signal.aborted)
131
160
  return failure(timedOut ? "timeout" : "cancelled", dispatched, timedOut ? "timed_out" : "cancelled");
132
- return failure("provider_network_error", dispatched);
161
+ return failure(networkErrorCode(error), dispatched);
133
162
  }
134
163
  finally {
135
164
  clearTimeout(timer);
136
165
  request.signal?.removeEventListener("abort", onAbort);
166
+ await dispatcher.destroy().catch(() => undefined);
137
167
  }
138
168
  };
139
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"study-analysis-provider.js","sourceRoot":"","sources":["../src/study-analysis-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"study-analysis-provider.js","sourceRoot":"","sources":["../src/study-analysis-provider.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface AnalyzeOptions {
6
6
  config: StudyAnalysisConfig;
7
7
  dryRun?: boolean;
8
8
  rerun?: boolean;
9
+ /** Internal/default policy; explicit token limits are always used exactly. */
10
+ preferLargerOutput?: boolean;
9
11
  }
10
12
  export interface AnalyzeResult {
11
13
  schema: typeof ANALYZE_RESULT_SCHEMA;
@@ -7,7 +7,7 @@ import { loadRunBundlePrepared, resolveRunPath, verifyRunPrepared } from "./run.
7
7
  import { validatePreparedRunRootIdentity } from "./run-paths.js";
8
8
  import { isRunStatusRecord, RUN_STATUS_FILE } from "./run-status.js";
9
9
  import { captureStudyEvidence, readBoundedStudyFile, STUDY_EVIDENCE_LIMITS } from "./study-analysis-evidence.js";
10
- import { estimateStudyAnalysisAdmission, runStudyAnalysis, STUDY_ANALYSIS_PROMPT_VERSION } from "./study-analysis-engine.js";
10
+ import { estimateStudyAnalysisAdmission, preferLargerStudyAnalysisOutput, runStudyAnalysis, STUDY_ANALYSIS_PROMPT_VERSION } from "./study-analysis-engine.js";
11
11
  import { appendStudyAnalysisCorrection, assertStudyAnalysisPublicationCapacity, beginStudyAnalysisExecution, listStudyAnalyses, loadStudyAnalysis, writeStudyAnalysis, writeStudyAnalysisExecutionReceipt } from "./study-analysis-store.js";
12
12
  import { hashStudyAnalysisValue } from "./study-analysis-validation.js";
13
13
  import { STUDY_ANALYSIS_CORRECTION_SCHEMA } from "./study-analysis.js";
@@ -118,7 +118,7 @@ export async function readCompletedStudyAnalysisSource(cwd, prepared) {
118
118
  export async function analyzeStudy(cwdInput, run, options, deps = {}) {
119
119
  let cwd = path.resolve(cwdInput);
120
120
  const dryRun = options.dryRun === true;
121
- const config = structuredClone(options.config);
121
+ let config = structuredClone(options.config);
122
122
  if (!Number.isFinite(config.maxCostUsd) || config.maxCostUsd <= 0 || config.maxCostUsd > 1000)
123
123
  return fail(run, dryRun, "ANALYSIS_CONFIG_INVALID");
124
124
  if (config.question !== null && containsSensitive(config.question))
@@ -136,6 +136,8 @@ export async function analyzeStudy(cwdInput, run, options, deps = {}) {
136
136
  const input = await captureStudyEvidence(prepared, bytes);
137
137
  if (input.evidence.length === 0)
138
138
  return fail(input.runId, dryRun, "ANALYSIS_NO_PARTICIPANTS");
139
+ if (options.preferLargerOutput)
140
+ config = preferLargerStudyAnalysisOutput(input, config);
139
141
  const admission = estimateStudyAnalysisAdmission(input, config);
140
142
  const base = { schema: ANALYZE_RESULT_SCHEMA, run: input.runId, dryRun, reused: false, admission, warnings: [] };
141
143
  if (!admission.allowed)
@@ -1 +1 @@
1
- {"version":3,"file":"study-analysis-service.js","sourceRoot":"","sources":["../src/study-analysis-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"study-analysis-service.js","sourceRoot":"","sources":["../src/study-analysis-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ # Participant inboxes
2
+
3
+ The catch captures application mail without sending it to an external recipient.
4
+ Humanish gives each participant an address and a matching
5
+ `/inbox/for/<address-digest>` URL. The same address scope applies to list, message,
6
+ plain view, latest-message and JSON routes. Navigating back from a missing message
7
+ stays in that scope. An unknown scope is empty; it never falls back to all mail.
8
+ A lane without an assigned address receives no inbox instruction.
9
+
10
+ This works with separate participant worlds, shared worlds, and an external catch.
11
+ Sharing an application world does not require sharing an inbox. If a lab deliberately
12
+ assigns the same address to two participants, both see that address's mail. Generated
13
+ addresses that collide after normalization are made distinct. A message addressed
14
+ to several participants appears in each recipient's inbox and retains its actual
15
+ To field.
16
+
17
+ `/inbox` remains available and is labeled **Shared operator inbox**. Address digests
18
+ are routing identifiers, not authentication credentials. The catch is study
19
+ infrastructure, not a mailbox service with hostile-tenant isolation. Keep its network
20
+ exposure appropriate for test mail. The read-only listener cannot expose the private
21
+ `/deliveries` drain, even when supplied a valid drain token. The capture listener
22
+ retains its existing optional bearer-token protection for that endpoint.
23
+
24
+ A standalone catch tracks its generated files. Reusing its directory with a changed
25
+ `--recipient` roster or an emptied delivery log removes obsolete message, latest and
26
+ recipient routes; unrelated files are untouched.
27
+
28
+ ## Existing external catches
29
+
30
+ Upgrade the Humanish installation that runs `humanish comms catch` and **restart that
31
+ catch process**, as well as upgrading the installation that starts the study. Updating
32
+ only the study client leaves an older catch without participant routes.
33
+
34
+ Before allocating participants, the client checks `/health` on both `catchBaseUrl`
35
+ and a distinct `inboxBaseUrl`. Each must return the normal service marker and
36
+ `capabilities: ["recipient-inbox-v1", ...]`. Missing, malformed or older responses
37
+ fail admission with an upgrade/restart instruction. Existing email capture endpoints
38
+ and unscoped operator URLs remain available; their payload contracts are unchanged.
39
+
40
+ ## Captured and remote images
41
+
42
+ The SMTP catch preserves MIME parts with a Content-ID when they contain PNG, JPEG,
43
+ GIF or WebP bytes. The generic `/emails` payload can also carry runtime-only
44
+ `inlineImages` entries with `contentId`, `contentType` and `base64`. Provider-specific
45
+ attachment fields are not converted; unsupported or missing CID references show an
46
+ explicit unavailable-image placeholder instead of pretending capture succeeded.
47
+
48
+ Captured images are limited to 12 entries, 1 MiB each and 2 MiB total. The renderer
49
+ checks canonical base64 and the declared raster format's signature before creating a
50
+ data URL. This is not a full image decoder; malformed raster content can still fail
51
+ in the browser. Inline data URLs receive the same per-image checks. SVG, arbitrary
52
+ attachment URLs and local paths are not fetched or converted.
53
+
54
+ HTTP(S) images remain browser loads with `no-referrer`. Humanish does not fetch or
55
+ proxy them server-side. Relative image URLs use the existing declared origin-rewrite
56
+ map when available; otherwise they receive an explicit placeholder. Remote URLs that
57
+ return errors retain the browser's alt-text fallback. The renderer does not claim to
58
+ repair a dead URL. The inbox retains `script-src 'none'` and the existing HTML
59
+ neutralization and origin-rewrite protections.
60
+
61
+ Raw mail and image bytes remain runtime catch data. Persisted comms evidence remains
62
+ digest-only; adding image capture does not add raw attachments to the run artifact.
63
+
64
+ ## Reproduce the contract
65
+
66
+ ```bash
67
+ pnpm exec vitest run tests/comms*.test.ts
68
+ pnpm exec tsx scripts/comms-inbox-proof.ts
69
+ ```
70
+
71
+ The browser proof starts owned loopback HTTP, read-only inbox and SMTP listeners,
72
+ sends fictional multipart mail through the real MIME parser, and renders two recipient
73
+ inboxes in Chromium at desktop and phone sizes. It checks decoded CID/data/remote
74
+ images, unavailable sources, a genuine remote 404, recipient isolation across HTML
75
+ and JSON, navigation, script blocking, referrer suppression, directory reuse and drain
76
+ access. Screenshots and a machine-readable receipt are saved under the ignored
77
+ `.humanish/comms-inbox-proof/` directory. It uses no external email delivery, paid model
78
+ calls or hosted desktop, and makes no claim about those providers.
@@ -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.93.0`; it is not an exhaustive inventory of command/result envelopes. Exported types,
6
+ `0.94.0`; 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.
@@ -31,7 +31,17 @@ admission. It bounds a conservative estimate, not an exact provider bill.
31
31
  estimate retains valid findings and usage but returns a partial result and a
32
32
  nonzero command exit, including when that version is reused.
33
33
 
34
- The defaults allow five minutes and 16,384 output tokens, including reasoning.
34
+ The default deadline is ten minutes. With no explicit output-token limit, analysis
35
+ uses 32,768 tokens if admission fits the declared budget, or retains the prior
36
+ 16,384-token allowance otherwise. Explicit limits are never adjusted. Selection
37
+ happens before dispatch; `admission.outputTokenAllowance` exposes it in dry-run,
38
+ and the saved configuration, digest and automatic job bind the selected allowance.
39
+ This selection never increases the spending limit or starts a retry.
40
+ The configured wall-clock deadline covers the entire request, including waiting
41
+ for response headers and reading the body. A request-scoped dispatcher prevents
42
+ Node's separate fetch timeout from cutting a longer configured deadline short;
43
+ it does not change other network requests in the process. Transport failures
44
+ retain only an allowlisted cause code, never provider exception text or URLs.
35
45
  The analysis checks the assigned requirements against the retained end state;
36
46
  an unverified essential result remains unknown even if the participant reported
37
47
  success. Findings keep reported concerns and observed recovery distinct across
@@ -1,9 +1,9 @@
1
1
  # Current Goals
2
2
 
3
- Status date: 2026-09-17. Release baseline: `0.93.0`.
3
+ Status date: 2026-09-19. Release baseline: `0.94.0`.
4
4
 
5
5
  This page guides work on current merged source. Published behavior is described
6
- in the [release notes](../release/0.93.0-global-playback.md).
6
+ in the [release notes](../release/0.94.0-reliability.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.93.0`)
91
+ ## Current Program Truth (source `0.94.0`)
92
92
 
93
93
  | Surface | Available in merged source | Remaining boundary |
94
94
  | --- | --- | --- |
@@ -101,8 +101,8 @@ substitute for it.
101
101
  | Review and feedback | Verification grades, feedback drafts, portable HTML, redacted bundle derivatives and computer-use completion-source labels | Sharing requires the appropriate grade; participant reports and condition matches still need task adjudication |
102
102
  | Study findings | Default post-run analysis on supported live routes with a separate disclosed $3 admission estimate limit and opt-out; explicit `analyze`, fairer evidence selection, concern review and versioned findings with exact source links | Model interpretation needs review; bounded selection and source truncation limit coverage; opening Observer never dispatches analysis |
103
103
  | TUI and serving | Detached starts, run stopping, reclamation, Observer attachment, loopback serving and run library | Stopping a process does not itself prove sandbox cleanup; TUI views over CLI `stats`/`export` remain follow-ups |
104
- | Off-app communication | In-sandbox email/SMS catch and digest-only thread evidence | This does not establish real-provider delivery |
105
- | Mobile and media | Hosted viewport/emulation, desktop geometry checks, bounded dwell and declared camera feed | Physical-device and touch fidelity remain unproven; unsupported microphone declarations are rejected |
104
+ | Off-app communication | Recipient-scoped synthetic inboxes, supported inline raster images, in-sandbox email/SMS catch and digest-only thread evidence | Scope prevents accidental cross-recipient browsing; it is not tenant authentication or real-provider delivery |
105
+ | Mobile and media | Hosted viewport/emulation, desktop geometry checks, bounded dwell and declared camera feed; a synthetic video-only call with separate hosted peers is proven | Audio, TURN, provider-specific rooms, physical-device and touch fidelity remain unproven; unsupported media declarations are rejected |
106
106
 
107
107
  Use the [task support matrix](../architecture/task-protocol-support.md),
108
108
  [actor registry](https://github.com/danielgwilson/humanish/blob/main/src/actor-registry.ts)
@@ -4,16 +4,19 @@ Supported live studies automatically request analysis after each recording finis
4
4
  separate from participant feedback and the recorded study verdict.
5
5
 
6
6
  The default is `gpt-6-astra` with high reasoning effort, a separate $3 admission
7
- estimate limit, a 300-second timeout and 16,384 output tokens. To customize it:
7
+ estimate limit and a 600-second timeout. When no output limit is specified,
8
+ Humanish selects 32,768 tokens if the exact input's admission estimate fits that
9
+ budget; otherwise it keeps the established 16,384-token allowance. This preserves
10
+ previously admitted studies without increasing their spending limit. To customize it:
8
11
 
9
12
  ```yaml
10
13
  review:
11
14
  analysis:
12
15
  maxCostUsd: 3
13
- # Optional; these values match manual analysis defaults.
16
+ # Optional overrides. Omit maxOutputTokens for budget-aware selection.
14
17
  model: gpt-6-astra
15
- timeoutMs: 300000
16
- maxOutputTokens: 16384
18
+ timeoutMs: 600000
19
+ # maxOutputTokens: 32768
17
20
  # question: Where did participants need to recover?
18
21
  ```
19
22
 
@@ -21,6 +24,12 @@ Omitting `review.analysis` uses these defaults. Set `review.analysis: false` to
21
24
  run participants without the additional analysis request. An explicit analysis
22
25
  mapping requires `maxCostUsd`. This limits an admission estimate, not the
23
26
  provider's final bill, and is separate from participant spending limits. Analysis
27
+ can decline a large study before dispatch when its conservative estimate exceeds
28
+ that limit. Use `analyze --dry-run --max-cost <usd>` on retained evidence to inspect
29
+ the estimate and selected token allowance before deliberately choosing a larger budget. Explicit
30
+ `maxOutputTokens` and `--max-output-tokens` limits are honored exactly. The output allowance
31
+ includes reasoning as well as the report; exhausting it does not produce a usable
32
+ report and never starts an automatic retry. Analysis
24
33
  sends selected retained text and captures to OpenAI using `OPENAI_API_KEY`.
25
34
  Analysis runs in the Humanish runner using its credentials. This setting adds no
26
35
  credential channel to the target application; each participant backend retains
@@ -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.93.0` (2026-09-17). 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.94.0` (2026-09-19). 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.94.0 release note](../release/0.94.0-reliability.md) describes analysis
51
+ request deadlines and budget-aware output, smaller portable recordings,
52
+ recipient-scoped synthetic inboxes, route-aware setup checks, decoded capture
53
+ transitions, pin movement, and explicit camera-support boundaries.
54
+
55
+ The [0.93.1 release note](../release/0.93.1-observer-review-controls.md) describes
56
+ a compact findings overview, separate analysis-attempt details, styled Observer
57
+ selects and checkboxes, clearer pin/theme states, and smoother navigation.
58
+
50
59
  The [0.93.0 release note](../release/0.93.0-global-playback.md) describes
51
60
  a compact bottom transport whose study time and playback state persist across
52
61
  the participant grid and individual recordings.
@@ -0,0 +1,24 @@
1
+ # Humanish 0.93.1
2
+
3
+ Findings now starts with a compact overview: finding count, participants
4
+ included, analyzed outcomes, and sampled captures. The original narrative
5
+ remains under **Study summary**. Coverage notes, methodology and separate
6
+ automatic-attempt status are available under **Coverage & analysis details**.
7
+ A failed automatic attempt no longer replaces the status of a usable report.
8
+ Running or unknown execution, changed evidence, and exceeded admission limits
9
+ remain visible. Outcome counts are analysis judgments, not verified success
10
+ rates; stale reports do not use current recordings as their denominators.
11
+
12
+ Observer dropdowns and checkboxes use shared Base UI components styled with
13
+ Humanish tokens. View options, playback speed, image zoom, activity filtering,
14
+ and comparison use the same menus, including keyboard navigation, phone
15
+ interaction and fullscreen placement.
16
+
17
+ The library theme control shows one icon for the available action, pinned participants
18
+ have a visible marker, and narrow grid previews avoid unnecessary letterboxing.
19
+ Sidebar and disclosure transitions respect reduced-motion preferences. These
20
+ changes preserve the shared study clock and evidence routes.
21
+
22
+ The changes apply when existing recordings are rendered with this package.
23
+ They do not rerun participants or analysis, alter source evidence, or remove
24
+ padding already present inside recorded images.
@@ -0,0 +1,48 @@
1
+ # Humanish 0.94.0
2
+
3
+ Long analysis requests now honor Humanish's configured deadline instead of
4
+ ending early at the HTTP client's header timeout. The default deadline is ten
5
+ minutes. Omitted output settings use up to 32,768 tokens when the existing
6
+ declared budget admits that allowance, otherwise retaining 16,384. Explicit
7
+ output settings remain exact. This adds no retries or automatic budget increase.
8
+
9
+ Portable HTML stores each distinct raster capture once and resolves it on
10
+ demand. A retained 12-participant, 344-capture recording decreased from about
11
+ 309 MiB to 143 MiB without changing capture bytes or timestamps. Existing
12
+ recordings remain readable; new exports retain the same sharing checks.
13
+
14
+ Participant inbox links now open that participant's synthetic recipient scope.
15
+ Unknown scopes fail closed, while the shared inbox remains explicitly labeled
16
+ for operators. Supported captured inline images render; unsupported references
17
+ show an explanation. Remote images still depend on their original host.
18
+ Recipient scopes are navigation isolation, not tenant authentication.
19
+
20
+ `humanish doctor --lab <lab>` separates participant authentication, hosted
21
+ desktop requirements and automatic-analysis credentials. Local Codex or Claude
22
+ authentication is checked through that CLI rather than inferred from a file.
23
+ The keyless first run needs no model or desktop credentials.
24
+ Projects without `package.json` are valid; `doctor` treats the missing optional
25
+ npm integration as information while still rejecting unsafe or unreadable files.
26
+
27
+ Observer keeps the previous decoded capture visible while loading the selected
28
+ one, labels it as previous evidence, and withholds action pins until the selected
29
+ image is ready. Pinning animates the displaced cards as well as the selected
30
+ card, preserving focus and respecting reduced motion. Pin and unpin are
31
+ available directly on each card, with readable metadata and phone touch targets.
32
+ A repeatable browser
33
+ gate checks capture transitions, motion and automated accessibility in both
34
+ themes at desktop and phone widths.
35
+
36
+ An actual Humanish participant joined a synthetic camera room with a separate
37
+ hosted peer, exchanged moving video, and left. A second participant denied the
38
+ native camera prompt and stayed outside the room. Unsupported media routes and
39
+ microphone-file injection now fail before execution instead of silently ignoring
40
+ the declaration. This proves one video-only Chromium path; audio, TURN and
41
+ provider-specific rooms remain unproven.
42
+
43
+ Kept evidence and limits:
44
+
45
+ - [Analysis reliability](../goals/computer-use-actor/receipts/analysis-reliability-2026-09-19.md)
46
+ - [Portable recording comparison](../goals/observer-qol/receipts/2026-09-19-portable-export.md)
47
+ - [Setup, inbox and camera proof](../goals/computer-use-actor/receipts/reliability-2026-09-19.md)
48
+ - [Observer capture and accessibility gate](https://github.com/danielgwilson/humanish/blob/main/scripts/observer-reliability-proof.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "humanish",
3
- "version": "0.93.0",
3
+ "version": "0.94.0",
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": [
@@ -79,7 +79,9 @@
79
79
  "docs:generate": "tsx scripts/generate-cli-docs.ts",
80
80
  "docs:check": "tsx scripts/generate-cli-docs.ts --check",
81
81
  "observer:browser:proof": "node scripts/observer-browser-proof.mjs",
82
- "observer:iframe:proof": "node scripts/observer-iframe-proof.mjs"
82
+ "observer:iframe:proof": "node scripts/observer-iframe-proof.mjs",
83
+ "observer:chrome:proof": "node scripts/observer-chrome-proof.mjs",
84
+ "observer:reliability:proof": "node scripts/observer-reliability-proof.mjs"
83
85
  },
84
86
  "repository": {
85
87
  "type": "git",
@@ -93,6 +95,7 @@
93
95
  "commander": "^14.0.3",
94
96
  "playwright-core": "^1.60.0",
95
97
  "pngjs": "^7.0.0",
98
+ "undici": "^6.28.1",
96
99
  "yaml": "^2.9.0",
97
100
  "zod": "^4.4.3"
98
101
  },
@@ -113,6 +116,7 @@
113
116
  "@e2b/desktop": "^2.4.0",
114
117
  "@types/node": "^20.19.41",
115
118
  "@types/pngjs": "^6.0.5",
119
+ "axe-core": "4.13.0",
116
120
  "tsx": "^4.22.4",
117
121
  "typescript": "^6.0.3",
118
122
  "vitest": "^4.1.7"