humanish 0.58.0 → 0.59.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.
@@ -0,0 +1,39 @@
1
+ export interface FirstRunEnvironment {
2
+ /** A sandbox to run the study in. Nothing live happens without it. */
3
+ hasE2bKey: boolean;
4
+ /** A provider API key for the model. */
5
+ hasProviderKey: boolean;
6
+ /** A coding agent already signed in locally — Codex or Claude Code. */
7
+ localAgents: readonly string[];
8
+ }
9
+ export type FirstRunActor = "openai-computer-use" | "local-agent";
10
+ /**
11
+ * Which brain the starter live lab should be written for. A machine with a signed-in coding agent
12
+ * and no provider key can still do a real live run; writing the lab for the credential the
13
+ * operator DOESN'T have is how a starter file becomes homework.
14
+ */
15
+ export declare function starterActorFor(env: FirstRunEnvironment): FirstRunActor;
16
+ export interface FirstRunStep {
17
+ /** The exact command to run. */
18
+ command: string;
19
+ /** Why this one, in the register the rest of the CLI uses. */
20
+ why: string;
21
+ }
22
+ /**
23
+ * The next one or two commands, in order. Deliberately SHORT: a list of twelve options is the same
24
+ * as no guidance, and the reader here has just been handed twenty files.
25
+ */
26
+ export declare function firstRunSteps(env: FirstRunEnvironment): FirstRunStep[];
27
+ /** The block init prints after its changes. */
28
+ export declare function firstRunGuidance(env: FirstRunEnvironment): string[];
29
+ /** Lets init recognise its own section without rewriting a file someone else wrote. */
30
+ export declare const AGENTS_SECTION_MARKER = "<!-- humanish:agents-guide -->";
31
+ /**
32
+ * What the NEXT coding agent needs to know about humanish in this project.
33
+ *
34
+ * AGENTS.md is the cross-vendor convention (agents.md) that Codex, Claude Code, Cursor and others
35
+ * read on arrival. Increasingly the thing that ran `humanish init` was itself an agent working for
36
+ * someone, and the agent that shows up tomorrow finds a `humanish/` directory with no idea what it
37
+ * is for. Deliberately SHORT and command-first: an agent acts on commands, not on prose.
38
+ */
39
+ export declare function agentsSection(): string;
@@ -0,0 +1,104 @@
1
+ // What a person — or the coding agent setting humanish up for them — should do NEXT.
2
+ //
3
+ // WHY: `humanish init` wrote twenty files and stopped. The only lab that could actually run was a
4
+ // $0 dry run; the two live ones were templates with `your-org/your-app` in them, so the first live
5
+ // run a newcomer tried could not succeed no matter what credentials they had. Three independent
6
+ // sources reached the same place — a participant in our own TUI study walked to the Start row and
7
+ // found a placeholder URL, an adoption review concluded "the funnel is broken at the first live
8
+ // run", and the release-gate participant said, unprompted, "validate one paid live study before
9
+ // committing" (#505).
10
+ //
11
+ // The fix is not more surface. Increasingly the thing running `init` is a coding agent acting for
12
+ // someone, and an agent reads stdout and does what it says. So init ends by naming the next
13
+ // command — and names the one that will actually work ON THIS MACHINE, because a next step that
14
+ // fails is worse than none.
15
+ /**
16
+ * Which brain the starter live lab should be written for. A machine with a signed-in coding agent
17
+ * and no provider key can still do a real live run; writing the lab for the credential the
18
+ * operator DOESN'T have is how a starter file becomes homework.
19
+ */
20
+ export function starterActorFor(env) {
21
+ if (!env.hasProviderKey && env.localAgents.length > 0)
22
+ return "local-agent";
23
+ return "openai-computer-use";
24
+ }
25
+ /**
26
+ * The next one or two commands, in order. Deliberately SHORT: a list of twelve options is the same
27
+ * as no guidance, and the reader here has just been handed twenty files.
28
+ */
29
+ export function firstRunSteps(env) {
30
+ const steps = [
31
+ {
32
+ command: "humanish run first-run",
33
+ why: "a synthetic study with no keys and no spend — see the shape of the evidence in about a minute"
34
+ }
35
+ ];
36
+ if (!env.hasE2bKey) {
37
+ steps.push({
38
+ command: "humanish keys set e2b",
39
+ why: "a live study needs a sandbox to run in; this is the only credential it always needs"
40
+ });
41
+ return steps;
42
+ }
43
+ if (env.hasProviderKey || env.localAgents.length > 0) {
44
+ const brain = env.hasProviderKey
45
+ ? "your provider key"
46
+ : `${env.localAgents[0]} (already signed in — no API key needed)`;
47
+ steps.push({
48
+ command: "humanish run try-live",
49
+ why: `a REAL study: one participant drives a real app in a hosted desktop, using ${brain}`
50
+ });
51
+ return steps;
52
+ }
53
+ steps.push({
54
+ command: "humanish keys set openai",
55
+ why: "a live study needs a model to think with — or sign in to Codex or Claude Code and humanish will use that instead"
56
+ });
57
+ return steps;
58
+ }
59
+ /** The block init prints after its changes. */
60
+ export function firstRunGuidance(env) {
61
+ const steps = firstRunSteps(env);
62
+ return [
63
+ "",
64
+ "next:",
65
+ ...steps.flatMap((step) => [` ${step.command}`, ` ${step.why}`])
66
+ ];
67
+ }
68
+ /** Lets init recognise its own section without rewriting a file someone else wrote. */
69
+ export const AGENTS_SECTION_MARKER = "<!-- humanish:agents-guide -->";
70
+ /**
71
+ * What the NEXT coding agent needs to know about humanish in this project.
72
+ *
73
+ * AGENTS.md is the cross-vendor convention (agents.md) that Codex, Claude Code, Cursor and others
74
+ * read on arrival. Increasingly the thing that ran `humanish init` was itself an agent working for
75
+ * someone, and the agent that shows up tomorrow finds a `humanish/` directory with no idea what it
76
+ * is for. Deliberately SHORT and command-first: an agent acts on commands, not on prose.
77
+ */
78
+ export function agentsSection() {
79
+ return [
80
+ "",
81
+ `## humanish ${AGENTS_SECTION_MARKER}`,
82
+ "",
83
+ "This project uses humanish: synthetic participants use the product and leave evidence.",
84
+ "",
85
+ "```bash",
86
+ "humanish doctor # what is configured, and what a live run still needs",
87
+ "humanish lab list --json # the studies in this project",
88
+ "humanish run first-run # a synthetic study: no keys, no spend",
89
+ "humanish run try-live # a REAL study against a demo app (needs E2B_API_KEY)",
90
+ "humanish verify --run latest --json # is the evidence share-safe",
91
+ "```",
92
+ "",
93
+ "- Studies are declared in `humanish/labs/*.yaml`. Edit `try-live.yaml`'s `subject` to point at",
94
+ " this project's own app once you have seen a run work.",
95
+ "- Evidence lands in gitignored `.humanish/runs/`. Never commit it, and never paste raw run",
96
+ " bundles into an issue — `humanish feedback issue` produces a redacted, share-safe draft.",
97
+ "- `humanish tui` is a HUMAN surface and refuses to run in an agent session. Use the `--json`",
98
+ " commands above instead, and tell the person you are working for that `humanish tui` exists.",
99
+ "- A live run spends money. `execution.caps.maxUsd` in each lab is a fail-closed ceiling; do not",
100
+ " raise it without asking the person you are working for.",
101
+ ""
102
+ ].join("\n");
103
+ }
104
+ //# sourceMappingURL=first-run-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-run-path.js","sourceRoot":"","sources":["../src/first-run-path.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,EAAE;AACF,kGAAkG;AAClG,mGAAmG;AACnG,gGAAgG;AAChG,kGAAkG;AAClG,gGAAgG;AAChG,gGAAgG;AAChG,sBAAsB;AACtB,EAAE;AACF,kGAAkG;AAClG,4FAA4F;AAC5F,gGAAgG;AAChG,4BAA4B;AAa5B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAwB;IACtD,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC;IAC5E,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAwB;IACpD,MAAM,KAAK,GAAmB;QAC5B;YACE,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,+FAA+F;SACrG;KACF,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,uBAAuB;YAChC,GAAG,EAAE,qFAAqF;SAC3F,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc;YAC9B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,0CAA0C,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,uBAAuB;YAChC,GAAG,EAAE,8EAA8E,KAAK,EAAE;SAC3F,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACT,OAAO,EAAE,0BAA0B;QACnC,GAAG,EAAE,kHAAkH;KACxH,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,gBAAgB,CAAC,GAAwB;IACvD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO;QACL,EAAE;QACF,OAAO;QACP,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,gCAAgC,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,EAAE;QACF,eAAe,qBAAqB,EAAE;QACtC,EAAE;QACF,wFAAwF;QACxF,EAAE;QACF,SAAS;QACT,kFAAkF;QAClF,0DAA0D;QAC1D,mEAAmE;QACnE,kFAAkF;QAClF,oEAAoE;QACpE,KAAK;QACL,EAAE;QACF,gGAAgG;QAChG,yDAAyD;QACzD,4FAA4F;QAC5F,4FAA4F;QAC5F,8FAA8F;QAC9F,+FAA+F;QAC/F,iGAAiG;QACjG,2DAA2D;QAC3D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -10,3 +10,11 @@ export interface RuntimeDirectory {
10
10
  export declare const starterFiles: StarterFile[];
