humanish 0.107.0 → 0.109.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/ARCHITECTURE.md +73 -69
- package/CHANGELOG.md +27 -0
- package/CONTEXT.md +51 -44
- package/README.md +148 -175
- package/SECURITY.md +16 -26
- package/TELEMETRY.md +8 -6
- package/dist/actors/affordance.d.ts +4 -4
- package/dist/actors/affordance.js +12 -12
- package/dist/actors/agent-session.d.ts +2 -2
- package/dist/actors/agent-session.js +7 -7
- package/dist/actors/codex/app-server-actor-trace.d.ts +1 -1
- package/dist/actors/codex/app-server-actor-trace.js +1 -1
- package/dist/actors/codex/app-server-trace.js +2 -1
- package/dist/actors/codex/app-server-ui.js +1 -1
- package/dist/actors/codex/codex-admission.d.ts +91 -0
- package/dist/actors/codex/codex-admission.js +150 -0
- package/dist/actors/codex/restricted-executable.d.ts +4 -4
- package/dist/actors/codex/restricted-executable.js +8 -8
- package/dist/actors/codex/restricted-launch.d.ts +2 -1
- package/dist/actors/codex/restricted-launch.js +1 -1
- package/dist/actors/codex/restricted-participant.js +20 -18
- package/dist/actors/codex/restricted-policy.d.ts +2 -2
- package/dist/actors/codex/restricted-policy.js +2 -2
- package/dist/actors/codex/restricted-session.d.ts +3 -3
- package/dist/actors/codex/restricted-session.js +10 -5
- package/dist/actors/computer-use/actor.d.ts +18 -18
- package/dist/actors/computer-use/actor.js +4 -4
- package/dist/actors/computer-use/admission-limit.d.ts +3 -3
- package/dist/actors/computer-use/admission-limit.js +4 -4
- package/dist/actors/computer-use/executor-error.d.ts +2 -2
- package/dist/actors/computer-use/executor-error.js +3 -3
- package/dist/actors/computer-use/loop/actions.d.ts +3 -3
- package/dist/actors/computer-use/loop/actions.js +15 -15
- package/dist/actors/computer-use/loop/backstop.d.ts +3 -3
- package/dist/actors/computer-use/loop/backstop.js +14 -12
- package/dist/actors/computer-use/loop/debrief.js +2 -2
- package/dist/actors/computer-use/loop/ending.d.ts +6 -6
- package/dist/actors/computer-use/loop/ending.js +18 -17
- package/dist/actors/computer-use/loop/observation.d.ts +2 -2
- package/dist/actors/computer-use/loop/observation.js +15 -14
- package/dist/actors/computer-use/loop/provider-call.d.ts +1 -1
- package/dist/actors/computer-use/loop/provider-call.js +12 -12
- package/dist/actors/computer-use/loop/session.d.ts +4 -4
- package/dist/actors/computer-use/loop/session.js +4 -4
- package/dist/actors/computer-use/loop/spend.d.ts +1 -1
- package/dist/actors/computer-use/loop/spend.js +1 -1
- package/dist/actors/computer-use/loop/trace.js +11 -9
- package/dist/actors/computer-use/loop/types.d.ts +47 -45
- package/dist/actors/computer-use/loop/usage.d.ts +2 -2
- package/dist/actors/computer-use/loop/usage.js +2 -2
- package/dist/actors/computer-use/loop.d.ts +6 -1
- package/dist/actors/computer-use/loop.js +26 -4
- package/dist/actors/computer-use/openai-context.d.ts +37 -0
- package/dist/actors/computer-use/openai-context.js +214 -0
- package/dist/actors/computer-use/openai-provider.d.ts +13 -10
- package/dist/actors/computer-use/openai-provider.js +52 -41
- package/dist/actors/computer-use/openai-requests.d.ts +36 -10
- package/dist/actors/computer-use/openai-requests.js +82 -15
- package/dist/actors/computer-use/openai-wire.d.ts +19 -7
- package/dist/actors/computer-use/openai-wire.js +36 -34
- package/dist/actors/computer-use/provider-error.d.ts +4 -4
- package/dist/actors/computer-use/provider-error.js +6 -6
- package/dist/actors/contract.d.ts +82 -47
- package/dist/actors/contract.js +30 -24
- package/dist/actors/local-agent/claude-session.d.ts +1 -1
- package/dist/actors/local-agent/claude-session.js +13 -12
- package/dist/actors/local-agent/cli.d.ts +9 -7
- package/dist/actors/local-agent/cli.js +24 -28
- package/dist/actors/local-agent/readiness.d.ts +2 -2
- package/dist/actors/local-agent/readiness.js +4 -4
- package/dist/actors/reasoning-effort.js +8 -8
- package/dist/actors/registry.d.ts +12 -12
- package/dist/actors/registry.js +21 -20
- package/dist/actors/scripted-browser/actor.d.ts +10 -10
- package/dist/actors/scripted-browser/actor.js +17 -17
- package/dist/actors/scripted-browser/browser-command.js +1 -1
- package/dist/actors/scripted-browser/steps.js +1 -1
- package/dist/actors/scripted-browser/types.d.ts +1 -1
- package/dist/actors/stop-conditions.d.ts +1 -1
- package/dist/analysis/automatic-completion.d.ts +7 -7
- package/dist/analysis/automatic-completion.js +1 -1
- package/dist/analysis/automatic-config.d.ts +6 -6
- package/dist/analysis/automatic-config.js +1 -1
- package/dist/analysis/codex-config.d.ts +6 -2
- package/dist/analysis/codex-config.js +22 -14
- package/dist/analysis/execute.d.ts +1 -1
- package/dist/analysis/execute.js +1 -1
- package/dist/analysis/service.js +5 -5
- package/dist/analysis/types.d.ts +6 -0
- package/dist/browser-control/client.js +16 -16
- package/dist/browser-control/dispatcher.js +4 -4
- package/dist/browser-control/protocol.js +14 -14
- package/dist/browser-control/recording-transfer.js +4 -4
- package/dist/browser-control/transport.js +7 -7
- package/dist/cli/commands/analysis-signals.d.ts +2 -2
- package/dist/cli/commands/analyze.js +19 -16
- package/dist/cli/commands/codex.js +9 -9
- package/dist/cli/commands/comms.js +48 -35
- package/dist/cli/commands/feedback.js +20 -21
- package/dist/cli/commands/migrate.d.ts +4 -0
- package/dist/cli/commands/migrate.js +65 -0
- package/dist/cli/commands/observe.d.ts +0 -1
- package/dist/cli/commands/observe.js +136 -112
- package/dist/cli/commands/run-command.d.ts +10 -0
- package/dist/cli/commands/run-command.js +85 -0
- package/dist/cli/commands/runs.js +136 -139
- package/dist/cli/commands/setup.d.ts +2 -2
- package/dist/cli/commands/setup.js +27 -24
- package/dist/cli/commands/study-format.d.ts +9 -0
- package/dist/cli/commands/{lab-format.js → study-format.js} +39 -27
- package/dist/cli/commands/{lab-route-computer-use.d.ts → study-route-computer-use.d.ts} +6 -6
- package/dist/cli/commands/{lab-route-computer-use.js → study-route-computer-use.js} +17 -18
- package/dist/cli/commands/{lab-route-open.d.ts → study-route-open.d.ts} +4 -4
- package/dist/cli/commands/{lab-route-open.js → study-route-open.js} +2 -2
- package/dist/cli/commands/{lab-route-preview.d.ts → study-route-preview.d.ts} +7 -7
- package/dist/cli/commands/{lab-route-preview.js → study-route-preview.js} +7 -6
- package/dist/cli/commands/study-route-run.d.ts +19 -0
- package/dist/cli/commands/{lab-route-run.js → study-route-run.js} +6 -6
- package/dist/cli/commands/study-route-scripted.d.ts +17 -0
- package/dist/cli/commands/{lab-route-scripted.js → study-route-scripted.js} +4 -4
- package/dist/cli/commands/{lab-route-shared-world.d.ts → study-route-shared-world.d.ts} +5 -5
- package/dist/cli/commands/{lab-route-shared-world.js → study-route-shared-world.js} +10 -10
- package/dist/cli/commands/study-route-terminal.d.ts +17 -0
- package/dist/cli/commands/{lab-route-terminal.js → study-route-terminal.js} +4 -4
- package/dist/cli/commands/study-run.d.ts +9 -0
- package/dist/cli/commands/{lab-run.js → study-run.js} +44 -45
- package/dist/cli/commands/{lab-scorer.d.ts → study-scorer.d.ts} +7 -7
- package/dist/cli/commands/{lab-scorer.js → study-scorer.js} +2 -2
- package/dist/cli/commands/study.d.ts +3 -0
- package/dist/cli/commands/study.js +146 -0
- package/dist/cli/commands/tui.d.ts +4 -4
- package/dist/cli/commands/tui.js +31 -31
- package/dist/cli/commands/watch.js +71 -121
- package/dist/cli/deprecations.d.ts +6 -0
- package/dist/cli/deprecations.js +18 -0
- package/dist/cli/doctor.d.ts +18 -8
- package/dist/cli/doctor.js +114 -59
- package/dist/cli/first-run-path.d.ts +15 -13
- package/dist/cli/first-run-path.js +35 -33
- package/dist/cli/io.d.ts +44 -9
- package/dist/cli/io.js +98 -23
- package/dist/cli/observer-follow.d.ts +3 -3
- package/dist/cli/observer-follow.js +6 -7
- package/dist/cli/orientation.d.ts +10 -7
- package/dist/cli/orientation.js +89 -47
- package/dist/cli/product-sentence.d.ts +6 -0
- package/dist/cli/product-sentence.js +6 -0
- package/dist/cli/program.d.ts +6 -1
- package/dist/cli/program.js +111 -43
- package/dist/cli/telemetry.d.ts +16 -16
- package/dist/cli/telemetry.js +46 -44
- package/dist/cli.js +1 -1
- package/dist/comms/capture-surface.d.ts +13 -12
- package/dist/comms/capture-surface.js +23 -22
- package/dist/comms/catch-host.d.ts +7 -7
- package/dist/comms/catch-host.js +17 -17
- package/dist/comms/connections.d.ts +1 -1
- package/dist/comms/connections.js +2 -2
- package/dist/comms/email-catch.d.ts +3 -3
- package/dist/comms/email-catch.js +8 -8
- package/dist/comms/external-evidence.d.ts +5 -5
- package/dist/comms/external-evidence.js +5 -4
- package/dist/comms/extract.js +2 -2
- package/dist/comms/fake-inbox.d.ts +3 -3
- package/dist/comms/fake-inbox.js +3 -3
- package/dist/comms/receiving-render.d.ts +1 -1
- package/dist/comms/receiving-render.js +2 -2
- package/dist/comms/receiving-runtime.d.ts +4 -4
- package/dist/comms/sandbox-catch-script.d.ts +6 -6
- package/dist/comms/sandbox-catch-script.js +6 -6
- package/dist/comms/sandbox-catch.d.ts +38 -39
- package/dist/comms/sandbox-catch.js +36 -37
- package/dist/comms/setup.d.ts +2 -2
- package/dist/comms/setup.js +56 -25
- package/dist/comms/thread-evidence.d.ts +1 -1
- package/dist/comms/thread-evidence.js +6 -6
- package/dist/comms/types.d.ts +6 -6
- package/dist/comms/types.js +3 -3
- package/dist/evidence/frame-signature.d.ts +1 -1
- package/dist/evidence/frame-signature.js +4 -4
- package/dist/evidence/redaction.d.ts +3 -3
- package/dist/evidence/redaction.js +4 -4
- package/dist/feedback/draft.js +38 -80
- package/dist/feedback/export-bundle.js +1 -1
- package/dist/feedback/export.d.ts +5 -1
- package/dist/feedback/export.js +10 -10
- package/dist/feedback/feedback.d.ts +2 -2
- package/dist/feedback/feedback.js +21 -3
- package/dist/feedback/proof.d.ts +1 -1
- package/dist/feedback/proof.js +2 -2
- package/dist/guest/bootstrap.js +6 -6
- package/dist/guest/browser-tools.js +8 -8
- package/dist/guest/chromium-text.js +19 -19
- package/dist/guest/desktop-executor.d.ts +2 -2
- package/dist/guest/desktop-executor.js +20 -20
- package/dist/guest/desktop-keys.js +4 -4
- package/dist/guest/desktop-media.d.ts +2 -2
- package/dist/guest/desktop-media.js +16 -16
- package/dist/guest/desktop-native.d.ts +1 -1
- package/dist/guest/desktop-native.js +10 -10
- package/dist/guest/runtime-desktop.js +2 -2
- package/dist/guest/runtime-processes.d.ts +2 -2
- package/dist/guest/runtime-processes.js +2 -2
- package/dist/guest/runtime.js +6 -6
- package/dist/index.d.ts +14 -14
- package/dist/index.js +8 -8
- package/dist/keys/key-resolution.d.ts +5 -5
- package/dist/keys/key-resolution.js +23 -23
- package/dist/observer/artifact.d.ts +2 -2
- package/dist/observer/artifact.js +7 -7
- package/dist/observer/data.d.ts +6 -6
- package/dist/observer/data.js +5 -4
- package/dist/observer/exposure.d.ts +1 -1
- package/dist/observer/exposure.js +11 -11
- package/dist/observer/http.js +1 -1
- package/dist/observer/library.d.ts +3 -1
- package/dist/observer/library.js +8 -3
- package/dist/observer/listen.js +5 -4
- package/dist/observer/render.d.ts +1 -1
- package/dist/observer/render.js +17 -6
- package/dist/observer/run-routes.d.ts +4 -3
- package/dist/observer/run-routes.js +38 -13
- package/dist/observer/serve.d.ts +1 -1
- package/dist/observer/serve.js +7 -3
- package/dist/observer/tunnel.js +1 -1
- package/dist/observer-app.html +4 -4
- package/dist/routes/computer-use/bundle-parts.d.ts +9 -9
- package/dist/routes/computer-use/bundle-parts.js +18 -17
- package/dist/routes/computer-use/bundle.d.ts +2 -2
- package/dist/routes/computer-use/bundle.js +10 -9
- package/dist/routes/computer-use/e2b-desktop/comms.d.ts +6 -6
- package/dist/routes/computer-use/e2b-desktop/comms.js +18 -17
- package/dist/routes/computer-use/e2b-desktop/desktop.js +4 -4
- package/dist/routes/computer-use/e2b-desktop/fidelity.d.ts +5 -4
- package/dist/routes/computer-use/e2b-desktop/fidelity.js +11 -10
- package/dist/routes/computer-use/e2b-desktop/prepare.d.ts +1 -1
- package/dist/routes/computer-use/e2b-desktop/prepare.js +10 -10
- package/dist/routes/computer-use/e2b-desktop/start.js +7 -7
- package/dist/routes/computer-use/e2b-desktop/state.d.ts +2 -2
- package/dist/routes/computer-use/e2b-desktop/teardown.js +2 -2
- package/dist/routes/computer-use/external-comms.d.ts +4 -4
- package/dist/routes/computer-use/external-comms.js +1 -1
- package/dist/routes/computer-use/fanout-bundle.js +27 -26
- package/dist/routes/computer-use/fanout-records.js +12 -13
- package/dist/routes/computer-use/live-flush.d.ts +4 -4
- package/dist/routes/computer-use/live-flush.js +6 -6
- package/dist/routes/computer-use/live-phase.d.ts +5 -4
- package/dist/routes/computer-use/live-phase.js +8 -8
- package/dist/routes/computer-use/local-tree-pack.d.ts +5 -5
- package/dist/routes/computer-use/local-tree-pack.js +1 -1
- package/dist/routes/computer-use/local-vm.d.ts +8 -8
- package/dist/routes/computer-use/local-vm.js +3 -3
- package/dist/routes/computer-use/participant-desktop.d.ts +7 -7
- package/dist/routes/computer-use/participant-desktop.js +5 -5
- package/dist/routes/computer-use/participant-execution.d.ts +4 -4
- package/dist/routes/computer-use/participant-execution.js +10 -10
- package/dist/routes/computer-use/participant-model.d.ts +6 -0
- package/dist/routes/computer-use/participant-model.js +33 -15
- package/dist/routes/computer-use/participant-prompt.d.ts +15 -15
- package/dist/routes/computer-use/participant-prompt.js +9 -9
- package/dist/routes/computer-use/participant-runs.d.ts +16 -16
- package/dist/routes/computer-use/participant-runs.js +26 -25
- package/dist/routes/computer-use/plan.d.ts +12 -12
- package/dist/routes/computer-use/plan.js +42 -42
- package/dist/routes/computer-use/preflight.d.ts +5 -5
- package/dist/routes/computer-use/preflight.js +25 -25
- package/dist/routes/computer-use/rerun-selection.d.ts +1 -1
- package/dist/routes/computer-use/rerun-selection.js +4 -3
- package/dist/routes/computer-use/result.d.ts +4 -4
- package/dist/routes/computer-use/result.js +22 -21
- package/dist/routes/computer-use/route.d.ts +12 -11
- package/dist/routes/computer-use/route.js +31 -30
- package/dist/routes/computer-use/self-report.d.ts +7 -7
- package/dist/routes/computer-use/self-report.js +32 -32
- package/dist/routes/computer-use/setup.d.ts +23 -23
- package/dist/routes/computer-use/setup.js +28 -29
- package/dist/routes/computer-use/single-bundle.d.ts +11 -11
- package/dist/routes/computer-use/single-bundle.js +40 -41
- package/dist/routes/computer-use/subject-projection.d.ts +4 -4
- package/dist/routes/computer-use/subject-projection.js +6 -6
- package/dist/routes/computer-use/types.d.ts +71 -73
- package/dist/routes/computer-use/types.js +12 -12
- package/dist/routes/preview.d.ts +13 -7
- package/dist/routes/preview.js +11 -7
- package/dist/routes/scripted/bundle.d.ts +7 -7
- package/dist/routes/scripted/bundle.js +20 -18
- package/dist/routes/scripted/plan.d.ts +8 -8
- package/dist/routes/scripted/plan.js +13 -13
- package/dist/routes/scripted/result.d.ts +3 -3
- package/dist/routes/scripted/result.js +13 -13
- package/dist/routes/scripted/route.d.ts +9 -9
- package/dist/routes/scripted/route.js +15 -16
- package/dist/routes/scripted/scenario.d.ts +1 -1
- package/dist/routes/scripted/scenario.js +5 -5
- package/dist/routes/scripted/setup.d.ts +6 -6
- package/dist/routes/scripted/setup.js +8 -8
- package/dist/routes/scripted/subject.d.ts +5 -5
- package/dist/routes/scripted/subject.js +4 -4
- package/dist/routes/scripted/surface-records.d.ts +1 -1
- package/dist/routes/scripted/surface-records.js +4 -4
- package/dist/routes/scripted/surface-sessions.d.ts +3 -3
- package/dist/routes/scripted/types.d.ts +18 -20
- package/dist/routes/scripted/types.js +2 -2
- package/dist/routes/shared-world/bundle-records.js +11 -10
- package/dist/routes/shared-world/bundle.d.ts +5 -5
- package/dist/routes/shared-world/bundle.js +46 -43
- package/dist/routes/shared-world/checkpoints.d.ts +4 -4
- package/dist/routes/shared-world/checkpoints.js +2 -2
- package/dist/routes/shared-world/comms.d.ts +14 -14
- package/dist/routes/shared-world/comms.js +19 -18
- package/dist/routes/shared-world/external-public.d.ts +4 -3
- package/dist/routes/shared-world/external-public.js +16 -12
- package/dist/routes/shared-world/handoff.d.ts +7 -6
- package/dist/routes/shared-world/handoff.js +65 -57
- package/dist/routes/shared-world/lobby-code.d.ts +2 -2
- package/dist/routes/shared-world/lobby-code.js +9 -9
- package/dist/routes/shared-world/participant-specs.d.ts +10 -9
- package/dist/routes/shared-world/participant-specs.js +38 -31
- package/dist/routes/shared-world/plan.d.ts +9 -9
- package/dist/routes/shared-world/plan.js +16 -16
- package/dist/routes/shared-world/provenance.d.ts +2 -2
- package/dist/routes/shared-world/provenance.js +2 -2
- package/dist/routes/shared-world/provisioned.d.ts +8 -8
- package/dist/routes/shared-world/provisioned.js +18 -17
- package/dist/routes/shared-world/result.d.ts +6 -6
- package/dist/routes/shared-world/result.js +29 -29
- package/dist/routes/shared-world/route.d.ts +11 -11
- package/dist/routes/shared-world/route.js +40 -39
- package/dist/routes/shared-world/setup.d.ts +16 -16
- package/dist/routes/shared-world/setup.js +23 -23
- package/dist/routes/shared-world/types.d.ts +55 -53
- package/dist/routes/shared-world/types.js +4 -4
- package/dist/routes/terminal/adapter.d.ts +5 -5
- package/dist/routes/terminal/adapter.js +9 -9
- package/dist/routes/terminal/bundle.d.ts +13 -13
- package/dist/routes/terminal/bundle.js +28 -27
- package/dist/routes/terminal/credentials.d.ts +8 -8
- package/dist/routes/terminal/credentials.js +12 -12
- package/dist/routes/terminal/dry-run.d.ts +4 -4
- package/dist/routes/terminal/dry-run.js +12 -12
- package/dist/routes/terminal/encoding.js +2 -2
- package/dist/routes/terminal/ledger.d.ts +5 -5
- package/dist/routes/terminal/ledger.js +14 -14
- package/dist/routes/terminal/lifetime.d.ts +1 -1
- package/dist/routes/terminal/lifetime.js +1 -1
- package/dist/routes/terminal/live-finish.d.ts +2 -2
- package/dist/routes/terminal/live-finish.js +10 -10
- package/dist/routes/terminal/live-sandbox.d.ts +2 -2
- package/dist/routes/terminal/live-sandbox.js +15 -15
- package/dist/routes/terminal/participant-text.js +2 -1
- package/dist/routes/terminal/persona.d.ts +2 -2
- package/dist/routes/terminal/persona.js +3 -3
- package/dist/routes/terminal/plan.d.ts +7 -7
- package/dist/routes/terminal/plan.js +15 -15
- package/dist/routes/terminal/recorder.js +2 -2
- package/dist/routes/terminal/result.d.ts +5 -5
- package/dist/routes/terminal/result.js +14 -14
- package/dist/routes/terminal/route.d.ts +9 -9
- package/dist/routes/terminal/route.js +19 -20
- package/dist/routes/terminal/sandbox.d.ts +1 -1
- package/dist/routes/terminal/sandbox.js +1 -1
- package/dist/routes/terminal/session.d.ts +5 -5
- package/dist/routes/terminal/session.js +14 -13
- package/dist/routes/terminal/token-usage.d.ts +1 -1
- package/dist/routes/terminal/token-usage.js +7 -8
- package/dist/routes/terminal/trace.d.ts +4 -4
- package/dist/routes/terminal/trace.js +2 -2
- package/dist/routes/terminal/types.d.ts +48 -50
- package/dist/routes/terminal/types.js +5 -5
- package/dist/run/bundle-shape.js +3 -3
- package/dist/run/bundle.d.ts +49 -49
- package/dist/run/bundle.js +3 -2
- package/dist/run/cost-summary.js +3 -3
- package/dist/run/costs.d.ts +23 -0
- package/dist/run/costs.js +79 -44
- package/dist/run/detail.d.ts +6 -6
- package/dist/run/detail.js +4 -4
- package/dist/run/dry-run-inputs.d.ts +1 -1
- package/dist/run/dry-run-inputs.js +2 -2
- package/dist/run/dry-run.js +20 -20
- package/dist/run/judge.d.ts +19 -13
- package/dist/run/judge.js +18 -8
- package/dist/run/outcomes.d.ts +1 -1
- package/dist/run/participant.d.ts +1 -1
- package/dist/run/paths.d.ts +1 -1
- package/dist/run/paths.js +1 -1
- package/dist/run/preflight-receipts.js +1 -1
- package/dist/run/pricing.d.ts +11 -6
- package/dist/run/pricing.js +22 -15
- package/dist/run/projection.d.ts +46 -46
- package/dist/run/projection.js +57 -57
- package/dist/run/reclaim.d.ts +1 -1
- package/dist/run/reclaim.js +3 -3
- package/dist/run/results.d.ts +5 -5
- package/dist/run/run-cost.d.ts +53 -0
- package/dist/run/run-cost.js +105 -0
- package/dist/run/run-index-analysis.d.ts +15 -0
- package/dist/run/run-index-analysis.js +77 -0
- package/dist/run/run-index.d.ts +19 -7
- package/dist/run/run-index.js +77 -64
- package/dist/run/run-not-found.d.ts +5 -0
- package/dist/run/run-not-found.js +15 -0
- package/dist/run/run.d.ts +6 -5
- package/dist/run/run.js +3 -3
- package/dist/run/sandbox-receipts.d.ts +2 -2
- package/dist/run/sandbox-receipts.js +3 -3
- package/dist/run/shared-world-evidence.d.ts +37 -36
- package/dist/run/shared-world-evidence.js +4 -4
- package/dist/run/shared-world-shape.d.ts +1 -1
- package/dist/run/shared-world-shape.js +7 -7
- package/dist/run/stats.d.ts +14 -8
- package/dist/run/stats.js +121 -63
- package/dist/run/status.d.ts +16 -29
- package/dist/run/status.js +10 -29
- package/dist/run/stored-runs.js +2 -1
- package/dist/run/stream-shape.js +1 -1
- package/dist/run/streams.d.ts +7 -7
- package/dist/run/study-provenance.d.ts +49 -0
- package/dist/run/study-provenance.js +66 -0
- package/dist/run/study-result.d.ts +11 -0
- package/dist/run/study-result.js +9 -0
- package/dist/run/text.d.ts +2 -0
- package/dist/run/text.js +4 -0
- package/dist/run-study.d.ts +112 -0
- package/dist/{run-lab.js → run-study.js} +52 -47
- package/dist/{lab → study}/adapter-extension.d.ts +15 -27
- package/dist/{lab → study}/adapter-extension.js +10 -45
- package/dist/{lab → study}/adapter-scorer-loader.d.ts +17 -17
- package/dist/{lab → study}/adapter-scorer-loader.js +34 -34
- package/dist/study/composition-rules.d.ts +7 -0
- package/dist/{lab → study}/composition-rules.js +53 -53
- package/dist/study/config.d.ts +15 -0
- package/dist/{lab → study}/config.js +98 -41
- package/dist/study/convert.d.ts +33 -0
- package/dist/study/convert.js +432 -0
- package/dist/{lab → study}/device-presets.d.ts +10 -10
- package/dist/{lab → study}/device-presets.js +11 -11
- package/dist/study/discover.d.ts +75 -0
- package/dist/{lab → study}/discover.js +134 -95
- package/dist/{lab → study}/doctor.d.ts +19 -12
- package/dist/{lab → study}/doctor.js +58 -20
- package/dist/study/field-paths.d.ts +12 -0
- package/dist/study/field-paths.js +126 -0
- package/dist/study/files.d.ts +26 -0
- package/dist/study/files.js +44 -0
- package/dist/{lab → study}/init-templates.d.ts +2 -2
- package/dist/study/init-templates.js +421 -0
- package/dist/{lab → study}/init.d.ts +2 -2
- package/dist/{lab → study}/init.js +46 -11
- package/dist/study/keys.d.ts +4 -0
- package/dist/{lab → study}/keys.js +46 -12
- package/dist/study/migrate.d.ts +48 -0
- package/dist/study/migrate.js +408 -0
- package/dist/study/owned-files.d.ts +38 -0
- package/dist/study/owned-files.js +182 -0
- package/dist/{lab → study}/parse/actors.d.ts +5 -5
- package/dist/{lab → study}/parse/actors.js +14 -14
- package/dist/study/parse/comms.d.ts +12 -0
- package/dist/{lab → study}/parse/comms.js +5 -5
- package/dist/study/parse/execution.d.ts +19 -0
- package/dist/{lab → study}/parse/execution.js +13 -13
- package/dist/study/parse/study-v3.d.ts +21 -0
- package/dist/study/parse/study-v3.js +259 -0
- package/dist/study/parse/subject-state.d.ts +30 -0
- package/dist/{lab → study}/parse/subject-state.js +19 -19
- package/dist/{lab → study}/parse/subject.d.ts +3 -3
- package/dist/{lab → study}/parse/subject.js +34 -34
- package/dist/{lab → study}/parse/values.d.ts +3 -3
- package/dist/{lab → study}/parse/values.js +3 -3
- package/dist/{lab → study}/persona-resolve.d.ts +8 -8
- package/dist/{lab → study}/persona-resolve.js +6 -6
- package/dist/{lab → study}/plan-base.d.ts +7 -7
- package/dist/{lab → study}/plan-base.js +1 -1
- package/dist/{lab → study}/plan-participants.d.ts +12 -12
- package/dist/{lab → study}/plan-participants.js +4 -4
- package/dist/{lab → study}/plan-types.d.ts +31 -31
- package/dist/{lab → study}/plan-types.js +2 -2
- package/dist/study/plan.d.ts +13 -0
- package/dist/study/plan.js +101 -0
- package/dist/study/preflight-probes.d.ts +3 -0
- package/dist/{lab → study}/preflight-probes.js +20 -19
- package/dist/study/preflight-result.d.ts +8 -0
- package/dist/{lab → study}/preflight-result.js +5 -4
- package/dist/study/preflight.d.ts +94 -0
- package/dist/{lab → study}/preflight.js +12 -12
- package/dist/{lab → study}/requirements.d.ts +3 -3
- package/dist/{lab → study}/requirements.js +1 -1
- package/dist/study/route-inputs.d.ts +28 -0
- package/dist/{lab → study}/route-inputs.js +1 -1
- package/dist/{lab → study}/routing.d.ts +39 -33
- package/dist/{lab → study}/routing.js +60 -29
- package/dist/{lab/run-lab-events.d.ts → study/run-study-events.d.ts} +10 -13
- package/dist/{lab/run-lab-events.js → study/run-study-events.js} +3 -9
- package/dist/{lab/run-lab-homes.d.ts → study/run-study-homes.d.ts} +21 -18
- package/dist/{lab/run-lab-homes.js → study/run-study-homes.js} +1 -1
- package/dist/study/run-study-options.d.ts +28 -0
- package/dist/{lab/run-lab-options.js → study/run-study-options.js} +29 -25
- package/dist/{lab/lab-deps.d.ts → study/study-deps.d.ts} +8 -13
- package/dist/{lab/lab-deps.js → study/study-deps.js} +2 -2
- package/dist/{lab → study}/summary.d.ts +16 -15
- package/dist/{lab → study}/summary.js +21 -21
- package/dist/{lab → study}/tasks.d.ts +18 -18
- package/dist/{lab → study}/tasks.js +14 -14
- package/dist/{lab → study}/types.d.ts +202 -196
- package/dist/{lab → study}/types.js +3 -1
- package/dist/{lab → study}/validation.d.ts +27 -27
- package/dist/{lab → study}/validation.js +53 -51
- package/dist/study/warnings.d.ts +12 -0
- package/dist/{lab → study}/warnings.js +62 -34
- package/dist/subject/clone.d.ts +7 -7
- package/dist/subject/clone.js +2 -2
- package/dist/subject/desktop-cli.d.ts +1 -1
- package/dist/subject/desktop-cli.js +2 -2
- package/dist/subject/local-tree-archive.d.ts +2 -2
- package/dist/subject/local-tree-archive.js +4 -4
- package/dist/subject/local-tree.d.ts +4 -4
- package/dist/subject/node-bootstrap.js +1 -1
- package/dist/subject/runtime.js +9 -10
- package/dist/subject/serve.d.ts +5 -5
- package/dist/subject/serve.js +3 -3
- package/dist/subject/state.d.ts +4 -4
- package/dist/subject/state.js +1 -1
- package/dist/subject/steps.d.ts +6 -6
- package/dist/subject/steps.js +5 -5
- package/dist/substrates/command-failure.d.ts +3 -3
- package/dist/substrates/command-failure.js +3 -3
- package/dist/substrates/desktop-session.js +2 -2
- package/dist/substrates/detached.d.ts +6 -6
- package/dist/substrates/detached.js +7 -7
- package/dist/substrates/e2b/cdp-probe.d.ts +9 -9
- package/dist/substrates/e2b/cdp-probe.js +14 -17
- package/dist/substrates/e2b/desktop-browser.d.ts +6 -6
- package/dist/substrates/e2b/desktop-browser.js +9 -9
- package/dist/substrates/e2b/desktop-cdp.d.ts +10 -10
- package/dist/substrates/e2b/desktop-cdp.js +9 -9
- package/dist/substrates/e2b/desktop-executor.d.ts +2 -2
- package/dist/substrates/e2b/desktop-executor.js +13 -13
- package/dist/substrates/e2b/desktop-geometry.d.ts +4 -4
- package/dist/substrates/e2b/desktop-geometry.js +8 -8
- package/dist/substrates/e2b/desktop-media.d.ts +4 -4
- package/dist/substrates/e2b/desktop-media.js +1 -1
- package/dist/substrates/e2b/desktop-screenshot-cleanup.d.ts +3 -3
- package/dist/substrates/e2b/desktop-screenshot-cleanup.js +3 -3
- package/dist/substrates/e2b/lifetime.js +1 -1
- package/dist/substrates/e2b/sandbox.d.ts +4 -4
- package/dist/substrates/e2b/sandbox.js +2 -2
- package/dist/substrates/e2b/sdk.d.ts +12 -12
- package/dist/substrates/e2b/sdk.js +7 -7
- package/dist/substrates/local/runtime-config.d.ts +4 -4
- package/dist/substrates/local/runtime-config.js +4 -4
- package/dist/tui/actions.d.ts +1 -1
- package/dist/tui/actions.js +13 -13
- package/dist/tui/contract.d.ts +23 -23
- package/dist/tui/contract.js +11 -11
- package/dist/tui/launch.d.ts +7 -7
- package/dist/tui/launch.js +36 -31
- package/dist/tui/project.js +5 -5
- package/dist/tui-app.js +139 -139
- package/dist/verify/actor.d.ts +8 -8
- package/dist/verify/actor.js +36 -36
- package/dist/verify/artifacts.d.ts +2 -2
- package/dist/verify/artifacts.js +3 -3
- package/dist/verify/context-growth.d.ts +9 -0
- package/dist/verify/context-growth.js +62 -0
- package/dist/verify/costs.d.ts +6 -6
- package/dist/verify/costs.js +8 -8
- package/dist/verify/shared-world-concurrent.d.ts +2 -2
- package/dist/verify/shared-world-concurrent.js +79 -76
- package/dist/verify/shared-world.d.ts +2 -2
- package/dist/verify/shared-world.js +16 -16
- package/dist/verify/subject.d.ts +5 -5
- package/dist/verify/subject.js +19 -19
- package/dist/verify/verify.js +94 -44
- package/docs/README.md +25 -32
- package/docs/architecture/actor-contract.md +60 -91
- package/docs/architecture/browser-control.md +1 -1
- package/docs/architecture/desktop-sessions.md +7 -7
- package/docs/architecture/external-public-shared-world.md +68 -65
- package/docs/architecture/github-feedback-loop.md +2 -5
- package/docs/architecture/guest-desktop.md +2 -2
- package/docs/architecture/observer.md +34 -34
- package/docs/architecture/restricted-codex-analysis.md +34 -28
- package/docs/architecture/serve.md +34 -37
- package/docs/architecture/state-driven-executor.md +55 -58
- package/docs/architecture/task-protocol-support.md +6 -6
- package/docs/architecture/terminal-product-route.md +70 -110
- package/docs/contracts/README.md +24 -0
- package/docs/contracts/adapter-admission.md +3 -3
- package/docs/contracts/adapter-fixtures.md +4 -7
- package/docs/contracts/core.md +1 -3
- package/docs/contracts/errors.md +62 -0
- package/docs/contracts/feedback.md +8 -9
- package/docs/contracts/policy.md +7 -12
- package/docs/contracts/run-bundle.md +42 -44
- package/docs/contracts/schemas.md +446 -368
- package/docs/contracts/study-analysis.md +7 -4
- package/docs/contracts/study-costs.md +28 -9
- package/docs/decisions/0001-run-bundle-is-the-source-of-truth.md +1 -1
- package/docs/decisions/0002-observer-is-one-self-contained-file.md +2 -2
- package/docs/decisions/0003-contained-paths-and-cleanup-authority.md +3 -3
- package/docs/principles/actor-fidelity.md +4 -4
- package/docs/principles/engineering.md +3 -3
- package/docs/principles/invariants-and-defaults.md +38 -38
- package/docs/principles/self-driving-harness.md +1 -5
- package/docs/principles/three-roles.md +1 -1
- package/docs/product/automatic-analysis.md +7 -7
- package/examples/README.md +1 -1
- package/examples/participant/README.md +5 -5
- package/examples/participant/run.mjs +11 -10
- package/examples/scorer/README.md +3 -3
- package/examples/scorer/run.mjs +11 -12
- package/examples/scorer/scorer.mjs +3 -3
- package/package.json +16 -17
- package/skills/humanish/SKILL.md +64 -60
- package/skills/humanish/agents/openai.yaml +1 -1
- package/AGENTS.md +0 -99
- package/CONTRIBUTING.md +0 -148
- package/dist/actors/codex/qualified-versions.d.ts +0 -72
- package/dist/actors/codex/qualified-versions.js +0 -132
- package/dist/cli/commands/lab-format.d.ts +0 -8
- package/dist/cli/commands/lab-route-run.d.ts +0 -19
- package/dist/cli/commands/lab-route-scripted.d.ts +0 -17
- package/dist/cli/commands/lab-route-terminal.d.ts +0 -17
- package/dist/cli/commands/lab-run.d.ts +0 -9
- package/dist/cli/commands/lab.d.ts +0 -3
- package/dist/cli/commands/lab.js +0 -199
- package/dist/cli/renamed-options.d.ts +0 -11
- package/dist/cli/renamed-options.js +0 -18
- package/dist/lab/composition-rules.d.ts +0 -7
- package/dist/lab/config.d.ts +0 -7
- package/dist/lab/discover.d.ts +0 -65
- package/dist/lab/init-templates.js +0 -416
- package/dist/lab/keys.d.ts +0 -2
- package/dist/lab/parse/comms.d.ts +0 -12
- package/dist/lab/parse/execution.d.ts +0 -19
- package/dist/lab/parse/subject-state.d.ts +0 -30
- package/dist/lab/plan.d.ts +0 -19
- package/dist/lab/plan.js +0 -132
- package/dist/lab/preflight-probes.d.ts +0 -3
- package/dist/lab/preflight-result.d.ts +0 -7
- package/dist/lab/preflight.d.ts +0 -92
- package/dist/lab/route-inputs.d.ts +0 -28
- package/dist/lab/run-lab-options.d.ts +0 -28
- package/dist/lab/warnings.d.ts +0 -2
- package/dist/observer/static.d.ts +0 -39
- package/dist/observer/static.js +0 -369
- package/dist/run-lab.d.ts +0 -112
- package/docs/architecture/comms-inbox.md +0 -122
- package/docs/architecture/desktop-recording.md +0 -80
- package/docs/architecture/local-browser-runtime.md +0 -178
- package/docs/architecture/observer-review.md +0 -144
- package/docs/architecture/participant-media.md +0 -90
- package/docs/architecture/project-layout.md +0 -62
- package/docs/architecture/real-email-receiving.md +0 -136
- package/docs/assets/humanish-drawdb-hero.png +0 -0
- package/docs/assets/humanish-observer-hero.png +0 -0
- package/docs/goals/current.md +0 -207
- package/docs/product/lobby-trivia-3player-external-public.md +0 -77
- package/docs/product/open-source-install-experience.md +0 -240
- package/docs/ramp/README.md +0 -295
- package/docs/release/open-source-readiness.md +0 -222
- package/docs/release/public-readiness-standard.md +0 -210
- package/docs/roadmap/world-class-open-source-v0.md +0 -311
- /package/dist/{lab → study}/init-paths.d.ts +0 -0
- /package/dist/{lab → study}/init-paths.js +0 -0
- /package/dist/{lab → study}/init-plan.d.ts +0 -0
- /package/dist/{lab → study}/init-plan.js +0 -0
- /package/dist/{lab → study}/participant-assignment.d.ts +0 -0
- /package/dist/{lab → study}/participant-assignment.js +0 -0
- /package/dist/{lab → study}/persona.d.ts +0 -0
- /package/dist/{lab → study}/persona.js +0 -0
package/docs/ramp/README.md
DELETED
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
# humanish Ramp
|
|
2
|
-
|
|
3
|
-
Use this page when you are starting cold on `humanish`. It is meant to be
|
|
4
|
-
useful without chat history, private notes, local machine paths, or maintainer
|
|
5
|
-
context. It is the last step of the reading order in
|
|
6
|
-
[CONTRIBUTING.md](../../CONTRIBUTING.md#read-these-in-order) and adds current state, how to pick
|
|
7
|
-
work and the quality bar.
|
|
8
|
-
|
|
9
|
-
## First Read
|
|
10
|
-
|
|
11
|
-
Start with three things:
|
|
12
|
-
|
|
13
|
-
1. The files in [CONTRIBUTING.md's reading order](../../CONTRIBUTING.md#read-these-in-order).
|
|
14
|
-
2. The current task and [`docs/goals/current.md`](../goals/current.md) for current
|
|
15
|
-
product status. Explicit task direction takes precedence over historical queues.
|
|
16
|
-
3. Instructions in the component being changed, then its relevant contracts.
|
|
17
|
-
|
|
18
|
-
Use the references below as needed. Historical plans are context, not a backlog
|
|
19
|
-
to resume automatically. Keep one concise current task handoff with the requested
|
|
20
|
-
outcome, demonstrated behavior, next complete result, constraints and rejected or
|
|
21
|
-
deferred approaches; link evidence rather than repeating its chronology.
|
|
22
|
-
|
|
23
|
-
| When working on | Reference |
|
|
24
|
-
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
25
|
-
| Install, commands or first-run UX | [`README.md`](../../README.md), [install experience](../product/open-source-install-experience.md) |
|
|
26
|
-
| Security, evidence handling or defaults | [Invariants and defaults](../principles/invariants-and-defaults.md) |
|
|
27
|
-
| Observer | [Observer architecture](../architecture/observer.md) and its component instructions |
|
|
28
|
-
| Bundle formats or policy | [Run bundle](../contracts/run-bundle.md), [policy](../contracts/policy.md) |
|
|
29
|
-
| Public artifacts or packaging | [Public-readiness standard](../release/public-readiness-standard.md), [release procedure](../release/open-source-readiness.md) |
|
|
30
|
-
| Proof architecture or historical decisions | [Proof roadmap](https://github.com/danielgwilson/humanish/blob/main/docs/goals/proof-roadmap/goal.md), [historical delivery roadmap](../roadmap/world-class-open-source-v0.md) |
|
|
31
|
-
|
|
32
|
-
## Mental Model
|
|
33
|
-
|
|
34
|
-
humanish is a persona simulation harness for apps, CLIs, and agent-facing product
|
|
35
|
-
flows.
|
|
36
|
-
|
|
37
|
-
- `humanish/` is committed source: lab manifests, personas, scenarios and
|
|
38
|
-
coverage notes.
|
|
39
|
-
- `.humanish/` is ignored runtime state: runs, Observer output, transcripts,
|
|
40
|
-
reviews, temporary clones, and local evidence.
|
|
41
|
-
- humanish source uses `.yaml` for human-authored simulation intent and
|
|
42
|
-
JSON/NDJSON for generated artifacts.
|
|
43
|
-
- A run bundle is the source of truth.
|
|
44
|
-
- The Observer is the projection that makes that truth reviewable.
|
|
45
|
-
- Feedback commands turn verified evidence into public-safe issue drafts.
|
|
46
|
-
|
|
47
|
-
If a change does not improve one of those loops, it probably belongs elsewhere.
|
|
48
|
-
|
|
49
|
-
## Current State
|
|
50
|
-
|
|
51
|
-
[CHANGELOG.md](../../CHANGELOG.md) lists what each version changed. This section describes
|
|
52
|
-
what the source supports now.
|
|
53
|
-
|
|
54
|
-
humanish has a working public package shape and a safe first-run path.
|
|
55
|
-
|
|
56
|
-
Implemented:
|
|
57
|
-
|
|
58
|
-
- `commander` CLI with stable command help;
|
|
59
|
-
- `init`, `doctor`, `run`, `watch`, `verify`, `review`, `runs`, `analyze`, and `feedback`;
|
|
60
|
-
- study analysis with bounded provider admission, a live-run default and opt-out, immutable findings,
|
|
61
|
-
source-bound corrections and evidence-linked Observer review;
|
|
62
|
-
- synthetic run bundles;
|
|
63
|
-
- public-safety verification with machine-readable `shareSafety.status`
|
|
64
|
-
(`share_ready`, `local_only`, or `blocked`);
|
|
65
|
-
- mission-control Observer over UI, CLI, TUI, and Codex UI stream contracts;
|
|
66
|
-
- public-safe feedback issue drafts without GitHub API mutation, gated on
|
|
67
|
-
`share_ready` evidence;
|
|
68
|
-
- skills.sh-compatible agent skill;
|
|
69
|
-
- first-class lab manifest resolution through `humanish/labs/*.yaml` and
|
|
70
|
-
ignored `.humanish/labs/*.yaml` overlays, as `humanish.lab.v2` compositions
|
|
71
|
-
(`src/lab/config.ts`) with one engine and no hardcoded lab kinds;
|
|
72
|
-
- a first-party actor registry with five registered descriptors
|
|
73
|
-
(`src/actors/registry.ts`); `actors[0].type` is a real dispatch key on the
|
|
74
|
-
computer-use, scripted-browser, and terminal-product routes;
|
|
75
|
-
- a computer-use route and clone subject provider: `subject.source: app-url`
|
|
76
|
-
drives a lab-owner loopback app in a hosted desktop, and `subject.source:
|
|
77
|
-
clone` + `serve` clones, installs, and serves a real app in-sandbox from
|
|
78
|
-
config before the actor drives it (`src/routes/computer-use/route.ts`);
|
|
79
|
-
- seven declared subject sources: `this-repo` (dry-run-only), `clone`, `app-url`,
|
|
80
|
-
`local-app` (library-assisted, in-process, no desktop), `terminal-product`,
|
|
81
|
-
`desktop-cli` (computer-use participant at a terminal), and `local-tree`;
|
|
82
|
-
each route fails closed on unsupported combinations;
|
|
83
|
-
- bounded fan-out with separate worlds (`actors[0].count`, `lanes[]`, or `roster[]`),
|
|
84
|
-
backed by deterministic and kept live proof;
|
|
85
|
-
- concurrent single-origin shared-world execution with deterministic and kept
|
|
86
|
-
live proof; verify still reads bundles from the sequential route removed in
|
|
87
|
-
0.106.0;
|
|
88
|
-
- `subject.source: local-tree`, which packages one selected working tree with a
|
|
89
|
-
content pin before using the same provision-and-serve path as clone subjects;
|
|
90
|
-
- an off-app comms funnel for email-gated flows: a vendor-neutral in-sandbox
|
|
91
|
-
catch redirects the app's own send API, a persona reads a minimal inbox surface
|
|
92
|
-
and clicks through, and a digest-only `humanish.comms-thread.v1` artifact
|
|
93
|
-
records the thread with no raw address, link, or code. It is wired into the
|
|
94
|
-
computer-use and concurrent shared-world routes and live-proven on computer-use.
|
|
95
|
-
SMS is not yet a configured execution route;
|
|
96
|
-
- resolved-persona directives that actually shape the actor prompt on the
|
|
97
|
-
terminal-product route (traits are applied and recorded in the actor trace, not
|
|
98
|
-
decorative), reusing the same `persona.ts` compiler as the computer-use route;
|
|
99
|
-
- a CLI-loadable adopter scorer seam (`review.scorer.ref` in the lab manifest, or
|
|
100
|
-
a `--scorer <path>` override): a config-declared `.mjs` supplies
|
|
101
|
-
`{score, deriveFeedback, deriveArtifacts}`, resolved with the same containment
|
|
102
|
-
as `scenario.ref` and digest-pinned in the bundle
|
|
103
|
-
(`humanish.scorer-provenance.v1`); a config-declared scorer that fails to render
|
|
104
|
-
a pass fails the run on the scorer-capable routes, while library callers keep
|
|
105
|
-
the additive behavior (`costProbe` stays library-only); on the terminal route
|
|
106
|
-
the scoring context carries the FULL normalized transcript (byte-identical to
|
|
107
|
-
the persisted `terminal-transcript.txt`) instead of the ~2KB tail projection. The
|
|
108
|
-
[scorer example](../../examples/scorer/README.md) attaches one from the CLI and from a
|
|
109
|
-
library caller;
|
|
110
|
-
- containment checks for managed run storage, Observer and feedback reads,
|
|
111
|
-
actor artifacts, lab discovery, Git metadata, and source archives;
|
|
112
|
-
- cleanup inspection receipts that do not treat mutable run-bundle IDs as
|
|
113
|
-
provider-mutation authority;
|
|
114
|
-
- every route publishes through the run lifecycle (`runScope` and `Run` in
|
|
115
|
-
`src/run/run.ts`): computer-use, shared-world, scripted, terminal, and the preview's
|
|
116
|
-
`runDryRun`.
|
|
117
|
-
|
|
118
|
-
Still not good enough:
|
|
119
|
-
|
|
120
|
-
- capability receipts are not adopter replacement: no first-party deletion
|
|
121
|
-
branch has yet removed a bespoke generic harness while preserving
|
|
122
|
-
decision-equivalent proof;
|
|
123
|
-
- the five actor descriptors are a closed first-party union, not a supported
|
|
124
|
-
out-of-tree actor-registration API;
|
|
125
|
-
- multi-origin shared-world is an accepted design direction, but remains
|
|
126
|
-
unimplemented and gated on a real adopter proving the need;
|
|
127
|
-
- the README hero is the drawDB real-application study, a legible capture of a
|
|
128
|
-
studied public subject (drawDB is not a humanish adopter); coverage beyond that single
|
|
129
|
-
studied subject (the stratified breadth panel) remains open.
|
|
130
|
-
|
|
131
|
-
## Check which compositions a lab can declare
|
|
132
|
-
|
|
133
|
-
`parseLabConfig` (`src/lab/config.ts`) enforces this matrix through `compositionReason`
|
|
134
|
-
(`src/lab/composition-rules.ts`), which uses the predicates in `src/lab/routing.ts` and the reasons
|
|
135
|
-
in `src/lab/validation.ts`. The route entries check it again
|
|
136
|
-
for library callers. `tests/fixtures/task-route-preflight/labs.json` holds one lab for each
|
|
137
|
-
accepted row except the local browser row. `tests/lab/task-route-preflight.test.ts` checks that
|
|
138
|
-
each of those labs routes as shown. `tests/run-lab-local-substrate.test.ts` covers the local
|
|
139
|
-
browser row. Accepted rows have further required fields, such as `subject.serve` on `clone`, and
|
|
140
|
-
the parse error names the missing one. The computer-use actors are `openai-computer-use` and
|
|
141
|
-
`local-agent`.
|
|
142
|
-
|
|
143
|
-
| Route (backend name) | `subject.source` | `execution.target` | `actors[0].type` | Result |
|
|
144
|
-
| ------------------------------------------ | ------------------------------------------------ | ------------------------ | -------------------------------------- | ------------------------------------------------------------------------------ |
|
|
145
|
-
| `computer-use` (`cua`) | `app-url` | `e2b-desktop` | a computer-use actor | Supported |
|
|
146
|
-
| `computer-use` (`cua`) | `app-url` | `local` | a computer-use actor | Supported on a local Firecracker desktop, inside Lima on macOS |
|
|
147
|
-
| `computer-use` (`cua`) | `clone`, `local-tree` | `e2b-desktop` | a computer-use actor | Supported |
|
|
148
|
-
| `computer-use` (`cua`) | `desktop-cli` | `e2b-desktop` or absent | a computer-use actor | Supported |
|
|
149
|
-
| `computer-use` (`cua`) | `local-app` | `local` or absent | a computer-use actor | Library only; the CLI refuses it with `HUMANISH_CUA_LAB_LOCAL_APP_NO_EXECUTOR` |
|
|
150
|
-
| `shared-world` (`concurrent-shared-world`) | `clone`, `local-tree` + `topology: shared-world` | `e2b-desktop` | a computer-use actor | Supported |
|
|
151
|
-
| `shared-world` (`concurrent-shared-world`) | `app-url` + `topology: shared-world` | `e2b-desktop` | a computer-use actor | Supported with `policies.allowPublicTargets: true` |
|
|
152
|
-
| `scripted` | `app-url` with a loopback URL | `local` or absent | `scripted-browser` | Supported |
|
|
153
|
-
| `scripted` | `clone` | `e2b-desktop` | `scripted-browser` | Supported |
|
|
154
|
-
| `terminal` | `terminal-product` | `e2b-terminal` or absent | `codex-exec` | Supported |
|
|
155
|
-
| `preview` (`synthetic`) | `this-repo` | absent | not `scripted-browser` or `codex-exec` | Dry run only |
|
|
156
|
-
| none | any other pairing | any | any | Refused at parse with `HUMANISH_LAB_INVALID` |
|
|
157
|
-
|
|
158
|
-
The fixture's `supported` field records which routes accept declared `actors[0].tasks`. The
|
|
159
|
-
computer-use labs in the fixture accept them. The other routes refuse them at parse.
|
|
160
|
-
|
|
161
|
-
## First Commands
|
|
162
|
-
|
|
163
|
-
From a clean checkout:
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
git status --short --branch
|
|
167
|
-
pnpm install --frozen-lockfile
|
|
168
|
-
pnpm humanish lab list
|
|
169
|
-
pnpm humanish watch --json --no-open # a keyless preview run
|
|
170
|
-
pnpm humanish runs --json
|
|
171
|
-
pnpm vitest run tests/<file> # one test file: the fast loop
|
|
172
|
-
pnpm check # the full local gate
|
|
173
|
-
pnpm release:check # what CI runs; last, before a pull request
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
For local product feel:
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
pnpm humanish watch
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
For private/local dogfood, author an ignored lab manifest under
|
|
183
|
-
`.humanish/labs/` or `.humanish/local/labs/`, then invoke it explicitly with an
|
|
184
|
-
ignored env file:
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
pnpm humanish watch .humanish/labs/local-dogfood.yaml --env-file .humanish/local/provider.env
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
## How To Pick Work
|
|
191
|
-
|
|
192
|
-
Start from [`docs/goals/current.md`](../goals/current.md).
|
|
193
|
-
|
|
194
|
-
Prefer work that makes humanish more believable to a new maintainer:
|
|
195
|
-
|
|
196
|
-
- a command becomes easier to run;
|
|
197
|
-
- a run bundle becomes more truthful;
|
|
198
|
-
- Observer evidence becomes more inspectable;
|
|
199
|
-
- verification catches a real bad state;
|
|
200
|
-
- feedback drafts become more actionable;
|
|
201
|
-
- public-safety gates catch a class of leak or stale residue.
|
|
202
|
-
|
|
203
|
-
If no GitHub issue exists for substantial work, draft one with the repo issue
|
|
204
|
-
template before building. Use labels to communicate authority, area, risk, and
|
|
205
|
-
required proof.
|
|
206
|
-
|
|
207
|
-
## Quality Bar
|
|
208
|
-
|
|
209
|
-
Do not close a change on narrative alone.
|
|
210
|
-
|
|
211
|
-
Useful proof includes:
|
|
212
|
-
|
|
213
|
-
- `pnpm release:check`;
|
|
214
|
-
- `pnpm release:dogfood` before a tag (see below);
|
|
215
|
-
- focused unit or contract tests;
|
|
216
|
-
- a generated run bundle under ignored `.humanish/`;
|
|
217
|
-
- Observer screenshots or health output;
|
|
218
|
-
- `humanish verify` results;
|
|
219
|
-
- public-surface scan output;
|
|
220
|
-
- fresh clone checks for packaging or release work.
|
|
221
|
-
|
|
222
|
-
A green subset is not the same thing as complete coverage. If something is not
|
|
223
|
-
covered, name it as a gap.
|
|
224
|
-
|
|
225
|
-
## Public Boundary
|
|
226
|
-
|
|
227
|
-
Assume this repository is public even when local or remote visibility says it is
|
|
228
|
-
private.
|
|
229
|
-
|
|
230
|
-
Never commit or paste:
|
|
231
|
-
|
|
232
|
-
- PII or PHI;
|
|
233
|
-
- secrets, keys, tokens, cookies, or raw env files;
|
|
234
|
-
- raw private transcripts;
|
|
235
|
-
- private screenshots;
|
|
236
|
-
- private customer or patient data;
|
|
237
|
-
- local machine paths;
|
|
238
|
-
- private upstream code or operational details.
|
|
239
|
-
|
|
240
|
-
Use synthetic examples, redacted evidence, and env var names without values.
|
|
241
|
-
|
|
242
|
-
## Embarrassment Filter
|
|
243
|
-
|
|
244
|
-
Before committing, ask:
|
|
245
|
-
|
|
246
|
-
- Would this make sense to someone who found the repo through npm?
|
|
247
|
-
- Would I be comfortable with this file quoted in a public issue?
|
|
248
|
-
- Does this depend on private chat memory?
|
|
249
|
-
- Does it mention removed docs, private machine paths, or internal-only names?
|
|
250
|
-
- Does it claim product proof when it only proves a contract?
|
|
251
|
-
|
|
252
|
-
If the answer is uncomfortable, rewrite it, synthesize it, or keep it out of the
|
|
253
|
-
repo.
|
|
254
|
-
|
|
255
|
-
## Hand-Off Format
|
|
256
|
-
|
|
257
|
-
End substantial work with:
|
|
258
|
-
|
|
259
|
-
- what changed;
|
|
260
|
-
- what proof passed;
|
|
261
|
-
- what remains uncertain;
|
|
262
|
-
- the next best issue or command.
|
|
263
|
-
|
|
264
|
-
Future agents should be able to continue from the repo, not from the previous
|
|
265
|
-
chat transcript.
|
|
266
|
-
|
|
267
|
-
## Before you tag: send a participant to meet the build
|
|
268
|
-
|
|
269
|
-
```bash
|
|
270
|
-
pnpm release:dogfood # needs OPENAI_API_KEY + E2B_API_KEY; costs about a dollar
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
`release:check` proves the code is internally consistent. It cannot tell you whether
|
|
274
|
-
someone landing on this build can get anywhere with it. That gap has cost a release:
|
|
275
|
-
`0.56.0` passed every check and shipped a regression that hid a run's
|
|
276
|
-
price at exactly the moment a person was deciding whether to set keys up. A
|
|
277
|
-
synthetic participant found it hours later.
|
|
278
|
-
|
|
279
|
-
So the last gate before a tag is the product's own first-contact study, pointed at
|
|
280
|
-
the release candidate. It packs the tarball, uploads it into the sandbox, and has a
|
|
281
|
-
real autonomous agent install that tarball. Installing `humanish@latest` instead would
|
|
282
|
-
measure the last release, the one artifact we already know about.
|
|
283
|
-
|
|
284
|
-
It prints the participant's report and fails the gate if they could not get there.
|
|
285
|
-
**Read the report even when it passes.** The verdict is a marker the participant
|
|
286
|
-
sets; the paragraph underneath it is the finding, and it has twice repeated an
|
|
287
|
-
adoption problem we already knew about in words no test could produce.
|
|
288
|
-
|
|
289
|
-
This spends money and needs keys, so it is deliberately NOT part of `release:check`
|
|
290
|
-
and never runs in CI. The lab's caps hold product spend to `$0`; what it costs is
|
|
291
|
-
the agent's own tokens (on `gpt-5.6-sol` unless the lab names a model, estimated in `run.json`'s
|
|
292
|
-
`cost`) and a few sandbox-minutes. The agent's model key stays outside
|
|
293
|
-
the sandbox in an E2B egress rule (`runtimeAuth: openai-egress`), and its `web_search`
|
|
294
|
-
fetches run on the model provider's side, so an error from one says nothing about the
|
|
295
|
-
sandbox's network.
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
# Open-Source Release Readiness
|
|
2
|
-
|
|
3
|
-
Date: 2026-06-02
|
|
4
|
-
|
|
5
|
-
Status: HISTORICAL (banner added 2026-06-11). This audit declared the repo a
|
|
6
|
-
public repository candidate after reviewed history cleanup; the repository
|
|
7
|
-
has since gone public and the package has shipped releases past the `0.1.3`
|
|
8
|
-
named below, so treat versions and one-time audit details here as a snapshot. The release gates and publish procedure remain the working
|
|
9
|
-
reference. For the live goal state read
|
|
10
|
-
[`docs/goals/current.md`](../goals/current.md). Actual
|
|
11
|
-
`npm publish` remains a human release action and must not be run by an agent
|
|
12
|
-
without explicit approval in the current context.
|
|
13
|
-
|
|
14
|
-
Use [`docs/release/public-readiness-standard.md`](public-readiness-standard.md)
|
|
15
|
-
as the public-cleanliness policy. The standard distinguishes real blockers such
|
|
16
|
-
as secrets, PHI, private source, private screenshots, and raw credentials from
|
|
17
|
-
acceptable public metadata such as maintainer-approved public commit email.
|
|
18
|
-
|
|
19
|
-
## Package State
|
|
20
|
-
|
|
21
|
-
- Package name: `humanish`
|
|
22
|
-
- Version: `0.1.3`
|
|
23
|
-
- Binary: `humanish`
|
|
24
|
-
- License: MIT
|
|
25
|
-
- Repository: `https://github.com/danielgwilson/humanish`
|
|
26
|
-
- npm access: public via `publishConfig.access`
|
|
27
|
-
- npm contents: compiled `dist`, public docs directories, including ramp and
|
|
28
|
-
current-goal docs, `skills/`,
|
|
29
|
-
`README.md`, `LICENSE`, `SECURITY.md`, `CONTRIBUTING.md`, and
|
|
30
|
-
`package.json`
|
|
31
|
-
- GitHub Actions publish workflow: `.github/workflows/publish.yml`
|
|
32
|
-
- optional live E2B peer: `@e2b/desktop`
|
|
33
|
-
|
|
34
|
-
`prepack` runs the TypeScript build so a clean checkout can produce a usable
|
|
35
|
-
tarball with `npm pack` or `npm publish`.
|
|
36
|
-
|
|
37
|
-
## Skill State
|
|
38
|
-
|
|
39
|
-
The installable agent skill lives at:
|
|
40
|
-
|
|
41
|
-
```text
|
|
42
|
-
skills/humanish/SKILL.md
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
This matches skills.sh discovery for `skills/<name>/SKILL.md`. The required
|
|
46
|
-
frontmatter fields are present:
|
|
47
|
-
|
|
48
|
-
```yaml
|
|
49
|
-
name: humanish
|
|
50
|
-
description: ...
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Verification command:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
DISABLE_TELEMETRY=1 npx skills add . --list
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Expected install command after the repository is public:
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
npx skills add danielgwilson/humanish --skill humanish
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Public Boundary
|
|
66
|
-
|
|
67
|
-
Release work must not include PII, PHI, secrets, keys, tokens, raw private
|
|
68
|
-
transcripts, private screenshots, raw customer data, raw patient data, private
|
|
69
|
-
source snippets, or generated run bundles.
|
|
70
|
-
|
|
71
|
-
Allowed examples are synthetic or redacted only.
|
|
72
|
-
|
|
73
|
-
## GitHub Visibility Gate
|
|
74
|
-
|
|
75
|
-
The current tree and reachable Git history are the public surface being
|
|
76
|
-
hardened here. The repository must not be made public until these checks pass
|
|
77
|
-
from a fresh clone:
|
|
78
|
-
|
|
79
|
-
- only the intended `main` branch is reachable;
|
|
80
|
-
- no stale release tags point at pre-cleanup source;
|
|
81
|
-
- history scans have no private upstream system names, absolute maintainer paths,
|
|
82
|
-
secret patterns, or generated runtime bundles;
|
|
83
|
-
- reachable commit author and committer emails are GitHub noreply-style
|
|
84
|
-
addresses (including GitHub's documented `ID+USERNAME` and username-only
|
|
85
|
-
forms) or explicitly approved public maintainer emails;
|
|
86
|
-
- GitHub issues, PRs, labels, and project fields have been scanned or rewritten
|
|
87
|
-
for public-safe language.
|
|
88
|
-
|
|
89
|
-
GitHub may still retain unreachable object caches or historical Actions logs
|
|
90
|
-
internally. Treat those as residual platform-cache risk and delete old workflow
|
|
91
|
-
runs before public launch if a stricter surface is required.
|
|
92
|
-
|
|
93
|
-
History-check shape used during this audit:
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
git rev-list --all | xargs -n 32 git grep -n -I -i -e '<private-source-name>' -e '<absolute-local-path-marker>' -e '<workspace-path-marker>'
|
|
97
|
-
git rev-list --all | xargs -n 32 git grep -n -I -E 'sk-[A-Za-z0-9_-]{20,}|gh[pousr]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]{20,}|AKIA[0-9A-Z]{16}|BEGIN [A-Z ]*PRIVATE KEY|AIza[0-9A-Za-z_-]{20,}|xox[baprs]-[A-Za-z0-9-]{20,}'
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Required Gates
|
|
101
|
-
|
|
102
|
-
Run these before any public release candidate:
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
pnpm install --frozen-lockfile
|
|
106
|
-
pnpm check
|
|
107
|
-
pnpm public-surface:scan
|
|
108
|
-
pnpm skill:check
|
|
109
|
-
pnpm pack:dry-run
|
|
110
|
-
git diff --check
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
`pnpm public-surface:scan` scans tracked files plus the npm dry-run payload,
|
|
114
|
-
including built `dist/` output. It fails on common secret tokens, absolute local
|
|
115
|
-
user paths, local workspace paths, unapproved durable commit email metadata,
|
|
116
|
-
known private upstream system names, and binary public assets that are not
|
|
117
|
-
explicitly allowlisted by SHA-256.
|
|
118
|
-
|
|
119
|
-
## Tarball Inspection
|
|
120
|
-
|
|
121
|
-
Use:
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
pnpm pack:dry-run
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
`pnpm pack:dry-run` delegates to `npm pack --dry-run` after `prepack` builds
|
|
128
|
-
`dist`.
|
|
129
|
-
|
|
130
|
-
The tarball must not include `.env*`, `.humanish/`, generated run bundles,
|
|
131
|
-
private screenshots, raw transcripts, `.npmrc`, tests, fixtures, internal
|
|
132
|
-
operations notes, local runtime caches, or private operator packets. Public
|
|
133
|
-
`docs/ramp/`, `docs/goals/`, and repo-local `AGENTS.md` files are allowed when
|
|
134
|
-
they are synthetic, durable, and public-safe. Public image assets must remain on
|
|
135
|
-
the scanner allowlist and keep their approved checksum.
|
|
136
|
-
|
|
137
|
-
## Version Policy
|
|
138
|
-
|
|
139
|
-
humanish remains on `0.x` until the maintainer explicitly decides to release
|
|
140
|
-
`1.0.0`. General authority to merge and publish does not imply that decision.
|
|
141
|
-
Semantic-version components are integers, not decimals: the next minor after
|
|
142
|
-
`0.99.0` is `0.100.0`; a patch is `0.99.1`. Use patch releases for compatible
|
|
143
|
-
fixes and minor releases for features or pre-1.0 breaking changes, documenting
|
|
144
|
-
any breaking changes and migration steps. Do not use `npm version major` or
|
|
145
|
-
infer 1.0 readiness from a large minor number. See [SemVer](https://semver.org/).
|
|
146
|
-
|
|
147
|
-
## Publish Procedure
|
|
148
|
-
|
|
149
|
-
Only after maintainer approval. Prefer the tag-gated GitHub Actions workflow
|
|
150
|
-
over local publication:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
pnpm release:check
|
|
154
|
-
npm version patch --no-git-tag-version
|
|
155
|
-
# Add the version's entry at the top of CHANGELOG.md, then open and merge the release PR.
|
|
156
|
-
git fetch origin main --tags
|
|
157
|
-
git switch main
|
|
158
|
-
git pull --ff-only origin main
|
|
159
|
-
VERSION="$(node -p "require('./package.json').version")"
|
|
160
|
-
git tag "v${VERSION}"
|
|
161
|
-
git push origin "v${VERSION}"
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
The GitHub Release for the tag carries the full notes; its opening paragraph is the
|
|
165
|
-
CHANGELOG.md entry.
|
|
166
|
-
|
|
167
|
-
No agent should run `npm publish` locally without explicit human approval in the
|
|
168
|
-
current thread. That approval must come from the maintainer responsible for the
|
|
169
|
-
release.
|
|
170
|
-
|
|
171
|
-
The release tag must point at a commit already reachable from `origin/main`.
|
|
172
|
-
Tagging a local release commit before the release PR merges can publish a
|
|
173
|
-
correct package from a commit that is not in main history. The publish workflow
|
|
174
|
-
therefore fails closed unless the tag commit is an ancestor of `origin/main` and
|
|
175
|
-
the tag name exactly matches `package.json`'s version.
|
|
176
|
-
|
|
177
|
-
## Trusted Publishing Setup
|
|
178
|
-
|
|
179
|
-
The npm package page exists. For the first tag after a repository rename, the
|
|
180
|
-
order is load-bearing (the OIDC binding is exact owner/repo + workflow path):
|
|
181
|
-
|
|
182
|
-
1. Rename the GitHub repository first.
|
|
183
|
-
2. Configure/point the npm Trusted Publisher at the NEW repository name.
|
|
184
|
-
3. Merge the release commit, then tag.
|
|
185
|
-
|
|
186
|
-
A tag pushed before steps 1-2 fails auth (OIDC repository claim mismatch) or
|
|
187
|
-
provenance validation (package.json repository.url vs actual workflow repo).
|
|
188
|
-
|
|
189
|
-
Trusted Publishing is configured for GitHub Actions. Verify these exact binding
|
|
190
|
-
fields before each tag and re-point them after any repository rename:
|
|
191
|
-
|
|
192
|
-
- provider: GitHub Actions
|
|
193
|
-
- repository owner: `danielgwilson`
|
|
194
|
-
- repository name: `humanish`
|
|
195
|
-
- workflow filename: `publish.yml`
|
|
196
|
-
- environment: blank
|
|
197
|
-
- registry: npm public registry
|
|
198
|
-
|
|
199
|
-
The workflow uses:
|
|
200
|
-
|
|
201
|
-
- `permissions.id-token: write` for OIDC;
|
|
202
|
-
- `permissions.contents: read`;
|
|
203
|
-
- `actions/checkout@v6`;
|
|
204
|
-
- `actions/setup-node@v6` with Node 24 and npm registry URL;
|
|
205
|
-
- `npm publish --access public`;
|
|
206
|
-
- no long-lived npm token secret.
|
|
207
|
-
|
|
208
|
-
Automated release flow:
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
pnpm release:check
|
|
212
|
-
npm version patch --no-git-tag-version
|
|
213
|
-
# Open and merge the release PR, then tag the pulled main commit.
|
|
214
|
-
git fetch origin main --tags
|
|
215
|
-
git switch main
|
|
216
|
-
git pull --ff-only origin main
|
|
217
|
-
VERSION="$(node -p "require('./package.json').version")"
|
|
218
|
-
git tag "v${VERSION}"
|
|
219
|
-
git push origin "v${VERSION}"
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
The publish job is tag-gated and only publishes when running on a `v*` tag.
|