@entelligentsia/forgecli 0.11.2 → 0.11.3

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 (38) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/CHANGELOG-forge-plugin.md +27 -0
  3. package/dist/bin/forge.js +0 -0
  4. package/dist/extensions/forgecli/ask-user-tool.js +32 -20
  5. package/dist/extensions/forgecli/ask-user-tool.js.map +1 -1
  6. package/dist/extensions/forgecli/config-layer.js +4 -1
  7. package/dist/extensions/forgecli/config-layer.js.map +1 -1
  8. package/dist/extensions/forgecli/config-writer.js +4 -1
  9. package/dist/extensions/forgecli/config-writer.js.map +1 -1
  10. package/dist/extensions/forgecli/fix-bug.js +31 -1
  11. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  12. package/dist/extensions/forgecli/health-check.d.ts +10 -0
  13. package/dist/extensions/forgecli/health-check.js +160 -8
  14. package/dist/extensions/forgecli/health-check.js.map +1 -1
  15. package/dist/extensions/forgecli/hook-dispatcher.js +4 -2
  16. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  17. package/dist/extensions/forgecli/hooks/write-guard.js +5 -1
  18. package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
  19. package/dist/extensions/forgecli/lib/store-error-remediation.d.ts +65 -0
  20. package/dist/extensions/forgecli/lib/store-error-remediation.js +298 -0
  21. package/dist/extensions/forgecli/lib/store-error-remediation.js.map +1 -0
  22. package/dist/extensions/forgecli/run-sprint.js +16 -1
  23. package/dist/extensions/forgecli/run-sprint.js.map +1 -1
  24. package/dist/extensions/forgecli/run-task.js +30 -8
  25. package/dist/extensions/forgecli/run-task.js.map +1 -1
  26. package/dist/extensions/forgecli/store-resolver.d.ts +18 -0
  27. package/dist/extensions/forgecli/store-resolver.js +44 -4
  28. package/dist/extensions/forgecli/store-resolver.js.map +1 -1
  29. package/dist/extensions/forgecli/store-validator.d.ts +3 -0
  30. package/dist/extensions/forgecli/store-validator.js +4 -2
  31. package/dist/extensions/forgecli/store-validator.js.map +1 -1
  32. package/dist/forge-payload/.base-pack/personas/supervisor.md +9 -0
  33. package/dist/forge-payload/.base-pack/workflows/enhance.md +17 -11
  34. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  35. package/dist/forge-payload/.schemas/migrations.json +16 -0
  36. package/dist/forge-payload/meta/workflows/meta-enhance.md +17 -11
  37. package/dist/forge-payload/tools/build-persona-pack.cjs +120 -11
  38. package/package.json +1 -1
