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
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
# Public Readiness Standard
|
|
2
|
-
|
|
3
|
-
Status: researched working standard for public repository and npm release hygiene.
|
|
4
|
-
|
|
5
|
-
This document separates real public-release risk from preference cleanup. The
|
|
6
|
-
goal is to keep `humanish` safe, useful, and professional without deleting the
|
|
7
|
-
durable context future contributors and agents need.
|
|
8
|
-
|
|
9
|
-
## Sources Reviewed
|
|
10
|
-
|
|
11
|
-
- [GitHub Docs: Removing sensitive data from a repository](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)
|
|
12
|
-
- [GitHub Docs: Setting your commit email address](https://docs.github.com/en/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address)
|
|
13
|
-
- [GitHub Docs: Email addresses reference](https://docs.github.com/en/account-and-profile/reference/email-addresses-reference)
|
|
14
|
-
- [GitHub Docs: About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)
|
|
15
|
-
- [GitHub Docs: About push protection](https://docs.github.com/en/code-security/concepts/secret-security/about-push-protection)
|
|
16
|
-
- [npm Docs: package.json files field](https://docs.npmjs.com/cli/v11/configuring-npm/package-json/#files)
|
|
17
|
-
- [npm Docs: npm publish package contents](https://docs.npmjs.com/cli/v9/commands/npm-publish#files-included-in-package)
|
|
18
|
-
- [npm Docs: Trusted publishing for npm packages](https://docs.npmjs.com/trusted-publishers/)
|
|
19
|
-
- [OpenSSF Scorecard](https://scorecard.dev/)
|
|
20
|
-
- [OpenSSF Source Code Management Platform Configuration Best Practices](https://best.openssf.org/SCM-BestPractices/)
|
|
21
|
-
- [OWASP Secrets Management Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html)
|
|
22
|
-
|
|
23
|
-
## Decision Model
|
|
24
|
-
|
|
25
|
-
Use four categories.
|
|
26
|
-
|
|
27
|
-
### 1. Public Blockers
|
|
28
|
-
|
|
29
|
-
These must be removed from the current tree, package payload, generated docs,
|
|
30
|
-
screenshots, logs, and reachable history before the repo is public.
|
|
31
|
-
|
|
32
|
-
- Secrets: API keys, provider tokens, npm/GitHub tokens, private keys, cookies,
|
|
33
|
-
session URLs, database URLs with credentials, `.env` values, auth-bearing
|
|
34
|
-
request headers, and raw credential material.
|
|
35
|
-
- PHI, patient data, customer data, private user identifiers, private emails,
|
|
36
|
-
phone numbers, addresses, account IDs, billing IDs, raw transcripts, and raw
|
|
37
|
-
screenshots from private systems.
|
|
38
|
-
- Private source snippets, internal-only product names, private roadmaps,
|
|
39
|
-
incident details, or operational data that would expose a non-public system or
|
|
40
|
-
customer relationship.
|
|
41
|
-
- Built package output, source maps, docs, fixtures, or image assets that contain
|
|
42
|
-
any of the above.
|
|
43
|
-
|
|
44
|
-
If a real secret was exposed, revoke or rotate it first. GitHub explicitly warns
|
|
45
|
-
that history rewriting has side effects and may not be warranted once the secret
|
|
46
|
-
is revoked. Rewrite history only when sensitive data remains materially risky
|
|
47
|
-
after revocation, or when privacy, legal, contractual, or proprietary-source
|
|
48
|
-
obligations require removal.
|
|
49
|
-
|
|
50
|
-
### 2. Release-Gate Hygiene
|
|
51
|
-
|
|
52
|
-
These should fail CI or release checks until fixed, but they are not all reasons
|
|
53
|
-
to rewrite history.
|
|
54
|
-
|
|
55
|
-
- Package payload is not inspected with `npm pack --dry-run`.
|
|
56
|
-
- Scanner only checks tracked source and misses built `dist`, source maps, docs
|
|
57
|
-
packaged by `files`, or generated assets.
|
|
58
|
-
- Binary public assets are not approved by path and checksum.
|
|
59
|
-
- Docs link to files that are not shipped or not reachable from the public repo.
|
|
60
|
-
- Runtime artifacts are included: `.humanish/`, run bundles, transcripts,
|
|
61
|
-
disposable clones, `.firecrawl/`, `.e2b/`, logs, tarballs, caches.
|
|
62
|
-
- GitHub Actions use broad default permissions where read-only is enough.
|
|
63
|
-
- Publish workflow uses long-lived npm tokens when OIDC trusted publishing is
|
|
64
|
-
available.
|
|
65
|
-
- Secret scanning, push protection, or equivalent local scanners are absent from
|
|
66
|
-
the operating checklist.
|
|
67
|
-
|
|
68
|
-
### 3. Acceptable Public Metadata
|
|
69
|
-
|
|
70
|
-
These are acceptable when intentional and public-safe. They should not trigger
|
|
71
|
-
panic cleanup or history rewrite by default.
|
|
72
|
-
|
|
73
|
-
- Maintainer name, GitHub username, public repo owner, public issue links, and
|
|
74
|
-
public repository URLs.
|
|
75
|
-
- A maintainer-approved public commit email. GitHub allows either a noreply
|
|
76
|
-
address or any configured email for commits. Noreply is a privacy preference,
|
|
77
|
-
not a universal public-release requirement.
|
|
78
|
-
- Env var names without values, such as `OPENAI_API_KEY` or `E2B_API_KEY`.
|
|
79
|
-
- Synthetic personas, synthetic screenshots, synthetic app data, and redacted
|
|
80
|
-
proof examples.
|
|
81
|
-
- Public-safe ramp, goal, architecture, and roadmap docs that help future
|
|
82
|
-
contributors continue the project.
|
|
83
|
-
|
|
84
|
-
### 4. Professionalism Cleanup
|
|
85
|
-
|
|
86
|
-
These do not usually justify history rewrite, but they matter for an open-source
|
|
87
|
-
repo people will judge quickly.
|
|
88
|
-
|
|
89
|
-
- Chat residue, private-process phrasing, or emotional notes that do not help a
|
|
90
|
-
public maintainer.
|
|
91
|
-
- Overly specific local machine paths or private workspace names, even when not
|
|
92
|
-
security-sensitive.
|
|
93
|
-
- Broken links, stale commands, claims of product proof where only contract proof
|
|
94
|
-
exists, and docs that depend on private chat memory.
|
|
95
|
-
- Screenshots that are technically synthetic but look sloppy, confusing, or
|
|
96
|
-
embarrassing.
|
|
97
|
-
|
|
98
|
-
Professionalism cleanup should preserve useful context. Deleting all ramp or
|
|
99
|
-
goal docs is worse than rewriting them into a public-safe form.
|
|
100
|
-
|
|
101
|
-
## Commit Email Policy
|
|
102
|
-
|
|
103
|
-
Noreply commit emails are preferred for privacy and consistency.
|
|
104
|
-
|
|
105
|
-
Allowed commit metadata:
|
|
106
|
-
|
|
107
|
-
- GitHub's two documented personal-account noreply forms:
|
|
108
|
-
`ID+USERNAME@users.noreply.github.com` and
|
|
109
|
-
`USERNAME@users.noreply.github.com`. The username-only form remains valid for
|
|
110
|
-
accounts using GitHub's pre-July 18, 2017 privacy form.
|
|
111
|
-
- `github-actions[bot]@users.noreply.github.com` for GitHub Actions commits.
|
|
112
|
-
- `noreply@github.com` for GitHub-generated commits.
|
|
113
|
-
- Explicitly approved public maintainer emails.
|
|
114
|
-
|
|
115
|
-
Blocked commit metadata:
|
|
116
|
-
|
|
117
|
-
- Unknown personal emails.
|
|
118
|
-
- Contractor, employee, patient, customer, vendor, or private-domain emails that
|
|
119
|
-
are not intentionally public for this project.
|
|
120
|
-
- Any email that appears in logs, transcripts, screenshots, or docs as private
|
|
121
|
-
user/customer data rather than maintainer metadata.
|
|
122
|
-
|
|
123
|
-
Do not force-rewrite `main` solely because a known maintainer-approved public
|
|
124
|
-
email appears in a commit. Document the approval and update the scanner
|
|
125
|
-
allowlist instead.
|
|
126
|
-
|
|
127
|
-
## NPM Package Surface
|
|
128
|
-
|
|
129
|
-
The npm package is its own public surface. The release gate must inspect:
|
|
130
|
-
|
|
131
|
-
- `npm pack --dry-run --json` output;
|
|
132
|
-
- compiled `dist`;
|
|
133
|
-
- source maps;
|
|
134
|
-
- all files matched by `package.json.files`;
|
|
135
|
-
- always-included files such as `package.json`, `README.md`, and `LICENSE`;
|
|
136
|
-
- docs, skills, screenshots, and other assets shipped for npm-page display.
|
|
137
|
-
|
|
138
|
-
The package should use the `files` field as an allowlist, but that is not enough.
|
|
139
|
-
The scanner must union tracked source files with the actual npm dry-run payload.
|
|
140
|
-
|
|
141
|
-
Public binary assets are allowed only when:
|
|
142
|
-
|
|
143
|
-
- the asset is intentionally public;
|
|
144
|
-
- the asset is synthetic or redacted;
|
|
145
|
-
- the path is allowlisted;
|
|
146
|
-
- the SHA-256 checksum is pinned in the scanner.
|
|
147
|
-
|
|
148
|
-
## GitHub And Supply Chain Posture
|
|
149
|
-
|
|
150
|
-
Minimum public-repo posture:
|
|
151
|
-
|
|
152
|
-
- branch protection or rulesets for `main`;
|
|
153
|
-
- required CI before merge;
|
|
154
|
-
- workflow permissions narrowed to read-only unless a job needs more;
|
|
155
|
-
- no long-lived npm token in Actions for publish;
|
|
156
|
-
- npm trusted publishing via OIDC where possible;
|
|
157
|
-
- secret scanning and push protection enabled where available;
|
|
158
|
-
- `SECURITY.md`, `CONTRIBUTING.md`, `LICENSE`, and clear issue flow;
|
|
159
|
-
- periodic OpenSSF Scorecard or equivalent review.
|
|
160
|
-
|
|
161
|
-
Nice-to-have after public launch:
|
|
162
|
-
|
|
163
|
-
- dependency update automation;
|
|
164
|
-
- CodeQL or comparable SAST;
|
|
165
|
-
- release provenance and staged publishing where practical;
|
|
166
|
-
- signed releases when the release process matures.
|
|
167
|
-
|
|
168
|
-
## humanish Application
|
|
169
|
-
|
|
170
|
-
For `humanish`, the honest standard is:
|
|
171
|
-
|
|
172
|
-
- Keep `docs/ramp/` and `docs/goals/` if they are public-safe. They are essential
|
|
173
|
-
project memory for future coding agents and contributors.
|
|
174
|
-
- Keep the package docs and skill docs focused on public install, public-safe
|
|
175
|
-
examples, and synthetic proof.
|
|
176
|
-
- Do not commit `.humanish/`, `.firecrawl/`, screenshots from private systems,
|
|
177
|
-
raw run bundles, private transcripts, local env files, or packed tarballs.
|
|
178
|
-
- Treat `dist` and source maps as public and scan them.
|
|
179
|
-
- Treat the README screenshot as public and checksum-gated.
|
|
180
|
-
- Allow a maintainer-approved public email in commit metadata; do not classify it
|
|
181
|
-
as a secret.
|
|
182
|
-
- Rewrite history only for actual sensitive data, private source, or private
|
|
183
|
-
identity/customer data that remains materially risky.
|
|
184
|
-
|
|
185
|
-
## Practical Checklist
|
|
186
|
-
|
|
187
|
-
Before making the repository public or cutting a public package:
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
pnpm install --frozen-lockfile
|
|
191
|
-
pnpm release:check
|
|
192
|
-
git diff --check
|
|
193
|
-
npm pack --dry-run --json
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Also verify in GitHub:
|
|
197
|
-
|
|
198
|
-
- `main` branch protection/ruleset is active;
|
|
199
|
-
- secret scanning and push protection are enabled where available;
|
|
200
|
-
- publish workflow uses OIDC trusted publishing;
|
|
201
|
-
- failed workflow logs do not contain real secrets or private data;
|
|
202
|
-
- visible issues, PRs, labels, and project metadata do not expose private context.
|
|
203
|
-
|
|
204
|
-
If a check fails, classify it before reacting:
|
|
205
|
-
|
|
206
|
-
1. Secret/PHI/private source? Rotate/revoke first, then consider history rewrite.
|
|
207
|
-
2. Package leak or private artifact? Remove from package/tree and rerun gates.
|
|
208
|
-
3. Unknown private identity metadata? Approve, redact, or rewrite based on risk.
|
|
209
|
-
4. Public maintainer metadata? Usually allowlist and document.
|
|
210
|
-
5. Sloppy public docs? Rewrite, do not delete useful project memory.
|
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
# World-Class Open-Source V0 Roadmap
|
|
2
|
-
|
|
3
|
-
Date: 2026-06-01
|
|
4
|
-
|
|
5
|
-
Status: HISTORICAL (banner added 2026-06-11). This was the staged v0 build
|
|
6
|
-
plan; it is kept as delivery history and is not maintained. Several "Non-Goals
|
|
7
|
-
For V0" have since shipped as explicit opt-ins (the OpenAI computer-use actor,
|
|
8
|
-
live E2B desktop labs), and the lab schema is now `humanish.lab.v2`. For the
|
|
9
|
-
live goal state read [`docs/goals/current.md`](../goals/current.md).
|
|
10
|
-
|
|
11
|
-
## Target Outcome
|
|
12
|
-
|
|
13
|
-
A maintainer can install `humanish` into a normal JavaScript app, let their
|
|
14
|
-
coding agent run setup, and get a public-safe persona simulation harness with:
|
|
15
|
-
|
|
16
|
-
- committed `humanish/` source plane;
|
|
17
|
-
- ignored `.humanish/` runtime plane;
|
|
18
|
-
- `commander` CLI;
|
|
19
|
-
- safe `init`;
|
|
20
|
-
- synthetic dry-run bundle;
|
|
21
|
-
- verifier;
|
|
22
|
-
- observer;
|
|
23
|
-
- public-safe feedback issue draft;
|
|
24
|
-
- clear docs and agent skill.
|
|
25
|
-
|
|
26
|
-
## Stage 0: Repo Plan And Issue Queue
|
|
27
|
-
|
|
28
|
-
Status: complete enough to start implementation.
|
|
29
|
-
|
|
30
|
-
Proof:
|
|
31
|
-
|
|
32
|
-
- GitHub project `humanish`;
|
|
33
|
-
- seeded issues;
|
|
34
|
-
- future-public boundary docs;
|
|
35
|
-
- feedback issue-draft doctrine.
|
|
36
|
-
- layout/install/goal docs;
|
|
37
|
-
- implementation tickets for the install path.
|
|
38
|
-
|
|
39
|
-
Primary issue queue:
|
|
40
|
-
|
|
41
|
-
- [#13 package: scaffold npm package and Commander humanish binary](https://github.com/danielgwilson/humanish/issues/13)
|
|
42
|
-
- [#14 init: scaffold committed humanish source and ignored .humanish runtime layout](https://github.com/danielgwilson/humanish/issues/14)
|
|
43
|
-
- [#16 fixtures: create target app fixture for init, dry-run, verify, and observer proof](https://github.com/danielgwilson/humanish/issues/16)
|
|
44
|
-
- [#7 cli: scaffold doctor, run --dry-run, review, verify, runs, and watch](https://github.com/danielgwilson/humanish/issues/7)
|
|
45
|
-
- [#6 core: run IDs, artifact paths, git state, history, and lifecycle primitives](https://github.com/danielgwilson/humanish/issues/6)
|
|
46
|
-
- [#10 observer: static mission-control viewer over fixture bundle](https://github.com/danielgwilson/humanish/issues/10)
|
|
47
|
-
- [#5 feedback: specify public issue-draft CLI command](https://github.com/danielgwilson/humanish/issues/5)
|
|
48
|
-
- [#15 skill: package agent setup guidance for installing Humanish](https://github.com/danielgwilson/humanish/issues/15)
|
|
49
|
-
- [#17 release: open-source readiness, package metadata, license, and publish dry-run](https://github.com/danielgwilson/humanish/issues/17)
|
|
50
|
-
|
|
51
|
-
## Stage 1: Package Scaffold
|
|
52
|
-
|
|
53
|
-
Build the minimum npm package:
|
|
54
|
-
|
|
55
|
-
- `package.json`;
|
|
56
|
-
- TypeScript config;
|
|
57
|
-
- `src/cli.ts`;
|
|
58
|
-
- `commander`;
|
|
59
|
-
- test runner;
|
|
60
|
-
- lint/typecheck/check scripts;
|
|
61
|
-
- binary name `humanish`;
|
|
62
|
-
- stable JSON command envelope.
|
|
63
|
-
|
|
64
|
-
Proof:
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
pnpm install
|
|
68
|
-
pnpm check
|
|
69
|
-
pnpm humanish -- --help
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Stage 2: Project Layout And Init
|
|
73
|
-
|
|
74
|
-
Implement `humanish init`:
|
|
75
|
-
|
|
76
|
-
- creates committed `humanish/`;
|
|
77
|
-
- creates ignored `.humanish/`;
|
|
78
|
-
- writes starter synthetic personas/scenarios/policies;
|
|
79
|
-
- patches `package.json` scripts;
|
|
80
|
-
- updates `.gitignore`;
|
|
81
|
-
- supports `--dry-run`, `--yes`, and `--json`.
|
|
82
|
-
|
|
83
|
-
Proof:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
pnpm test
|
|
87
|
-
pnpm humanish -- init --dry-run --json
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Fixture proof should run against a temporary app fixture, not this repo only.
|
|
91
|
-
|
|
92
|
-
## Stage 3: Run Bundle And Verify
|
|
93
|
-
|
|
94
|
-
Implement a synthetic dry-run bundle:
|
|
95
|
-
|
|
96
|
-
- run id;
|
|
97
|
-
- manifest;
|
|
98
|
-
- scenario/persona selection;
|
|
99
|
-
- lifecycle events;
|
|
100
|
-
- review skeleton;
|
|
101
|
-
- redaction result;
|
|
102
|
-
- artifact paths;
|
|
103
|
-
- source/git state.
|
|
104
|
-
|
|
105
|
-
Implement `humanish verify` over that bundle.
|
|
106
|
-
|
|
107
|
-
Proof:
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
pnpm humanish -- run --dry-run --json
|
|
111
|
-
pnpm humanish -- verify --run latest --json
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Stage 4: Observer
|
|
115
|
-
|
|
116
|
-
Status: upgraded from static report to mission-control substrate for synthetic
|
|
117
|
-
stream contracts.
|
|
118
|
-
|
|
119
|
-
Implemented:
|
|
120
|
-
|
|
121
|
-
- normalized `observer/observer-data.json` view model;
|
|
122
|
-
- `events.ndjson` event stream contract;
|
|
123
|
-
- stream-shaped sim lanes for UI, CLI, TUI, and Codex UI;
|
|
124
|
-
- localhost watch server with no-store polling;
|
|
125
|
-
- mission-control grid and focus mode;
|
|
126
|
-
- terminal/TUI transcript stage;
|
|
127
|
-
- evidence rail for events, artifacts, and gaps;
|
|
128
|
-
- public-safe Codex UI stream contract with no raw provider payloads.
|
|
129
|
-
|
|
130
|
-
Still next:
|
|
131
|
-
|
|
132
|
-
- real browser actor adapter;
|
|
133
|
-
- real PTY capture;
|
|
134
|
-
- native Codex app-server adapter;
|
|
135
|
-
- screenshot/trace gallery from real products;
|
|
136
|
-
- reviewer acceptance gates over live product behavior.
|
|
137
|
-
|
|
138
|
-
Proof:
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
pnpm humanish -- watch
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
If browser verification is added, use screenshots of the observer as proof.
|
|
145
|
-
|
|
146
|
-
## Stage 5: Feedback Issue Draft
|
|
147
|
-
|
|
148
|
-
Status: implemented for the synthetic dry-run bundle path.
|
|
149
|
-
|
|
150
|
-
Implement:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
humanish feedback draft --run latest --json
|
|
154
|
-
humanish feedback issue --run latest --repo owner/repo --format markdown
|
|
155
|
-
humanish feedback issue-url --run latest --repo owner/repo
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Rules:
|
|
159
|
-
|
|
160
|
-
- no GitHub API mutation;
|
|
161
|
-
- no tokens;
|
|
162
|
-
- no Projects;
|
|
163
|
-
- redaction must pass;
|
|
164
|
-
- dry-run-only claims are labeled as contract proof, not product proof;
|
|
165
|
-
- issue body includes `humanish_feedback` block.
|
|
166
|
-
|
|
167
|
-
Proof:
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
pnpm humanish -- feedback issue --run latest --repo example/app --format markdown
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Stage 6: Agent Skill
|
|
174
|
-
|
|
175
|
-
Status: implemented as an installer-visible skills.sh skill under
|
|
176
|
-
`skills/humanish/SKILL.md`.
|
|
177
|
-
|
|
178
|
-
Create a shareable skill package that teaches agents to install and configure
|
|
179
|
-
Humanish in target repos.
|
|
180
|
-
|
|
181
|
-
It should cover:
|
|
182
|
-
|
|
183
|
-
- `npm i -D humanish`;
|
|
184
|
-
- `npx humanish init`;
|
|
185
|
-
- committed vs ignored layout;
|
|
186
|
-
- public-safety rules;
|
|
187
|
-
- creating personas;
|
|
188
|
-
- creating scenarios;
|
|
189
|
-
- adding E2B/OpenAI env var names without values;
|
|
190
|
-
- running doctor/run/watch/verify/feedback issue;
|
|
191
|
-
- troubleshooting.
|
|
192
|
-
|
|
193
|
-
Proof:
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
DISABLE_TELEMETRY=1 npx skills add . --list
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Future proof: fresh-agent fixture follows the skill and reaches dry-run +
|
|
200
|
-
issue draft.
|
|
201
|
-
|
|
202
|
-
## Stage 6.5: Release Readiness
|
|
203
|
-
|
|
204
|
-
Status: public package candidate, blocked only on explicit publish approval.
|
|
205
|
-
|
|
206
|
-
Readiness lives in
|
|
207
|
-
[`docs/release/open-source-readiness.md`](../release/open-source-readiness.md).
|
|
208
|
-
The package has MIT metadata and public npm package shape. `npm publish`
|
|
209
|
-
remains a human release action.
|
|
210
|
-
|
|
211
|
-
## Stage 6.75: Self-Dogfood Config
|
|
212
|
-
|
|
213
|
-
Status: implemented for dry-run contract proof.
|
|
214
|
-
|
|
215
|
-
The repository now includes committed `humanish/` source files so Humanish can run
|
|
216
|
-
against `humanish` itself. This makes `doctor` green on the repo, lets
|
|
217
|
-
dry-run bundles read and digest `humanish/personas/synthetic-new-user.yaml` and
|
|
218
|
-
`humanish/scenarios/first-run-smoke.yaml`, and keeps the live Codex TUI actor gap
|
|
219
|
-
explicit. The live Codex TUI dogfood path and noninteractive `codex-exec`
|
|
220
|
-
fanout hardening are tracked in
|
|
221
|
-
[#28](https://github.com/danielgwilson/humanish/issues/28).
|
|
222
|
-
|
|
223
|
-
## Stage 6.8: One-Command Watch UX
|
|
224
|
-
|
|
225
|
-
Status: implemented for synthetic contract-proof stream lanes.
|
|
226
|
-
|
|
227
|
-
`humanish watch` now creates a fresh four-lane synthetic run, renders Observer,
|
|
228
|
-
starts a localhost watch server, opens the served Observer in the browser, and
|
|
229
|
-
keeps the shell attached. The CI-safe form is `humanish watch --json --no-open`.
|
|
230
|
-
`--sims <n>` remains the explicit scale control, and `--run <id>` watches
|
|
231
|
-
existing evidence.
|
|
232
|
-
|
|
233
|
-
## Stage 6.8: Lab Manifests
|
|
234
|
-
|
|
235
|
-
Status: implemented as the generic source shape for reusable runs.
|
|
236
|
-
|
|
237
|
-
Humanish now resolves `.yaml` lab manifests from committed `humanish/labs/`,
|
|
238
|
-
ignored `.humanish/labs/`, ignored `.humanish/local/labs/`, or an explicit
|
|
239
|
-
`.yaml` path. The human path is `humanish watch <lab>`; the agent/CI path is
|
|
240
|
-
`humanish lab run <lab> --json --no-open`; discovery is `humanish lab list` and
|
|
241
|
-
`humanish lab inspect <lab>`.
|
|
242
|
-
|
|
243
|
-
Private or maintainer-only dogfood belongs in ignored lab manifests plus
|
|
244
|
-
explicit `--env-file`; the public package should not hardcode private target
|
|
245
|
-
names or require broad inherited job env.
|
|
246
|
-
|
|
247
|
-
## Stage 6.9: Maintainer OSS Meta-Lab
|
|
248
|
-
|
|
249
|
-
Status: implemented as repo-owned `humanish/labs/oss.yaml` plus compatibility
|
|
250
|
-
aliases, with a retained disposable smoke harness.
|
|
251
|
-
|
|
252
|
-
`humanish watch oss` opens the top-level Observer for authorized-repo meta-sims.
|
|
253
|
-
Each lane is assigned a GitHub `owner/repo` slug from `--repos` or repeated
|
|
254
|
-
`--repo` values and carries a headed E2B desktop for setting up Humanish inside
|
|
255
|
-
that repo, starting the target app where feasible, and keeping the nested
|
|
256
|
-
Observer visible.
|
|
257
|
-
Default public targets should be apps, CLIs, or agent-facing tools with
|
|
258
|
-
observable user surfaces. Frameworks, starters, and utility libraries are
|
|
259
|
-
acceptable only when the explicit scenario is developer-experience testing.
|
|
260
|
-
When live keys are present, Humanish launches E2B desktops, uploads the locally
|
|
261
|
-
packed Humanish package, starts visible bootstrap terminals, clones each assigned
|
|
262
|
-
repo inside the desktop, runs nested Humanish setup/proof commands, opens
|
|
263
|
-
desktop/mobile app windows plus the nested Observer in the sandbox browser, and
|
|
264
|
-
starts a nonblocking Codex actor attempt. Attached watch mode overlays live E2B
|
|
265
|
-
stream URLs only in memory; durable run artifacts keep screenshots/status, not
|
|
266
|
-
auth-bearing URLs. Private repos are maintainer-only, require an authorized
|
|
267
|
-
runtime GitHub token, and redact repo labels in durable artifacts by default.
|
|
268
|
-
|
|
269
|
-
`humanish lab run oss-smoke` keeps the earlier clone/discard proof loop: shallow
|
|
270
|
-
clone lightweight public GitHub repositories into ignored `.humanish/tmp`, apply
|
|
271
|
-
Humanish setup in disposable clones, run the four-lane synthetic Observer proof,
|
|
272
|
-
verify it, record git-status evidence, write an ignored
|
|
273
|
-
`.humanish/lab/oss/<run-id>/` report, and remove clones by default.
|
|
274
|
-
|
|
275
|
-
Proof:
|
|
276
|
-
|
|
277
|
-
```bash
|
|
278
|
-
pnpm humanish -- watch oss --detach --open --repos CorentinTh/it-tools,drawdb-io/drawdb
|
|
279
|
-
pnpm humanish -- lab run oss --dry-run --json --no-open --repos CorentinTh/it-tools,drawdb-io/drawdb
|
|
280
|
-
pnpm humanish -- lab run oss-smoke --limit 1 --json
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
Next substrate work: upgrade nested app-url render proof into provider-backed
|
|
284
|
-
browser personas that drive the target app and add richer process/filesystem
|
|
285
|
-
telemetry for Codex actor health.
|
|
286
|
-
|
|
287
|
-
## Stage 7: Local Browser And First Real Adapter
|
|
288
|
-
|
|
289
|
-
Only after the package and dry-run path are stable:
|
|
290
|
-
|
|
291
|
-
- local app target detection;
|
|
292
|
-
- Playwright/browser substrate;
|
|
293
|
-
- first scripted browser scenario;
|
|
294
|
-
- browser-app adapter fixture.
|
|
295
|
-
|
|
296
|
-
Proof:
|
|
297
|
-
|
|
298
|
-
- real browser screenshots in `.humanish/runs`;
|
|
299
|
-
- observer renders screenshots;
|
|
300
|
-
- `verify` validates bundle.
|
|
301
|
-
|
|
302
|
-
## Non-Goals For V0
|
|
303
|
-
|
|
304
|
-
- live E2B as required first-run behavior;
|
|
305
|
-
- OpenAI computer-use actor;
|
|
306
|
-
- live GitHub mutation;
|
|
307
|
-
- hosted queues/databases/webhooks;
|
|
308
|
-
- provider spend as required first-run behavior;
|
|
309
|
-
- production deploys;
|
|
310
|
-
- real user/persona data;
|
|
311
|
-
- private upstream artifacts.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|