@entelligentsia/forgecli 0.8.4 → 0.9.1

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 (170) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +165 -2
  3. package/dist/bin/argv.d.ts +2 -2
  4. package/dist/bin/argv.js +17 -0
  5. package/dist/bin/argv.js.map +1 -1
  6. package/dist/bin/config.d.ts +69 -0
  7. package/dist/bin/config.js +315 -0
  8. package/dist/bin/config.js.map +1 -0
  9. package/dist/bin/doctor.d.ts +1 -0
  10. package/dist/bin/doctor.js +12 -0
  11. package/dist/bin/doctor.js.map +1 -1
  12. package/dist/bin/forge.js +7 -0
  13. package/dist/bin/forge.js.map +1 -1
  14. package/dist/extensions/forgecli/config-command.d.ts +8 -0
  15. package/dist/extensions/forgecli/config-command.js +66 -0
  16. package/dist/extensions/forgecli/config-command.js.map +1 -0
  17. package/dist/extensions/forgecli/config-layer.d.ts +38 -0
  18. package/dist/extensions/forgecli/config-layer.js +68 -0
  19. package/dist/extensions/forgecli/config-layer.js.map +1 -0
  20. package/dist/extensions/forgecli/config-tui/component.d.ts +35 -0
  21. package/dist/extensions/forgecli/config-tui/component.js +236 -0
  22. package/dist/extensions/forgecli/config-tui/component.js.map +1 -0
  23. package/dist/extensions/forgecli/config-tui/handler.d.ts +40 -0
  24. package/dist/extensions/forgecli/config-tui/handler.js +240 -0
  25. package/dist/extensions/forgecli/config-tui/handler.js.map +1 -0
  26. package/dist/extensions/forgecli/config-tui/index.d.ts +5 -0
  27. package/dist/extensions/forgecli/config-tui/index.js +5 -0
  28. package/dist/extensions/forgecli/config-tui/index.js.map +1 -0
  29. package/dist/extensions/forgecli/config-tui/keys.d.ts +26 -0
  30. package/dist/extensions/forgecli/config-tui/keys.js +33 -0
  31. package/dist/extensions/forgecli/config-tui/keys.js.map +1 -0
  32. package/dist/extensions/forgecli/config-tui/plugin-config-reader.d.ts +23 -0
  33. package/dist/extensions/forgecli/config-tui/plugin-config-reader.js +58 -0
  34. package/dist/extensions/forgecli/config-tui/plugin-config-reader.js.map +1 -0
  35. package/dist/extensions/forgecli/config-tui/screens/advanced-menu.d.ts +7 -0
  36. package/dist/extensions/forgecli/config-tui/screens/advanced-menu.js +83 -0
  37. package/dist/extensions/forgecli/config-tui/screens/advanced-menu.js.map +1 -0
  38. package/dist/extensions/forgecli/config-tui/screens/confirm-quit.d.ts +11 -0
  39. package/dist/extensions/forgecli/config-tui/screens/confirm-quit.js +54 -0
  40. package/dist/extensions/forgecli/config-tui/screens/confirm-quit.js.map +1 -0
  41. package/dist/extensions/forgecli/config-tui/screens/override-editor.d.ts +11 -0
  42. package/dist/extensions/forgecli/config-tui/screens/override-editor.js +233 -0
  43. package/dist/extensions/forgecli/config-tui/screens/override-editor.js.map +1 -0
  44. package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.d.ts +7 -0
  45. package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js +91 -0
  46. package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js.map +1 -0
  47. package/dist/extensions/forgecli/config-tui/screens/overrides-list.d.ts +7 -0
  48. package/dist/extensions/forgecli/config-tui/screens/overrides-list.js +71 -0
  49. package/dist/extensions/forgecli/config-tui/screens/overrides-list.js.map +1 -0
  50. package/dist/extensions/forgecli/config-tui/screens/persona-editor.d.ts +10 -0
  51. package/dist/extensions/forgecli/config-tui/screens/persona-editor.js +182 -0
  52. package/dist/extensions/forgecli/config-tui/screens/persona-editor.js.map +1 -0
  53. package/dist/extensions/forgecli/config-tui/screens/persona-picker.d.ts +7 -0
  54. package/dist/extensions/forgecli/config-tui/screens/persona-picker.js +76 -0
  55. package/dist/extensions/forgecli/config-tui/screens/persona-picker.js.map +1 -0
  56. package/dist/extensions/forgecli/config-tui/screens/personas-list.d.ts +7 -0
  57. package/dist/extensions/forgecli/config-tui/screens/personas-list.js +98 -0
  58. package/dist/extensions/forgecli/config-tui/screens/personas-list.js.map +1 -0
  59. package/dist/extensions/forgecli/config-tui/screens/shared.d.ts +29 -0
  60. package/dist/extensions/forgecli/config-tui/screens/shared.js +100 -0
  61. package/dist/extensions/forgecli/config-tui/screens/shared.js.map +1 -0
  62. package/dist/extensions/forgecli/config-tui/screens/show-resolved.d.ts +23 -0
  63. package/dist/extensions/forgecli/config-tui/screens/show-resolved.js +128 -0
  64. package/dist/extensions/forgecli/config-tui/screens/show-resolved.js.map +1 -0
  65. package/dist/extensions/forgecli/config-tui/screens/tier-menu.d.ts +7 -0
  66. package/dist/extensions/forgecli/config-tui/screens/tier-menu.js +135 -0
  67. package/dist/extensions/forgecli/config-tui/screens/tier-menu.js.map +1 -0
  68. package/dist/extensions/forgecli/config-tui/screens/tier-picker.d.ts +9 -0
  69. package/dist/extensions/forgecli/config-tui/screens/tier-picker.js +122 -0
  70. package/dist/extensions/forgecli/config-tui/screens/tier-picker.js.map +1 -0
  71. package/dist/extensions/forgecli/config-tui/screens/types.d.ts +24 -0
  72. package/dist/extensions/forgecli/config-tui/screens/types.js +5 -0
  73. package/dist/extensions/forgecli/config-tui/screens/types.js.map +1 -0
  74. package/dist/extensions/forgecli/config-tui/screens.d.ts +24 -0
  75. package/dist/extensions/forgecli/config-tui/screens.js +78 -0
  76. package/dist/extensions/forgecli/config-tui/screens.js.map +1 -0
  77. package/dist/extensions/forgecli/config-tui/state/buffer.d.ts +11 -0
  78. package/dist/extensions/forgecli/config-tui/state/buffer.js +91 -0
  79. package/dist/extensions/forgecli/config-tui/state/buffer.js.map +1 -0
  80. package/dist/extensions/forgecli/config-tui/state/constants.d.ts +4 -0
  81. package/dist/extensions/forgecli/config-tui/state/constants.js +14 -0
  82. package/dist/extensions/forgecli/config-tui/state/constants.js.map +1 -0
  83. package/dist/extensions/forgecli/config-tui/state/index.d.ts +6 -0
  84. package/dist/extensions/forgecli/config-tui/state/index.js +9 -0
  85. package/dist/extensions/forgecli/config-tui/state/index.js.map +1 -0
  86. package/dist/extensions/forgecli/config-tui/state/init.d.ts +2 -0
  87. package/dist/extensions/forgecli/config-tui/state/init.js +30 -0
  88. package/dist/extensions/forgecli/config-tui/state/init.js.map +1 -0
  89. package/dist/extensions/forgecli/config-tui/state/model.d.ts +192 -0
  90. package/dist/extensions/forgecli/config-tui/state/model.js +4 -0
  91. package/dist/extensions/forgecli/config-tui/state/model.js.map +1 -0
  92. package/dist/extensions/forgecli/config-tui/state/reducer.d.ts +2 -0
  93. package/dist/extensions/forgecli/config-tui/state/reducer.js +212 -0
  94. package/dist/extensions/forgecli/config-tui/state/reducer.js.map +1 -0
  95. package/dist/extensions/forgecli/config-tui/state/selectors.d.ts +91 -0
  96. package/dist/extensions/forgecli/config-tui/state/selectors.js +231 -0
  97. package/dist/extensions/forgecli/config-tui/state/selectors.js.map +1 -0
  98. package/dist/extensions/forgecli/config-tui/state.d.ts +6 -0
  99. package/dist/extensions/forgecli/config-tui/state.js +11 -0
  100. package/dist/extensions/forgecli/config-tui/state.js.map +1 -0
  101. package/dist/extensions/forgecli/config-tui/theme.d.ts +37 -0
  102. package/dist/extensions/forgecli/config-tui/theme.js +88 -0
  103. package/dist/extensions/forgecli/config-tui/theme.js.map +1 -0
  104. package/dist/extensions/forgecli/config-tui/tier-meta.d.ts +28 -0
  105. package/dist/extensions/forgecli/config-tui/tier-meta.js +69 -0
  106. package/dist/extensions/forgecli/config-tui/tier-meta.js.map +1 -0
  107. package/dist/extensions/forgecli/config-writer.d.ts +16 -0
  108. package/dist/extensions/forgecli/config-writer.js +63 -0
  109. package/dist/extensions/forgecli/config-writer.js.map +1 -0
  110. package/dist/extensions/forgecli/fix-bug.js +85 -1
  111. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  112. package/dist/extensions/forgecli/forge-cli-schema.json +54 -0
  113. package/dist/extensions/forgecli/forge-commands.js +3 -8
  114. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  115. package/dist/extensions/forgecli/forge-subagent.d.ts +13 -0
  116. package/dist/extensions/forgecli/forge-subagent.js +19 -0
  117. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  118. package/dist/extensions/forgecli/index.js +16 -0
  119. package/dist/extensions/forgecli/index.js.map +1 -1
  120. package/dist/extensions/forgecli/input-router.d.ts +33 -0
  121. package/dist/extensions/forgecli/input-router.js +133 -0
  122. package/dist/extensions/forgecli/input-router.js.map +1 -0
  123. package/dist/extensions/forgecli/model-resolver.d.ts +32 -0
  124. package/dist/extensions/forgecli/model-resolver.js +65 -0
  125. package/dist/extensions/forgecli/model-resolver.js.map +1 -0
  126. package/dist/extensions/forgecli/model-validator.d.ts +29 -0
  127. package/dist/extensions/forgecli/model-validator.js +107 -0
  128. package/dist/extensions/forgecli/model-validator.js.map +1 -0
  129. package/dist/extensions/forgecli/run-sprint.js +59 -0
  130. package/dist/extensions/forgecli/run-sprint.js.map +1 -1
  131. package/dist/extensions/forgecli/run-task.js +93 -1
  132. package/dist/extensions/forgecli/run-task.js.map +1 -1
  133. package/dist/extensions/forgecli/thread-switcher.js +5 -2
  134. package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
  135. package/dist/extensions/forgecli/whats-new-widget.js +5 -2
  136. package/dist/extensions/forgecli/whats-new-widget.js.map +1 -1
  137. package/package.json +11 -3
  138. package/dist/extensions/forgecli/review-command.d.ts +0 -2
  139. package/dist/extensions/forgecli/review-command.js +0 -184
  140. package/dist/extensions/forgecli/review-command.js.map +0 -1
  141. package/dist/forge-payload/.tools/banners.cjs +0 -435
  142. package/dist/forge-payload/.tools/build-context-pack.cjs +0 -290
  143. package/dist/forge-payload/.tools/build-init-context.cjs +0 -322
  144. package/dist/forge-payload/.tools/build-overlay.cjs +0 -326
  145. package/dist/forge-payload/.tools/build-persona-pack.cjs +0 -226
  146. package/dist/forge-payload/.tools/collate.cjs +0 -1041
  147. package/dist/forge-payload/.tools/generation-manifest.cjs +0 -311
  148. package/dist/forge-payload/.tools/lib/forge-root.cjs +0 -59
  149. package/dist/forge-payload/.tools/lib/paths.cjs +0 -29
  150. package/dist/forge-payload/.tools/lib/pricing.cjs +0 -165
  151. package/dist/forge-payload/.tools/lib/project-root.cjs +0 -32
  152. package/dist/forge-payload/.tools/lib/result.js +0 -40
  153. package/dist/forge-payload/.tools/lib/store-facade.cjs +0 -162
  154. package/dist/forge-payload/.tools/lib/store-nlp.cjs +0 -250
  155. package/dist/forge-payload/.tools/lib/store-query-exec.cjs +0 -272
  156. package/dist/forge-payload/.tools/lib/validate.js +0 -141
  157. package/dist/forge-payload/.tools/manage-config.cjs +0 -340
  158. package/dist/forge-payload/.tools/manage-versions.cjs +0 -365
  159. package/dist/forge-payload/.tools/package.json +0 -3
  160. package/dist/forge-payload/.tools/parse-gates.cjs +0 -151
  161. package/dist/forge-payload/.tools/parse-verdict.cjs +0 -67
  162. package/dist/forge-payload/.tools/preflight-gate.cjs +0 -350
  163. package/dist/forge-payload/.tools/prompts/sprint-plan-prompt.md +0 -70
  164. package/dist/forge-payload/.tools/schemas/task-list.schema.json +0 -53
  165. package/dist/forge-payload/.tools/seed-store.cjs +0 -237
  166. package/dist/forge-payload/.tools/store-cli.cjs +0 -1226
  167. package/dist/forge-payload/.tools/store-query.cjs +0 -319
  168. package/dist/forge-payload/.tools/store.cjs +0 -315
  169. package/dist/forge-payload/.tools/substitute-placeholders.cjs +0 -625
  170. package/dist/forge-payload/.tools/validate-store.cjs +0 -593
