humanish 0.103.2 → 0.104.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 +1 -1
- package/dist/desktop-recorder.js +3 -1
- package/dist/desktop-recorder.js.map +1 -1
- package/dist/doctor-lab.js +8 -0
- package/dist/doctor-lab.js.map +1 -1
- package/dist/local-captured-inbox.d.ts +6 -0
- package/dist/local-captured-inbox.js +65 -0
- package/dist/local-captured-inbox.js.map +1 -0
- package/dist/local-firecracker-desktop.d.ts +2 -1
- package/dist/local-firecracker-desktop.js +33 -25
- package/dist/local-firecracker-desktop.js.map +1 -1
- package/dist/local-firecracker-study.js +18 -2
- package/dist/local-firecracker-study.js.map +1 -1
- package/dist/local-runtime-config.js +3 -2
- package/dist/local-runtime-config.js.map +1 -1
- package/dist/local-runtime-release.js +16 -16
- package/dist/local-runtime-ssh.d.ts +6 -0
- package/dist/local-runtime-ssh.js +2 -0
- package/dist/local-runtime-ssh.js.map +1 -1
- package/docs/architecture/comms-inbox.md +40 -0
- package/docs/architecture/desktop-recording.md +9 -1
- package/docs/architecture/local-browser-runtime.md +4 -3
- package/docs/architecture/participant-media.md +2 -2
- package/docs/contracts/schemas.md +1 -1
- package/docs/goals/current.md +17 -10
- package/docs/ramp/README.md +7 -1
- package/docs/release/0.104.0-local-captured-inboxes.md +29 -0
- package/docs/release/0.104.1-recording-startup.md +24 -0
- package/package.json +1 -1
- package/skills/humanish/SKILL.md +8 -2
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ run downloads a verified runtime image; `npx humanish runtime setup` prepares it
|
|
|
55
55
|
ahead of time. Supported Macs use Lima instead of Docker Desktop.
|
|
56
56
|
[Optional camera and spoken conversation](docs/architecture/participant-media.md)
|
|
57
57
|
use a separate media runtime. [Optional desktop video/audio](docs/architecture/desktop-recording.md)
|
|
58
|
-
adds continuous Observer playback; screenshots remain the default. Local inboxes
|
|
58
|
+
adds continuous Observer playback; screenshots remain the default. [Local captured inboxes](docs/architecture/comms-inbox.md#local-browser-studies) support email verification without mailbox-provider credentials.
|
|
59
59
|
|
|
60
60
|
For a new local study, initialize with your app URL and task:
|
|
61
61
|
|
package/dist/desktop-recorder.js
CHANGED
|
@@ -49,8 +49,10 @@ export function buildDesktopRecorderCommand(options, startedAtMs) {
|
|
|
49
49
|
return { binary: "/usr/bin/ffmpeg", args };
|
|
50
50
|
}
|
|
51
51
|
export function buildDesktopRecorderPulseSetupCommands() {
|
|
52
|
+
// The capture mix needs no playback rewinds. Bound its cold buffer to 50 ms
|
|
53
|
+
// instead of the null sink's default two seconds, which stalls initial capture.
|
|
52
54
|
return [
|
|
53
|
-
["load-module", "module-null-sink", "sink_name=humanish_recording", "sink_properties=device.description=HumanishRecordingMix"],
|
|
55
|
+
["load-module", "module-null-sink", "sink_name=humanish_recording", "sink_properties=device.description=HumanishRecordingMix", "norewinds=true"],
|
|
54
56
|
["set-sink-volume", "humanish_recording", "0.5"],
|
|
55
57
|
["load-module", "module-loopback", "source=humanish_mic.monitor", "sink=humanish_recording", "latency_msec=20"],
|
|
56
58
|
["load-module", "module-loopback", "source=humanish_speaker.monitor", "sink=humanish_recording", "latency_msec=20"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desktop-recorder.js","sourceRoot":"","sources":["../src/desktop-recorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"desktop-recorder.js","sourceRoot":"","sources":["../src/desktop-recorder.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor-lab.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isLocalBrowserLab } from "./local-runtime-config.js";
|
|
2
2
|
import { localRuntimeStatus } from "./local-runtime.js";
|
|
3
3
|
import { automaticAnalysisBudget } from "./automatic-analysis-config.js";
|
|
4
|
+
import { externalCatchHealthy } from "./comms-sandbox-catch.js";
|
|
4
5
|
import { receivingRequiredKey } from "./comms-setup.js";
|
|
5
6
|
/** Shared read-only Codex account check for local participants in doctor and the TUI. */
|
|
6
7
|
export async function localCodexParticipantCheck(args) {
|
|
@@ -34,6 +35,13 @@ export async function labSetupChecks(args) {
|
|
|
34
35
|
if (local) {
|
|
35
36
|
const runtime = await (args.localRuntimeReadiness ?? (() => localRuntimeStatus({ env: args.env, media: config.execution?.desktop?.media !== undefined || config.execution?.desktop?.recording !== undefined })))();
|
|
36
37
|
checks.push({ name: "local browser runtime", ok: runtime.ok, message: runtime.message });
|
|
38
|
+
const email = config.comms?.email;
|
|
39
|
+
if (email?.kind === "fake" && email.external) {
|
|
40
|
+
const healthy = await externalCatchHealthy(email.external, { timeoutMs: 5000 });
|
|
41
|
+
checks.push({ name: "local captured inbox", ok: healthy, message: healthy
|
|
42
|
+
? "Recipient inbox routes are ready. Point your app's email sends at this catch; delivery remains untested. No mailbox-provider credentials are needed, and this does not receive arbitrary internet mail."
|
|
43
|
+
: "Captured inbox is unavailable or outdated. Start or upgrade and restart humanish comms catch, then check comms.email.external.catchBaseUrl (and inboxBaseUrl if set). No participant was allocated." });
|
|
44
|
+
}
|
|
37
45
|
}
|
|
38
46
|
if (config.comms?.email?.kind === "real") {
|
|
39
47
|
const name = await receivingRequiredKey(args.cwd, config.comms.email.connection);
|
package/dist/doctor-lab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-lab.js","sourceRoot":"","sources":["../src/doctor-lab.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doctor-lab.js","sourceRoot":"","sources":["../src/doctor-lab.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ExternalCommsCatch } from "./comms-sandbox-catch.js";
|
|
2
|
+
/** Expose only this participant's existing catch pages through its local desktop. */
|
|
3
|
+
export declare function startLocalCapturedInbox(external: ExternalCommsCatch, address: string): Promise<{
|
|
4
|
+
url: string;
|
|
5
|
+
close(): Promise<void>;
|
|
6
|
+
}>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { createServer } from "node:http";
|
|
2
|
+
import { Readable } from "node:stream";
|
|
3
|
+
import { pipeline } from "node:stream/promises";
|
|
4
|
+
import { inboxRecipientScope } from "./comms-inbox.js";
|
|
5
|
+
import { externalInboxUrl } from "./comms-sandbox-catch.js";
|
|
6
|
+
/** Expose only this participant's existing catch pages through its local desktop. */
|
|
7
|
+
export async function startLocalCapturedInbox(external, address) {
|
|
8
|
+
const scope = inboxRecipientScope(address);
|
|
9
|
+
const route = new RegExp(`^/(?:api/)?inbox/for/${scope}(?:/(?:comms-[0-9]+|latest)(?:/synth)?)?/?$`);
|
|
10
|
+
const upstream = new URL(externalInboxUrl(external));
|
|
11
|
+
const base = upstream.pathname.replace(/\/inbox$/, "");
|
|
12
|
+
const stop = new AbortController();
|
|
13
|
+
const server = createServer(async (request, response) => {
|
|
14
|
+
try {
|
|
15
|
+
const url = new URL(request.url ?? "/", "http://localhost");
|
|
16
|
+
if (request.method !== "GET") {
|
|
17
|
+
response.writeHead(405).end();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (["/", "/inbox", "/api/inbox"].includes(url.pathname)) {
|
|
21
|
+
response.writeHead(303, { location: `${url.pathname.startsWith("/api/") ? "/api" : ""}/inbox/for/${scope}` }).end();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (!route.test(url.pathname)) {
|
|
25
|
+
response.writeHead(404).end();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const target = new URL(upstream);
|
|
29
|
+
target.pathname = base + url.pathname;
|
|
30
|
+
target.search = "";
|
|
31
|
+
const result = await fetch(target, { redirect: "error", signal: AbortSignal.any([stop.signal, AbortSignal.timeout(15_000)]) });
|
|
32
|
+
response.statusCode = result.status;
|
|
33
|
+
for (const header of ["content-type", "content-security-policy", "referrer-policy", "x-content-type-options"]) {
|
|
34
|
+
const value = result.headers.get(header);
|
|
35
|
+
if (value !== null)
|
|
36
|
+
response.setHeader(header, value);
|
|
37
|
+
}
|
|
38
|
+
response.setHeader("cache-control", "no-store");
|
|
39
|
+
if (result.body)
|
|
40
|
+
await pipeline(Readable.fromWeb(result.body), response);
|
|
41
|
+
else
|
|
42
|
+
response.end();
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
if (response.headersSent)
|
|
46
|
+
response.destroy();
|
|
47
|
+
else
|
|
48
|
+
response.writeHead(502).end("The captured inbox is unavailable. Check the running mail catch.");
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
await new Promise((resolve, reject) => {
|
|
52
|
+
server.once("error", reject);
|
|
53
|
+
server.listen(0, "127.0.0.1", () => { server.off("error", reject); resolve(); });
|
|
54
|
+
});
|
|
55
|
+
const bound = server.address();
|
|
56
|
+
if (!bound || typeof bound === "string")
|
|
57
|
+
throw new Error("Local inbox did not bind a port.");
|
|
58
|
+
let closing;
|
|
59
|
+
return { url: `http://127.0.0.1:${bound.port}/inbox`, close: () => closing ??= (async () => {
|
|
60
|
+
stop.abort();
|
|
61
|
+
server.closeAllConnections();
|
|
62
|
+
await new Promise((resolve, reject) => server.close(error => error ? reject(error) : resolve()));
|
|
63
|
+
})() };
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=local-captured-inbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-captured-inbox.js","sourceRoot":"","sources":["../src/local-captured-inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export interface LocalFirecrackerAssets {
|
|
|
11
11
|
export interface LocalFirecrackerDesktop extends DesktopSession {
|
|
12
12
|
finishRecording(destination: Writable): Promise<DesktopRecordingMetadata>;
|
|
13
13
|
}
|
|
14
|
-
/** One VM
|
|
14
|
+
/** One VM with opaque TCP forwards to the selected app and optional scoped inbox. */
|
|
15
15
|
export declare function createLocalFirecrackerDesktop(options: {
|
|
16
16
|
assets: LocalFirecrackerAssets;
|
|
17
17
|
appUrl: string;
|
|
@@ -19,4 +19,5 @@ export declare function createLocalFirecrackerDesktop(options: {
|
|
|
19
19
|
signal?: AbortSignal;
|
|
20
20
|
media?: GuestMediaConfig;
|
|
21
21
|
recording?: DesktopRecordingConfig;
|
|
22
|
+
inboxUrl?: string;
|
|
22
23
|
}): Promise<LocalFirecrackerDesktop>;
|
|
@@ -14,7 +14,7 @@ const readLogs = async (id) => {
|
|
|
14
14
|
const result = await runtimeDocker(["logs", "--tail", "100", id], {}, 10_000);
|
|
15
15
|
return result.stdout + result.stderr;
|
|
16
16
|
};
|
|
17
|
-
/** One VM
|
|
17
|
+
/** One VM with opaque TCP forwards to the selected app and optional scoped inbox. */
|
|
18
18
|
export async function createLocalFirecrackerDesktop(options) {
|
|
19
19
|
if (options.media !== undefined) {
|
|
20
20
|
guestMediaConfigSchema.parse(options.media);
|
|
@@ -33,6 +33,10 @@ export async function createLocalFirecrackerDesktop(options) {
|
|
|
33
33
|
catch {
|
|
34
34
|
throw new Error("Local Firecracker requires a loopback HTTP(S) app on a port above 1023.");
|
|
35
35
|
}
|
|
36
|
+
const inbox = options.inboxUrl === undefined ? undefined : new URL(validateGuestInitialUrl(options.inboxUrl));
|
|
37
|
+
if (inbox && (inbox.protocol !== "http:" || inbox.port === url.port)) {
|
|
38
|
+
throw new Error("The local inbox requires its own loopback HTTP port.");
|
|
39
|
+
}
|
|
36
40
|
options.signal?.throwIfAborted();
|
|
37
41
|
await mkdir(options.outputRoot, { recursive: true, mode: 0o700 });
|
|
38
42
|
// Unix socket paths have a small fixed limit; project paths may be much longer.
|
|
@@ -47,30 +51,33 @@ export async function createLocalFirecrackerDesktop(options) {
|
|
|
47
51
|
let tunnel;
|
|
48
52
|
let socketRoot = path.join(work, "vm"), cidfile = path.join(work, "container-id");
|
|
49
53
|
let controlSocket = path.join(socketRoot, "vsock.sock");
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
const forwards = [{ url, port: 8000 }, ...(inbox ? [{ url: inbox, port: 8001 }] : [])].map(endpoint => ({
|
|
55
|
+
port: endpoint.port, server: createServer(incoming => {
|
|
56
|
+
if (signal.aborted) {
|
|
57
|
+
incoming.destroy();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const target = connect({ host: endpoint.url.hostname, port: Number(endpoint.url.port), autoSelectFamily: true });
|
|
61
|
+
for (const socket of [incoming, target]) {
|
|
62
|
+
sockets.add(socket);
|
|
63
|
+
socket.once("close", () => sockets.delete(socket));
|
|
64
|
+
socket.on("error", () => { incoming.destroy(); target.destroy(); });
|
|
65
|
+
}
|
|
66
|
+
incoming.pipe(target);
|
|
67
|
+
target.pipe(incoming);
|
|
68
|
+
incoming.once("close", () => target.destroy());
|
|
69
|
+
target.once("close", () => incoming.destroy());
|
|
70
|
+
})
|
|
71
|
+
}));
|
|
66
72
|
let closing;
|
|
67
73
|
const close = () => closing ??= (async () => {
|
|
68
74
|
stop.abort();
|
|
69
75
|
client?.close();
|
|
70
76
|
for (const socket of sockets)
|
|
71
77
|
socket.destroy();
|
|
72
|
-
|
|
73
|
-
forward.
|
|
78
|
+
for (const forward of forwards)
|
|
79
|
+
if (forward.server.listening)
|
|
80
|
+
forward.server.close();
|
|
74
81
|
options.signal?.removeEventListener("abort", aborted);
|
|
75
82
|
// Docker can create the container before its command's reply is interrupted.
|
|
76
83
|
// Only this invocation's private cidfile is cleanup authority.
|
|
@@ -107,16 +114,17 @@ export async function createLocalFirecrackerDesktop(options) {
|
|
|
107
114
|
controlSocket = path.join(work, "vsock.sock");
|
|
108
115
|
uid = Number((await runtimeExec("id", ["-u"])).stdout.trim());
|
|
109
116
|
gid = Number((await runtimeExec("id", ["-g"])).stdout.trim());
|
|
110
|
-
tunnel = await openLimaTunnel({ work, socketRoot, appUrl: url, signal });
|
|
117
|
+
tunnel = await openLimaTunnel({ work, socketRoot, appUrl: url, ...(inbox ? { inboxUrl: inbox } : {}), signal });
|
|
111
118
|
}
|
|
112
119
|
else {
|
|
113
120
|
await mkdir(socketRoot, { mode: 0o700 });
|
|
114
121
|
}
|
|
115
122
|
if (!lima)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
123
|
+
for (const { server, port } of forwards)
|
|
124
|
+
await new Promise((resolve, reject) => {
|
|
125
|
+
server.once("error", reject);
|
|
126
|
+
server.listen(path.join(socketRoot, `vsock.sock_${port}`), () => { server.off("error", reject); resolve(); });
|
|
127
|
+
});
|
|
120
128
|
const created = await docker(["create", "--rm", "--cidfile", cidfile, "--init", "--user", "0:0", "--read-only", "--cap-drop", "ALL",
|
|
121
129
|
"--cap-add", "NET_ADMIN", "--cap-add", "SETUID", "--cap-add", "SETGID", "--cap-add", "CHOWN",
|
|
122
130
|
"--device", "/dev/kvm", "--device", "/dev/net/tun", "--security-opt", "no-new-privileges",
|
|
@@ -124,7 +132,7 @@ export async function createLocalFirecrackerDesktop(options) {
|
|
|
124
132
|
"--tmpfs", "/tmp:rw,nosuid,nodev,size=16m", "--stop-timeout", "5",
|
|
125
133
|
"--mount", `type=bind,src=${socketRoot},dst=/run/vm`,
|
|
126
134
|
"--mount", "type=volume,dst=/run/state,volume-nocopy",
|
|
127
|
-
options.assets.image, url.port, String(uid), String(gid)]);
|
|
135
|
+
options.assets.image, url.port, String(uid), String(gid), ...(inbox ? [inbox.port] : [])]);
|
|
128
136
|
if (!/^[a-f0-9]{64}$/.test(created))
|
|
129
137
|
throw new Error("Docker did not return a container ID.");
|
|
130
138
|
container = created;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-firecracker-desktop.js","sourceRoot":"","sources":["../src/local-firecracker-desktop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-firecracker-desktop.js","sourceRoot":"","sources":["../src/local-firecracker-desktop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { collectDesktopRecording } from "./desktop-recording-artifact.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { runLab } from "./lab-engine.js";
|
|
4
|
+
import { inboxRecipientFor } from "./cua-desktop-lane.js";
|
|
4
5
|
import { runCuaActorSession } from "./computer-use-actor.js";
|
|
5
6
|
import { createLocalFirecrackerDesktop } from "./local-firecracker-desktop.js";
|
|
6
7
|
import { localBrowserDefaults, localBrowserUnsupportedReason } from "./local-runtime-config.js";
|
|
@@ -8,6 +9,7 @@ import { prepareLocalRuntime } from "./local-runtime.js";
|
|
|
8
9
|
import { checkRestrictedCodexAnalysisReadiness } from "./restricted-codex-analysis.js";
|
|
9
10
|
import { createRestrictedCodexParticipant } from "./restricted-codex-participant.js";
|
|
10
11
|
import { guestMediaConfigSchema } from "./guest-media-config.js";
|
|
12
|
+
import { startLocalCapturedInbox } from "./local-captured-inbox.js";
|
|
11
13
|
/** Local desktop/provider composition over the shared lab runner. */
|
|
12
14
|
export async function runLocalFirecrackerStudy(options) {
|
|
13
15
|
const config = localBrowserDefaults(options.config);
|
|
@@ -46,11 +48,18 @@ export async function runLocalFirecrackerStudy(options) {
|
|
|
46
48
|
cuaHooks: {
|
|
47
49
|
createDesktopLane(spec, warnings, artifactRoot) {
|
|
48
50
|
let session;
|
|
51
|
+
let inbox;
|
|
52
|
+
const email = config.comms?.email;
|
|
53
|
+
const address = email?.kind === "fake" ? inboxRecipientFor(email, spec.laneId)?.address : undefined;
|
|
49
54
|
let finalizing;
|
|
50
55
|
const evidence = { killed: false, streamUrlPresent: false, stateStepRecords: [], phaseRecords: [] };
|
|
51
56
|
return {
|
|
52
57
|
async prepare() {
|
|
53
|
-
|
|
58
|
+
const runtime = await assets();
|
|
59
|
+
if (address && email?.kind === "fake" && email.external)
|
|
60
|
+
inbox = await startLocalCapturedInbox(email.external, address);
|
|
61
|
+
session = await createLocalFirecrackerDesktop({ assets: runtime,
|
|
62
|
+
...(inbox ? { inboxUrl: inbox.url } : {}),
|
|
54
63
|
...(media === undefined ? {} : { media }),
|
|
55
64
|
...(recording === undefined ? {} : { recording }),
|
|
56
65
|
appUrl: spec.targetUrl ?? config.subject.appUrl, outputRoot: path.join(options.cwd, ".humanish", "local-runtime"),
|
|
@@ -67,10 +76,17 @@ export async function runLocalFirecrackerStudy(options) {
|
|
|
67
76
|
async openSession() {
|
|
68
77
|
if (!session)
|
|
69
78
|
throw new Error("The local desktop has not been prepared.");
|
|
70
|
-
return { executor: session.executor };
|
|
79
|
+
return { executor: session.executor, ...(inbox && address ? { inbox: { url: inbox.url, address } } : {}) };
|
|
71
80
|
},
|
|
72
81
|
finalize() {
|
|
73
82
|
return finalizing ??= (async () => {
|
|
83
|
+
try {
|
|
84
|
+
await inbox?.close();
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
cleanupUnconfirmed = true;
|
|
88
|
+
warnings.push("Local inbox cleanup is unconfirmed.");
|
|
89
|
+
}
|
|
74
90
|
if (!session)
|
|
75
91
|
return;
|
|
76
92
|
if (recording) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-firecracker-study.js","sourceRoot":"","sources":["../src/local-firecracker-study.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAuC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-firecracker-study.js","sourceRoot":"","sources":["../src/local-firecracker-study.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,8 +31,9 @@ export function localBrowserUnsupportedReason(config) {
|
|
|
31
31
|
actor.lanes?.some(lane => lane.device !== undefined) || desktop.template !== undefined || desktop.sandboxTimeoutMs !== undefined) {
|
|
32
32
|
return "The local browser runtime currently uses a 960×720 Chromium desktop. Omit hosted templates, device presets and sandboxTimeoutMs.";
|
|
33
33
|
}
|
|
34
|
-
if (config.comms !== undefined)
|
|
35
|
-
return "Local browser inboxes
|
|
34
|
+
if (config.comms !== undefined && (config.comms.email?.kind !== "fake" || !config.comms.email.external)) {
|
|
35
|
+
return "Local browser inboxes require captured email with comms.email.external.catchBaseUrl. Run humanish comms catch and point your app's email sends at it. Real receiving requires a supported hosted route.";
|
|
36
|
+
}
|
|
36
37
|
if (desktop.media?.camera !== undefined && desktop.media.camera.source !== "synthetic") {
|
|
37
38
|
return "Local cameras currently use source: synthetic. Camera files remain supported on hosted desktops.";
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-runtime-config.js","sourceRoot":"","sources":["../src/local-runtime-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local-runtime-config.js","sourceRoot":"","sources":["../src/local-runtime-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
/** Updated with the verified, public runtime artifact before release. */
|
|
2
2
|
export const LOCAL_RUNTIME_RELEASE = {
|
|
3
|
-
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.
|
|
4
|
-
sha256: "
|
|
5
|
-
bytes:
|
|
6
|
-
image: "sha256:
|
|
3
|
+
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.28.1/runtime-linux-amd64.tar.gz",
|
|
4
|
+
sha256: "224be52467d6a808c79f156c6537d8a34c2dfb7b71daa836d34c8611fbbb6647",
|
|
5
|
+
bytes: 596142100,
|
|
6
|
+
image: "sha256:89cec77ea8097d32f3ef14bf2bdb0a93ffd25c3975913f8c5ffc6a2f360482a2"
|
|
7
7
|
};
|
|
8
8
|
/** Architecture-specific artifacts; each retains matching sources and notices. */
|
|
9
9
|
export const LOCAL_RUNTIME_RELEASES = {
|
|
10
10
|
amd64: LOCAL_RUNTIME_RELEASE,
|
|
11
11
|
arm64: {
|
|
12
|
-
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.
|
|
13
|
-
sha256: "
|
|
14
|
-
bytes:
|
|
15
|
-
image: "sha256:
|
|
12
|
+
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.28.2/runtime-linux-arm64.tar.gz",
|
|
13
|
+
sha256: "d03e1b6335bea76a22bf88ca9aa8dc1f4fe0af16fba02c654a333766e27cd2ea",
|
|
14
|
+
bytes: 582661785,
|
|
15
|
+
image: "sha256:c3d584d9586d2e86833ee8d050c43774d456c6c4f8f3c9a53194bd90910fa938"
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
/** Media assets are separate so ordinary browser studies keep the smaller download. */
|
|
19
19
|
export const LOCAL_MEDIA_RUNTIME_RELEASES = {
|
|
20
20
|
amd64: {
|
|
21
|
-
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.
|
|
22
|
-
sha256: "
|
|
23
|
-
bytes:
|
|
24
|
-
image: "sha256:
|
|
21
|
+
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.28.5/runtime-linux-amd64.tar.gz",
|
|
22
|
+
sha256: "912361889503f011ef1a255e3138fc51ff67ba686529715aa4c0b79744e18d21",
|
|
23
|
+
bytes: 846951548,
|
|
24
|
+
image: "sha256:34d41e8345739ecb18348bb6acadcd10a8854b79528127704a704d7a4a2080ff"
|
|
25
25
|
},
|
|
26
26
|
arm64: {
|
|
27
|
-
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.
|
|
28
|
-
sha256: "
|
|
29
|
-
bytes:
|
|
30
|
-
image: "sha256:
|
|
27
|
+
url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.28.6/runtime-linux-arm64.tar.gz",
|
|
28
|
+
sha256: "59c6321878bb392949507d1325ae39ab462462ff473da24d52b2eedf8bccd014",
|
|
29
|
+
bytes: 828229067,
|
|
30
|
+
image: "sha256:9e6c29bb56139204efb618e3b89fb0fc30f96db8502a05102788d3c610fa019a"
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
//# sourceMappingURL=local-runtime-release.js.map
|
|
@@ -8,6 +8,11 @@ export declare function openRuntimeSshTunnel(options: {
|
|
|
8
8
|
appHost: string;
|
|
9
9
|
appPort: number;
|
|
10
10
|
signal: AbortSignal;
|
|
11
|
+
inbox?: {
|
|
12
|
+
socket: string;
|
|
13
|
+
host: string;
|
|
14
|
+
port: number;
|
|
15
|
+
};
|
|
11
16
|
}): Promise<{
|
|
12
17
|
close(): Promise<boolean>;
|
|
13
18
|
}>;
|
|
@@ -15,6 +20,7 @@ export declare function openLimaTunnel(options: {
|
|
|
15
20
|
work: string;
|
|
16
21
|
socketRoot: string;
|
|
17
22
|
appUrl: URL;
|
|
23
|
+
inboxUrl?: URL;
|
|
18
24
|
signal: AbortSignal;
|
|
19
25
|
}): Promise<{
|
|
20
26
|
close(): Promise<boolean>;
|
|
@@ -10,6 +10,7 @@ export async function openRuntimeSshTunnel(options) {
|
|
|
10
10
|
"-o", "ConnectTimeout=15", "-o", "StreamLocalBindMask=0177",
|
|
11
11
|
"-L", `${options.localSocket}:${options.remoteSocket}`,
|
|
12
12
|
"-R", `${options.appSocket}:${options.appHost}:${options.appPort}`,
|
|
13
|
+
...(options.inbox ? ["-R", `${options.inbox.socket}:${options.inbox.host}:${options.inbox.port}`] : []),
|
|
13
14
|
options.destination, "sh -c 'printf \"HUMANISH_SSH_READY\\n\"; exec cat'"], { stdio: ["pipe", "pipe", "pipe"] });
|
|
14
15
|
let exited = false;
|
|
15
16
|
const closed = new Promise(resolve => child.once("close", () => { exited = true; resolve(); }));
|
|
@@ -84,6 +85,7 @@ export async function openLimaTunnel(options) {
|
|
|
84
85
|
return openRuntimeSshTunnel({ config, destination: `lima-${LIMA_INSTANCE}`,
|
|
85
86
|
localSocket: path.join(options.work, "vsock.sock"), remoteSocket: `${options.socketRoot}/vsock.sock`,
|
|
86
87
|
appSocket: `${options.socketRoot}/vsock.sock_8000`, appHost: options.appUrl.hostname,
|
|
88
|
+
...(options.inboxUrl ? { inbox: { socket: `${options.socketRoot}/vsock.sock_8001`, host: options.inboxUrl.hostname, port: Number(options.inboxUrl.port) } } : {}),
|
|
87
89
|
appPort: Number(options.appUrl.port), signal: options.signal });
|
|
88
90
|
}
|
|
89
91
|
//# sourceMappingURL=local-runtime-ssh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-runtime-ssh.js","sourceRoot":"","sources":["../src/local-runtime-ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAElE,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"local-runtime-ssh.js","sourceRoot":"","sources":["../src/local-runtime-ssh.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,46 @@ A standalone catch tracks its generated files. Reusing its directory with a chan
|
|
|
29
29
|
`--recipient` roster or an emptied delivery log removes obsolete message, latest and
|
|
30
30
|
recipient routes; unrelated files are untouched.
|
|
31
31
|
|
|
32
|
+
## Local browser studies
|
|
33
|
+
|
|
34
|
+
Run a catch on the same host as the local study:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
humanish comms catch --port 8025 --dir .humanish/mail-catch
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Configure your **app's** email transport to send to `http://127.0.0.1:8025`
|
|
41
|
+
using its supported HTTP send configuration, or add `--smtp-port 1025` and
|
|
42
|
+
point its SMTP transport at `127.0.0.1:1025`. Humanish does not change an
|
|
43
|
+
already-running app's environment. No real mailbox-provider credentials are
|
|
44
|
+
needed. This captures mail sent by that app; it does not receive arbitrary
|
|
45
|
+
internet email.
|
|
46
|
+
|
|
47
|
+
Add this to an existing local `app-url` lab:
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
comms:
|
|
51
|
+
email:
|
|
52
|
+
external:
|
|
53
|
+
catchBaseUrl: http://127.0.0.1:8025
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Then run `humanish doctor --lab <lab>` and `humanish run <lab>`. Omit
|
|
57
|
+
`recipients` to assign an address per lane automatically, or declare explicit
|
|
58
|
+
`{ lane, address }` entries for an existing roster. The participant receives its
|
|
59
|
+
address and inbox URL in its mission. Verification links keep their original
|
|
60
|
+
app origin; ensure they target the loopback app port selected by the lab.
|
|
61
|
+
|
|
62
|
+
Each local desktop forwards a separate host-owned read-only proxy for its
|
|
63
|
+
assigned recipient. Other recipient routes, the operator inbox, mail sends and
|
|
64
|
+
the private delivery drain are unavailable through that proxy. The study closes
|
|
65
|
+
these proxies with its desktops and leaves your catch running. Host-side
|
|
66
|
+
collection uses the existing digest-only comms evidence. Supported captured
|
|
67
|
+
images and explicit unavailable-image placeholders work as described below.
|
|
68
|
+
|
|
69
|
+
The local path supports captured email only. Provider-backed real receiving
|
|
70
|
+
retains its separate hosted-route and management-credential requirements.
|
|
71
|
+
|
|
32
72
|
## Existing external catches
|
|
33
73
|
|
|
34
74
|
Upgrade the Humanish installation that runs `humanish comms catch` and **restart that
|
|
@@ -27,7 +27,8 @@ participant's evidence.
|
|
|
27
27
|
|
|
28
28
|
The desktop runs FFmpeg against its X display. MP4 carries H.264 video and optional
|
|
29
29
|
AAC audio. Recording stops and streams to the run directory before desktop cleanup.
|
|
30
|
-
Both providers use the same encoding settings and artifact metadata. The
|
|
30
|
+
Both providers use the same encoding settings and artifact metadata. The recording
|
|
31
|
+
mix disables playback rewinds to avoid the null sink's initial two-second buffer. The local
|
|
31
32
|
runtime transfers one bounded file over its existing owner connection; E2B uses
|
|
32
33
|
the SDK's streaming file download. Participant tools cannot request arbitrary files.
|
|
33
34
|
|
|
@@ -44,6 +45,13 @@ has audible playback. Outside the retained media interval, Observer shows that
|
|
|
44
45
|
video is unavailable rather than extending its coverage. Old screenshot-only runs
|
|
45
46
|
continue to work.
|
|
46
47
|
|
|
48
|
+
Capture still begins after device and transport startup. An audio track can contain
|
|
49
|
+
silence before a cold source delivers sound; early dispatch of speech or playback
|
|
50
|
+
does not itself prove audible capture. Preserve these offsets when reviewing early
|
|
51
|
+
events. The startup correction does not reconstruct missing frames or audio in
|
|
52
|
+
existing files. Variable guest execution stalls can still leave frame gaps; the
|
|
53
|
+
recorded timestamps preserve those gaps. See #854 for the remaining investigation.
|
|
54
|
+
|
|
47
55
|
The file and its measured interval are recorded in `streams[].recording` and a
|
|
48
56
|
`recording` artifact entry. A recorder failure warns and preserves screenshots,
|
|
49
57
|
actions and feedback; it does not fail an otherwise useful participant. Incomplete
|
|
@@ -95,14 +95,15 @@ Later participant actions and observations do not use this startup wait.
|
|
|
95
95
|
- On Linux, a local Docker Engine; remote contexts, rootless Docker and Docker
|
|
96
96
|
Desktop are unsupported. The Mac adapter uses Docker inside its own Lima host.
|
|
97
97
|
- Loopback HTTP(S) app URLs on explicit ports above 1023. Each participant can
|
|
98
|
-
reach its selected app port,
|
|
98
|
+
reach its selected app port, its assigned captured inbox when declared, and public destinations over ordinary TCP/UDP.
|
|
99
99
|
Other private host/LAN destinations and cloud metadata are blocked.
|
|
100
100
|
- Chromium at 960×720, 2 vCPUs and 2 GiB guest RAM per participant. Docker's
|
|
101
101
|
enclosing memory limit is 3 GiB. Start with a small concurrency for your host;
|
|
102
102
|
these allocations are not a promise of measured peak memory or capacity.
|
|
103
103
|
- Browser-only by default. [Optional camera and spoken conversation](participant-media.md)
|
|
104
|
-
use a separate media image and the same study loop.
|
|
105
|
-
|
|
104
|
+
use a separate media image and the same study loop.
|
|
105
|
+
- [Captured inboxes](comms-inbox.md#local-browser-studies) use an operator-run mail catch.
|
|
106
|
+
Real email receiving remains unsupported on the local route.
|
|
106
107
|
- A 20-minute default and maximum participant session budget, within the runtime
|
|
107
108
|
image's 30-minute process lifetime. A shorter `execution.timeoutMs` is supported.
|
|
108
109
|
- Codex participants currently use `gpt-6-astra` at low effort. Hosted templates,
|
|
@@ -49,8 +49,8 @@ latency and possible transcription errors, not a streaming voice conversation
|
|
|
49
49
|
with interruption handling.
|
|
50
50
|
|
|
51
51
|
Spoken text and heard observations pass through the existing evidence redaction
|
|
52
|
-
before being retained in the trace. Analysis reads that evidence alongside
|
|
53
|
-
|
|
52
|
+
before being retained in the trace. Analysis reads that evidence alongside screenshots and actions; it does not
|
|
53
|
+
inspect raw audio or video. Raw audio is not saved by default. [Optional desktop recording](desktop-recording.md)
|
|
54
54
|
can retain actual screen and audio playback alongside this evidence.
|
|
55
55
|
|
|
56
56
|
## Hosted desktops
|
|
@@ -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.104.1`; it is not an exhaustive inventory of command/result envelopes. Exported types,
|
|
7
7
|
schema constants, parsers, and validators in `src/` are authoritative. Rows
|
|
8
8
|
marked "reserved" name layering intent only — no code emits or validates them
|
|
9
9
|
yet. Do not emit a reserved schema.
|
package/docs/goals/current.md
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
# Current Goals
|
|
2
2
|
|
|
3
|
-
Status date: 2026-09-28. Source baseline: `0.
|
|
4
|
-
|
|
5
|
-
This page guides work on current source. Version `0.
|
|
6
|
-
|
|
3
|
+
Status date: 2026-09-28. Source baseline: `0.104.1`.
|
|
4
|
+
|
|
5
|
+
This page guides work on current source. Version `0.104.1` bounds the recording
|
|
6
|
+
mix buffer to remove the reproduced initial video gap; see its
|
|
7
|
+
[release note](../release/0.104.1-recording-startup.md).
|
|
8
|
+
Version `0.104.0` connects local browser
|
|
9
|
+
participants to captured email inboxes; see its
|
|
10
|
+
[release note](../release/0.104.0-local-captured-inboxes.md).
|
|
11
|
+
Version `0.103.2` retains adjacent ending views for outcome review within the
|
|
12
|
+
existing capture budget; see its
|
|
7
13
|
[release note](../release/0.103.2-analysis-ending-context.md).
|
|
8
14
|
Version `0.103.1` fixes capture
|
|
9
15
|
redistribution after image-byte reservations; its
|
|
10
16
|
[release note](../release/0.103.1-analysis-capture-allocation.md) describes the
|
|
11
|
-
bounded
|
|
17
|
+
bounded allocation correction, separate from the 0.103.2 ending-context fix.
|
|
12
18
|
Version `0.103.0` adds optional desktop
|
|
13
19
|
video and audio; its [release note](../release/0.103.0-desktop-recording.md)
|
|
14
20
|
records the supported routes, playback behavior and local-only evidence limits.
|
|
@@ -96,7 +102,7 @@ requires decision-equivalent retained evidence and a real deletion branch.
|
|
|
96
102
|
No first-party deletion branch has met that gate. Public demonstrations do not
|
|
97
103
|
substitute for it.
|
|
98
104
|
|
|
99
|
-
## Current Program Truth (source `0.
|
|
105
|
+
## Current Program Truth (source `0.104.1`)
|
|
100
106
|
|
|
101
107
|
| Surface | Available in source | Remaining boundary |
|
|
102
108
|
| --- | --- | --- |
|
|
@@ -109,9 +115,9 @@ substitute for it.
|
|
|
109
115
|
| 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 |
|
|
110
116
|
| 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; explicit restricted Codex account analysis on qualified Linux x64 and Apple Silicon Mac profiles | Account dollars/output-token caps are unavailable; Keychain/other CLI profiles are unqualified. Model interpretation needs review; selection limits coverage; opening Observer never dispatches analysis |
|
|
111
117
|
| TUI and serving | Detached starts, run stopping, reclamation, Observer attachment, loopback serving, run library and AgentMail setup, authentication and lab configuration | Stopping a process does not itself prove sandbox cleanup; TUI views over CLI `stats`/`export` remain follow-ups |
|
|
112
|
-
| Off-app communication | Recipient-scoped local capture and fresh real AgentMail receiving, supported inline raster images, bounded collection and host-owned recovery | Real mail uses isolated participant surfaces and remains local-only for publication. Hosted mail/model processing, bounded fidelity and interrupted-run recovery are explicit; local-agent, borrowed inboxes and SMS are unsupported |
|
|
113
|
-
| Local browsers | Shared study loop on Linux x64/Docker/KVM and M3-or-newer Mac/Lima; pinned runtime download, Codex account participants and automatic analysis | Explicit local labs; local
|
|
114
|
-
| Mobile and media | Hosted viewport/emulation, desktop geometry checks, bounded dwell and declared camera feed; optional camera and speech passed two-person Linux and Mac conversations with validated analysis; hosted audio-only uses the same worker | Hosted camera+speech is unsupported; English recognition and robotic voice have fidelity limits; raw AV recording, forced TURN, physical-device and touch fidelity
|
|
118
|
+
| Off-app communication | Recipient-scoped local capture and fresh real AgentMail receiving, supported inline raster images, bounded collection and host-owned recovery | Real mail uses isolated participant surfaces and remains local-only for publication. Hosted mail/model processing, bounded fidelity and interrupted-run recovery are explicit; real receiving through local-agent, borrowed inboxes and SMS are unsupported |
|
|
119
|
+
| Local browsers | Shared study loop on Linux x64/Docker/KVM and M3-or-newer Mac/Lima; pinned runtime download, Codex account participants and automatic analysis | Explicit local labs support recipient-scoped captured inboxes; real receiving on local desktops, automatic onboarding, larger cohorts and sleep/wake remain unqualified |
|
|
120
|
+
| Mobile and media | Hosted viewport/emulation, desktop geometry checks, bounded dwell and declared camera feed; optional camera and speech passed two-person Linux and Mac conversations with validated analysis; hosted audio-only uses the same worker; optional screen/mixed-audio MP4 capture shipped with Linux/E2B and Mac acceptance | Hosted camera+speech is unsupported; English recognition and robotic voice have fidelity limits; raw AV recording is shipped but local-only, excluded from HTML export and analysis (screenshots/text only); the reproduced recording-mix startup video gap is corrected; variable guest capture stalls, initial device/transport availability and cold audio-source delivery remain limits (#854); forced TURN, larger-cohort capacity, physical-device and touch fidelity remain unqualified |
|
|
115
121
|
|
|
116
122
|
Use the [task support matrix](../architecture/task-protocol-support.md),
|
|
117
123
|
[actor registry](https://github.com/danielgwilson/humanish/blob/main/src/actor-registry.ts)
|
|
@@ -131,7 +137,8 @@ ordinary TAP/NAT networking. Continue managed-local work from this complete stud
|
|
|
131
137
|
path; the earlier offline owner/service qualification experiments are historical
|
|
132
138
|
fixtures, not an installation architecture or a prerequisite queue. Explicit
|
|
133
139
|
Linux local labs now use the installed CLI/TUI, with a verified runtime download
|
|
134
|
-
before the first live run. Mac browser support is also shipped
|
|
140
|
+
before the first live run. Mac browser support is also shipped. Captured inbox integration reuses the existing
|
|
141
|
+
catch and evidence contracts; local provider-backed receiving remains unsupported.
|
|
135
142
|
Optional media passed Linux and Mac conversations with receiving-side evidence
|
|
136
143
|
and owned-resource cleanup. The original Mac recording produced validated
|
|
137
144
|
analysis after its citation instructions were clarified. Existing hosted labs
|
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.104.1` (2026-09-28). 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
|
|
@@ -54,6 +54,12 @@ If a change does not improve one of those loops, it probably belongs elsewhere.
|
|
|
54
54
|
|
|
55
55
|
## Current State
|
|
56
56
|
|
|
57
|
+
The [0.104.1 release note](../release/0.104.1-recording-startup.md)
|
|
58
|
+
describes the recording mix buffer correction for early video capture.
|
|
59
|
+
|
|
60
|
+
The [0.104.0 release note](../release/0.104.0-local-captured-inboxes.md)
|
|
61
|
+
describes captured inboxes for local browser studies.
|
|
62
|
+
|
|
57
63
|
The [0.103.2 release note](../release/0.103.2-analysis-ending-context.md)
|
|
58
64
|
describes adjacent ending captures for outcome review within the existing budget.
|
|
59
65
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 0.104.0 — Local captured inboxes
|
|
2
|
+
|
|
3
|
+
Local browser participants can now create an account, open their assigned inbox
|
|
4
|
+
and follow a verification link without mailbox-provider credentials. Start
|
|
5
|
+
`humanish comms catch`, configure the app to send email to that catch, and declare
|
|
6
|
+
`comms.email.external.catchBaseUrl` in the local lab. Doctor checks the catch's
|
|
7
|
+
recipient routes and explains setup failures before a participant starts.
|
|
8
|
+
|
|
9
|
+
Each desktop forwards only its assigned recipient's read-only inbox. Operator
|
|
10
|
+
mail, other recipient routes and the private delivery drain are unavailable
|
|
11
|
+
through that forward. The existing renderer, mission instructions, shared study
|
|
12
|
+
runner and digest-only comms evidence are reused. Supported inline raster images
|
|
13
|
+
render; unsupported images retain an explicit placeholder.
|
|
14
|
+
|
|
15
|
+
This captures the target app's outgoing mail. It does not receive arbitrary
|
|
16
|
+
internet email or add real-provider receiving to local-agent studies. Existing
|
|
17
|
+
hosted receiving and its management-credential boundary remain unchanged.
|
|
18
|
+
|
|
19
|
+
Verification includes two concurrent Linux local Codex participants with distinct
|
|
20
|
+
messages and independently verified app accounts, automatic analysis, supported
|
|
21
|
+
and unsupported image rendering, a browser-runtime isolation/cleanup check, and
|
|
22
|
+
real OpenSSH forwarding with controller-death cleanup. Native ARM runtime builds
|
|
23
|
+
exercise the same recipe; this release does not claim a new Mac end-to-end run.
|
|
24
|
+
Raw study screenshots remain local-only under the normal verification rules.
|
|
25
|
+
|
|
26
|
+
The capability table and older media/account/timeout issues were also reconciled
|
|
27
|
+
with shipped behavior. Token counts do not establish plan quota or dollar cost;
|
|
28
|
+
the original intermittent pre-profile timeout remains unresolved. Recording
|
|
29
|
+
startup gaps remain tracked separately in #854.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 0.104.1 — Recording startup
|
|
2
|
+
|
|
3
|
+
Mixed desktop recording no longer waits behind the recording mix's default
|
|
4
|
+
two-second PulseAudio buffer. Its null sink now uses the supported no-rewind mode,
|
|
5
|
+
which bounds that buffer to 50 ms. FFmpeg settings, timestamps, startup ordering
|
|
6
|
+
and resource ownership are unchanged; screen-only recording uses the same path
|
|
7
|
+
as before.
|
|
8
|
+
|
|
9
|
+
The reproduced Linux VM baseline had a 1.67-second gap after its first frame.
|
|
10
|
+
The corrected recording began video at 0.187 seconds and audio at 0.244 seconds,
|
|
11
|
+
with continuous frame cadence. Six browser flashes and tones were retained and
|
|
12
|
+
aligned within one 15 fps video frame. Actual E2B mixed and screen-only captures
|
|
13
|
+
also had continuous video cadence. These are retained checks, not universal
|
|
14
|
+
startup-latency guarantees or a new Mac acceptance study. Longer installed checks
|
|
15
|
+
also retained variable guest capture gaps, including a 1.33-second mid-recording
|
|
16
|
+
stall. Those gaps remain tracked in #854; this correction addresses the cold mix
|
|
17
|
+
buffer.
|
|
18
|
+
|
|
19
|
+
Device and transport startup still precede capture. Cold audio sources may deliver
|
|
20
|
+
sound later than the playback request; early silent audio is not proof that every
|
|
21
|
+
requested sound was captured. Original recordings are preserved, with no fabricated
|
|
22
|
+
frames or timestamp repair. Interrupted recording still produces partial metadata
|
|
23
|
+
and releases its recorder and audio processes. Screenshots remain the default
|
|
24
|
+
and the fallback if optional recording fails.
|
package/package.json
CHANGED
package/skills/humanish/SKILL.md
CHANGED
|
@@ -128,8 +128,14 @@ the pinned runtime; a live local run also prepares it automatically. The normal
|
|
|
128
128
|
See [the complete example and limits](../../docs/architecture/local-browser-runtime.md).
|
|
129
129
|
|
|
130
130
|
Local browsers currently require a loopback app URL with an explicit port above
|
|
131
|
-
1023 and use a 960×720 Chromium desktop.
|
|
132
|
-
|
|
131
|
+
1023 and use a 960×720 Chromium desktop. For email-gated local apps, start
|
|
132
|
+
`humanish comms catch`, point the app's email sends at it, and declare
|
|
133
|
+
`comms.email.external.catchBaseUrl`. Use `doctor --lab` to check its recipient
|
|
134
|
+
routes. This captures app sends without mailbox-provider credentials; it does
|
|
135
|
+
not receive arbitrary internet email. Each participant gets only its assigned
|
|
136
|
+
inbox through the local desktop. Real receiving still needs a supported hosted
|
|
137
|
+
route. See [captured inbox setup](../../docs/architecture/comms-inbox.md#local-browser-studies).
|
|
138
|
+
Optional camera and spoken conversation require a separate media
|
|
133
139
|
runtime; follow [participant media](../../docs/architecture/participant-media.md)
|
|
134
140
|
for setup and provider limits. Speech uses the same continuing Codex participant,
|
|
135
141
|
not a second conversation. Do not claim that installing the CLI also installs
|