11
11
  export declare const runtimeDirectories: RuntimeDirectory[];
12
12
  export declare const humanishScripts: Record<string, string>;
13
+ /**
14
+ * The starter files, with the live lab written for the brain this machine can use.
15
+ *
16
+ * `local-agent` is not a variant of the lab so much as a different participant: on a machine with
17
+ * a signed-in Codex and no provider key, the study runs with the operator's own agent and needs
18
+ * only E2B. Writing the other one there would hand someone homework instead of a first run.
19
+ */
20
+ export declare function starterFilesFor(actor: "openai-computer-use" | "local-agent"): StarterFile[];
@@ -132,6 +132,54 @@ scenario:
132
132
  mode: dry-run
133
133
  defaults:
134
134
  open: true
135
+ `
136
+ },
137
+ {
138
+ path: "humanish/labs/try-live.yaml",
139
+ plane: "source",
140
+ contents: `schema: humanish.lab.v2
141
+ id: try-live
142
+ title: Your first REAL study — one participant, a real app, a hosted desktop
143
+ description: >-
144
+ This lab runs live out of the box, on purpose. Every other starter file here is a template you
145
+ have to fill in first, and a first live run that cannot succeed is where most people stop.
146
+ THE SUBJECT IS A DEMO, NOT YOUR APP: it clones drawDB, a real public open-source diagram editor,
147
+ and serves it inside the sandbox. That is what makes this runnable with nothing to configure.
148
+ Once you have watched it work, point subject at your own app (see humanish/labs/cua-browser.yaml
149
+ for the shape) — that is the study you actually want.
150
+ WHAT IT COSTS: one participant, one small task, a fail-closed cap of two dollars. It will not
151
+ quietly become expensive.
152
+ WHAT A GOOD RESULT LOOKS LIKE: not necessarily a pass. A participant who gets stuck and says so
153
+ is the most useful thing this tool produces — humanish will refuse to call that a credible pass,
154
+ on purpose, and the friction they describe is the finding. A first run that ends in "I could not
155
+ do it, and here is where I got lost" worked exactly as intended.
156
+ subject:
157
+ source: clone
158
+ repos:
159
+ - drawdb-io/drawdb
160
+ clone:
161
+ depth: 1
162
+ serve:
163
+ # Plain npm — humanish provides the Node runtime the stock desktop image does not ship.
164
+ install: npm install --no-audit --no-fund
165
+ build: npm run build
166
+ start: npx vite preview --host 127.0.0.1 --port 3000
167
+ url: http://127.0.0.1:3000/
168
+ actors:
169
+ - type: openai-computer-use
170
+ persona: synthetic-new-user
171
+ mission: >-
172
+ You have never seen this diagram tool before. Add two tables and give them meaningful names,
173
+ then stop and say what you did, what confused you, and where you hesitated.
174
+ execution:
175
+ target: e2b-desktop
176
+ timeoutMs: 600000
177
+ caps:
178
+ maxUsd: 2 # fail-closed: the run aborts rather than overspending
179
+ scenario:
180
+ mode: live # the point of this lab — the others start as dry-run
181
+ defaults:
182
+ open: true
135
183
  `
136
184
  },
137
185
  {
@@ -431,4 +479,25 @@ export const humanishScripts = {
431
479
  "humanish:watch:ci": "humanish watch --json --no-open",
432
480
  "humanish:verify": "humanish verify"
433
481
  };
482
+ /**
483
+ * The starter files, with the live lab written for the brain this machine can use.
484
+ *
485
+ * `local-agent` is not a variant of the lab so much as a different participant: on a machine with
486
+ * a signed-in Codex and no provider key, the study runs with the operator's own agent and needs
487
+ * only E2B. Writing the other one there would hand someone homework instead of a first run.
488
+ */
489
+ export function starterFilesFor(actor) {
490
+ if (actor === "openai-computer-use")
491
+ return starterFiles;
492
+ return starterFiles.map((file) => {
493
+ if (file.path !== "humanish/labs/try-live.yaml")
494
+ return file;
495
+ return {
496
+ ...file,
497
+ contents: file.contents.replace(" - type: openai-computer-use\n", " # Your machine has a coding agent signed in, so this study uses it: no provider API key,\n"
498
+ + " # only E2B. Swap to `type: openai-computer-use` if you would rather use a provider key.\n"
499
+ + " - type: local-agent\n")
500
+ };
501
+ });
502
+ }
434
503
  //# sourceMappingURL=init-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"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"}
package/dist/init.d.ts CHANGED
@@ -3,6 +3,8 @@ export interface InitOptions {
3
3
  cwd: string;
4
4
  dryRun?: boolean;
5
5
  yes?: boolean;
6
+ /** Injected so a test can decide what credentials this machine appears to have. */
7
+ env?: NodeJS.ProcessEnv;
6
8
  }
7
9
  export type InitMode = "dry-run" | "applied" | "needs-confirmation";
8
10
  export interface InitChange {
@@ -18,6 +20,11 @@ export interface InitResult {
18
20
  cwd: string;
19
21
  changes: InitChange[];
20
22
  warnings: string[];
23
+ /**
24
+ * The next one or two commands, already resolved against THIS machine's credentials. Present on
25
+ * an applied init; absent on a dry-run or a failure, where there is no "next" yet.
26
+ */
27
+ nextSteps?: string[];
21
28
  error?: {
22
29
  code: "HUMANISH_CONFIRMATION_REQUIRED" | "HUMANISH_INVALID_CWD" | "HUMANISH_INVALID_PACKAGE_JSON" | "HUMANISH_UNSAFE_PROJECT_PATH";
23
30
  message: string;
package/dist/init.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { lstat, realpath, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { humanishScripts, runtimeDirectories, starterFiles } from "./init-templates.js";
3
+ import { AGENTS_SECTION_MARKER, agentsSection, firstRunGuidance, starterActorFor } from "./first-run-path.js";
4
+ import { detectLocalAgents } from "./local-agent-cli.js";
5
+ import { humanishScripts, runtimeDirectories, starterFiles, starterFilesFor } from "./init-templates.js";
4
6
  import { assertPreparedSelectedOutputDirectory, prepareContainedOutputDirectory, prepareSelectedOutputDirectory, readContainedRegularFile, writeContainedOutputFile } from "./selected-output-paths.js";
5
7
  export const INIT_RESPONSE_SCHEMA = "humanish.init-result.v1";
6
8
  export async function runInit(options) {
@@ -36,7 +38,44 @@ export async function runInit(options) {
36
38
  error: initialPathCheck
37
39
  };
38
40
  }
39
- for (const file of starterFiles) {
41
+ // Leave instructions for the NEXT agent. AGENTS.md is the cross-vendor convention (agents.md)
42
+ // Codex, Claude Code, Cursor, Aider and others read it — and increasingly the thing that runs
43
+ // `humanish init` is a coding agent doing setup on someone's behalf. Without this, the agent
44
+ // that arrives tomorrow finds a humanish/ directory and no idea what to do with it.
45
+ //
46
+ // APPEND-ONLY and idempotent: an existing AGENTS.md is a file someone wrote, so humanish adds its
47
+ // own section once and never rewrites theirs.
48
+ {
49
+ const agentsPath = "AGENTS.md";
50
+ const existingAgents = await readTextIfExists(preparedProjectRoot, agentsPath);
51
+ const section = agentsSection();
52
+ if (existingAgents === null) {
53
+ changes.push({ path: agentsPath, action: "create", target: "source", reason: "how a coding agent runs humanish here" });
54
+ writes.push({
55
+ absolutePath: path.join(cwd, agentsPath),
56
+ relativePath: agentsPath,
57
+ contents: `# AGENTS.md\n${section}`,
58
+ target: "source"
59
+ });
60
+ }
61
+ else if (existingAgents.includes(AGENTS_SECTION_MARKER)) {
62
+ changes.push({ path: agentsPath, action: "skip", target: "source", reason: "humanish section already present" });
63
+ }
64
+ else {
65
+ changes.push({ path: agentsPath, action: "update", target: "source", reason: "append how a coding agent runs humanish" });
66
+ writes.push({
67
+ absolutePath: path.join(cwd, agentsPath),
68
+ relativePath: agentsPath,
69
+ contents: `${existingAgents.replace(/\s*$/, "")}\n${section}`,
70
+ target: "source"
71
+ });
72
+ }
73
+ }
74
+ // The starter live lab is written for the brain this machine can actually use. Shipping it as
75
+ // openai-computer-use on a machine with no provider key but a signed-in Codex would hand someone
76
+ // a file that asks for a credential they were just told they do not need (#505).
77
+ const starterActor = starterActorFor(await firstRunEnvironment(options.env ?? process.env));
78
+ for (const file of starterFilesFor(starterActor)) {
40
79
  const absolutePath = path.join(cwd, file.path);
41
80
  const existing = await readTextIfExists(preparedProjectRoot, file.path);
42
81
  if (existing === null) {
@@ -147,7 +186,27 @@ export async function runInit(options) {
147
186
  mode,
148
187
  cwd: requestedCwd,
149
188
  changes,
150
- warnings
189
+ warnings,
190
+ // Resolved against THIS machine, because a next step that cannot work is worse than none.
191
+ ...(mode === "applied" ? { nextSteps: await resolveFirstRunGuidance(options.env ?? process.env) } : {})
192
+ };
193
+ }
194
+ /**
195
+ * What to tell the operator (or the agent acting for them) to do next. Credential PRESENCE only —
196
+ * no value is read, and the local-agent check asks whether a credential file exists, never what is
197
+ * in it.
198
+ */
199
+ async function resolveFirstRunGuidance(env) {
200
+ return firstRunGuidance(await firstRunEnvironment(env));
201
+ }
202
+ /** Credential PRESENCE only. No value is read, and the local-agent check asks whether a file
203
+ * exists, never what is in it. */
204
+ async function firstRunEnvironment(env) {
205
+ const agents = await detectLocalAgents().catch(() => []);
206
+ return {
207
+ hasE2bKey: (env.E2B_API_KEY ?? "").trim().length > 0,
208
+ hasProviderKey: (env.OPENAI_API_KEY ?? "").trim().length > 0,
209
+ localAgents: agents.filter((agent) => agent.credentialsPresent).map((agent) => agent.label)
151
210
  };
152
211
  }
153
212
  async function validateInitProjectPaths(cwd) {
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/dist/program.js CHANGED
@@ -27,7 +27,7 @@ import { reclaimRunSandboxes } from "./reclaim.js";
27
27
  import { RunIndexCache, readRunIndex } from "./run-index.js";
28
28
  import { readLabSummary } from "./lab-summary.js";
29
29
  import { readProjectState } from "./tui-project.js";
30
- import { openObserverArtifact, stopRun } from "./tui-actions.js";
30
+ import { openObserverArtifact, stopRun, TUI_ACTION_SCHEMA } from "./tui-actions.js";
31
31
  import { readRunDetail } from "./run-detail.js";
32
32
  import { launchRun, readLaunchLogTail } from "./tui-launch.js";
33
33
  import { TUI_MIN_NODE_MAJOR, nodeSupportsTui, tuiBundleUrl } from "./tui-contract.js";
@@ -411,7 +411,21 @@ function registerTuiCommand(parent, io) {
411
411
  readProjectState,
412
412
  openObserver: openObserverArtifact,
413
413
  reclaimRun: (target, runId) => reclaimRunSandboxes(target, runId),
414
- stopRun
414
+ stopRun,
415
+ initProject: async (target) => {
416
+ const result = await runInit({ cwd: target, yes: true });
417
+ return result.ok
418
+ ? {
419
+ schema: TUI_ACTION_SCHEMA,
420
+ ok: true,
421
+ message: `set up humanish here — ${result.changes.filter((change) => change.action !== "skip").length} files written`
422
+ }
423
+ : {
424
+ schema: TUI_ACTION_SCHEMA,
425
+ ok: false,
426
+ message: result.error?.message ?? "humanish init could not set this directory up"
427
+ };
428
+ }
415
429
  },
416
430
  stdin,
417
431
  stdout
@@ -3247,6 +3261,11 @@ function formatInitHuman(result) {
3247
3261
  if (result.mode === "needs-confirmation") {
3248
3262
  lines.push("", "Run with --dry-run --json to inspect or --yes to apply.");
3249
3263
  }
3264
+ else if (result.ok && result.nextSteps !== undefined) {
3265
+ // Twenty files and no next step is where the funnel died (#505). Increasingly the reader here
3266
+ // is a coding agent doing setup for someone, and an agent does what stdout tells it to.
3267
+ lines.push(...result.nextSteps);
3268
+ }
3250
3269
  return `${lines.join("\n")}\n`;
3251
3270
  }
3252
3271
  function formatInitChange(change) {