humanish 0.87.0 → 0.88.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/README.md +12 -2
- package/dist/actor-contract.d.ts +4 -1
- package/dist/actor-contract.js.map +1 -1
- package/dist/actor-goal-source.d.ts +5 -0
- package/dist/actor-goal-source.js +32 -0
- package/dist/actor-goal-source.js.map +1 -0
- package/dist/actor-stop-cause.d.ts +2 -0
- package/dist/actor-stop-cause.js +7 -2
- package/dist/actor-stop-cause.js.map +1 -1
- package/dist/computer-use.d.ts +3 -0
- package/dist/computer-use.js +30 -4
- package/dist/computer-use.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +10 -3
- package/dist/cua-actor-lab.js +35 -10
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/cua-admission-limit.d.ts +12 -0
- package/dist/cua-admission-limit.js +20 -0
- package/dist/cua-admission-limit.js.map +1 -0
- package/dist/cua-diagnostics.d.ts +38 -0
- package/dist/cua-diagnostics.js +68 -0
- package/dist/cua-diagnostics.js.map +1 -0
- package/dist/e2b-desktop-executor.js +4 -2
- package/dist/e2b-desktop-executor.js.map +1 -1
- package/dist/feedback.js +5 -3
- package/dist/feedback.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/observer-data.js +11 -4
- package/dist/observer-data.js.map +1 -1
- package/dist/openai-responses-cu.js +13 -2
- package/dist/openai-responses-cu.js.map +1 -1
- package/dist/program.d.ts +2 -0
- package/dist/program.js +9 -4
- package/dist/program.js.map +1 -1
- package/dist/run.d.ts +18 -5
- package/dist/run.js +70 -2
- package/dist/run.js.map +1 -1
- package/dist/stats.js +1 -1
- package/dist/stats.js.map +1 -1
- package/dist/telemetry.d.ts +3 -0
- package/dist/telemetry.js +15 -1
- package/dist/telemetry.js.map +1 -1
- package/docs/architecture/examples/state-driven-local-app/README.md +75 -0
- package/docs/architecture/examples/state-driven-local-app/app.mjs +48 -0
- package/docs/architecture/examples/state-driven-local-app/runner.mjs +104 -0
- package/docs/architecture/state-driven-executor.md +19 -26
- package/docs/contracts/adapter-admission.md +54 -0
- package/docs/contracts/run-bundle.md +8 -1
- package/docs/contracts/schemas.md +16 -2
- package/docs/goals/current.md +9 -4
- package/docs/ramp/README.md +11 -1
- package/docs/release/0.88.0-study-diagnostics.md +43 -0
- package/docs/release/0.88.1-completion-evidence-and-local-app.md +79 -0
- package/package.json +1 -1
package/dist/stats.js
CHANGED
|
@@ -170,7 +170,7 @@ export function formatStatsHuman(result) {
|
|
|
170
170
|
`humanish stats${scope.length === 0 ? "" : ` (${scope.join(", ")})`}`,
|
|
171
171
|
`runs: ${t.runs} (${t.live} live, ${t.dryRun} dry-run${t.running > 0 ? `, ${t.running} running` : ""})`,
|
|
172
172
|
`estimated spend: ${money(t.estimatedSpendUsd)} over ${t.runs - t.unpricedRuns} priced run(s); ${t.unpricedRuns} unpriced (counted, not $0)`,
|
|
173
|
-
`participants: ${t.participants.reachedGoal}/${t.participants.total}
|
|
173
|
+
`participants: ${t.participants.reachedGoal}/${t.participants.total} recorded goal completions, ${t.participants.reportedFriction} reported friction`,
|
|
174
174
|
`verdicts: ${Object.entries(t.verdicts).map(([verdict, count]) => `${verdict} ${count}`).join(", ") || "none recorded"}`
|
|
175
175
|
];
|
|
176
176
|
if (result.labs.length > 0) {
|
package/dist/stats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -15,6 +15,9 @@ export interface TelemetryProperties {
|
|
|
15
15
|
/** One of humanish's OWN error codes (`HUMANISH_*`), never a message. Which failure ends a
|
|
16
16
|
* first run is the question the funnel exists to answer. */
|
|
17
17
|
errorCode?: string;
|
|
18
|
+
/** Finite result categories and recorded stop causes; never raw errors or lane details. */
|
|
19
|
+
diagnosticCategory?: string;
|
|
20
|
+
stopCause?: string;
|
|
18
21
|
}
|
|
19
22
|
export interface TelemetryState {
|
|
20
23
|
enabled: boolean;
|
package/dist/telemetry.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
// no persona or mission text, no run ids, no evidence, no key values, no key names. A study's
|
|
11
11
|
// subject is the adopter's product and often unannounced; leaking a lab id would leak a roadmap.
|
|
12
12
|
// The allowlist below is the whole vocabulary — anything not on it cannot be sent by construction.
|
|
13
|
+
import { isCuaDiagnosticCategory, isCuaDiagnosticStopCause } from "./cua-diagnostics.js";
|
|
13
14
|
import { randomUUID } from "node:crypto";
|
|
14
15
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
15
16
|
import { homedir } from "node:os";
|
|
@@ -181,6 +182,10 @@ export function buildPayload(args) {
|
|
|
181
182
|
properties.exit_code = given.exitCode;
|
|
182
183
|
if (given.errorCode !== undefined && OWN_ERROR_CODE.test(given.errorCode))
|
|
183
184
|
properties.error_code = given.errorCode;
|
|
185
|
+
if (isCuaDiagnosticCategory(given.diagnosticCategory))
|
|
186
|
+
properties.diagnostic_category = given.diagnosticCategory;
|
|
187
|
+
if (isCuaDiagnosticStopCause(given.stopCause))
|
|
188
|
+
properties.stop_cause = given.stopCause;
|
|
184
189
|
return { event: args.event, distinct_id: args.anonymousId, properties };
|
|
185
190
|
}
|
|
186
191
|
/** Our own codes only. A provider's or the OS's message is free text and never travels. */
|
|
@@ -239,10 +244,19 @@ export function deriveStudyFacts(result) {
|
|
|
239
244
|
const error = asRecord(r.error);
|
|
240
245
|
if (typeof error?.code === "string" && OWN_ERROR_CODE.test(error.code))
|
|
241
246
|
facts.errorCode = error.code;
|
|
247
|
+
const cuaResult = r.schema === "humanish.cua-lab-result.v2";
|
|
248
|
+
const diagnostics = cuaResult ? asRecord(r.diagnostics) : undefined;
|
|
249
|
+
if (isCuaDiagnosticCategory(diagnostics?.category))
|
|
250
|
+
facts.diagnosticCategory = diagnostics.category;
|
|
251
|
+
if (isCuaDiagnosticStopCause(diagnostics?.stopCause))
|
|
252
|
+
facts.stopCause = diagnostics.stopCause;
|
|
242
253
|
const session = asRecord(r.session);
|
|
243
254
|
const laneSummary = asRecord(r.laneSummary);
|
|
244
255
|
let outcome;
|
|
245
|
-
if (
|
|
256
|
+
if (cuaResult && facts.mode === "dry-run") {
|
|
257
|
+
outcome = r.ok === true ? "contract_proof_only" : "error";
|
|
258
|
+
}
|
|
259
|
+
else if (laneSummary && typeof laneSummary.total === "number" && typeof laneSummary.passed === "number" && laneSummary.total > 1) {
|
|
246
260
|
outcome = laneSummary.passed === laneSummary.total ? "all_passed"
|
|
247
261
|
: laneSummary.passed === 0 ? "none_passed"
|
|
248
262
|
: "some_passed";
|
package/dist/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Run a local app through its state contract
|
|
2
|
+
|
|
3
|
+
This complete library example starts a synthetic loopback HTTP app, reads its
|
|
4
|
+
state with a `CuaExecutor`, sends a greeting through its action endpoint, and
|
|
5
|
+
verifies the resulting Humanish run. It uses a deterministic `CuaProvider` with
|
|
6
|
+
no model calls, API keys, browser, screenshots or E2B resources. It demonstrates
|
|
7
|
+
the integration; it does not test persona behavior or the quality of an app's UI.
|
|
8
|
+
|
|
9
|
+
## Run from an npm installation
|
|
10
|
+
|
|
11
|
+
Use Node.js 20.3 or later (`AbortSignal.any`), in a new directory:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm init -y
|
|
15
|
+
npm install humanish
|
|
16
|
+
node node_modules/humanish/docs/architecture/examples/state-driven-local-app/runner.mjs
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The package includes both [runner.mjs](runner.mjs) and [app.mjs](app.mjs).
|
|
20
|
+
No checkout, TypeScript loader or initialization command is needed. Each
|
|
21
|
+
invocation starts a fresh app and writes a new run under `.humanish/runs/` in
|
|
22
|
+
your current directory. Run the last command again for an independent repeat.
|
|
23
|
+
Add `.humanish/` to your project's `.gitignore` before adapting this example to
|
|
24
|
+
real app data; running the library directly does not create that ignore rule.
|
|
25
|
+
|
|
26
|
+
Expected output includes `goal_satisfied`, `sandboxCreated: false`, zero
|
|
27
|
+
screenshots, a successful `verification`, and a synthetic app receipt with
|
|
28
|
+
`greeted: true` and `messages: 1`. The final cleanup line shows
|
|
29
|
+
`serverClosed: true`; `finally` closes the server even when the run or verification
|
|
30
|
+
fails. The evidence remains on disk.
|
|
31
|
+
|
|
32
|
+
Review the bundle and its sharing grade:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx humanish verify --run latest --json
|
|
36
|
+
npx humanish review --run latest --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
`appState` drives the loop in memory and is not persisted in the actor trace.
|
|
40
|
+
This example separately prints only its own synthetic counters. A successful
|
|
41
|
+
verification describes the evidence bundle, not persona efficacy or human
|
|
42
|
+
task completion. The reported cost basis comes from executing only local code
|
|
43
|
+
and loopback requests; absent model usage is not treated as a billing receipt.
|
|
44
|
+
|
|
45
|
+
## Adapt the two ports
|
|
46
|
+
|
|
47
|
+
In `runner.mjs`, replace `createAppContractExecutor` with your trusted bridge to
|
|
48
|
+
your app's `getState()` and actions. Here those calls use `GET /state` and
|
|
49
|
+
`POST /chat`; a browser bridge could call `window.app` through `page.evaluate`.
|
|
50
|
+
Map supported actions explicitly and reject unsupported ones. Forward the
|
|
51
|
+
optional execution signal and check it before dispatching an input.
|
|
52
|
+
|
|
53
|
+
Replace the deterministic provider if you want a model to choose actions from
|
|
54
|
+
`request.observation.appState`. Keep `requiresFrame: false` for a state-only
|
|
55
|
+
provider. Your replacement owns its model credentials and costs. The
|
|
56
|
+
`openai-computer-use` actor id selects the registered CUA route; the injected
|
|
57
|
+
`buildProvider` chooses the actual provider, so this example never invokes OpenAI.
|
|
58
|
+
|
|
59
|
+
The runner shows both required discriminant checks: `parseLabConfig` receives
|
|
60
|
+
an object containing `schema: LAB_CONFIG_SCHEMA` and is narrowed on `.ok`;
|
|
61
|
+
`runLab` is narrowed on `backend === "cua"` before inspecting its result.
|
|
62
|
+
Supplying both `buildExecutor` and `buildProvider` selects the library-assisted
|
|
63
|
+
route. It is not a config-only CLI actor or an out-of-tree actor registration API.
|
|
64
|
+
|
|
65
|
+
Both JavaScript files carry JSDoc types against the public `humanish` exports.
|
|
66
|
+
To check an installed copy against its packaged declarations:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npm install --save-dev typescript @types/node@20
|
|
70
|
+
npx tsc --allowJs --checkJs --noEmit --strict --skipLibCheck --types node --target ES2022 --module NodeNext --moduleResolution NodeNext node_modules/humanish/docs/architecture/examples/state-driven-local-app/*.mjs
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
See the [state-driven executor guide](../../state-driven-executor.md) for progress
|
|
74
|
+
projection limits, runtime-only state, unpinned local-app provenance, and the
|
|
75
|
+
fail-closed guards on this route.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { once } from "node:events";
|
|
3
|
+
import { createServer } from "node:http";
|
|
4
|
+
|
|
5
|
+
/** A synthetic app with a real loopback HTTP state/action contract. */
|
|
6
|
+
export async function startLocalApp() {
|
|
7
|
+
let greeted = false;
|
|
8
|
+
let messages = 0;
|
|
9
|
+
let stateReads = 0;
|
|
10
|
+
const server = createServer(async (request, response) => {
|
|
11
|
+
if (request.method === "GET" && request.url === "/state") {
|
|
12
|
+
stateReads += 1;
|
|
13
|
+
response.writeHead(200, { "content-type": "application/json" });
|
|
14
|
+
response.end(JSON.stringify({ greeted, messages }));
|
|
15
|
+
} else if (request.method === "POST" && request.url === "/chat") {
|
|
16
|
+
// The demo accepts only a short synthetic message; it stores no raw text.
|
|
17
|
+
let text = "";
|
|
18
|
+
for await (const chunk of request) {
|
|
19
|
+
text += chunk.toString();
|
|
20
|
+
if (text.length > 1024) {
|
|
21
|
+
response.writeHead(413).end();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
messages += 1;
|
|
26
|
+
if (text.toLowerCase().includes("hello")) greeted = true;
|
|
27
|
+
response.writeHead(204).end();
|
|
28
|
+
} else {
|
|
29
|
+
response.writeHead(404).end();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
server.listen(0, "127.0.0.1");
|
|
33
|
+
await once(server, "listening");
|
|
34
|
+
const address = server.address();
|
|
35
|
+
if (!address || typeof address === "string") throw new Error("No loopback port");
|
|
36
|
+
|
|
37
|
+
return {
|
|
38
|
+
appUrl: `http://127.0.0.1:${address.port}/`,
|
|
39
|
+
// These counters make real HTTP reads and state-changing writes inspectable.
|
|
40
|
+
getReceipt: () => ({ greeted, messages, stateReads, serverClosed: !server.listening }),
|
|
41
|
+
async close() {
|
|
42
|
+
await new Promise((resolve, reject) => {
|
|
43
|
+
server.close((error) => error ? reject(error) : resolve(undefined));
|
|
44
|
+
server.closeAllConnections();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { LAB_CONFIG_SCHEMA, parseLabConfig, runLab, stableProgressKey, verifyRun } from "humanish";
|
|
3
|
+
import { startLocalApp } from "./app.mjs";
|
|
4
|
+
|
|
5
|
+
/** @param {string} appUrl @returns {import("humanish").CuaExecutor} */
|
|
6
|
+
function createAppContractExecutor(appUrl) {
|
|
7
|
+
return {
|
|
8
|
+
async observe() {
|
|
9
|
+
const response = await fetch(new URL("state", appUrl), { signal: AbortSignal.timeout(5000) });
|
|
10
|
+
if (!response.ok) throw new Error(`State read failed: HTTP ${response.status}`);
|
|
11
|
+
const state = await response.json();
|
|
12
|
+
if (typeof state?.greeted !== "boolean" || !Number.isInteger(state?.messages)) {
|
|
13
|
+
throw new Error("Unexpected app state");
|
|
14
|
+
}
|
|
15
|
+
const appState = { greeted: state.greeted, messages: state.messages };
|
|
16
|
+
return { stateSignature: stableProgressKey(appState), appState };
|
|
17
|
+
},
|
|
18
|
+
async execute(action, signal) {
|
|
19
|
+
signal?.throwIfAborted();
|
|
20
|
+
if (action.kind !== "type") throw new Error(`Unsupported app action: ${action.kind}`);
|
|
21
|
+
const response = await fetch(new URL("chat", appUrl), {
|
|
22
|
+
method: "POST",
|
|
23
|
+
body: action.text,
|
|
24
|
+
signal: AbortSignal.any([AbortSignal.timeout(5000), ...(signal ? [signal] : [])])
|
|
25
|
+
});
|
|
26
|
+
if (!response.ok) throw new Error(`Chat write failed: HTTP ${response.status}`);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// A deterministic rule, not an AI participant: no model SDK, requests or credentials.
|
|
32
|
+
/** @type {import("humanish").CuaProvider} */
|
|
33
|
+
const provider = {
|
|
34
|
+
id: "local-app-deterministic-example",
|
|
35
|
+
version: "1.0.0",
|
|
36
|
+
requiresFrame: false,
|
|
37
|
+
capabilities: {
|
|
38
|
+
headless: true,
|
|
39
|
+
structuredTrace: true,
|
|
40
|
+
lanes: ["computer-use"],
|
|
41
|
+
producesScreenshots: false,
|
|
42
|
+
byoModel: true,
|
|
43
|
+
preGrantableApprovals: false,
|
|
44
|
+
inProcessTools: false,
|
|
45
|
+
license: "open"
|
|
46
|
+
},
|
|
47
|
+
async nextTurn(request, signal) {
|
|
48
|
+
signal.throwIfAborted();
|
|
49
|
+
const greeted = request.observation.appState?.greeted;
|
|
50
|
+
if (typeof greeted !== "boolean") throw new Error("Missing greeted observation");
|
|
51
|
+
return {
|
|
52
|
+
actions: greeted ? [] : [{ kind: "type", text: "hello there" }],
|
|
53
|
+
pendingSafetyChecks: [],
|
|
54
|
+
done: greeted,
|
|
55
|
+
message: greeted ? "The app accepted the greeting." : "Sending a greeting."
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const app = await startLocalApp();
|
|
61
|
+
try {
|
|
62
|
+
// parseLabConfig accepts a decoded OBJECT, not a YAML string.
|
|
63
|
+
const parsed = parseLabConfig({
|
|
64
|
+
schema: LAB_CONFIG_SCHEMA,
|
|
65
|
+
id: "state-driven-local-app-example",
|
|
66
|
+
title: "Deterministic local-app integration example",
|
|
67
|
+
subject: { source: "local-app", appUrl: app.appUrl },
|
|
68
|
+
// This registry id selects the CUA loop. buildProvider supplies the actual provider.
|
|
69
|
+
actors: [{ type: "openai-computer-use", persona: "pixel-pat", mission: "Greet the app." }],
|
|
70
|
+
scenario: { mode: "live" },
|
|
71
|
+
execution: { timeoutMs: 15_000 }
|
|
72
|
+
});
|
|
73
|
+
if (!parsed.ok) throw new Error(parsed.error.message);
|
|
74
|
+
const outcome = await runLab(parsed.config, {
|
|
75
|
+
cwd: process.cwd(),
|
|
76
|
+
dryRun: false,
|
|
77
|
+
cuaHooks: {
|
|
78
|
+
buildExecutor: async ({ appUrl }) => createAppContractExecutor(appUrl),
|
|
79
|
+
buildProvider: async () => provider
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
if (outcome.backend !== "cua") throw new Error(`Unexpected backend: ${outcome.backend}`);
|
|
83
|
+
const { result } = outcome;
|
|
84
|
+
const verified = await verifyRun(process.cwd(), result.runId);
|
|
85
|
+
console.log(JSON.stringify({
|
|
86
|
+
runId: result.runId,
|
|
87
|
+
ok: result.ok,
|
|
88
|
+
completionReason: result.session?.completionReason,
|
|
89
|
+
provider: provider.id,
|
|
90
|
+
sandboxCreated: result.sandbox !== undefined,
|
|
91
|
+
screenshots: result.session?.screenshots,
|
|
92
|
+
verification: verified,
|
|
93
|
+
app: app.getReceipt(),
|
|
94
|
+
// A mechanism statement, not an inference from missing provider usage/rates.
|
|
95
|
+
costBasis: "No model calls or hosted resources; only this process and loopback HTTP."
|
|
96
|
+
}, null, 2));
|
|
97
|
+
if (!result.ok || !verified.ok || result.session?.completionReason !== "goal_satisfied"
|
|
98
|
+
|| result.sandbox !== undefined || !app.getReceipt().greeted) {
|
|
99
|
+
throw new Error(result.error?.message ?? "Local-app example did not complete and verify");
|
|
100
|
+
}
|
|
101
|
+
} finally {
|
|
102
|
+
await app.close();
|
|
103
|
+
console.log(JSON.stringify({ cleanup: app.getReceipt() }));
|
|
104
|
+
}
|
|
@@ -52,8 +52,9 @@ wait and does not cache a previous action's position.
|
|
|
52
52
|
`redaction.screenshots` resolves to `"n/a"`. No fabricated `Buffer.alloc(0)`
|
|
53
53
|
ever reaches disk. (A vision executor still returns a frame, exactly as before.)
|
|
54
54
|
- **`stateSignature` is still required.** Derive it from your own state — e.g.
|
|
55
|
-
`
|
|
56
|
-
key when `appState` is absent. It is never written
|
|
55
|
+
`stableProgressKey({ route, turn, modal })` (exported from `humanish`). It is the
|
|
56
|
+
canonical fallback progress key when `appState` is absent. It is never written
|
|
57
|
+
to the trace as text.
|
|
57
58
|
- **`appState` is the preferred progress input.** When present, the loop's
|
|
58
59
|
friction / no-progress detection keys off a deterministic, sorted-key,
|
|
59
60
|
depth/length-capped projection of it (`stableProgressKey`) rather than the
|
|
@@ -168,33 +169,25 @@ from your own state, pair it with a non-vision `CuaProvider`, and call
|
|
|
168
169
|
|
|
169
170
|
### 2. `runLab` + `buildExecutor` / `buildProvider` (keeps the composition)
|
|
170
171
|
|
|
171
|
-
The supported library path
|
|
172
|
-
|
|
172
|
+
The supported library path keeps personas, the Observer, the evidence bundle,
|
|
173
|
+
redaction, and the friction loop, while skipping E2B entirely. Start with the
|
|
174
|
+
[complete runnable example](examples/state-driven-local-app/README.md), which
|
|
175
|
+
ships in the npm package:
|
|
173
176
|
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
// local-app YAML (shareable; fails closed without hooks):
|
|
178
|
-
// schema: humanish.lab.v2
|
|
179
|
-
// id: downstream-local-app-state
|
|
180
|
-
// subject: { source: local-app, appUrl: http://localhost:5173 }
|
|
181
|
-
// actors: [{ type: openai-computer-use, persona: curious-tester, mission: "…" }]
|
|
182
|
-
// scenario: { mode: live }
|
|
183
|
-
const parsed = parseLabConfig(yaml);
|
|
184
|
-
if (!parsed.ok) throw new Error(parsed.error.message);
|
|
185
|
-
|
|
186
|
-
const outcome = await runLab(parsed.config, {
|
|
187
|
-
cwd: process.cwd(),
|
|
188
|
-
dryRun: false,
|
|
189
|
-
cuaHooks: {
|
|
190
|
-
buildExecutor: async ({ appUrl }) => createAppContractExecutor(bridge, appUrl),
|
|
191
|
-
buildProvider: async () => createStateBrain(),
|
|
192
|
-
},
|
|
193
|
-
});
|
|
194
|
-
// outcome.backend === "cua"; outcome.result.sandbox === undefined (NO E2B); the
|
|
195
|
-
// trace's provider id is the injected brain's id.
|
|
177
|
+
```bash
|
|
178
|
+
npm install humanish
|
|
179
|
+
node node_modules/humanish/docs/architecture/examples/state-driven-local-app/runner.mjs
|
|
196
180
|
```
|
|
197
181
|
|
|
182
|
+
The example includes a real loopback app, HTTP state/action bridge, full config
|
|
183
|
+
object (`schema: LAB_CONFIG_SCHEMA`), deterministic non-vision provider,
|
|
184
|
+
`stableProgressKey`, `runLab`, verification, a printed report and `finally`
|
|
185
|
+
cleanup. It makes no model calls and does not demonstrate persona efficacy.
|
|
186
|
+
`parseLabConfig` accepts a decoded object, not a YAML string; narrow its result
|
|
187
|
+
on `.ok`, then narrow `runLab`'s result on `backend === "cua"` before accessing
|
|
188
|
+
the CUA result. The example defines all helpers rather than requiring a consumer
|
|
189
|
+
to reconstruct them.
|
|
190
|
+
|
|
198
191
|
When `cuaHooks.buildExecutor` is set, `runCuaActorLab` takes a branch that NEVER
|
|
199
192
|
loads the E2B module, creates a sandbox, runs `prepareDesktop`, provisions a
|
|
200
193
|
clone, opens a browser, or starts a stream. `sandboxId`/`streamUrl` stay
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Adapter admission limits
|
|
2
|
+
|
|
3
|
+
Library callers can throw `CuaAdmissionLimitError` from a custom `CuaProvider`
|
|
4
|
+
or the `fetchFn` supplied to `createOpenAiResponsesProvider` when a configured
|
|
5
|
+
local control limit refuses a request **before provider dispatch**:
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { CuaAdmissionLimitError, createOpenAiResponsesProvider } from "humanish";
|
|
9
|
+
|
|
10
|
+
const provider = createOpenAiResponsesProvider({
|
|
11
|
+
apiKey,
|
|
12
|
+
fetchFn: async (url, init) => {
|
|
13
|
+
if (localLimitReached()) {
|
|
14
|
+
await recordLocalAdmissionRefusal();
|
|
15
|
+
throw new CuaAdmissionLimitError();
|
|
16
|
+
}
|
|
17
|
+
return transport(url, init);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The example's admission check, local receipt and transport belong to the caller.
|
|
23
|
+
The error accepts no message or payload. Import it from the same Humanish
|
|
24
|
+
installation as the provider and loop: a plain error with the same name or text
|
|
25
|
+
does not activate the contract. Do not use it for invalid configuration, a
|
|
26
|
+
provider rejection, or an already dispatched request with unknown outcome or
|
|
27
|
+
usage. An unknown prior request stays unknown even if a later call is refused.
|
|
28
|
+
|
|
29
|
+
A stalled interaction or an OpenAI transport retry may have consumed additional
|
|
30
|
+
tokens without reporting usage. The trace then retains
|
|
31
|
+
`interactionUsageIncomplete: true`; its cost summary keeps the known token
|
|
32
|
+
estimate and adds an unmeasured `interaction_usage_unreported` line. A later
|
|
33
|
+
successful retry or local refusal does not remove that uncertainty. Custom
|
|
34
|
+
providers can expose a latched `interactionUsageIncomplete` boolean for hidden
|
|
35
|
+
interactive attempts. Absence of the field does not attest complete billing.
|
|
36
|
+
|
|
37
|
+
The OpenAI provider does not retry this explicit refusal. The CUA loop records
|
|
38
|
+
`incomplete`, `budget_reached` and `stopCause: adapter_limit`, with a fixed
|
|
39
|
+
notice. It does not record another successful turn, usage, action or closing
|
|
40
|
+
request. Previous actions, captures, usage and observed task outcomes remain
|
|
41
|
+
available for review. Observer labels the ending “adapter admission limit.”
|
|
42
|
+
Older generic error recordings remain unchanged.
|
|
43
|
+
|
|
44
|
+
If a structured task outcome already ended interaction and the optional closing
|
|
45
|
+
report is refused before dispatch, that task outcome remains intact. The report
|
|
46
|
+
is `skipped` and `debrief.usageReported` is absent, because this declaration says
|
|
47
|
+
no provider request was sent. This does not invent zero usage or settle any
|
|
48
|
+
earlier unknown cost.
|
|
49
|
+
|
|
50
|
+
Humanish records the adapter's declaration; it does not independently attest
|
|
51
|
+
transport behavior or provider billing. Retain local limit/admission receipts
|
|
52
|
+
when auditing those facts. Keep credentials, request bodies and provider URLs
|
|
53
|
+
out of such receipts. The contract does not add a manifest request-count cap,
|
|
54
|
+
increase an allowance, or turn a safety limit into participant abandonment.
|
|
@@ -88,7 +88,7 @@ responses, but durable run bundles use the public-safe `[target-cwd]` marker.
|
|
|
88
88
|
An actor trace may include `stopCause` alongside its unchanged `status`,
|
|
89
89
|
`completionReason` and verbatim `reason`. Computer-use sessions distinguish
|
|
90
90
|
`provider_output_limit`, `provider_token_limit`, `time_limit`, `spend_limit`,
|
|
91
|
-
`study_spend_limit`, `provider_incomplete`, `provider_status`, and
|
|
91
|
+
`study_spend_limit`, `adapter_limit`, `provider_incomplete`, `provider_status`, and
|
|
92
92
|
`harness_aborted`. Absence means the route or recording did not retain this
|
|
93
93
|
precise field; it does not mean the participant finished.
|
|
94
94
|
|
|
@@ -100,6 +100,13 @@ Participant prose is never used to infer the cause. Study summaries retain the
|
|
|
100
100
|
recorded outcome counts while explaining a cause only when the matching traces
|
|
101
101
|
cover that outcome's count.
|
|
102
102
|
|
|
103
|
+
`adapter_limit` records a library adapter's explicit declaration that a configured
|
|
104
|
+
local control limit refused the next request before provider dispatch. It ends
|
|
105
|
+
the interactive session as `incomplete` / `budget_reached`; earlier actions,
|
|
106
|
+
usage and task observations remain intact. It is not independent transport or
|
|
107
|
+
billing attestation, and generic historical errors are not reclassified. See
|
|
108
|
+
[the adapter admission contract](adapter-admission.md).
|
|
109
|
+
|
|
103
110
|
## Participant Assignment
|
|
104
111
|
|
|
105
112
|
`streams[].assignment` optionally records the original participant-facing assignment:
|
|
@@ -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.88.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.
|
|
@@ -210,7 +210,11 @@ A lab is a composition over code primitives, not a hardcoded kind:
|
|
|
210
210
|
template actually used is recorded in the run bundle as `desktopTemplate`
|
|
211
211
|
(public-safe — a template name is not a secret). Inert (warned) on every route
|
|
212
212
|
that creates no desktop, incl. the in-process `local-app` cua route and the
|
|
213
|
-
meta route — never silently ignored (invariant 6)
|
|
213
|
+
meta route — never silently ignored (invariant 6). Custom images need the
|
|
214
|
+
Desktop SDK's `xdotool` input support and `xclip` or `xsel` on `PATH` for
|
|
215
|
+
clipboard recovery when direct typing fails. If both clipboard utilities are
|
|
216
|
+
absent, recovery fails with `clipboard-utility-missing`; a dry-run does not
|
|
217
|
+
inspect the image's installed tools;
|
|
214
218
|
- `execution.desktop.browser` (e2b-desktop computer-use/fan-out routes, plus
|
|
215
219
|
sequential and concurrent shared-world actor seats): optional browser family
|
|
216
220
|
preference: `default`, `chrome`, `chromium`, or `firefox`. Absent/default
|
|
@@ -1228,6 +1232,16 @@ the stream shape, the meaningful-use rubric, and hard-failure rules.
|
|
|
1228
1232
|
Review summarizes whether evidence supports the claim. It does not replace
|
|
1229
1233
|
verification or maintainer acceptance.
|
|
1230
1234
|
|
|
1235
|
+
`verdict` is the run gate result. `participants.reachedGoal` retains the count of
|
|
1236
|
+
recorded successful sessions; it is not an independent adjudication of their
|
|
1237
|
+
claims. Computer-use review and Observer labels distinguish a participant's
|
|
1238
|
+
reported completion from a recorded `stopWhen` or dwell condition match. A
|
|
1239
|
+
condition match establishes that condition, not every aspect of the mission.
|
|
1240
|
+
Missing or malformed completion evidence is labeled unavailable. Other actor
|
|
1241
|
+
routes retain their own completion semantics. Re-reading a historical review
|
|
1242
|
+
refreshes these labels without rewriting the original bundle or actor trace.
|
|
1243
|
+
Share-safety verification does not establish task success.
|
|
1244
|
+
|
|
1231
1245
|
Core-owned fields:
|
|
1232
1246
|
|
|
1233
1247
|
- `schema`
|
package/docs/goals/current.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Current Goals
|
|
2
2
|
|
|
3
|
-
Status date: 2026-09-
|
|
3
|
+
Status date: 2026-09-12. Published baseline: `0.88.1`.
|
|
4
4
|
|
|
5
5
|
This page guides work on current merged source. Published behavior is described
|
|
6
|
-
in the [release notes](../release/0.
|
|
6
|
+
in the [release notes](../release/0.88.1-completion-evidence-and-local-app.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.
|
|
91
|
+
## Current Program Truth (source `0.88.1`)
|
|
92
92
|
|
|
93
93
|
| Surface | Available in merged source | Remaining boundary |
|
|
94
94
|
| --- | --- | --- |
|
|
@@ -98,7 +98,7 @@ substitute for it.
|
|
|
98
98
|
| Task protocol | Hidden criteria and per-task outcomes on supported per-lane CUA paths, including local-agent and desktop-cli | Shared-world, terminal-product, scripted and synthetic routes reject `tasks` before execution |
|
|
99
99
|
| Shared state | Sequential and concurrent single-origin shared-world studies with retained evidence | Multi-origin implementation remains gated; concurrent state change does not establish per-action causation |
|
|
100
100
|
| Observer | Live/recorded views, participant assignments, action-specific links, saved moments, zoom, comparison and phone-width review | Sparse captures cannot prove every action's effect; visual comparison alone is not a controlled experiment |
|
|
101
|
-
| Review and feedback | Verification grades, feedback drafts, portable HTML
|
|
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
|
| 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 |
|
|
103
103
|
| Off-app communication | In-sandbox email/SMS catch and digest-only thread evidence | This does not establish real-provider delivery |
|
|
104
104
|
| 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 |
|
|
@@ -108,6 +108,11 @@ Use the [task support matrix](../architecture/task-protocol-support.md),
|
|
|
108
108
|
and [CLI reference](https://humanish.dev/docs/cli) when choosing a concrete path.
|
|
109
109
|
Source behavior and required tests outrank stale status prose.
|
|
110
110
|
|
|
111
|
+
The library-assisted `local-app` route now includes a
|
|
112
|
+
[runnable npm example](../architecture/examples/state-driven-local-app/README.md).
|
|
113
|
+
Its deterministic provider demonstrates the integration with a real loopback
|
|
114
|
+
app; it does not establish persona effectiveness or independent adoption.
|
|
115
|
+
|
|
111
116
|
## Gates And Deferred Work
|
|
112
117
|
|
|
113
118
|
- Live OSS meta-lab execution remains disabled until repository-derived
|
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.88.1` (2026-09-12). 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,16 @@ 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.88.1 release note](../release/0.88.1-completion-evidence-and-local-app.md)
|
|
51
|
+
describes computer-use labels that distinguish participant reports from
|
|
52
|
+
recorded condition matches. It also covers the complete npm local-app example
|
|
53
|
+
and public `stableProgressKey` export, plus the clipboard fallback correction
|
|
54
|
+
for inherited output pipes.
|
|
55
|
+
|
|
56
|
+
The [0.88.0 release note](../release/0.88.0-study-diagnostics.md) describes
|
|
57
|
+
computer-use CLI diagnostics, explicit local admission limits and retained
|
|
58
|
+
uncertainty when an earlier provider request did not report usage.
|
|
59
|
+
|
|
50
60
|
The [0.87.0 release note](../release/0.87.0-participant-endings-and-phone-review.md)
|
|
51
61
|
describes recorded interruption causes, phone playback controls beside fitted
|
|
52
62
|
captures, and credential and evidence-sharing guidance by execution route.
|