humanish 0.101.0 → 0.103.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/affordance.d.ts +2 -0
- package/dist/affordance.js +3 -0
- package/dist/affordance.js.map +1 -1
- package/dist/browser-control-client.d.ts +5 -1
- package/dist/browser-control-client.js +45 -5
- package/dist/browser-control-client.js.map +1 -1
- package/dist/browser-control-dispatcher.d.ts +6 -1
- package/dist/browser-control-dispatcher.js +41 -3
- package/dist/browser-control-dispatcher.js.map +1 -1
- package/dist/browser-control-protocol.d.ts +101 -0
- package/dist/browser-control-protocol.js +38 -8
- package/dist/browser-control-protocol.js.map +1 -1
- package/dist/browser-control-recording-transfer.d.ts +4 -0
- package/dist/browser-control-recording-transfer.js +42 -0
- package/dist/browser-control-recording-transfer.js.map +1 -0
- package/dist/browser-control-transport.d.ts +3 -0
- package/dist/browser-control-transport.js +23 -2
- package/dist/browser-control-transport.js.map +1 -1
- package/dist/computer-use.d.ts +9 -0
- package/dist/computer-use.js +36 -8
- package/dist/computer-use.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +6 -2
- package/dist/cua-actor-lab.js +19 -7
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/cua-desktop-lane.d.ts +1 -1
- package/dist/cua-speech.d.ts +13 -0
- package/dist/cua-speech.js +2 -0
- package/dist/cua-speech.js.map +1 -0
- package/dist/desktop-recorder.d.ts +39 -0
- package/dist/desktop-recorder.js +220 -0
- package/dist/desktop-recorder.js.map +1 -0
- package/dist/desktop-recording-artifact.d.ts +5 -0
- package/dist/desktop-recording-artifact.js +54 -0
- package/dist/desktop-recording-artifact.js.map +1 -0
- package/dist/desktop-recording-types.d.ts +24 -0
- package/dist/desktop-recording-types.js +14 -0
- package/dist/desktop-recording-types.js.map +1 -0
- package/dist/desktop-session.js +1 -0
- package/dist/desktop-session.js.map +1 -1
- package/dist/doctor-lab.js +1 -1
- package/dist/doctor-lab.js.map +1 -1
- package/dist/e2b-cua-desktop.js +77 -44
- package/dist/e2b-cua-desktop.js.map +1 -1
- package/dist/e2b-cua-provisioning.d.ts +4 -1
- package/dist/e2b-cua-provisioning.js +8 -2
- package/dist/e2b-cua-provisioning.js.map +1 -1
- package/dist/e2b-desktop-executor.js +3 -0
- package/dist/e2b-desktop-executor.js.map +1 -1
- package/dist/e2b-desktop-launch.d.ts +19 -1
- package/dist/e2b-desktop-launch.js.map +1 -1
- package/dist/e2b-desktop-media.d.ts +14 -0
- package/dist/e2b-desktop-media.js +58 -0
- package/dist/e2b-desktop-media.js.map +1 -0
- package/dist/e2b-desktop-recording.d.ts +16 -0
- package/dist/e2b-desktop-recording.js +162 -0
- package/dist/e2b-desktop-recording.js.map +1 -0
- package/dist/export-bundle.js +2 -0
- package/dist/export-bundle.js.map +1 -1
- package/dist/export.js +19 -3
- package/dist/export.js.map +1 -1
- package/dist/guest-bootstrap.d.ts +6 -2
- package/dist/guest-bootstrap.js +22 -9
- package/dist/guest-bootstrap.js.map +1 -1
- package/dist/guest-desktop-executor.js +1 -0
- package/dist/guest-desktop-executor.js.map +1 -1
- package/dist/guest-desktop-media.d.ts +33 -0
- package/dist/guest-desktop-media.js +281 -0
- package/dist/guest-desktop-media.js.map +1 -0
- package/dist/guest-media-config.d.ts +15 -0
- package/dist/guest-media-config.js +8 -0
- package/dist/guest-media-config.js.map +1 -0
- package/dist/guest-media-worker.d.ts +1 -0
- package/dist/guest-media-worker.js +319 -0
- package/dist/guest-media-worker.js.map +1 -0
- package/dist/guest-runtime-desktop.d.ts +5 -1
- package/dist/guest-runtime-desktop.js +62 -3
- package/dist/guest-runtime-desktop.js.map +1 -1
- package/dist/guest-runtime-main.js +3 -2
- package/dist/guest-runtime-main.js.map +1 -1
- package/dist/guest-runtime.d.ts +8 -2
- package/dist/guest-runtime.js +3 -2
- package/dist/guest-runtime.js.map +1 -1
- package/dist/lab-config.d.ts +6 -2
- package/dist/lab-config.js +26 -4
- package/dist/lab-config.js.map +1 -1
- package/dist/lab-summary.js +1 -1
- package/dist/lab-summary.js.map +1 -1
- package/dist/local-firecracker-desktop.d.ts +10 -1
- package/dist/local-firecracker-desktop.js +16 -2
- package/dist/local-firecracker-desktop.js.map +1 -1
- package/dist/local-firecracker-study.js +29 -3
- package/dist/local-firecracker-study.js.map +1 -1
- package/dist/local-runtime-config.js +5 -2
- package/dist/local-runtime-config.js.map +1 -1
- package/dist/local-runtime-release.d.ts +2 -0
- package/dist/local-runtime-release.js +15 -0
- package/dist/local-runtime-release.js.map +1 -1
- package/dist/local-runtime.d.ts +1 -0
- package/dist/local-runtime.js +11 -9
- package/dist/local-runtime.js.map +1 -1
- package/dist/observer-app.html +9 -9
- package/dist/observer-serve.js +1 -1
- package/dist/observer-serve.js.map +1 -1
- package/dist/observer.d.ts +2 -2
- package/dist/observer.js +106 -27
- package/dist/observer.js.map +1 -1
- package/dist/program.js +3 -2
- package/dist/program.js.map +1 -1
- package/dist/restricted-codex-participant-policy.d.ts +2 -1
- package/dist/restricted-codex-participant-policy.js +9 -6
- package/dist/restricted-codex-participant-policy.js.map +1 -1
- package/dist/restricted-codex-participant-run.js +2 -1
- package/dist/restricted-codex-participant-run.js.map +1 -1
- package/dist/restricted-codex-participant.d.ts +2 -0
- package/dist/restricted-codex-participant.js +20 -7
- package/dist/restricted-codex-participant.js.map +1 -1
- package/dist/run.d.ts +12 -7
- package/dist/run.js +55 -15
- package/dist/run.js.map +1 -1
- package/dist/selected-output-paths.d.ts +3 -0
- package/dist/selected-output-paths.js +29 -17
- package/dist/selected-output-paths.js.map +1 -1
- package/dist/study-analysis-engine.d.ts +1 -1
- package/dist/study-analysis-engine.js +53 -10
- package/dist/study-analysis-engine.js.map +1 -1
- package/docs/architecture/desktop-recording.md +65 -0
- package/docs/architecture/local-browser-runtime.md +3 -2
- package/docs/architecture/participant-media.md +90 -0
- package/docs/contracts/run-bundle.md +27 -0
- package/docs/contracts/schemas.md +1 -1
- package/docs/contracts/study-analysis.md +14 -0
- package/docs/goals/current.md +13 -9
- package/docs/ramp/README.md +11 -1
- package/docs/release/0.102.0-participant-media.md +43 -0
- package/docs/release/0.103.0-desktop-recording.md +29 -0
- package/package.json +5 -4
- package/skills/humanish/SKILL.md +14 -5
package/docs/goals/current.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Current Goals
|
|
2
2
|
|
|
3
|
-
Status date: 2026-09-
|
|
3
|
+
Status date: 2026-09-26. Source baseline: `0.103.0`.
|
|
4
4
|
|
|
5
|
-
This page guides work on current
|
|
6
|
-
|
|
5
|
+
This page guides work on current source. Version `0.103.0` adds optional desktop
|
|
6
|
+
video and audio; its [release note](../release/0.103.0-desktop-recording.md)
|
|
7
|
+
records the supported routes, playback behavior and local-only evidence limits.
|
|
7
8
|
The [September 9 history](https://github.com/danielgwilson/humanish/blob/main/docs/goals/current-history-2026-09-09.md)
|
|
8
9
|
preserves the former status log; its queues do not supersede this page.
|
|
9
10
|
|
|
@@ -88,9 +89,9 @@ requires decision-equivalent retained evidence and a real deletion branch.
|
|
|
88
89
|
No first-party deletion branch has met that gate. Public demonstrations do not
|
|
89
90
|
substitute for it.
|
|
90
91
|
|
|
91
|
-
## Current Program Truth (source `0.
|
|
92
|
+
## Current Program Truth (source `0.103.0`)
|
|
92
93
|
|
|
93
|
-
| Surface | Available in
|
|
94
|
+
| Surface | Available in source | Remaining boundary |
|
|
94
95
|
| --- | --- | --- |
|
|
95
96
|
| Study authoring | YAML labs, lane/roster composition, model settings and study/per-lane caps | Route support varies; declarations are not promises of engine parity |
|
|
96
97
|
| Actors | Seven first-party descriptors; computer-use, scripted-browser and terminal-product dispatch | No supported public out-of-tree actor-registration API |
|
|
@@ -102,8 +103,8 @@ substitute for it.
|
|
|
102
103
|
| 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 |
|
|
103
104
|
| 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 |
|
|
104
105
|
| 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 |
|
|
105
|
-
| 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 |
|
|
106
|
-
| Mobile and media | Hosted viewport/emulation, desktop geometry checks, bounded dwell and declared camera feed;
|
|
106
|
+
| 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 inbox and automatic onboarding remain follow-ups; larger cohorts and sleep/wake are unqualified |
|
|
107
|
+
| 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 are unproven |
|
|
107
108
|
|
|
108
109
|
Use the [task support matrix](../architecture/task-protocol-support.md),
|
|
109
110
|
[actor registry](https://github.com/danielgwilson/humanish/blob/main/src/actor-registry.ts)
|
|
@@ -123,8 +124,11 @@ ordinary TAP/NAT networking. Continue managed-local work from this complete stud
|
|
|
123
124
|
path; the earlier offline owner/service qualification experiments are historical
|
|
124
125
|
fixtures, not an installation architecture or a prerequisite queue. Explicit
|
|
125
126
|
Linux local labs now use the installed CLI/TUI, with a verified runtime download
|
|
126
|
-
before the first live run. Mac support is also shipped; inbox integration
|
|
127
|
-
|
|
127
|
+
before the first live run. Mac browser support is also shipped; inbox integration remains unfinished.
|
|
128
|
+
Optional media passed Linux and Mac conversations with receiving-side evidence
|
|
129
|
+
and owned-resource cleanup. The original Mac recording produced validated
|
|
130
|
+
analysis after its citation instructions were clarified. Existing hosted labs
|
|
131
|
+
retain their behavior.
|
|
128
132
|
|
|
129
133
|
## Gates And Deferred Work
|
|
130
134
|
|
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.103.0` (2026-09-26). 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,16 @@ 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.103.0 release note](../release/0.103.0-desktop-recording.md) describes
|
|
58
|
+
optional desktop video and audio, playback on the shared Observer clock, and
|
|
59
|
+
local-only media evidence. Screenshots remain the default.
|
|
60
|
+
|
|
61
|
+
The [0.102.0 release note](../release/0.102.0-participant-media.md) describes
|
|
62
|
+
optional native camera and speech. Linux and Mac conversations passed, including
|
|
63
|
+
spoken clarification of a misheard answer. The retained Mac recording also
|
|
64
|
+
produced a validated report after the analysis citation instructions were
|
|
65
|
+
clarified; the validator and original evidence remain unchanged.
|
|
66
|
+
|
|
57
67
|
The [0.101.0 release note](../release/0.101.0-codex-ui-tools.md) describes native
|
|
58
68
|
Codex UI tools shared by local Firecracker and hosted E2B participants.
|
|
59
69
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# 0.102.0 — Optional participant camera and speech
|
|
2
|
+
|
|
3
|
+
Codex participants can listen and speak while using a conferencing app. The same
|
|
4
|
+
continuing conversation handles browser actions and spoken replies on local
|
|
5
|
+
Firecracker and hosted E2B desktops. No separate conversational agent or speech
|
|
6
|
+
API key is required. Codex inference still uses the selected remote account.
|
|
7
|
+
|
|
8
|
+
Declare `execution.desktop.media.microphone.source: speech` for speech, and
|
|
9
|
+
`camera.source: synthetic` for a changing test-pattern camera. Local desktops
|
|
10
|
+
support both through native browser devices and ordinary permissions. Humanish
|
|
11
|
+
downloads the optional media runtime when needed; `humanish runtime setup --media`
|
|
12
|
+
can prepare it ahead of a study. Browser-only studies retain the smaller runtime
|
|
13
|
+
and start no media processes.
|
|
14
|
+
|
|
15
|
+
Hosted speech automatically selects a public E2B template and uses the same
|
|
16
|
+
worker. E2B's existing fake-camera flags also replace its microphone, so hosted
|
|
17
|
+
camera and speech cannot be combined. Explicit compatible template overrides
|
|
18
|
+
remain supported. Hosted speech requires `@e2b/desktop` 2.3.2 or newer for the
|
|
19
|
+
background command handle's streaming stdin methods.
|
|
20
|
+
|
|
21
|
+
Recordings and analysis retain spoken text and transcriptions from actual speaker
|
|
22
|
+
audio under the existing redaction rules. Observer links findings to those
|
|
23
|
+
entries and nearby screenshots. Raw audio/video is not recorded. The initial
|
|
24
|
+
voice is robotic, recognition is English, and clarification may be necessary;
|
|
25
|
+
this is turn-taking rather than interruptible realtime voice conversation.
|
|
26
|
+
|
|
27
|
+
Linux acceptance includes two concurrent participants entering a real conference
|
|
28
|
+
through different application roles, receiving counterpart video, and exchanging
|
|
29
|
+
previously undisclosed information by voice. Automatic analysis and owned-resource
|
|
30
|
+
cleanup completed. The Whisper `base.en` runtime also passed a Mac
|
|
31
|
+
conversation, including reciprocal video, a fresh fact and question, and spoken
|
|
32
|
+
correction and confirmation of a misheard answer. Recognition still makes
|
|
33
|
+
meaningful errors; this pass depended on clarification. Analysis of the retained
|
|
34
|
+
Mac recording validated both participant reviews and a shared finding about the
|
|
35
|
+
corrected misunderstanding, with all selected captures and earlier attempts
|
|
36
|
+
preserved.
|
|
37
|
+
|
|
38
|
+
Analysis now retains specific, safe validation failure codes. Its citation
|
|
39
|
+
instructions distinguish each participant's own evidence from cross-participant
|
|
40
|
+
observations in findings. The evidence validator remains unchanged.
|
|
41
|
+
|
|
42
|
+
See [participant media](../architecture/participant-media.md) for configuration and
|
|
43
|
+
the [hosted template recipe](../../runtime/browser-media/E2B.md) for maintenance.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 0.103.0 — Optional desktop video and audio
|
|
2
|
+
|
|
3
|
+
Computer-use studies can retain an MP4 alongside screenshots, actions,
|
|
4
|
+
participant feedback and analysis:
|
|
5
|
+
|
|
6
|
+
```yaml
|
|
7
|
+
execution:
|
|
8
|
+
desktop:
|
|
9
|
+
recording: { audio: true }
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Set `audio: false` for screen-only video. Omit `recording` for the existing
|
|
13
|
+
lightweight captures. Recording does not enable camera or speech features.
|
|
14
|
+
|
|
15
|
+
Observer plays the selected participant's video on the existing study timeline.
|
|
16
|
+
Opening a participant, scrubbing and returning to the grid preserve the cursor.
|
|
17
|
+
Audio starts muted; the selected participant has an explicit audio control.
|
|
18
|
+
Unavailable video falls back to screenshots where they exist.
|
|
19
|
+
|
|
20
|
+
Local Firecracker and hosted E2B use the same capture settings and evidence
|
|
21
|
+
format. Local capture uses the optional media runtime archive. Recorder failure
|
|
22
|
+
preserves the study; a playable interrupted or size-limited recording is marked
|
|
23
|
+
partial. The per-participant file limit is 128 MiB.
|
|
24
|
+
|
|
25
|
+
Continuous media stays local-only. Screenshot redaction does not redact video
|
|
26
|
+
or audio. Portable HTML exports explicitly omit continuous media; analysis
|
|
27
|
+
continues to inspect screenshots and text. See the
|
|
28
|
+
[recording guide](../architecture/desktop-recording.md) for supported routes,
|
|
29
|
+
capture semantics and export behavior.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "humanish",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.103.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": [
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"build": "tsc -p tsconfig.build.json && pnpm --filter humanish-observer build && pnpm --filter humanish-tui build && node scripts/finish-build.mjs",
|
|
53
|
-
"check": "pnpm typecheck && pnpm test && pnpm tui:test && pnpm build && pnpm cli:startup:test && pnpm cli:preflight:test && pnpm tui:smoke",
|
|
53
|
+
"check": "pnpm typecheck && pnpm test && pnpm tui:test && pnpm build && pnpm guest-media:startup:proof && pnpm cli:startup:test && pnpm cli:preflight:test && pnpm tui:smoke",
|
|
54
54
|
"cli:startup:test": "node scripts/terminal-startup-exit-proof.mjs",
|
|
55
55
|
"cli:preflight:test": "node scripts/task-route-preflight-proof.mjs",
|
|
56
56
|
"humanish": "tsx src/cli.ts",
|
|
@@ -84,7 +84,8 @@
|
|
|
84
84
|
"observer:chrome:proof": "node scripts/observer-chrome-proof.mjs",
|
|
85
85
|
"observer:reliability:proof": "node scripts/observer-reliability-proof.mjs",
|
|
86
86
|
"tui:connections:proof": "python3 scripts/tui-connections-proof.py",
|
|
87
|
-
"guest-desktop:proof": "node scripts/guest-desktop-proof.mjs"
|
|
87
|
+
"guest-desktop:proof": "node scripts/guest-desktop-proof.mjs",
|
|
88
|
+
"guest-media:startup:proof": "node scripts/guest-media-worker-startup-proof.mjs"
|
|
88
89
|
},
|
|
89
90
|
"repository": {
|
|
90
91
|
"type": "git",
|
|
@@ -105,7 +106,7 @@
|
|
|
105
106
|
},
|
|
106
107
|
"peerDependencies": {
|
|
107
108
|
"@anthropic-ai/claude-agent-sdk": "^0.3.0",
|
|
108
|
-
"@e2b/desktop": "^2.2
|
|
109
|
+
"@e2b/desktop": "^2.3.2"
|
|
109
110
|
},
|
|
110
111
|
"peerDependenciesMeta": {
|
|
111
112
|
"@anthropic-ai/claude-agent-sdk": {
|
package/skills/humanish/SKILL.md
CHANGED
|
@@ -115,8 +115,8 @@ request. Inspect a failed attempt before explicitly retrying `--provider codex
|
|
|
115
115
|
|
|
116
116
|
## Local browser setup
|
|
117
117
|
|
|
118
|
-
On Linux x64 with
|
|
119
|
-
set `execution.target: local` and `actors[0].type: local-agent` with
|
|
118
|
+
On Linux x64 with local rootful Docker, KVM and TUN, or a supported M3-or-newer
|
|
119
|
+
Mac with native ARM64 Node and Lima 2.2+, an `app-url` lab can set `execution.target: local` and `actors[0].type: local-agent` with
|
|
120
120
|
`localAgent: codex`. It uses the supported Codex ChatGPT login, not E2B or an
|
|
121
121
|
OpenAI API key. Inference is remote and consumes account quota. Existing hosted
|
|
122
122
|
labs stay hosted; never silently change their execution or billing provider.
|
|
@@ -128,9 +128,18 @@ 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
|
|
132
|
-
|
|
133
|
-
|
|
131
|
+
1023 and use a 960×720 Chromium desktop. Local inbox declarations remain
|
|
132
|
+
unsupported. Optional camera and spoken conversation require a separate media
|
|
133
|
+
runtime; follow [participant media](../../docs/architecture/participant-media.md)
|
|
134
|
+
for setup and provider limits. Speech uses the same continuing Codex participant,
|
|
135
|
+
not a second conversation. Do not claim that installing the CLI also installs
|
|
136
|
+
Docker or Lima, or qualifies a machine for arbitrary participant counts.
|
|
137
|
+
|
|
138
|
+
For continuous desktop playback, independent computer-use lanes can opt into
|
|
139
|
+
`execution.desktop.recording: { audio: true }` (`false` for screen-only video).
|
|
140
|
+
Screenshots remain the default. Recording does not enable camera or speech;
|
|
141
|
+
the raw media stays local-only. See [desktop recording](../../docs/architecture/desktop-recording.md)
|
|
142
|
+
for runtime requirements and export limits.
|
|
134
143
|
|
|
135
144
|
## Format Stack
|
|
136
145
|
|