@entelligentsia/forgecli 1.1.0 → 1.1.2

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +4 -0
  3. package/dist/CHANGELOG-forge-plugin.md +114 -0
  4. package/dist/extensions/forgecli/forge-subagent.js +58 -0
  5. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  6. package/dist/extensions/forgecli/orchestrators/init/init-phase-dispatch.d.ts +49 -40
  7. package/dist/extensions/forgecli/orchestrators/init/init-phase-dispatch.js +59 -188
  8. package/dist/extensions/forgecli/orchestrators/init/init-phase-dispatch.js.map +1 -1
  9. package/dist/extensions/forgecli/orchestrators/init/init-phases.d.ts +0 -43
  10. package/dist/extensions/forgecli/orchestrators/init/init-phases.js +11 -59
  11. package/dist/extensions/forgecli/orchestrators/init/init-phases.js.map +1 -1
  12. package/dist/extensions/forgecli/orchestrators/init/init-steps.d.ts +115 -0
  13. package/dist/extensions/forgecli/orchestrators/init/init-steps.js +125 -0
  14. package/dist/extensions/forgecli/orchestrators/init/init-steps.js.map +1 -0
  15. package/dist/extensions/forgecli/orchestrators/init/run-init-pipeline.js +400 -211
  16. package/dist/extensions/forgecli/orchestrators/init/run-init-pipeline.js.map +1 -1
  17. package/dist/extensions/forgecli/orchestrators/init/run-init-types.d.ts +8 -2
  18. package/dist/extensions/forgecli/orchestrators/init/run-init-types.js +15 -5
  19. package/dist/extensions/forgecli/orchestrators/init/run-init-types.js.map +1 -1
  20. package/dist/forge-payload/.base-pack/workflows-js/wfl-init.js +99 -38
  21. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  22. package/dist/forge-payload/.init/generation/generate-kb-doc.md +24 -0
  23. package/dist/forge-payload/.schemas/migrations.json +77 -0
  24. package/dist/forge-payload/init/generation/generate-kb-doc.md +24 -0
  25. package/dist/forge-payload/init/phases/phase-2/context.md +23 -0
  26. package/dist/forge-payload/init/phases/phase-2/database.md +26 -0
  27. package/dist/forge-payload/init/phases/phase-2/deployment.md +26 -0
  28. package/dist/forge-payload/init/phases/phase-2/domain-concepts.md +26 -0
  29. package/dist/forge-payload/init/phases/phase-2/domain-model.md +26 -0
  30. package/dist/forge-payload/init/phases/phase-2/entity-model.md +26 -0
  31. package/dist/forge-payload/init/phases/phase-2/index.md +25 -0
  32. package/dist/forge-payload/init/phases/phase-2/processes.md +26 -0
  33. package/dist/forge-payload/init/phases/phase-2/routing.md +25 -0
  34. package/dist/forge-payload/init/phases/phase-2/stack-checklist.md +25 -0
  35. package/dist/forge-payload/init/phases/phase-2/stack.md +27 -0
  36. package/dist/forge-payload/init/phases/phase-2/testing.md +26 -0
  37. package/dist/forge-payload/init/phases/phase-2-discover.md +15 -9
  38. package/dist/forge-payload/payload-manifest.json +2 -2
  39. package/dist/forge-payload/tools/seed-store.cjs +14 -0
  40. package/dist/forge-payload/tools/verify-phase.cjs +61 -4
  41. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +6 -6
  42. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -5,6 +5,26 @@ All notable changes to `@entelligentsia/forgecli` are documented here.
