@entelligentsia/forgecli 0.10.0 → 0.11.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.
- package/CHANGELOG.md +95 -0
- package/README.md +21 -3
- package/dist/CHANGELOG-forge-plugin.md +90 -0
- package/dist/bin/config.js +6 -0
- package/dist/bin/config.js.map +1 -1
- package/dist/extensions/forgecli/add-pipeline.d.ts +19 -0
- package/dist/extensions/forgecli/add-pipeline.js +143 -0
- package/dist/extensions/forgecli/add-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/add-task.d.ts +20 -0
- package/dist/extensions/forgecli/add-task.js +154 -0
- package/dist/extensions/forgecli/add-task.js.map +1 -0
- package/dist/extensions/forgecli/calibrate.d.ts +61 -0
- package/dist/extensions/forgecli/calibrate.js +488 -0
- package/dist/extensions/forgecli/calibrate.js.map +1 -0
- package/dist/extensions/forgecli/fix-bug.d.ts +9 -1
- package/dist/extensions/forgecli/fix-bug.js +155 -45
- package/dist/extensions/forgecli/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/forge-commands.js +15 -22
- package/dist/extensions/forgecli/forge-commands.js.map +1 -1
- package/dist/extensions/forgecli/forge-subagent.d.ts +16 -1
- package/dist/extensions/forgecli/forge-subagent.js +45 -8
- package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
- package/dist/extensions/forgecli/forge-update-command.d.ts +9 -0
- package/dist/extensions/forgecli/forge-update-command.js +106 -7
- package/dist/extensions/forgecli/forge-update-command.js.map +1 -1
- package/dist/extensions/forgecli/health-check.d.ts +22 -1
- package/dist/extensions/forgecli/health-check.js +177 -4
- package/dist/extensions/forgecli/health-check.js.map +1 -1
- package/dist/extensions/forgecli/hook-dispatcher.d.ts +25 -1
- package/dist/extensions/forgecli/hook-dispatcher.js +104 -9
- package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
- package/dist/extensions/forgecli/hooks/check-update.d.ts +81 -0
- package/dist/extensions/forgecli/hooks/check-update.js +308 -0
- package/dist/extensions/forgecli/hooks/check-update.js.map +1 -0
- package/dist/extensions/forgecli/hooks/forge-permissions.d.ts +32 -0
- package/dist/extensions/forgecli/hooks/forge-permissions.js +119 -0
- package/dist/extensions/forgecli/hooks/forge-permissions.js.map +1 -0
- package/dist/extensions/forgecli/hooks/triage-error.d.ts +23 -0
- package/dist/extensions/forgecli/hooks/triage-error.js +62 -0
- package/dist/extensions/forgecli/hooks/triage-error.js.map +1 -0
- package/dist/extensions/forgecli/hooks/write-guard.d.ts +28 -0
- package/dist/extensions/forgecli/hooks/write-guard.js +225 -0
- package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -0
- package/dist/extensions/forgecli/index.js +60 -0
- package/dist/extensions/forgecli/index.js.map +1 -1
- package/dist/extensions/forgecli/init-context.d.ts +1 -1
- package/dist/extensions/forgecli/init-context.js +21 -6
- package/dist/extensions/forgecli/init-context.js.map +1 -1
- package/dist/extensions/forgecli/materialize.d.ts +16 -0
- package/dist/extensions/forgecli/materialize.js +195 -0
- package/dist/extensions/forgecli/materialize.js.map +1 -0
- package/dist/extensions/forgecli/migrate.d.ts +19 -0
- package/dist/extensions/forgecli/migrate.js +258 -0
- package/dist/extensions/forgecli/migrate.js.map +1 -0
- package/dist/extensions/forgecli/migration-engine.d.ts +111 -0
- package/dist/extensions/forgecli/migration-engine.js +533 -0
- package/dist/extensions/forgecli/migration-engine.js.map +1 -0
- package/dist/extensions/forgecli/quiz-agent.d.ts +17 -0
- package/dist/extensions/forgecli/quiz-agent.js +98 -0
- package/dist/extensions/forgecli/quiz-agent.js.map +1 -0
- package/dist/extensions/forgecli/remove-command.d.ts +17 -0
- package/dist/extensions/forgecli/remove-command.js +124 -0
- package/dist/extensions/forgecli/remove-command.js.map +1 -0
- package/dist/extensions/forgecli/report-bug.d.ts +25 -0
- package/dist/extensions/forgecli/report-bug.js +159 -0
- package/dist/extensions/forgecli/report-bug.js.map +1 -0
- package/dist/extensions/forgecli/retrospective.d.ts +19 -0
- package/dist/extensions/forgecli/retrospective.js +156 -0
- package/dist/extensions/forgecli/retrospective.js.map +1 -0
- package/dist/extensions/forgecli/run-sprint.js +36 -3
- package/dist/extensions/forgecli/run-sprint.js.map +1 -1
- package/dist/extensions/forgecli/run-task.d.ts +9 -1
- package/dist/extensions/forgecli/run-task.js +66 -13
- package/dist/extensions/forgecli/run-task.js.map +1 -1
- package/dist/extensions/forgecli/session-registry.d.ts +40 -2
- package/dist/extensions/forgecli/session-registry.js +71 -1
- package/dist/extensions/forgecli/session-registry.js.map +1 -1
- package/dist/extensions/forgecli/status-command.d.ts +19 -0
- package/dist/extensions/forgecli/status-command.js +140 -0
- package/dist/extensions/forgecli/status-command.js.map +1 -0
- package/dist/extensions/forgecli/store-query.d.ts +22 -0
- package/dist/extensions/forgecli/store-query.js +107 -0
- package/dist/extensions/forgecli/store-query.js.map +1 -0
- package/dist/extensions/forgecli/store-repair.d.ts +17 -0
- package/dist/extensions/forgecli/store-repair.js +123 -0
- package/dist/extensions/forgecli/store-repair.js.map +1 -0
- package/dist/extensions/forgecli/test-orchestrate.js +1 -0
- package/dist/extensions/forgecli/test-orchestrate.js.map +1 -1
- package/dist/extensions/forgecli/thread-switcher.js +286 -41
- package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
- package/dist/extensions/forgecli/transition-guard.js +7 -2
- package/dist/extensions/forgecli/transition-guard.js.map +1 -1
- package/dist/extensions/forgecli/update-tools.d.ts +23 -0
- package/dist/extensions/forgecli/update-tools.js +136 -0
- package/dist/extensions/forgecli/update-tools.js.map +1 -0
- package/dist/extensions/forgecli/viewport-events.js +10 -0
- package/dist/extensions/forgecli/viewport-events.js.map +1 -1
- package/dist/extensions/forgecli/viewport-renderer.d.ts +18 -0
- package/dist/extensions/forgecli/viewport-renderer.js +27 -0
- package/dist/extensions/forgecli/viewport-renderer.js.map +1 -1
- package/dist/extensions/forgecli/viewport-theme.js +4 -0
- package/dist/extensions/forgecli/viewport-theme.js.map +1 -1
- package/dist/extensions/forgecli/whats-new-widget.d.ts +13 -8
- package/dist/extensions/forgecli/whats-new-widget.js +111 -42
- package/dist/extensions/forgecli/whats-new-widget.js.map +1 -1
- package/dist/forge-payload/.base-pack/workflows/architect_approve.md +29 -3
- package/dist/forge-payload/.base-pack/workflows/commit_task.md +15 -8
- package/dist/forge-payload/.base-pack/workflows/fix_bug.md +327 -185
- package/dist/forge-payload/.base-pack/workflows/implement_plan.md +18 -10
- package/dist/forge-payload/.base-pack/workflows/plan_task.md +15 -9
- package/dist/forge-payload/.base-pack/workflows/review_code.md +14 -6
- package/dist/forge-payload/.base-pack/workflows/review_plan.md +18 -10
- package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
- package/dist/forge-payload/.schemas/bug.schema.json +3 -2
- package/dist/forge-payload/.schemas/config.schema.json +83 -0
- package/dist/forge-payload/.schemas/migrations.json +2049 -0
- package/dist/forge-payload/commands/regenerate.md +17 -1
- package/dist/forge-payload/meta/personas/README.md +16 -0
- package/dist/forge-payload/meta/personas/meta-architect.md +70 -0
- package/dist/forge-payload/meta/personas/meta-bug-fixer.md +73 -0
- package/dist/forge-payload/meta/personas/meta-collator.md +72 -0
- package/dist/forge-payload/meta/personas/meta-engineer.md +70 -0
- package/dist/forge-payload/meta/personas/meta-orchestrator.md +71 -0
- package/dist/forge-payload/meta/personas/meta-product-manager.md +82 -0
- package/dist/forge-payload/meta/personas/meta-qa-engineer.md +91 -0
- package/dist/forge-payload/meta/personas/meta-supervisor.md +92 -0
- package/dist/forge-payload/meta/skill-recommendations.md +154 -0
- package/dist/forge-payload/meta/skills/meta-architect-skills.md +43 -0
- package/dist/forge-payload/meta/skills/meta-bug-fixer-skills.md +43 -0
- package/dist/forge-payload/meta/skills/meta-collator-skills.md +41 -0
- package/dist/forge-payload/meta/skills/meta-engineer-skills.md +43 -0
- package/dist/forge-payload/meta/skills/meta-generic-skills.md +58 -0
- package/dist/forge-payload/meta/skills/meta-qa-engineer-skills.md +46 -0
- package/dist/forge-payload/meta/skills/meta-supervisor-skills.md +43 -0
- package/dist/forge-payload/meta/store-schema/bug.schema.md +71 -0
- package/dist/forge-payload/meta/store-schema/event.schema.md +76 -0
- package/dist/forge-payload/meta/store-schema/feature.schema.md +65 -0
- package/dist/forge-payload/meta/store-schema/sprint.schema.md +64 -0
- package/dist/forge-payload/meta/store-schema/task.schema.md +78 -0
- package/dist/forge-payload/meta/templates/meta-code-review.md +26 -0
- package/dist/forge-payload/meta/templates/meta-plan-review.md +28 -0
- package/dist/forge-payload/meta/templates/meta-plan.md +28 -0
- package/dist/forge-payload/meta/templates/meta-progress.md +25 -0
- package/dist/forge-payload/meta/templates/meta-retrospective.md +28 -0
- package/dist/forge-payload/meta/templates/meta-sprint-manifest.md +26 -0
- package/dist/forge-payload/meta/templates/meta-sprint-requirements.md +91 -0
- package/dist/forge-payload/meta/templates/meta-task-prompt.md +26 -0
- package/dist/forge-payload/meta/tool-specs/collate.spec.md +88 -0
- package/dist/forge-payload/meta/tool-specs/generation-manifest.spec.md +139 -0
- package/dist/forge-payload/meta/tool-specs/manage-config.spec.md +143 -0
- package/dist/forge-payload/meta/tool-specs/seed-store.spec.md +91 -0
- package/dist/forge-payload/meta/tool-specs/store-cli.spec.md +328 -0
- package/dist/forge-payload/meta/tool-specs/validate-store.spec.md +191 -0
- package/dist/forge-payload/meta/workflows/_fragments/context-injection.md +75 -0
- package/dist/forge-payload/meta/workflows/_fragments/event-emission-schema.md +73 -0
- package/dist/forge-payload/meta/workflows/_fragments/finalize.md +13 -0
- package/dist/forge-payload/meta/workflows/_fragments/friction-emit.md +73 -0
- package/dist/forge-payload/meta/workflows/_fragments/progress-reporting.md +38 -0
- package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +39 -0
- package/dist/forge-payload/meta/workflows/meta-approve.md +119 -0
- package/dist/forge-payload/meta/workflows/meta-collate.md +89 -0
- package/dist/forge-payload/meta/workflows/meta-commit.md +93 -0
- package/dist/forge-payload/meta/workflows/meta-enhance.md +286 -0
- package/dist/forge-payload/meta/workflows/meta-fix-bug.md +501 -0
- package/dist/forge-payload/meta/workflows/meta-implement.md +132 -0
- package/dist/forge-payload/meta/workflows/meta-migrate.md +455 -0
- package/dist/forge-payload/meta/workflows/meta-orchestrate.md +993 -0
- package/dist/forge-payload/meta/workflows/meta-plan-task.md +133 -0
- package/dist/forge-payload/meta/workflows/meta-quiz-agent.md +135 -0
- package/dist/forge-payload/meta/workflows/meta-retrospective.md +65 -0
- package/dist/forge-payload/meta/workflows/meta-review-implementation.md +119 -0
- package/dist/forge-payload/meta/workflows/meta-review-plan.md +108 -0
- package/dist/forge-payload/meta/workflows/meta-review-sprint-completion.md +65 -0
- package/dist/forge-payload/meta/workflows/meta-sprint-intake.md +76 -0
- package/dist/forge-payload/meta/workflows/meta-sprint-plan.md +147 -0
- package/dist/forge-payload/meta/workflows/meta-update-implementation.md +76 -0
- package/dist/forge-payload/meta/workflows/meta-update-plan.md +76 -0
- package/dist/forge-payload/meta/workflows/meta-validate.md +111 -0
- package/dist/forge-payload/tools/check-structure.cjs +344 -0
- package/dist/forge-payload/tools/collate.cjs +34 -9
- package/dist/forge-payload/tools/list-skills.js +76 -0
- package/dist/forge-payload/tools/parse-gates.cjs +8 -2
- package/dist/forge-payload/tools/store-cli.cjs +56 -11
- package/dist/forge-payload/tools/store.cjs +61 -0
- package/dist/forge-payload/tools/substitute-placeholders.cjs +60 -8
- package/dist/forge-payload/tools/validate-store.cjs +6 -2
- package/dist/forge-payload/tools/verify-integrity.cjs +86 -0
- package/package.json +2 -2
|
@@ -17,7 +17,10 @@ import * as fs from "node:fs";
|
|
|
17
17
|
import * as path from "node:path";
|
|
18
18
|
import { fileURLToPath } from "node:url";
|
|
19
19
|
import { spawnSync } from "node:child_process";
|
|
20
|
-
|
|
20
|
+
// ModelRegistry/AuthStorage no longer instantiated here — use ctx.modelRegistry
|
|
21
|
+
// so extension-registered providers (registered against the live session) are
|
|
22
|
+
// visible to validateModelConfig. Creating a fresh registry here would miss
|
|
23
|
+
// them and produce spurious MODEL_UNAVAILABLE warnings (FORGE-BUG-001).
|
|
21
24
|
import { loadLayeredConfig } from "./config-layer.js";
|
|
22
25
|
import { resolveModelForPhase } from "./model-resolver.js";
|
|
23
26
|
import { validateModelConfig } from "./model-validator.js";
|
|
@@ -80,7 +83,7 @@ export const BUG_SUMMARY_KEY_BY_ROLE = {
|
|
|
80
83
|
"implement": "implementation",
|
|
81
84
|
"review-code": "code_review",
|
|
82
85
|
"approve": "approve", // read from bug.summaries.approve (set-bug-summary)
|
|
83
|
-
"commit": null, // commit transitions bug.status →
|
|
86
|
+
"commit": null, // commit transitions bug.status → fixed (terminal), no summaries entry
|
|
84
87
|
};
|
|
85
88
|
// Bug-event type tokens — explicit mapping per review finding #3.
|
|
86
89
|
// Non-review phases always emit the pass token. Review phases select
|
|
@@ -95,10 +98,10 @@ export const BUG_TYPE_TOKENS = {
|
|
|
95
98
|
"commit": { pass: "bug-committed", fail: "bug-commit-failed" },
|
|
96
99
|
};
|
|
97
100
|
// ── Bug FSM transitions ────────────────────────────────────────────────────
|
|
98
|
-
// Mirrors store-cli BUG_TRANSITIONS.
|
|
99
|
-
//
|
|
100
|
-
// is store-cli.cjs.
|
|
101
|
-
const BUG_TERMINAL_STATES = new Set(["
|
|
101
|
+
// Mirrors store-cli BUG_TRANSITIONS. Terminal: `fixed`.
|
|
102
|
+
// `approved` and `verified` enum values were dropped in forge v0.44.0
|
|
103
|
+
// (FORGE-BUG-002 trap). The canonical source is store-cli.cjs.
|
|
104
|
+
const BUG_TERMINAL_STATES = new Set(["fixed"]);
|
|
102
105
|
function bugStateFilePath(cwd, bugId, sessionId) {
|
|
103
106
|
if (!validateId(bugId)) {
|
|
104
107
|
throw new Error(`Invalid bugId for state file path: ${bugId}`);
|
|
@@ -244,11 +247,12 @@ export function preCreateBug(bugId, title, storeCli, cwd) {
|
|
|
244
247
|
export function readBugVerdict(bugRecord, phaseRole, summaryKeyByRole) {
|
|
245
248
|
if (!bugRecord)
|
|
246
249
|
return "missing";
|
|
247
|
-
// Approve phase: read
|
|
248
|
-
//
|
|
249
|
-
//
|
|
250
|
+
// Approve phase: read approve summary verdict (set via set-bug-summary).
|
|
251
|
+
// The forge v0.44.0 contract makes summaries.approve.verdict the canonical
|
|
252
|
+
// approve signal for bugs — `bug.status` does NOT carry an "approved"
|
|
253
|
+
// value (that enum was dropped). See read-verdict.cjs §
|
|
254
|
+
// BUG_PHASE_VERDICT_SOURCE for the matching plugin-side wiring.
|
|
250
255
|
if (phaseRole === "approve") {
|
|
251
|
-
// Try summary first (set via set-bug-summary)
|
|
252
256
|
const summaryKey = summaryKeyByRole["approve"];
|
|
253
257
|
if (summaryKey) {
|
|
254
258
|
const summaries = bugRecord.summaries ?? {};
|
|
@@ -263,19 +267,14 @@ export function readBugVerdict(bugRecord, phaseRole, summaryKeyByRole) {
|
|
|
263
267
|
}
|
|
264
268
|
}
|
|
265
269
|
}
|
|
266
|
-
// Fallback: read bug status directly.
|
|
267
|
-
if (bugRecord.status === "approved")
|
|
268
|
-
return "approved";
|
|
269
|
-
if (bugRecord.status === "fixed" || bugRecord.status === "in-progress")
|
|
270
|
-
return "revision";
|
|
271
270
|
return "missing";
|
|
272
271
|
}
|
|
273
|
-
// Commit phase: read bug status directly.
|
|
274
|
-
// verified → commit succeeded; approved → revision (commit did not advance).
|
|
272
|
+
// Commit phase: read bug status directly. Terminal target is `fixed`.
|
|
275
273
|
if (phaseRole === "commit") {
|
|
276
|
-
if (bugRecord.status === "
|
|
274
|
+
if (bugRecord.status === "fixed")
|
|
277
275
|
return "approved";
|
|
278
|
-
|
|
276
|
+
// in-progress means commit did not advance status — treat as revision-needed.
|
|
277
|
+
if (bugRecord.status === "in-progress")
|
|
279
278
|
return "revision";
|
|
280
279
|
return "missing";
|
|
281
280
|
}
|
|
@@ -299,15 +298,29 @@ export function readBugVerdict(bugRecord, phaseRole, summaryKeyByRole) {
|
|
|
299
298
|
// ── Bug body composition ──────────────────────────────────────────────────
|
|
300
299
|
export function composeBugBody(subWorkflowMd, bugId, phaseRole, bugStatusBeforePhase) {
|
|
301
300
|
// Entity-kind override block prepended before workflow body.
|
|
302
|
-
//
|
|
303
|
-
//
|
|
301
|
+
// Conforms to forge v0.44.x meta-fix-bug contract:
|
|
302
|
+
// - bug.status enum is {reported, triaged, in-progress, fixed}; `fixed` is terminal.
|
|
303
|
+
// - `approved` and `verified` are NOT valid bug status values (dropped in v0.44.0).
|
|
304
|
+
// - Approve phase: NO status write. Architect writes summaries.approve.verdict
|
|
305
|
+
// via set-bug-summary; verdict signal IS the summary (read by
|
|
306
|
+
// read-verdict.cjs § BUG_PHASE_VERDICT_SOURCE).
|
|
307
|
+
// - Commit phase: status → fixed (the only status transition post-triage).
|
|
308
|
+
//
|
|
309
|
+
// Earlier revisions of this prompt told the architect to write
|
|
310
|
+
// `update-status bug ... approved` and the engineer to write `... verified`.
|
|
311
|
+
// Those instructions produced the FORGE-BUG-002 trap (LLM-translation of
|
|
312
|
+
// task-shaped approve workflow → illegal transition through a terminal state).
|
|
313
|
+
// The new contract removes the trap at its source.
|
|
304
314
|
const entityKindLines = [
|
|
305
315
|
`Bug ID: ${bugId}`,
|
|
306
316
|
"",
|
|
307
317
|
"⚠ ENTITY KIND OVERRIDE: This is a bug, not a task.",
|
|
308
318
|
"- All `update-status` calls must use entity kind `bug` (not `task`).",
|
|
309
|
-
|
|
310
|
-
|
|
319
|
+
"- Approve phase: NO status write. Write the approval verdict via set-bug-summary:",
|
|
320
|
+
` node "$FORGE_ROOT/tools/store-cli.cjs" set-bug-summary ${bugId} approve <APPROVE-SUMMARY.json>`,
|
|
321
|
+
` The summary's "verdict" field MUST be "approved" or "revision". The downstream commit gate reads this, not bug.status.`,
|
|
322
|
+
`- Commit phase: on successful git commit, run \`node "$FORGE_ROOT/tools/store-cli.cjs" update-status bug ${bugId} status fixed\` (terminal).`,
|
|
323
|
+
`- Do NOT write \"approved\" or \"verified\" to bug.status — those values were removed from the schema in forge v0.44.0.`,
|
|
311
324
|
`- Do NOT reference task-specific status values (e.g., \"committed\") or task entity kind.`,
|
|
312
325
|
"- CRITICAL: All `set-summary` calls must use `set-bug-summary` (not `set-summary`).",
|
|
313
326
|
` e.g. node "$FORGE_ROOT/tools/store-cli.cjs" set-bug-summary ${bugId} review_plan <jsonFile>`,
|
|
@@ -315,12 +328,15 @@ export function composeBugBody(subWorkflowMd, bugId, phaseRole, bugStatusBeforeP
|
|
|
315
328
|
"- Skip re-running preflight-gate — the orchestrator already checked it. Proceed directly to the review.",
|
|
316
329
|
"Any workflow text that says \"task\" should be read as \"bug\" for this context.",
|
|
317
330
|
];
|
|
318
|
-
//
|
|
331
|
+
// Phase-specific reinforcement when the orchestrator can name the current status.
|
|
319
332
|
if (phaseRole === "approve" && bugStatusBeforePhase) {
|
|
320
|
-
entityKindLines.push(`- Approve phase:
|
|
333
|
+
entityKindLines.push(`- Approve phase (reinforce): bug.status is currently '${bugStatusBeforePhase}' and MUST NOT change in this phase. Record verdict in summaries.approve only.`);
|
|
321
334
|
}
|
|
322
335
|
if (phaseRole === "commit" && bugStatusBeforePhase) {
|
|
323
|
-
entityKindLines.push(`- Commit phase:
|
|
336
|
+
entityKindLines.push(`- Commit phase: after the git commit lands, transition bug.status from '${bugStatusBeforePhase}' to 'fixed'.`);
|
|
337
|
+
}
|
|
338
|
+
if (phaseRole === "triage") {
|
|
339
|
+
entityKindLines.push("- Triage phase: in addition to writing TRIAGE.md and TRIAGE-SUMMARY.json, the summary MUST include a `route` field set to `\"A\"` or `\"B\"`.", " Path A (short-circuit): severity == minor AND single-file fix ≤ ~20 lines AND no schema/API/migration AND regression test obvious from repro.", " Path B (default): everything else. When in doubt, choose B.", " The orchestrator reads bug.summaries.triage.route to select the downstream phase list.");
|
|
324
340
|
}
|
|
325
341
|
return [
|
|
326
342
|
`Read the workflow below and follow it. Bug ID: ${bugId}.`,
|
|
@@ -418,8 +434,7 @@ export async function runBugPipeline(opts) {
|
|
|
418
434
|
const personaCatalogue = readPersonaDirBug(personasDir);
|
|
419
435
|
const forgeCfgPath = path.join(cwd, ".forge", "config.json");
|
|
420
436
|
const pipelineCatalogue = readPipelineNamesBug(forgeCfgPath);
|
|
421
|
-
const
|
|
422
|
-
const availableModels = modelRegistry.getAvailable?.() ?? [];
|
|
437
|
+
const availableModels = ctx.modelRegistry?.getAvailable?.() ?? [];
|
|
423
438
|
const strict = process.env.FORGE_STRICT_MODELS === "1";
|
|
424
439
|
const { errors, warnings } = validateModelConfig(personaCatalogue, pipelineCatalogue, modelRoutingConfig, availableModels.map((m) => ({ provider: m.provider, id: m.id })), strict);
|
|
425
440
|
for (const w of warnings) {
|
|
@@ -438,6 +453,23 @@ export async function runBugPipeline(opts) {
|
|
|
438
453
|
}
|
|
439
454
|
}
|
|
440
455
|
while (currentPhaseIndex < BUG_PHASES.length) {
|
|
456
|
+
// ── Between-phase cancellation gate ────────────────────────────
|
|
457
|
+
if (opts.signal?.aborted) {
|
|
458
|
+
ctx.ui.notify(`⊘ forge:fix-bug — ${bugId} cancelled by user.`, "info");
|
|
459
|
+
registry.completePhase(bugId, BUG_PHASES[currentPhaseIndex]?.role ?? "unknown", "cancelled");
|
|
460
|
+
registry.confirmCancelled(bugId);
|
|
461
|
+
// ADR-S21-01: preserve state file so cancelled runs are resumable
|
|
462
|
+
writeBugState(cwd, {
|
|
463
|
+
bugId,
|
|
464
|
+
phaseIndex: currentPhaseIndex,
|
|
465
|
+
iterationCounts,
|
|
466
|
+
halted: false,
|
|
467
|
+
status: "cancelled",
|
|
468
|
+
lastError: undefined,
|
|
469
|
+
savedAt: new Date().toISOString(),
|
|
470
|
+
});
|
|
471
|
+
return { status: "cancelled", lastPhaseIndex: currentPhaseIndex, iterationCounts };
|
|
472
|
+
}
|
|
441
473
|
const phase = BUG_PHASES[currentPhaseIndex];
|
|
442
474
|
if (!phase) {
|
|
443
475
|
ctx.ui.notify(`× forge:fix-bug — invalid phase index ${currentPhaseIndex}`, "error");
|
|
@@ -467,16 +499,21 @@ export async function runBugPipeline(opts) {
|
|
|
467
499
|
});
|
|
468
500
|
return { status: "failed", lastPhaseIndex: currentPhaseIndex, iterationCounts, lastError: `sub-workflow read failed: ${e.message ?? "unknown"}` };
|
|
469
501
|
}
|
|
470
|
-
// ── 6a. Phase skip (state-aware)
|
|
471
|
-
//
|
|
472
|
-
//
|
|
473
|
-
//
|
|
474
|
-
//
|
|
475
|
-
//
|
|
502
|
+
// ── 6a. Phase skip (state-aware, defense-in-depth) ─────────────
|
|
503
|
+
// Belt-and-suspenders alongside the explicit summaries.triage.route
|
|
504
|
+
// branch (handled in section 6c below). Some subagents in some
|
|
505
|
+
// runtimes still go end-to-end during triage instead of just triaging
|
|
506
|
+
// — rather than roll back the work they did, skip non-review phases
|
|
507
|
+
// whose output is already reflected in the bug status. Review phases
|
|
508
|
+
// are never skipped — they are quality gates that must always run.
|
|
509
|
+
//
|
|
510
|
+
// Post-v0.44.0: terminal status is `fixed` only. `approved` and
|
|
511
|
+
// `verified` are no longer valid bug status values; references
|
|
512
|
+
// removed.
|
|
476
513
|
const PHASE_SKIP_STATES = {
|
|
477
|
-
"plan-fix": new Set(["fixed"
|
|
478
|
-
"implement": new Set(["fixed"
|
|
479
|
-
"commit": new Set(["
|
|
514
|
+
"plan-fix": new Set(["fixed"]),
|
|
515
|
+
"implement": new Set(["fixed"]),
|
|
516
|
+
"commit": new Set(["fixed"]), // commit writes the terminal status; skip if already there
|
|
480
517
|
};
|
|
481
518
|
const bugNow = readBugRecord(bugId, storeCli, cwd);
|
|
482
519
|
const skipStates = PHASE_SKIP_STATES[phase.role];
|
|
@@ -489,7 +526,11 @@ export async function runBugPipeline(opts) {
|
|
|
489
526
|
const synthSummary = {
|
|
490
527
|
objective: `Phase ${phase.role} skipped — bug already ${bugNow.status}`,
|
|
491
528
|
findings: ["Subagent completed fix during triage (Path A); phase output implicitly satisfied."],
|
|
492
|
-
verdict
|
|
529
|
+
// Non-review phases should have verdict "n/a" — the phase
|
|
530
|
+
// didn't produce a gate verdict. This matches the `after
|
|
531
|
+
// <phase> = n/a` preflight gate contract. Review phases
|
|
532
|
+
// use "approved" since they are gate phases.
|
|
533
|
+
verdict: phase.isReview ? "approved" : "n/a",
|
|
493
534
|
written_at: new Date().toISOString(),
|
|
494
535
|
};
|
|
495
536
|
const synthFile = path.join(cwd, ".forge", "cache", `synthetic-summary-${bugId}-${summaryKey}.json`);
|
|
@@ -510,8 +551,16 @@ export async function runBugPipeline(opts) {
|
|
|
510
551
|
// Skip preflight gate for triage phase of new bugs (PENDING- placeholder)
|
|
511
552
|
// because the bug record doesn't exist yet — gates referencing bug fields
|
|
512
553
|
// would always fail.
|
|
554
|
+
//
|
|
555
|
+
// Also skip for review phases when the bug is already in a terminal
|
|
556
|
+
// state ("fixed"). Path A bugs get fixed during triage, then the
|
|
557
|
+
// preflight gate's `forbid bug.status == fixed` and `after implement
|
|
558
|
+
// = n/a` checks block review-code/review-plan even though we
|
|
559
|
+
// deliberately want to run those reviews. The review subagent handles
|
|
560
|
+
// the already-fixed scenario internally.
|
|
513
561
|
const pendingBugId = bugId.startsWith("PENDING-");
|
|
514
|
-
|
|
562
|
+
const bugAlreadyFixed = bugNow?.status === "fixed" && phase.isReview;
|
|
563
|
+
if (!pendingBugId && !bugAlreadyFixed && fs.existsSync(preflightGate)) {
|
|
515
564
|
const preflightResult = runPreflightGate(preflightGate, phase.role, bugId, cwd, "bug");
|
|
516
565
|
if (preflightResult === "halt") {
|
|
517
566
|
ctx.ui.notify(`× forge:fix-bug — preflight gate failed for phase ${phase.role} (exit 1); halting.`, "error");
|
|
@@ -702,6 +751,8 @@ export async function runBugPipeline(opts) {
|
|
|
702
751
|
cacheSessionId: typeof bugRecordBefore?.sprintId === "string" ? `forge:${bugRecordBefore.sprintId}` : `forge:bug:${bugId}`,
|
|
703
752
|
onEvent: onSubagentEvent,
|
|
704
753
|
requestedModel: modelResolution.model,
|
|
754
|
+
modelRegistry: ctx.modelRegistry,
|
|
755
|
+
signal: opts.signal, // ← wire AbortSignal for cancellation
|
|
705
756
|
});
|
|
706
757
|
}
|
|
707
758
|
catch (err) {
|
|
@@ -717,6 +768,23 @@ export async function runBugPipeline(opts) {
|
|
|
717
768
|
});
|
|
718
769
|
return { status: "failed", lastPhaseIndex: currentPhaseIndex, iterationCounts, lastError: `runForgeSubagent threw: ${e.message ?? "unknown"}` };
|
|
719
770
|
}
|
|
771
|
+
// ── Post-subagent abort detection ─────────────────────────────────
|
|
772
|
+
if (result.stopReason === "aborted" || opts.signal?.aborted) {
|
|
773
|
+
ctx.ui.notify(`⊘ forge:fix-bug — ${bugId} phase ${phase.role} cancelled.`, "info");
|
|
774
|
+
registry.completePhase(bugId, phase.role, "cancelled");
|
|
775
|
+
registry.confirmCancelled(bugId);
|
|
776
|
+
// ADR-S21-01: preserve state file so cancelled runs are resumable
|
|
777
|
+
writeBugState(cwd, {
|
|
778
|
+
bugId,
|
|
779
|
+
phaseIndex: currentPhaseIndex,
|
|
780
|
+
iterationCounts,
|
|
781
|
+
halted: false,
|
|
782
|
+
status: "cancelled",
|
|
783
|
+
lastError: undefined,
|
|
784
|
+
savedAt: new Date().toISOString(),
|
|
785
|
+
});
|
|
786
|
+
return { status: "cancelled", lastPhaseIndex: currentPhaseIndex, iterationCounts };
|
|
787
|
+
}
|
|
720
788
|
// ── Halt-on-failure ───────────────────────────────────────────
|
|
721
789
|
if (result.exitCode !== 0) {
|
|
722
790
|
ctx.ui.notify(`× forge:fix-bug — phase ${phase.role} failed (exit ${result.exitCode})` +
|
|
@@ -954,6 +1022,33 @@ export async function runBugPipeline(opts) {
|
|
|
954
1022
|
halted: false,
|
|
955
1023
|
savedAt: new Date().toISOString(),
|
|
956
1024
|
});
|
|
1025
|
+
// ── 6c. Path A / Path B branch (post-triage) ──────────────────
|
|
1026
|
+
// Per meta-fix-bug.md § Triage Judgement (forge v0.44.0+), the
|
|
1027
|
+
// triage subagent records the route decision in
|
|
1028
|
+
// bug.summaries.triage.route. The orchestrator reads it after
|
|
1029
|
+
// triage returns and selects the downstream phase list:
|
|
1030
|
+
// Path A (short-circuit): skip plan-fix + review-plan
|
|
1031
|
+
// Path B (default, full loop): run all phases
|
|
1032
|
+
//
|
|
1033
|
+
// If route is missing or malformed, default to Path B (the safe
|
|
1034
|
+
// choice — running extra phases never produces an unsafe outcome).
|
|
1035
|
+
// The PHASE_SKIP_STATES heuristic at section 6a remains as
|
|
1036
|
+
// defense-in-depth for cases where the field is missing but the
|
|
1037
|
+
// bug status proves the work happened.
|
|
1038
|
+
if (phase.role === "triage") {
|
|
1039
|
+
const bugAfterTriage = readBugRecord(bugId, storeCli, cwd);
|
|
1040
|
+
const triageSummary = bugAfterTriage?.summaries?.triage;
|
|
1041
|
+
const route = triageSummary?.route;
|
|
1042
|
+
if (route === "A") {
|
|
1043
|
+
const skipUntilIndex = BUG_PHASES.findIndex((p) => p.role === "implement");
|
|
1044
|
+
if (skipUntilIndex > currentPhaseIndex + 1) {
|
|
1045
|
+
ctx.ui.notify(`⊘ forge:fix-bug — Path A selected by triage; skipping plan-fix and review-plan.`, "info");
|
|
1046
|
+
currentPhaseIndex = skipUntilIndex;
|
|
1047
|
+
continue;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
// route === "B", missing, or any other value → fall through to standard advance
|
|
1051
|
+
}
|
|
957
1052
|
currentPhaseIndex++;
|
|
958
1053
|
}
|
|
959
1054
|
// ── All phases complete ───────────────────────────────────────────
|
|
@@ -1049,21 +1144,30 @@ export function registerFixBug(pi, options = {}) {
|
|
|
1049
1144
|
}
|
|
1050
1145
|
}
|
|
1051
1146
|
else {
|
|
1147
|
+
// ADR-S21-01: offer resume for ALL non-stale states — halted=true
|
|
1148
|
+
// (explicit failure), halted=false (cancelled/interrupted), and
|
|
1149
|
+
// any state with existing.status set.
|
|
1150
|
+
const stateStatus = existing.status ?? (existing.halted ? "halted" : "interrupted");
|
|
1151
|
+
const statusLabel = stateStatus === "cancelled" ? "cancelled"
|
|
1152
|
+
: stateStatus === "halted" ? "halted"
|
|
1153
|
+
: "interrupted";
|
|
1154
|
+
const phaseRole = BUG_PHASES[existing.phaseIndex]?.role ?? existing.phaseIndex;
|
|
1052
1155
|
if (!isNonInteractive()) {
|
|
1053
|
-
const resume = await ctx.ui.confirm(`Resume ${bugId}?`, `Cached state
|
|
1156
|
+
const resume = await ctx.ui.confirm(`Resume ${bugId}?`, `Cached state — phase ${existing.phaseIndex} (${phaseRole}), ${statusLabel}, ` +
|
|
1157
|
+
`saved at ${formatLocalTime(existing.savedAt)}. Resume from here?`);
|
|
1054
1158
|
if (resume) {
|
|
1055
1159
|
resumeFromState = existing;
|
|
1056
|
-
ctx.ui.notify(`forge:fix-bug — resuming ${bugId} from phase ${
|
|
1160
|
+
ctx.ui.notify(`forge:fix-bug — resuming ${bugId} from phase ${phaseRole} (${statusLabel})`, "info");
|
|
1057
1161
|
}
|
|
1058
1162
|
else {
|
|
1059
1163
|
deleteBugState(cwd, bugId);
|
|
1060
1164
|
}
|
|
1061
1165
|
}
|
|
1062
1166
|
else {
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1167
|
+
// Non-interactive: auto-resume from state (no confirmation).
|
|
1168
|
+
// Cancelled/interrupted states are valid resume points.
|
|
1169
|
+
resumeFromState = existing;
|
|
1170
|
+
ctx.ui.notify(`forge:fix-bug — resuming ${bugId} from phase ${phaseRole} (${statusLabel})`, "info");
|
|
1067
1171
|
}
|
|
1068
1172
|
}
|
|
1069
1173
|
}
|
|
@@ -1114,6 +1218,8 @@ export function registerFixBug(pi, options = {}) {
|
|
|
1114
1218
|
// Register session
|
|
1115
1219
|
registry.startSession(bugId);
|
|
1116
1220
|
// ── Delegate to pipeline ─────────────────────────────────────────
|
|
1221
|
+
// ── Delegate to pipeline ─────────────────────────────────────────
|
|
1222
|
+
const signal = registry.getAbortSignal(bugId);
|
|
1117
1223
|
const pipelineResult = await runBugPipeline({
|
|
1118
1224
|
bugId,
|
|
1119
1225
|
originalArg: isNewBug ? rawArg : undefined,
|
|
@@ -1125,12 +1231,16 @@ export function registerFixBug(pi, options = {}) {
|
|
|
1125
1231
|
preflightGate,
|
|
1126
1232
|
registry,
|
|
1127
1233
|
resumeFromState,
|
|
1234
|
+
signal, // ← wire AbortSignal for cancellation
|
|
1128
1235
|
});
|
|
1129
1236
|
// ── Handle result ────────────────────────────────────────────────
|
|
1130
1237
|
if (pipelineResult.status === "completed") {
|
|
1131
1238
|
registry.completeSession(bugId, "completed");
|
|
1132
1239
|
ctx.ui.notify(`〇 forge:fix-bug — ${bugId} pipeline complete (${BUG_PHASES.length} phases).`, "info");
|
|
1133
1240
|
}
|
|
1241
|
+
else if (pipelineResult.status === "cancelled") {
|
|
1242
|
+
registry.completeSession(bugId, "cancelled");
|
|
1243
|
+
}
|
|
1134
1244
|
else {
|
|
1135
1245
|
registry.completeSession(bugId, "failed");
|
|
1136
1246
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-bug.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/fix-bug.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fix-bug.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/fix-bug.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,28 +113,9 @@ export function registerForgeCommands(pi, options) {
|
|
|
113
113
|
});
|
|
114
114
|
// /forge:update is registered in index.ts via registerForgeUpdateCommand
|
|
115
115
|
// (FORGE-S16-T15) so it works inside or outside a Forge project.
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
//
|
|
119
|
-
pi.registerCommand("forge:status", {
|
|
120
|
-
description: "Sprint and task summary widget",
|
|
121
|
-
async handler(args, ctx) {
|
|
122
|
-
if (!forgeRoot)
|
|
123
|
-
return outsideProjectNoOp("status", ctx);
|
|
124
|
-
try {
|
|
125
|
-
await delegateMarkdownCommand(pi, forgeRoot, "status", args, ctx);
|
|
126
|
-
}
|
|
127
|
-
catch (err) {
|
|
128
|
-
const e = err;
|
|
129
|
-
if (e.code === "ENOENT") {
|
|
130
|
-
ctx.ui.notify("forge:status — sprint/task widget ships with the next forge plugin release; " +
|
|
131
|
-
"use /forge:health for now.", "info");
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
throw err;
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
});
|
|
116
|
+
// /forge:status — native v0 handler registered in index.ts via
|
|
117
|
+
// registerStatusCommand (FORGE-S23-T10). Removed delegateMarkdownCommand
|
|
118
|
+
// stub. forge:status stays in EXPLICITLY_REGISTERED_NAMES below.
|
|
138
119
|
}
|
|
139
120
|
// ── Phase G: registerAllForgeCommands (FORGE-S17-T02) ─────────────────────
|
|
140
121
|
// Enumerate every *.md under dist/forge-payload/.base-pack/commands/ at
|
|
@@ -198,6 +179,18 @@ const EXPLICITLY_REGISTERED_NAMES = new Set([
|
|
|
198
179
|
"forge:collate", // FORGE-S21-T10: real kickoff shim registered in collate.ts
|
|
199
180
|
"forge:threads", // Thread-switcher chip strip; registered in thread-switcher.ts
|
|
200
181
|
"forge:regenerate", // Native handler registered in regenerate.ts — re-materialize .forge/ from bundled payload
|
|
182
|
+
"forge:retrospective", // FORGE-S23-T06: real kickoff shim registered in retrospective.ts
|
|
183
|
+
"forge:calibrate", // FORGE-S23-T08: real orchestrator handler registered in calibrate.ts
|
|
184
|
+
"forge:materialize", // FORGE-S23-T09: Atomic handler registered in materialize.ts
|
|
185
|
+
"forge:migrate", // FORGE-S23-T09: Hybrid handler registered in migrate.ts
|
|
186
|
+
"forge:update-tools", // FORGE-S23-T10: Atomic handler registered in update-tools.ts
|
|
187
|
+
"forge:store-query", // FORGE-S23-T10: Atomic handler registered in store-query.ts
|
|
188
|
+
"forge:add-task", // FORGE-S23-T11: Kickoff shim registered in add-task.ts
|
|
189
|
+
"forge:add-pipeline", // FORGE-S23-T11: Kickoff shim registered in add-pipeline.ts
|
|
190
|
+
"forge:quiz-agent", // FORGE-S23-T11: Kickoff shim registered in quiz-agent.ts
|
|
191
|
+
"forge:remove", // FORGE-S23-T11: Kickoff shim registered in remove-command.ts
|
|
192
|
+
"forge:report-bug", // FORGE-S23-T11: Kickoff shim registered in report-bug.ts
|
|
193
|
+
"forge:store-repair", // FORGE-S23-T11: Kickoff shim registered in store-repair.ts
|
|
201
194
|
]);
|
|
202
195
|
// Alias for backwards-compat with tests that reference REAL_HANDLERS directly.
|
|
203
196
|
// Will be removed after all test references are updated.
|