@@ -0,0 +1,107 @@
1
+ import { lookupPersonaModel } from "./model-resolver.js";
2
+ function isAvailable(pair, available) {
3
+ return available.some((m) => m.provider === pair.provider && m.id === pair.model);
4
+ }
5
+ function modelKey(pair) {
6
+ return `${pair.provider}:${pair.model}`;
7
+ }
8
+ /**
9
+ * Validate the merged forge-cli model config against runtime catalogues.
10
+ *
11
+ * - strict=false: unavailability and unknown persona names are warnings.
12
+ * - strict=true: those warnings become errors.
13
+ * - Unknown pipeline names are always errors when pipelineCatalogue is non-null;
14
+ * warnings when pipelineCatalogue is null (no .forge/config.json found).
15
+ * - Unresolvable model-override strings are always errors.
16
+ *
17
+ * The function is pure — no I/O. Callers pass in the pre-built catalogues.
18
+ */
19
+ export function validateModelConfig(personaCatalogue, pipelineCatalogue, merged, availableModels, strict) {
20
+ const errors = [];
21
+ const warnings = [];
22
+ function issue(isError, code, message, path) {
23
+ (isError ? errors : warnings).push({ code, message, path });
24
+ }
25
+ // ── 1. Validate top-level and per-layer persona-models entries ────────────
26
+ const allPersonaEntries = collectPersonaEntries(merged);
27
+ for (const { key, value, path } of allPersonaEntries) {
28
+ if (key !== "default" && !personaCatalogue.includes(key)) {
29
+ issue(strict, "UNKNOWN_PERSONA", `Unknown persona name "${key}" — not in persona catalogue`, path);
30
+ }
31
+ if (!isAvailable(value, availableModels)) {
32
+ issue(strict, "MODEL_UNAVAILABLE", `${modelKey(value)} (persona "${key}") is not available in ModelRegistry`, path);
33
+ }
34
+ }
35
+ // ── 2. Validate pipeline names + per-pipeline phases ─────────────────────
36
+ const pipelines = merged.pipelines ?? {};
37
+ for (const [pipelineName, pipelineConfig] of Object.entries(pipelines)) {
38
+ const pipelinePath = `pipelines.${pipelineName}`;
39
+ // Unknown pipeline name
40
+ if (pipelineCatalogue !== null && !pipelineCatalogue.includes(pipelineName)) {
41
+ issue(true, "UNKNOWN_PIPELINE", `Unknown pipeline name "${pipelineName}" — not in .forge/config.json`, pipelinePath);
42
+ }
43
+ else if (pipelineCatalogue === null) {
44
+ issue(false, "UNKNOWN_PIPELINE", `Pipeline name "${pipelineName}" could not be verified — no .forge/config.json found`, pipelinePath);
45
+ }
46
+ // Per-pipeline persona-models entries
47
+ const pipelinePersonaModels = pipelineConfig["persona-models"] ?? {};
48
+ for (const [key, value] of Object.entries(pipelinePersonaModels)) {
49
+ const entryPath = `${pipelinePath}.persona-models.${key}`;
50
+ if (key !== "default" && !personaCatalogue.includes(key)) {
51
+ issue(strict, "UNKNOWN_PERSONA", `Unknown persona name "${key}" in pipeline "${pipelineName}"`, entryPath);
52
+ }
53
+ if (!isAvailable(value, availableModels)) {
54
+ issue(strict, "MODEL_UNAVAILABLE", `${modelKey(value)} (pipeline "${pipelineName}", persona "${key}") is not available`, entryPath);
55
+ }
56
+ }
57
+ // Per-phase model-override validation
58
+ const phases = pipelineConfig.phases ?? {};
59
+ for (const [role, phase] of Object.entries(phases)) {
60
+ const override = phase["model-override"];
61
+ if (override === undefined)
62
+ continue;
63
+ const phasePath = `${pipelinePath}.phases.${role}.model-override`;
64
+ if (typeof override === "string") {
65
+ // Named persona-model key — must resolve via the cascade
66
+ const resolved = lookupPersonaModel(override, pipelineName, merged);
67
+ if (resolved.source === "missing") {
68
+ issue(true, "UNRESOLVABLE_OVERRIDE", `phases.${role}.model-override "${override}" in pipeline "${pipelineName}" does not resolve to any persona-model`, phasePath);
69
+ }
70
+ else if (resolved.model && !isAvailable(resolved.model, availableModels)) {
71
+ issue(strict, "MODEL_UNAVAILABLE", `${modelKey(resolved.model)} (override "${override}" in pipeline "${pipelineName}", phase "${role}") is not available`, phasePath);
72
+ }
73
+ }
74
+ else {
75
+ // Inline {provider, model} object — check availability only
76
+ if (!isAvailable(override, availableModels)) {
77
+ issue(strict, "MODEL_UNAVAILABLE", `${modelKey(override)} (inline override in pipeline "${pipelineName}", phase "${role}") is not available`, phasePath);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ return { errors, warnings };
83
+ }
84
+ /**
85
+ * Collect all persona-model entries across global and project layers,
86
+ * deduplicating by key (project wins, same as the merge in config-layer.ts).
87
+ * Returns one entry per unique key, with the winning layer's path annotation.
88
+ */
89
+ function collectPersonaEntries(merged) {
90
+ const seen = new Map();
91
+ function add(key, value, layer) {
92
+ // project layer overwrites global layer (project wins)
93
+ if (!seen.has(key) || layer.startsWith("project")) {
94
+ seen.set(key, { key, value, path: `${layer}.persona-models.${key}` });
95
+ }
96
+ }
97
+ const global = merged._global?.["persona-models"] ?? {};
98
+ for (const [key, value] of Object.entries(global)) {
99
+ add(key, value, "global");
100
+ }
101
+ const project = merged._project?.["persona-models"] ?? {};
102
+ for (const [key, value] of Object.entries(project)) {
103
+ add(key, value, "project");
104
+ }
105
+ return Array.from(seen.values());
106
+ }
107
+ //# sourceMappingURL=model-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-validator.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/model-validator.ts"],"names":[],"mappings":"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"}
@@ -23,16 +23,48 @@
23
23
  // Audit-grep: grep -n "sendKickoff(" run-sprint.ts must return empty.
24
24
  import * as fs from "node:fs";
25
25
  import * as path from "node:path";
26
+ import { fileURLToPath } from "node:url";
26
27
  import { spawnSync } from "node:child_process";
28
+ import { AuthStorage, ModelRegistry } from "@earendil-works/pi-coding-agent";
27
29
  import { assertAudience } from "./audience-gate.js";
28
30
  import { checkMaterialization } from "./plan.js";
29
31
  import { loadWorkflow } from "./loaders/workflow-loader.js";
30
32
  import { discoverForgeConfig } from "./forge-root.js";
31
33
  import { getSessionRegistry } from "./session-registry.js";
32
34
  import { loadForgePersona, runForgeSubagent } from "./forge-subagent.js";
35
+ import { loadLayeredConfig } from "./config-layer.js";
36
+ import { lookupPersonaModel } from "./model-resolver.js";
37
+ import { validateModelConfig } from "./model-validator.js";
33
38
  import { attachViewportObserver } from "./viewport-events.js";
34
39
  import { emitSyntheticEvent } from "./hook-dispatcher.js";
35
40
  import { runTaskPipeline, isNonInteractive, formatLocalTime, emitEvent, isoCompact, validateId, readState as readTaskState, isStateStale, } from "./run-task.js";
41
+ // ── Model-routing preflight helpers (Plan 16 Slice 3) ────────────────────────
42
+ function readPersonaDirSprint(dir) {
43
+ try {
44
+ return fs.readdirSync(dir)
45
+ .filter((f) => f.endsWith(".md") && !f.endsWith("-skills.md"))
46
+ .map((f) => f.replace(/\.md$/, ""));
47
+ }
48
+ catch {
49
+ return [];
50
+ }
51
+ }
52
+ function readPipelineNamesSprint(forgeCfgPath) {
53
+ try {
54
+ const raw = fs.readFileSync(forgeCfgPath, "utf-8");
55
+ const cfg = JSON.parse(raw);
56
+ if (cfg && typeof cfg === "object" && "pipelines" in cfg) {
57
+ const pipelines = cfg.pipelines;
58
+ if (pipelines && typeof pipelines === "object")
59
+ return Object.keys(pipelines);
60
+ return [];
61
+ }
62
+ return null;
63
+ }
64
+ catch {
65
+ return null;
66
+ }
67
+ }
36
68
  function sprintStateFilePath(cwd, sprintId) {
37
69
  if (!validateId(sprintId)) {
38
70
  throw new Error(`Invalid sprintId for state file path: ${sprintId}`);
@@ -134,6 +166,9 @@ async function dispatchSprintCeremony(params) {
134
166
  displayRole: "ceremony",
135
167
  beginHeader: `─── sprint ${sprintId} ceremony begin · ${personaName} ───`,
136
168
  });
169
+ // Resolve model routing for the ceremony's architect persona (Plan 16 Slice 2).
170
+ const { merged: ceremonyModelConfig } = loadLayeredConfig(cwd);
171
+ const ceremonyModelLookup = lookupPersonaModel(personaName, "default", ceremonyModelConfig);
137
172
  try {
138
173
  const result = await runForgeSubagent({
139
174
  persona,
@@ -147,6 +182,7 @@ async function dispatchSprintCeremony(params) {
147
182
  // so the system-prompt + persona prefix stays warm.
148
183
  cacheSessionId: `forge:${sprintId}`,
149
184
  onEvent: observer.onEvent,
185
+ requestedModel: ceremonyModelLookup.model,
150
186
  });
151
187
  model = result.model;
152
188
  provider = result.provider;
@@ -321,6 +357,29 @@ export function registerRunSprint(pi, options = {}) {
321
357
  }
322
358
  }
323
359
  }
360
+ // ── Model routing pre-flight (Plan 16 Slice 3) ──────────────────────
361
+ // Validate routing config once at sprint start (before any LLM calls).
362
+ {
363
+ const { merged: modelRoutingConfig } = loadLayeredConfig(cwd);
364
+ const personasDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "forge-payload", ".base-pack", "personas");
365
+ const personaCatalogue = readPersonaDirSprint(personasDir);
366
+ const forgeCfgPath = path.join(cwd, ".forge", "config.json");
367
+ const pipelineCatalogue = readPipelineNamesSprint(forgeCfgPath);
368
+ const modelRegistry = ModelRegistry.create(AuthStorage.create());
369
+ const availableModels = modelRegistry.getAvailable?.() ?? [];
370
+ const strict = process.env.FORGE_STRICT_MODELS === "1";
371
+ const { errors, warnings } = validateModelConfig(personaCatalogue, pipelineCatalogue, modelRoutingConfig, availableModels.map((m) => ({ provider: m.provider, id: m.id })), strict);
372
+ for (const w of warnings) {
373
+ ctx.ui.notify(`⚠ forge:run-sprint — model routing: ${w.message}`, "warning");
374
+ }
375
+ if (errors.length > 0) {
376
+ for (const e of errors) {
377
+ ctx.ui.notify(`× forge:run-sprint — model routing: ${e.message}`, "error");
378
+ }
379
+ ctx.ui.setStatus?.(SPRINT_STATUS_KEY, undefined);
380
+ return;
381
+ }
382
+ }
324
383
  // ── Per-task loop (AC B-8) ────────────────────────────────────────
325
384
  const registry = getSessionRegistry();
326
385
  let lastModel;
@@ -1 +1 @@
1
- {"version":3,"file":"run-sprint.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/run-sprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-sprint.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/run-sprint.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,16 @@
15
15
  // Audit-grep: grep -n "sendKickoff(" run-task.ts must return empty.
16
16
  import * as fs from "node:fs";
17
17
  import * as path from "node:path";
18
+ import { fileURLToPath } from "node:url";
18
19
  import { spawnSync } from "node:child_process";
20
+ import { AuthStorage, ModelRegistry } from "@earendil-works/pi-coding-agent";
19
21
  import { assertAudience, CallerContextStore } from "./audience-gate.js";
20
22
  import { checkMaterialization } from "./plan.js";
21
23
  import { loadForgePersona, runForgeSubagent } from "./forge-subagent.js";
22
24
  import { discoverForgeConfig } from "./forge-root.js";
25
+ import { loadLayeredConfig } from "./config-layer.js";
26
+ import { resolveModelForPhase } from "./model-resolver.js";
27
+ import { validateModelConfig } from "./model-validator.js";
23
28
  import { loadWorkflow } from "./loaders/workflow-loader.js";
24
29
  import { getSessionRegistry } from "./session-registry.js";
25
30
  import { attachViewportObserver } from "./viewport-events.js";
@@ -28,6 +33,33 @@ import { fmtPhaseSummary } from "./viewport-renderer.js";
28
33
  export function isNonInteractive() {
29
34
  return process.env.FORGE_YES === "1" || process.env.FORGE_NON_INTERACTIVE === "1";
30
35
  }
36
+ // ── Model-routing preflight helpers (Plan 16 Slice 3) ────────────────────────
37
+ function readPersonaDir(dir) {
38
+ try {
39
+ return fs.readdirSync(dir)
40
+ .filter((f) => f.endsWith(".md") && !f.endsWith("-skills.md"))
41
+ .map((f) => f.replace(/\.md$/, ""));
42
+ }
43
+ catch {
44
+ return [];
45
+ }
46
+ }
47
+ function readPipelineNames(forgeCfgPath) {
48
+ try {
49
+ const raw = fs.readFileSync(forgeCfgPath, "utf-8");
50
+ const cfg = JSON.parse(raw);
51
+ if (cfg && typeof cfg === "object" && "pipelines" in cfg) {
52
+ const pipelines = cfg.pipelines;
53
+ if (pipelines && typeof pipelines === "object")
54
+ return Object.keys(pipelines);
55
+ return [];
56
+ }
57
+ return null;
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ }
31
63
  export const PHASES = [
32
64
  { role: "plan", workflowFile: "plan_task", personaNoun: "engineer", isReview: false, maxIterations: 1 },
33
65
  { role: "review-plan", workflowFile: "review_plan", personaNoun: "supervisor", isReview: true, maxIterations: 3 },
@@ -345,6 +377,36 @@ export { extractTurnPreview } from "./viewport-renderer.js";
345
377
  // ── runTaskPipeline ──────────────────────────────────────────────────────
346
378
  export async function runTaskPipeline(opts) {
347
379
  const { taskId, cwd, ctx, forgeRoot, storeCli, preflightGate, registry, resumeFromState, onPhaseEvent } = opts;
380
+ // Load per-phase model routing config once at task entry (Plan 16 Slice 2).
381
+ // Empty / absent config produces inherit for every phase — no behaviour change.
382
+ const { merged: modelRoutingConfig } = loadLayeredConfig(cwd);
383
+ // Pre-flight model config validation (Plan 16 Slice 3).
384
+ // Warns on unknown persona names / unavailable models; errors on unresolvable
385
+ // overrides / unknown pipelines. With FORGE_STRICT_MODELS=1, warnings → errors.
386
+ {
387
+ const personasDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "forge-payload", ".base-pack", "personas");
388
+ const personaCatalogue = readPersonaDir(personasDir);
389
+ const forgeCfgPath = path.join(cwd, ".forge", "config.json");
390
+ const pipelineCatalogue = readPipelineNames(forgeCfgPath);
391
+ const modelRegistry = ModelRegistry.create(AuthStorage.create());
392
+ const availableModels = modelRegistry.getAvailable?.() ?? [];
393
+ const strict = process.env.FORGE_STRICT_MODELS === "1";
394
+ const { errors, warnings } = validateModelConfig(personaCatalogue, pipelineCatalogue, modelRoutingConfig, availableModels.map((m) => ({ provider: m.provider, id: m.id })), strict);
395
+ for (const w of warnings) {
396
+ ctx.ui.notify(`⚠ forge:run-task — model routing: ${w.message}`, "warning");
397
+ }
398
+ if (errors.length > 0) {
399
+ for (const e of errors) {
400
+ ctx.ui.notify(`× forge:run-task — model routing: ${e.message}`, "error");
401
+ }
402
+ return {
403
+ status: "failed",
404
+ lastPhaseIndex: 0,
405
+ iterationCounts: {},
406
+ lastError: `model config validation failed: ${errors.map((e) => e.code).join(", ")}`,
407
+ };
408
+ }
409
+ }
348
410
  // Determine starting phase from resumeFromState (if provided) or phase 0.
349
411
  let currentPhaseIndex = resumeFromState?.phaseIndex ?? 0;
350
412
  let iterationCounts = resumeFromState?.iterationCounts ?? {};
@@ -461,6 +523,11 @@ export async function runTaskPipeline(opts) {
461
523
  // ── 4. Dispatch via runForgeSubagent (IL10) ───────────────────
462
524
  // NEVER sendKickoff here — that would reproduce issue #30 (same-context inline = no fork).
463
525
  const taskBody = composeTaskBody(subWorkflowMd, taskId);
526
+ // Resolve per-phase model from layered config (Plan 16 Slice 2).
527
+ // Pipeline name "default" matches the Forge plugin's shipped pipeline.
528
+ // When config is absent or cascade bottoms out, resolves to inherit
529
+ // (model: undefined) — setModel is skipped and pi's current model is used.
530
+ const modelResolution = resolveModelForPhase("default", phase.role, phase.personaNoun, modelRoutingConfig);
464
531
  const phaseStart = Date.now();
465
532
  // Stabilization debug log — every subagent event appended as JSONL.
466
533
  const debugLogPath = path.join(cwd, ".forge", "cache", `run-task-debug-${taskId}.jsonl`);
@@ -474,7 +541,31 @@ export async function runTaskPipeline(opts) {
474
541
  }
475
542
  };
476
543
  writeDebug({ kind: "phase_start", phaseIndex: currentPhaseIndex });
544
+ writeDebug({
545
+ kind: "requested_model",
546
+ requested: modelResolution.model ?? null,
547
+ source: modelResolution.source,
548
+ persona: phase.personaNoun,
549
+ });
477
550
  registry.startPhase(taskId, phase.role, currentPhaseIndex);
551
+ // Capture the first stream-observed model on turn_end (IL10 visibility).
552
+ // If pi auto-substitutes or setModel silently no-ops, this line will diverge
553
+ // from requested_model — exactly the diagnostic signal we want.
554
+ let modelObservedLogged = false;
555
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
556
+ const wrappedOnEvent = (event) => {
557
+ if (!modelObservedLogged &&
558
+ event?.type === "turn_end" &&
559
+ typeof event?.message?.model === "string") {
560
+ modelObservedLogged = true;
561
+ writeDebug({
562
+ kind: "model_observed",
563
+ provider: event.message.provider ?? null,
564
+ model: event.message.model,
565
+ });
566
+ }
567
+ observer.onEvent(event);
568
+ };
478
569
  const refreshStatus = () => {
479
570
  if (process.env.FORGE_VERBOSE !== "1")
480
571
  return;
@@ -502,7 +593,8 @@ export async function runTaskPipeline(opts) {
502
593
  exportTag: `${taskId}__${phase.role}`,
503
594
  cacheSessionId,
504
595
  streamFn: opts.streamFnFactory?.({ kind: "task-phase", persona: persona.name, phase: phase.role, taskId }),
505
- onEvent: observer.onEvent,
596
+ onEvent: wrappedOnEvent,
597
+ requestedModel: modelResolution.model,
506
598
  });
507
599
  }
508
600
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-task.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/run-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-task.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/run-task.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@
39
39
  // for the focused phase. All re-renders are driven by tui.requestRender()
40
40
  // (registry events → invalidationCb → requestRender → next render tick).
41
41
  import { truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
42
+ import { getInputRouter } from "./input-router.js";
42
43
  import { getSessionRegistry } from "./session-registry.js";
43
44
  import { fmtTokenFooter } from "./viewport-renderer.js";
44
45
  import { paintFooterLine, paintTailLine } from "./viewport-theme.js";
@@ -503,7 +504,9 @@ export function registerThreadSwitcher(pi) {
503
504
  // inactive-mode summary animates immediately.
504
505
  registry.on("change", () => ensureSpinnerTimer());
505
506
  ensureSpinnerTimer();
506
- ctx.ui.onTerminalInput((data) => {
507
+ // Plan 16 Slice 4c: register via forge-input-router so that overlays
508
+ // (e.g. /forge:config) suppress the ↓ activator while mounted.
509
+ getInputRouter().register((data) => {
507
510
  if (!stripRef)
508
511
  return undefined;
509
512
  if (!stripRef.getStripActive()) {
@@ -543,7 +546,7 @@ export function registerThreadSwitcher(pi) {
543
546
  return { consume: true };
544
547
  }
545
548
  return undefined;
546
- });
549
+ }, { name: "thread-switcher-strip", skipWhenOverlayActive: true });
547
550
  }
548
551
  catch (err) {
549
552
  const e = err;