5
5
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.2] — 2026-07-02
9
+
10
+ ### Fixed
11
+
12
+ - **`/forge:init` orchestrator `pipeline-end` `elapsedMs` corrected.** The final orchestrator-transcript event logged `elapsedMs` as `Date.now()` — an absolute epoch timestamp (~56,500 years) rather than a duration. The pipeline now captures `pipelineStartMs` before the wave loop and emits the delta, matching every per-phase `elapsedMs`.
13
+
14
+ ### Changed
15
+
16
+ - **Bundled Forge plugin re-vendored 1.6.9 → 1.6.10** (`forge.bundledVersion`). Picks up the `seed-store` fix ([Entelligentsia/forge@1.6.10](https://github.com/Entelligentsia/forge)): a fresh `4ge /forge:init` on a project with no pre-existing sprints/tasks/bugs now leaves a consistent `.forge/store/` with a `COLLATION_STATE.json` baseline instead of no store at all.
17
+
18
+ ## [1.1.1] — 2026-07-01
19
+
20
+ ### Changed
21
+
22
+ - **Bundled Forge plugin re-vendored 1.6.5 → 1.6.9** (`forge.bundledVersion`). Picks up the reconciled `/forge:init` step-machine (FEAT-011): the frozen 10-doc KB contract (plugin 1.6.5), the per-step Phase-2 substance fragments (1.6.6), the confident *not-applicable* stub policy plus widened Phase-2 verify gate (1.6.7), and the `wfl-init.js` Phase-2 fragment convergence (1.6.8) — released together as plugin 1.6.9.
23
+
24
+ ### Fixed
25
+
26
+ - **`payload-manifest.json`: `init/phases` select is now recursive** — the Slice-2 `init/phases/phase-2/` per-step substance fragments (`index.md`, `context.md`, and the 10 KB-doc fragments) now vendor into `.forge/init/phases/phase-2/` on a clean `4ge init claude .`. `wfl-init.js` references `phase-2/index.md` and `phase-2/context.md` literally, so without this the dead-vendored-reference gate failed once the 1.6.9 payload was vendored. `expected-install-set.json` frozen snapshot updated (+12 files, 283 → 295).
27
+
8
28
  ## [1.1.0] — 2026-06-28
9
29
 
10
30
  ### Changed
package/README.md CHANGED
@@ -321,6 +321,8 @@ before forge-cli's extension hook runs.
321
321
 
322
322
  ## Roadmap
323
323
 
324
+ **Latest: Shipped (1.1.1)** — see [CHANGELOG.md](CHANGELOG.md) for the full history.
325
+
324
326
  | Next | Status |
325
327
  |------|--------|
326
328
  | `/forge:export` — portable workflow skills for Claude Code + Codex | Planned |
@@ -375,5 +377,7 @@ MIT © Entelligentsia
375
377
  0.20.0 · 0.20.1 · 0.20.2 · 0.20.3 · 0.21.0 ·
376
378
  1.0.0 · 1.0.3 · 1.0.11 · 1.0.14 · 1.0.15 · 1.0.16 · 1.0.17 ·
377
379
  1.0.18 · 1.0.19 · 1.0.20
380
+ 1.0.21 · 1.0.22 · 1.0.23 · 1.0.24 · 1.0.25 · 1.0.26 · 1.0.27 · 1.0.28 · 1.0.29 · 1.0.30 ·
381
+ 1.0.31 · 1.0.32 · 1.0.33 · 1.0.34 · 1.0.35 · 1.0.36 · 1.0.42 · 1.0.43 · 1.0.44 · 1.1.0 · 1.1.1
378
382
  -->
379
383
 
@@ -5,6 +5,120 @@ Format: newest first. Breaking changes are marked **△ Breaking**.
5
5
 
6
6
  ---
7
7
 
8
+ ## [1.6.10] — 2026-07-02
9
+
10
+ ### Fixed
11
+ - **`seed-store` now lays down the store skeleton on a fresh `/forge:init`.** On a
12
+ project with no pre-existing sprints/tasks/bugs, `seed-store.cjs` no-oped
13
+ (`Seeded: 0 sprint(s)…`) and left `.forge/store/` entirely absent — the store dir
14
+ was only ever created lazily by `Store.writeSprint/Task/Bug`. The result was an
15
+ inconsistent post-init state: Phase 4 appended `.forge/store/events/` to
16
+ `.gitignore` for a directory that did not exist, and there was no collation
17
+ watermark until the first `/forge:collate`. `seed-store` now always writes a
18
+ `COLLATION_STATE.json` baseline (actual seeded counts, `featureCount 0`) even with
19
+ zero entities. `--dry-run` still writes nothing; the next real `/forge:collate`
20
+ overwrites the baseline with live counts. Reads already degraded gracefully
21
+ (`store-cli list` → `[]`, `validate-store` → passed) and writes self-created the
22
+ store, so this was low-severity, but init now leaves a consistent store. Migration
23
+ `target: tools:seed-store`, non-breaking.
24
+
25
+ ---
26
+
27
+ ## [1.6.9] — 2026-07-01
28
+
29
+ ### Changed
30
+ - **Named release of the reconciled `/forge:init` step-machine (FEAT-011, Slices 0–5).**
31
+ This version draws the release boundary around the four preceding init-reconciliation
32
+ slices: the frozen 10-doc KB contract (1.6.5), the per-step Phase-2 substance
33
+ fragments (1.6.6), the confident *not-applicable* stub policy plus widened Phase-2
34
+ verify gate (1.6.7), and the `wfl-init.js` Phase-2 fragment convergence (1.6.8).
35
+ No `.cjs`/`.js` logic changed in this release — the underlying behaviour already
36
+ shipped across 1.6.5–1.6.8; 1.6.9 consolidates them under one migratable boundary.
37
+ - **forge-cli payload re-vendored to 1.6.9.** `dist/forge-payload` is regenerated from
38
+ the 1.6.9 plugin source and `forge.bundledVersion` bumped `1.6.5 → 1.6.9`, closing the
39
+ two-layer drift (the `bundledVersion == payload-manifest forge_version` gate, BUG-019).
40
+
41
+ ---
42
+
43
+ ## [1.6.8] — 2026-07-01
44
+
45
+ ### Changed
46
+ - **Converged the markdown-workflow init driver onto the shared Phase-2 fragment set
47
+ (Slice 4).** `init/base-pack/workflows-js/wfl-init.js` no longer tells every Phase-2
48
+ subagent to read the whole `phase-2-discover.md` fat rulebook. Each kb-doc prompt now
49
+ composes the shared `generate-kb-doc.md` procedure + its own `phase-2/<name>.md`
50
+ substance fragment + an `AGENT PARAMS` block; index and context prompts repoint at
51
+ `phase-2/index.md` and `phase-2/context.md`; the gate agent inlines the scaffold
52
+ commands. The KB-doc fan-out now runs in two cross-reference waves (8 leaf docs, then
53
+ the 2 derived docs selected by name), matching forge-cli's native pipeline.
54
+
55
+ ---
56
+
57
+ ## [1.6.7] — 2026-07-01
58
+
59
+ ### Changed
60
+ - **The fixed 10-doc KB surface always materializes; an absent topic becomes a confident
61
+ not-applicable stub (Slice 3).** All 10 stub-bearing Phase-2 fragments now prescribe
62
+ the confident stub shape (`confidence: 100% — status: not-applicable` header + heading +
63
+ one-sentence absence statement) instead of "set confidence low"; `generate-kb-doc.md`
64
+ documents that shape authoritatively; and `verifyPhase2` in `verify-phase.cjs` enforces
65
+ substantive-OR-not-applicable — a header-only/empty doc now fails `--phase 2`. No
66
+ confidence-percentage or entity-count hard gate is introduced (library projects pass).
67
+
68
+ ### Breaking
69
+ - A KB carrying header-only empty stubs (a confidence header but no body and no
70
+ `status: not-applicable` marker) now **fails** `verify-phase --phase 2` until
71
+ re-materialized with the marker or a body.
72
+
73
+ ---
74
+
75
+ ## [1.6.6] — 2026-07-01
76
+
77
+ ### Changed
78
+ - **Split the fat Phase-2 rulebook into per-step substance fragments (Slice 2).** The
79
+ forge-cli native init pipeline no longer injects the entire `phase-2-discover.md`
80
+ rulebook into every Phase-2 subagent. 12 new substance fragments live under
81
+ `init/phases/phase-2/` (10 KB-doc basenames + index + context), each carrying its own
82
+ topic focus, discovery input, required output, and not-applicable stub;
83
+ `generate-kb-doc.md` is confirmed as the shared procedure with a composition preamble.
84
+ `build-payload.cjs` gained one-level recursion so the `phase-2/` subdir ships in the
85
+ bundle. `phase-2-discover.md` is no longer injected into any subagent.
86
+
87
+ ---
88
+
89
+ ## [1.6.5] — 2026-07-01
90
+
91
+ ### Changed
92
+ - **Froze ONE shared 10-doc KB contract across the Phase-2 verify gate and both init
93
+ fan-out drivers (Slice 1).** Closes a three-way drift between `verify-phase.cjs`
94
+ `ARCH_DOCS` (was 7 architecture-only docs), `wfl-init.js` `KB_DOC_IDS`, and
95
+ `phase-2-discover.md`'s doc-spec table. The gate now checks 10 canonical docIds —
96
+ `architecture/{stack,processes,routing,database,testing,deployment,entity-model,stack-checklist}`
97
+ + `business-domain/{domain-model,domain-concepts}` — resolved prefix-agnostically, and a
98
+ new drift-guard test (`kb-doc-contract.test.cjs`) pins all three arrays to the canonical
99
+ order.
100
+
101
+ ### Breaking
102
+ - A pre-existing KB carrying only the old 7 docs (or `entity-model`/`stack-checklist` at
103
+ their former paths) now fails `verify-phase --phase 2` until re-run; `entity-model` is
104
+ homed under `architecture/` per FEAT-011.
105
+
106
+ ---
107
+
108
+ ## [1.6.4] — 2026-06-28
109
+
110
+ ### Fixed
111
+ - **Dead vendored reference to `forge-usage-report.cjs` (FORGE-BUG-030/036
112
+ `MODULE_NOT_FOUND` class).** The tool was added at 1.6.3 and referenced by the
113
+ `wfl-fix-bug.js` / `wfl-run-task.js` / `wfl-run-sprint.js` drivers, but was missing from
114
+ `payload-manifest.json`'s tools selection, so `build-payload.cjs` never copied it into
115
+ the default payload — leaving bootstrapped projects with a dead
116
+ `.forge/tools/forge-usage-report.cjs` reference and a runtime `MODULE_NOT_FOUND` risk.
117
+ Added it to the tools include list; also regenerated `integrity.json`,
118
+ `structure-manifest.json`, and `enum-catalog.json`, which had drifted to 1.6.2.
119
+
120
+ ---
121
+
8
122
  ## [1.6.3] — 2026-06-21
9
123
 
10
124
  ### Fixed
@@ -17,6 +17,7 @@
17
17
  // IL7 — every failure path returns a typed result; no silent continuation
18
18
  import * as fs from "node:fs";
19
19
  import * as path from "node:path";
20
+ import { registerFauxProvider } from "@earendil-works/pi-ai/compat";
20
21
  import { AuthStorage, createAgentSession, DefaultResourceLoader, getAgentDir, ModelRegistry, parseFrontmatter, SessionManager, } from "@earendil-works/pi-coding-agent";
21
22
  import { FORGE_TOOL_DISCIPLINE } from "./forge-tools.js";
22
23
  import { buildProjectOrientation } from "./project-orientation.js";
@@ -99,6 +100,12 @@ export async function runForgeSubagent(opts) {
99
100
  model: persona.model,
100
101
  };
101
102
  const cwdAbs = cwd ?? process.cwd();
103
+ // Test-only faux-provider handle — when opts.streamFn is set AND the
104
+ // session resolved no model (clean-env CI runner, no ~/.pi default), we
105
+ // register pi's faux provider as a fallback model so pi 0.80.2+'s agent
106
+ // loop can proceed to the scripted streamFn. Unregistered in the finally.
107
+ // Production never sets streamFn, so this stays undefined in real runs.
108
+ let fauxHandle;
102
109
  // ── Transcript export — normal path AND hard-exit path ───────────────
103
110
  // Exporting only at phase end loses the in-flight transcript when the
104
111
  // user /quit's pi (or the process dies): the post-dispatch code never
@@ -249,6 +256,56 @@ export async function runForgeSubagent(opts) {
249
256
  process.stderr.write(`[forge-subagent] requestedModel not in registry: ${opts.requestedModel.provider}:${opts.requestedModel.model} — inheriting pi current model\n`);
250
257
  }
251
258
  }
259
+ // Test-only seam (forge-cli#17): when a scripted streamFn is set, force
260
+ // the session onto pi's faux provider so the agent loop has a runnable,
261
+ // no-auth model. pi 0.80.2+'s agent loop dispatches to streamFn only after
262
+ // a model is selected; a clean-env CI runner (no ~/.pi config) resolves a
263
+ // placeholder "unknown" model that can't run, so the loop fails before the
264
+ // scripted streamFn and the scripted model never lands in result.model
265
+ // (e.g. run-sprint.ceremony fell back to "orchestrator"). Registering faux
266
+ // AFTER the requestedModel path above means the persona's real model still
267
+ // gets a chance first (normal-env tests), but faux wins as the runnable
268
+ // model for the scripted streamFn. Only fires when the session resolved
269
+ // no runnable model (pi's "unknown" placeholder, or undefined) — normal-env
270
+ // runs that already resolved the persona's real model are untouched.
271
+ // Production never sets streamFn.
272
+ if (opts.streamFn && (!session.model || session.model.id === "unknown")) {
273
+ fauxHandle = registerFauxProvider({});
274
+ fauxHandle.setResponses([]);
275
+ const fauxModel = fauxHandle.getModel();
276
+ authStorage.setRuntimeApiKey(fauxModel.provider, "faux-key");
277
+ try {
278
+ modelRegistry.registerProvider(fauxModel.provider, {
279
+ apiKey: "faux-key",
280
+ baseUrl: fauxModel.baseUrl ?? "https://faux.local",
281
+ api: fauxHandle.api,
282
+ models: fauxHandle.models.map((m) => ({
283
+ id: m.id,
284
+ name: m.name,
285
+ api: m.api,
286
+ reasoning: m.reasoning,
287
+ input: m.input,
288
+ cost: m.cost,
289
+ contextWindow: m.contextWindow,
290
+ maxTokens: m.maxTokens,
291
+ baseUrl: m.baseUrl ?? "https://faux.local",
292
+ })),
293
+ });
294
+ }
295
+ catch {
296
+ /* non-fatal: setModel below can still set the faux model directly */
297
+ }
298
+ try {
299
+ await session.setModel(fauxModel);
300
+ // setModel rebinds session.agent.streamFn to the new model's provider
301
+ // stream; re-apply the scripted streamFn so the test seam wins over
302
+ // faux's (empty) default responses.
303
+ session.agent.streamFn = opts.streamFn;
304
+ }
305
+ catch {
306
+ /* non-fatal: scripted streamFn may still run via the current model */
307
+ }
308
+ }
252
309
  // ── terminate channel ────────────────────────────────────────────────
253
310
  const onAbort = () => {
254
311
  void session.abort();
@@ -316,6 +373,7 @@ export async function runForgeSubagent(opts) {
316
373
  if (signal)
317
374
  signal.removeEventListener("abort", onAbort);
318
375
  session.dispose();
376
+ fauxHandle?.unregister();
319
377
  }
320
378
  if (result.stopReason === "error" || result.stopReason === "aborted") {
321
379
  result.exitCode = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"forge-subagent.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-subagent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forge-subagent.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-subagent.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,20 @@
1
1
  import type { ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
2
+ import type { PhaseRole } from "../../subagent/caller-context.js";
2
3
  import type { MergedConfig } from "../../config/config-layer.js";
3
4
  import { type SubagentResult } from "../../forge-subagent.js";
4
5
  import { getSubagentTools } from "../../forge-tools.js";
5
- import type { InitPhaseDescriptor } from "./init-phases.js";
6
+ import { resolveModelForPhase } from "../../config/model-resolver.js";
6
7
  import type { RunInitOptions } from "./run-init-types.js";
7
- /** Structured result returned by the /forge:init pipeline on early-exit. */
8
- export interface InitPipelineResult {
9
- status: "ok" | "failed" | "cancelled";
10
- /** Last phase index that ran (0-based into INIT_PHASES). */
11
- lastPhase: number;
12
- /** Failure reason when status="failed". */
13
- failure?: string;
14
- }
15
- /** Inputs required by dispatchInitPhase. */
16
- export interface InitPhaseDispatchParams {
8
+ /**
9
+ * Inputs required by dispatchSingleAgent. Carries only what one subagent
10
+ * dispatch needs no phase descriptor (the step table owns routing).
11
+ */
12
+ export interface InitDispatchParams {
17
13
  opts: RunInitOptions;
18
- phase: InitPhaseDescriptor;
19
- /** 0-based index of this phase in INIT_PHASES. */
20
- phaseIndex: number;
21
14
  cwd: string;
22
15
  ctx: ExtensionCommandContext;
23
- /** Absolute path to the vendored bundle root (contains init/phases/). */
16
+ /** Absolute path to the vendored bundle root (contains init/phases/ + base-pack). */
24
17
  bundleRoot: string;
25
- /** KB folder name (e.g. "engineering"). */
26
- kbFolder: string;
27
- /** ISO 8601 timestamp passed down to each subagent prompt. */
28
- isoTimestamp: string;
29
18
  /** Merged model-routing config from layered config. */
30
19
  modelRoutingConfig: MergedConfig;
31
20
  /** Raw forge tool definitions (optional — carries forge_ask_user). */
@@ -33,32 +22,52 @@ export interface InitPhaseDispatchParams {
33
22
  /**
34
23
  * Per-dispatch attempt counter keyed by sub-role label, for OrchestratorTree
35
24
  * node identity (`<INIT_SESSION_ID>:<role>:<attempt>`). Mutated by
36
- * dispatchSingleAgent. The orchestrator passes a fresh `{}` per phase; within
37
- * a phase it keeps re-dispatches (e.g. config-writer retry) on distinct nodes.
25
+ * dispatchSingleAgent so re-dispatches (retries) land on distinct nodes.
38
26
  */
39
27
  dispatchCounts: Record<string, number>;
28
+ /** Ordering hint (wave index) for SessionRegistry.startPhase. */
29
+ orderHint: number;
40
30
  }
41
31
  /**
42
- * Discriminated return union from dispatchInitPhase.
43
- *
44
- * kind="skip" — deterministic phase; orchestrator handles it directly.
45
- * kind="return" early-exit (failure or cancellation); carry result up.
46
- * kind="ok" — LLM phase completed successfully; last SubagentResult attached.
32
+ * Read the phase prompt from the bundled init/phases/ directory.
33
+ * Throws on missing file — caller catches and returns failure.
34
+ */
35
+ export declare function readInitPhasePrompt(bundleRoot: string, phaseNum: 1 | 2): string;
36
+ /**
37
+ * Read the shared Phase-2 KB-doc generation procedure (Slice 2 / FORGE-S35-T03).
38
+ * This is `init/generation/generate-kb-doc.md` — the write path, confidence
39
+ * header, verify-back, and not-applicable stub format shared by EVERY Phase-2
40
+ * subagent. It forms the base of every kb-doc / index / context prompt; the
41
+ * per-step substance fragment and the AGENT PARAMS block are appended by the
42
+ * pipeline. Throws on missing file — caller catches and returns failure (IL7).
43
+ */
44
+ export declare function readInitSharedProcedure(bundleRoot: string): string;
45
+ /**
46
+ * Read one per-step substance fragment from `init/phases/phase-2/<name>.md`
47
+ * (Slice 2 / FORGE-S35-T03). `name` is a KB_DOC_ID basename (e.g. "stack",
48
+ * "domain-model") or one of "index" / "context". Each fragment carries only its
49
+ * own docId's topic focus, discovery input, required output, and not-applicable
50
+ * stub — so a subagent never sees a sibling's work. Throws a descriptive error
51
+ * on missing file (naming the fragment) — caller catches and returns failure.
52
+ */
53
+ export declare function readInitPhase2Fragment(bundleRoot: string, name: string): string;
54
+ /**
55
+ * Resolve model for a sub-role within the init pipeline. Reads the intended
56
+ * tier from ROLE_TIER[modelRole] ("sonnet" / "haiku") and resolves the concrete
57
+ * {provider, model} via resolveModelForPhase, using modelRole as the phase key
58
+ * and the given personaNoun (matching task-phase-dispatch, which passes the
59
+ * role — never a display label — as the phase key). The tier is returned
60
+ * alongside the resolution so callers can surface it via notify. Concrete model
61
+ * still comes from config; resolution is "inherit" (undefined model) when config
62
+ * specifies nothing for the role.
47
63
  */
48
- export type InitPhaseDispatchOutcome = {
49
- kind: "skip";
50
- } | {
51
- kind: "return";
52
- result: InitPipelineResult;
53
- } | {
54
- kind: "ok";
55
- result: SubagentResult;
64
+ export declare function resolveInitModel(modelRole: string, personaNoun: string, modelRoutingConfig: MergedConfig): ReturnType<typeof resolveModelForPhase> & {
65
+ tier: "sonnet" | "haiku" | undefined;
56
66
  };
57
67
  /**
58
- * Dispatch a single /forge:init phase. Returns a discriminated outcome:
59
- *
60
- * - `{ kind: "skip" }` for deterministic phases (orchestrator handles them).
61
- * - `{ kind: "return", result }` for failures / early-exit.
62
- * - `{ kind: "ok", result }` carrying the last SubagentResult on success.
68
+ * Dispatch a single subagent for the init pipeline and return its SubagentResult.
69
+ * All runForgeSubagent calls are wrapped in CallerContextStore.asSubagent +
70
+ * AskBroker.withUI (IL10 / FORGE-BUG-040 parity). This is the sole subagent
71
+ * runner invoked by the step machine's subagent steps.
63
72
  */
64
- export declare function dispatchInitPhase(p: InitPhaseDispatchParams): Promise<InitPhaseDispatchOutcome>;
73
+ export declare function dispatchSingleAgent(subLabel: string, subRole: PhaseRole, modelRole: string, prompt: string, _schema: object | undefined, personaNoun: string, p: InitDispatchParams): Promise<SubagentResult>;