@@ -0,0 +1,298 @@
1
+ // Store-error remediation — forge-cli#24
2
+ //
3
+ // Shared remediation-hint surface for store validation errors.
4
+ // Consumed by:
5
+ // - health-check.ts (per-error row in store-integrity output)
6
+ // - hooks/write-guard.ts (block-message body for schema violations)
7
+ // - hook-dispatcher.ts (store-cli intercept block messages)
8
+ // - store-validator.ts (structured result for hook callers)
9
+ //
10
+ // Error sources:
11
+ // 1. validate.js (in-process via write-guard) — produces error strings like:
12
+ // "status: value "verified" not in [reported, triaged, in-progress, fixed]"
13
+ // "taskId: missing required field"
14
+ // "xyz: undeclared field"
15
+ // 2. store-cli.cjs validate (subprocess via store-validator.ts) — same format,
16
+ // piped through stderr.
17
+ // 3. validate-store.cjs --dry-run (subprocess via health-check.ts) — lines like:
18
+ // "ERROR FORGE-S18-T02: status: value "verified" not in [reported, triaged, ...]"
19
+ // "WARN FORGE-S18-T02: ..."
20
+ //
21
+ // This module parses those formats and returns a one-line user-facing hint
22
+ // plus an optional copy-pasteable store-cli command.
23
+ // ── Entity-type inference from entity name / ID ────────────────────────────────
24
+ /** Map entity type to the corresponding schema's status enum values. */
25
+ const STATUS_ENUMS = {
26
+ task: [
27
+ "draft", "planned", "plan-approved", "implementing", "implemented",
28
+ "review-approved", "approved", "committed", "plan-revision-required",
29
+ "code-revision-required", "blocked", "escalated", "abandoned",
30
+ ],
31
+ sprint: [
32
+ "planning", "active", "completed", "retrospective-done",
33
+ "partially-completed", "blocked", "abandoned",
34
+ ],
35
+ bug: ["reported", "triaged", "in-progress", "fixed"],
36
+ feature: ["proposed", "accepted", "in-progress", "delivered", "declined"],
37
+ event: [], // no status field
38
+ };
39
+ /** Known entity types that support write via store-cli. */
40
+ const ENTITY_TYPES = new Set(["task", "sprint", "bug", "feature", "event"]);
41
+ /**
42
+ * Infer the entity type from an entity name/ID string.
43
+ * Returns "task" as default if no match.
44
+ */
45
+ export function inferEntityType(entity) {
46
+ const lower = entity.toLowerCase();
47
+ // Bug patterns: BUG-015, FORGE-BUG-015, bug-031
48
+ if (/\bbug/i.test(entity))
49
+ return "bug";
50
+ // Sprint patterns: S18 (standalone), sprint-01 — but NOT inside task IDs like FORGE-S18-T02
51
+ if (/^[A-Z]+-S\d+$/i.test(entity) || /\bsprint/i.test(entity))
52
+ return "sprint";
53
+ // Feature patterns: FORGE-F01
54
+ if (/\bf\d+\b/i.test(entity) || lower.includes("feat"))
55
+ return "feature";
56
+ // Event patterns
57
+ if (lower.includes("event"))
58
+ return "event";
59
+ // Task IDs: FORGE-S18-T02, PROJECT-T01
60
+ if (/\bt\d+\b/i.test(entity))
61
+ return "task";
62
+ // Default
63
+ return "task";
64
+ }
65
+ const STATUS_REMEDIATION = {
66
+ hint: "Set status to one of the legal values for this entity type.",
67
+ command: (entityType, entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <legal-value>`,
68
+ };
69
+ const REQUIRED_FIELD_REMEDIATION = {
70
+ hint: "Add the missing field with a valid value. Use the template command to see the canonical shape.",
71
+ command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
72
+ };
73
+ const UNDECLARED_FIELD_REMEDIATION = {
74
+ hint: "Remove the undeclared field, or check the schema for the correct property name.",
75
+ command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
76
+ };
77
+ const TYPE_MISMATCH_REMEDIATION = {
78
+ hint: "Use the correct type for this field. Use the describe command to see the expected type.",
79
+ command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
80
+ };
81
+ const PATTERN_REMEDIATION = {
82
+ hint: "The value must match the expected pattern (e.g. a date-time or ID format).",
83
+ command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
84
+ };
85
+ const DATE_TIME_REMEDIATION = {
86
+ hint: "Use an ISO 8601 date-time string (e.g. 2026-05-21T12:00:00Z).",
87
+ command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
88
+ };
89
+ const LENGTH_REMEDIATION = {
90
+ hint: "Adjust the value length to satisfy the schema constraint.",
91
+ command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
92
+ };
93
+ /**
94
+ * Parse a single validation error line from validate.js / store-cli.
95
+ *
96
+ * Examples:
97
+ * 'status: value "verified" not in [reported, triaged, in-progress, fixed]'
98
+ * 'taskId: missing required field'
99
+ * 'xyz: undeclared field'
100
+ * 'sprintId: expected string, got number'
101
+ * 'title: value length 0 is below minLength 1'
102
+ * 'createdAt: value "today" is not a valid date-time'
103
+ * 'prefix: value "AB" does not match pattern ^[A-Z]+-[A-Z]$'
104
+ */
105
+ export function parseValidationError(line) {
106
+ // Enum violation: 'field: value "X" not in [a, b, c]'
107
+ const enumMatch = line.match(/^(\w+):\s+value\s+"([^"]+)"\s+not in \[([^\]]+)\]/);
108
+ if (enumMatch) {
109
+ return {
110
+ field: enumMatch[1],
111
+ errorKind: "enum",
112
+ observed: enumMatch[2],
113
+ enumValues: enumMatch[3].split(",").map((s) => s.trim()),
114
+ };
115
+ }
116
+ // Required field: 'field: missing required field'
117
+ if (/\bmissing required field\b/.test(line)) {
118
+ const fieldMatch = line.match(/^(\w+):/);
119
+ return { field: fieldMatch?.[1] ?? "unknown", errorKind: "required" };
120
+ }
121
+ // Undeclared field: 'xyz: undeclared field'
122
+ if (/\bundeclared field\b/.test(line)) {
123
+ const fieldMatch = line.match(/^(\w+):/);
124
+ return { field: fieldMatch?.[1] ?? "unknown", errorKind: "undeclared" };
125
+ }
126
+ // Type mismatch: 'field: expected string, got number'
127
+ const typeMatch = line.match(/^(\w+):\s+expected\s+\S+,?\s+got\s+\S+/);
128
+ if (typeMatch) {
129
+ return { field: typeMatch[1], errorKind: "type" };
130
+ }
131
+ // Date-time format: 'field: value "..." is not a valid date-time'
132
+ if (/\bis not a valid date-time\b/.test(line)) {
133
+ const fieldMatch = line.match(/^(\w+):/);
134
+ return { field: fieldMatch?.[1] ?? "unknown", errorKind: "datetime" };
135
+ }
136
+ // Pattern mismatch: 'field: value "..." does not match pattern ...'
137
+ if (/\bdoes not match pattern\b/.test(line)) {
138
+ const fieldMatch = line.match(/^(\w+):/);
139
+ return { field: fieldMatch?.[1] ?? "unknown", errorKind: "pattern" };
140
+ }
141
+ // Length violations
142
+ if (/\blength\b.*\b(exceeds|below)\b/.test(line) || /\b(exceeds|below)\b.*\blength\b/.test(line)) {
143
+ const fieldMatch = line.match(/^(\w+):/);
144
+ return { field: fieldMatch?.[1] ?? "unknown", errorKind: "length" };
145
+ }
146
+ // Generic: capture leading field name if present
147
+ const genericMatch = line.match(/^(\w+):/);
148
+ return { field: genericMatch?.[1] ?? "unknown", errorKind: "other" };
149
+ }
150
+ // ── Public API ──────────────────────────────────────────────────────────────────
151
+ /**
152
+ * Given a single validation error line (from validate.js or store-cli),
153
+ * return a user-facing remediation hint and optional copy-pasteable command.
154
+ *
155
+ * @param errorLine A single error line from validate.js / store-cli output.
156
+ * @param entityType The entity type (task, sprint, bug, feature, event).
157
+ * @param entityId The entity ID (e.g. "FORGE-S18-T02") — used for commands.
158
+ * @returns RemediationResult with hint and command.
159
+ */
160
+ export function remediateError(errorLine, entityType, entityId) {
161
+ const parsed = parseValidationError(errorLine);
162
+ switch (parsed.errorKind) {
163
+ case "enum": {
164
+ const legalValues = STATUS_ENUMS[entityType] ?? parsed.enumValues ?? [];
165
+ const isStatusField = parsed.field === "status" || parsed.field.toLowerCase().includes("status");
166
+ if (isStatusField && legalValues.length > 0) {
167
+ return {
168
+ hint: `"${parsed.observed}" is not a legal ${entityType} status. Legal values: ${legalValues.join(", ")}.`,
169
+ command: `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <${legalValues.join("|")}>`,
170
+ };
171
+ }
172
+ if (legalValues.length > 0) {
173
+ return {
174
+ hint: `Invalid value for "${parsed.field}". Allowed: ${legalValues.join(", ")}.`,
175
+ command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
176
+ };
177
+ }
178
+ return {
179
+ hint: STATUS_REMEDIATION.hint,
180
+ command: STATUS_REMEDIATION.command(entityType, entityId),
181
+ };
182
+ }
183
+ case "required":
184
+ return {
185
+ hint: REQUIRED_FIELD_REMEDIATION.hint,
186
+ command: REQUIRED_FIELD_REMEDIATION.command(entityType, entityId),
187
+ };
188
+ case "undeclared":
189
+ return {
190
+ hint: UNDECLARED_FIELD_REMEDIATION.hint,
191
+ command: UNDECLARED_FIELD_REMEDIATION.command(entityType, entityId),
192
+ };
193
+ case "type":
194
+ return {
195
+ hint: TYPE_MISMATCH_REMEDIATION.hint,
196
+ command: TYPE_MISMATCH_REMEDIATION.command(entityType, entityId),
197
+ };
198
+ case "datetime":
199
+ return {
200
+ hint: DATE_TIME_REMEDIATION.hint,
201
+ command: DATE_TIME_REMEDIATION.command(entityType, entityId),
202
+ };
203
+ case "pattern":
204
+ return {
205
+ hint: PATTERN_REMEDIATION.hint,
206
+ command: PATTERN_REMEDIATION.command(entityType, entityId),
207
+ };
208
+ case "length":
209
+ return {
210
+ hint: LENGTH_REMEDIATION.hint,
211
+ command: LENGTH_REMEDIATION.command(entityType, entityId),
212
+ };
213
+ case "other":
214
+ default:
215
+ return {
216
+ hint: "Check the schema for the expected shape.",
217
+ command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
218
+ };
219
+ }
220
+ }
221
+ /**
222
+ * Parse a multi-line validation output (e.g. from store-cli validate or
223
+ * validate-store --dry-run) into individual error lines and return
224
+ * remediation for each.
225
+ *
226
+ * @param output Raw multi-line output from validation tool.
227
+ * @param entityType Override entity type (inferred from output if not provided).
228
+ * @returns Array of { errorLine, remediation } objects.
229
+ */
230
+ export function remediateValidationOutput(output, entityType) {
231
+ const lines = output
232
+ .split("\n")
233
+ .map((l) => l.trim())
234
+ .filter((l) => l.length > 0);
235
+ const results = [];
236
+ for (const line of lines) {
237
+ // Strip "ERROR" / "WARN" prefix from validate-store --dry-run output
238
+ const cleaned = line.replace(/^(ERROR|WARN)\s+/, "");
239
+ if (!cleaned)
240
+ continue;
241
+ // Extract entity ID from lines like "FORGE-S18-T02: status: ..."
242
+ const entityIdMatch = cleaned.match(/^([A-Z]+-S?\d+-T?\d+|[A-Z]+-BUG-\d+|[A-Z]+-F\d+):/);
243
+ const entityId = entityIdMatch?.[1] ?? "unknown";
244
+ // If entity type not overridden, try to infer
245
+ const inferredType = entityType ?? inferEntityType(entityId);
246
+ // Skip non-error lines (hint lines from validate.js, blank lines, etc.)
247
+ if (cleaned.startsWith("(") || cleaned.startsWith("hint:") || cleaned.startsWith("#")) {
248
+ continue;
249
+ }
250
+ // Skip lines that are just an entity name without an error field
251
+ // (the real error is on the same line after the entity prefix)
252
+ const errorPart = entityIdMatch ? cleaned.slice(entityIdMatch[0].length).trim() : cleaned;
253
+ if (!errorPart || errorPart.length < 3)
254
+ continue;
255
+ results.push({
256
+ errorLine: cleaned,
257
+ remediation: remediateError(errorPart, inferredType, entityId),
258
+ });
259
+ }
260
+ return results;
261
+ }
262
+ /**
263
+ * Format a block message for a write-guard violation, appending remediation hints.
264
+ * Used by hook-dispatcher.ts for store-cli intercept blocks.
265
+ *
266
+ * @param rawReason The raw reason string from validateStoreCLIPayload or checkWriteGuard.
267
+ * @param entityType The entity type if known.
268
+ * @param entityId The entity ID if known.
269
+ * @returns Enhanced reason string with remediation hints appended.
270
+ */
271
+ export function enhanceBlockMessage(rawReason, entityType, entityId) {
272
+ // Parse the raw reason into lines and try to add remediation to each error line.
273
+ const lines = rawReason.split("\n");
274
+ const enhanced = [];
275
+ for (const line of lines) {
276
+ // Strip leading list markers and bullet points
277
+ const stripped = line.replace(/^\s*[-•]\s*/, "").trim();
278
+ // Check if this line contains a recognizable validation error pattern
279
+ const parsed = parseValidationError(stripped);
280
+ // Also match lines that contain validation error patterns not caught by parseValidationError
281
+ const hasKnownError = parsed.errorKind !== "other" || /\bmissing required\b|\bnot in \[|\bundeclared\b|\bexpected\b.*\bgot\b/.test(stripped);
282
+ if (hasKnownError) {
283
+ const type = entityType ?? "task";
284
+ const id = entityId ?? "unknown";
285
+ const remediation = remediateError(stripped, type, id);
286
+ enhanced.push(line);
287
+ enhanced.push(` 💡 ${remediation.hint}`);
288
+ if (remediation.command) {
289
+ enhanced.push(` → ${remediation.command}`);
290
+ }
291
+ }
292
+ else {
293
+ enhanced.push(line);
294
+ }
295
+ }
296
+ return enhanced.join("\n");
297
+ }
298
+ //# sourceMappingURL=store-error-remediation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-error-remediation.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/lib/store-error-remediation.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import * as path from "node:path";
26
26
  import { fileURLToPath } from "node:url";
27
27
  import { spawnSync } from "node:child_process";
28
28
  import { assertAudience } from "./audience-gate.js";
29
+ import { resolveToCanonicalId, resolveToolDir } from "./store-resolver.js";
29
30
  import { checkMaterialization } from "./plan.js";
30
31
  import { loadWorkflow } from "./loaders/workflow-loader.js";
31
32
  import { discoverForgeConfig } from "./forge-root.js";
@@ -233,7 +234,7 @@ export function registerRunSprint(pi, options = {}) {
233
234
  "Orchestrator archetype: delegates per-task execution to runTaskPipeline.",
234
235
  async handler(args, ctx) {
235
236
  const cwd = options.cwd ?? process.cwd();
236
- const sprintId = args.trim();
237
+ let sprintId = args.trim();
237
238
  if (!sprintId) {
238
239
  ctx.ui.notify("× forge:run-sprint — sprint ID required. Usage: /forge:run-sprint <SPRINT_ID>", "error");
239
240
  return;
@@ -252,6 +253,20 @@ export function registerRunSprint(pi, options = {}) {
252
253
  return;
253
254
  }
254
255
  const forgeRoot = forgeConfig.forgeRoot;
256
+ // ── Resolve sprint ID (prefix-normalize, suffix-match, NLP fallback) ──
257
+ // Handles unprefixed IDs like "S22" → "FORGE-S22".
258
+ // Issue #20: unprefixed entity IDs silently poisoned substitutions.
259
+ const toolDir = resolveToolDir(forgeRoot);
260
+ const resolvedSprintId = await resolveToCanonicalId(sprintId, toolDir, cwd, "sprint", { ctx, commandLabel: "forge:run-sprint" });
261
+ if (!resolvedSprintId) {
262
+ // Error already emitted by resolver
263
+ ctx.ui.setStatus?.(SPRINT_STATUS_KEY, undefined);
264
+ return;
265
+ }
266
+ // Replace raw arg with canonical ID for all subsequent operations.
267
+ sprintId = resolvedSprintId;
268
+ // Update status with canonical ID so the user sees the resolved form.
269
+ ctx.ui.setStatus?.(SPRINT_STATUS_KEY, `run-sprint ${sprintId}: ready`);
255
270
  const storeCli = path.join(forgeRoot, "tools", "store-cli.cjs");
256
271
  const preflightGate = path.join(forgeRoot, "tools", "preflight-gate.cjs");
257
272
  // ── Sprint resolution ────────────────────────────────────────────
@@ -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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"}
@@ -18,6 +18,7 @@ import * as path from "node:path";
18
18
  import { fileURLToPath } from "node:url";
19
19
  import { spawnSync } from "node:child_process";
20
20
  import { assertAudience, CallerContextStore } from "./audience-gate.js";
21
+ import { resolveToCanonicalId, resolveToolDir } from "./store-resolver.js";
21
22
  import { checkMaterialization } from "./plan.js";
22
23
  import { loadForgePersona, runForgeSubagent } from "./forge-subagent.js";
23
24
  import { discoverForgeConfig } from "./forge-root.js";
@@ -811,25 +812,42 @@ export function registerRunTask(pi, options = {}) {
811
812
  "Orchestrator archetype: each phase is an isolated subagent session (IL10).",
812
813
  async handler(args, ctx) {
813
814
  const cwd = options.cwd ?? process.cwd();
814
- const taskId = args.trim();
815
+ let taskId = args.trim();
815
816
  if (!taskId) {
816
817
  ctx.ui.notify("× forge:run-task — task ID required. Usage: /forge:run-task <TASK_ID>", "error");
817
818
  return;
818
819
  }
819
820
  ctx.ui.setStatus?.(STATUS_KEY, `run-task ${taskId}: initializing…`);
820
- // Register the session in the live registry that the thread-switcher reads from.
821
- const registry = getSessionRegistry();
822
- registry.startSession(taskId);
823
821
  // ── Discover forge config ────────────────────────────────────────
824
822
  const forgeConfig = discoverForgeConfig(cwd);
825
823
  if (!forgeConfig) {
826
824
  ctx.ui.notify("× forge:run-task — no Forge project found at cwd. Run /forge:init first.", "error");
827
- registry.completeSession(taskId, "failed");
828
825
  ctx.ui.setStatus?.(STATUS_KEY, undefined);
829
826
  ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
830
827
  return;
831
828
  }
832
829
  const forgeRoot = forgeConfig.forgeRoot;
830
+ // ── Resolve task ID (prefix-normalize, suffix-match, NLP fallback) ──
831
+ // Handles unprefixed IDs like "S22-T03" → "FORGE-S22-T03".
832
+ // Issue #20: unprefixed task IDs silently poisoned substitutions.
833
+ // NOTE: resolveToCanonicalId may surface ctx.ui.select (disambiguation)
834
+ // or ctx.ui.confirm prompts. The session must NOT be registered yet
835
+ // at this point — the chip strip would appear before the user has
836
+ // chosen which task they meant, stealing arrow keys from the dialog.
837
+ const toolDir = resolveToolDir(forgeRoot);
838
+ const resolvedTaskId = await resolveToCanonicalId(taskId, toolDir, cwd, "task", { ctx, commandLabel: "forge:run-task" });
839
+ if (!resolvedTaskId) {
840
+ // Error already emitted by resolver
841
+ ctx.ui.setStatus?.(STATUS_KEY, undefined);
842
+ ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
843
+ return;
844
+ }
845
+ // Replace raw arg with canonical ID for all subsequent operations
846
+ // (state files, store reads, preflight gates, orchestrator emits).
847
+ // Issue #20: unprefixed task IDs silently poisoned substitutions.
848
+ taskId = resolvedTaskId;
849
+ // Update status with canonical ID so the user sees the resolved form.
850
+ ctx.ui.setStatus?.(STATUS_KEY, `run-task ${taskId}: ready`);
833
851
  // Tool paths
834
852
  const storeCli = path.join(forgeRoot, "tools", "store-cli.cjs");
835
853
  const preflightGate = path.join(forgeRoot, "tools", "preflight-gate.cjs");
@@ -848,7 +866,6 @@ export function registerRunTask(pi, options = {}) {
848
866
  }
849
867
  else {
850
868
  ctx.ui.notify("forge:run-task — stale state kept; aborting.", "info");
851
- registry.completeSession(taskId, "failed");
852
869
  ctx.ui.setStatus?.(STATUS_KEY, undefined);
853
870
  ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
854
871
  return;
@@ -857,7 +874,6 @@ export function registerRunTask(pi, options = {}) {
857
874
  else {
858
875
  // Non-interactive: auto-abort on stale state
859
876
  ctx.ui.notify("forge:run-task — stale state; non-interactive mode auto-aborting.", "info");
860
- registry.completeSession(taskId, "failed");
861
877
  ctx.ui.setStatus?.(STATUS_KEY, undefined);
862
878
  ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
863
879
  return;
@@ -891,7 +907,13 @@ export function registerRunTask(pi, options = {}) {
891
907
  }
892
908
  }
893
909
  }
894
- // ── Delegate to pipeline ─────────────────────────────────────────
910
+ // ── Register session & delegate to pipeline ────────────────────
911
+ // Session registration MUST happen after all interactive disambiguation
912
+ // (resolveToCanonicalId, resume confirm) so the chip strip doesn't appear
913
+ // before the user has confirmed which task they meant — the strip would
914
+ // steal arrow keys from ctx.ui.select / ctx.ui.confirm dialogs.
915
+ const registry = getSessionRegistry();
916
+ registry.startSession(taskId);
895
917
  const signal = registry.getAbortSignal(taskId);
896
918
  const pipelineResult = await runTaskPipeline({
897
919
  taskId,