@entelligentsia/forgecli 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/dist/bin/config.js +9 -9
- package/dist/bin/config.js.map +1 -1
- package/dist/bin/forge.js +3 -3
- package/dist/bin/forge.js.map +1 -1
- package/dist/bin/update-cli.js +2 -1
- package/dist/bin/update-cli.js.map +1 -1
- package/dist/extensions/forgecli/add-pipeline.js.map +1 -1
- package/dist/extensions/forgecli/add-task.js.map +1 -1
- package/dist/extensions/forgecli/approve.d.ts +2 -2
- package/dist/extensions/forgecli/approve.js +2 -2
- package/dist/extensions/forgecli/approve.js.map +1 -1
- package/dist/extensions/forgecli/ask-user-tool.js.map +1 -1
- package/dist/extensions/forgecli/audience-gate.js.map +1 -1
- package/dist/extensions/forgecli/calibrate.d.ts +1 -1
- package/dist/extensions/forgecli/calibrate.js +8 -10
- package/dist/extensions/forgecli/calibrate.js.map +1 -1
- package/dist/extensions/forgecli/collate.d.ts +2 -2
- package/dist/extensions/forgecli/collate.js +2 -2
- package/dist/extensions/forgecli/collate.js.map +1 -1
- package/dist/extensions/forgecli/commit.d.ts +2 -2
- package/dist/extensions/forgecli/commit.js +2 -2
- package/dist/extensions/forgecli/commit.js.map +1 -1
- package/dist/extensions/forgecli/config-command.js.map +1 -1
- package/dist/extensions/forgecli/config-layer.js +4 -2
- package/dist/extensions/forgecli/config-layer.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/component.d.ts +1 -1
- package/dist/extensions/forgecli/config-tui/component.js +25 -21
- package/dist/extensions/forgecli/config-tui/component.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/handler.js +2 -6
- package/dist/extensions/forgecli/config-tui/handler.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/keys.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/plugin-config-reader.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/advanced-menu.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/advanced-menu.js +10 -8
- package/dist/extensions/forgecli/config-tui/screens/advanced-menu.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/confirm-quit.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/confirm-quit.js +2 -5
- package/dist/extensions/forgecli/config-tui/screens/confirm-quit.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/override-editor.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/override-editor.js +15 -11
- package/dist/extensions/forgecli/config-tui/screens/override-editor.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js +15 -11
- package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/overrides-list.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/overrides-list.js +7 -4
- package/dist/extensions/forgecli/config-tui/screens/overrides-list.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/persona-editor.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/persona-editor.js +6 -12
- package/dist/extensions/forgecli/config-tui/screens/persona-editor.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/persona-picker.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/persona-picker.js +3 -6
- package/dist/extensions/forgecli/config-tui/screens/persona-picker.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/personas-list.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/personas-list.js +2 -2
- package/dist/extensions/forgecli/config-tui/screens/personas-list.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/shared.d.ts +1 -1
- package/dist/extensions/forgecli/config-tui/screens/shared.js +4 -5
- package/dist/extensions/forgecli/config-tui/screens/shared.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/show-resolved.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/show-resolved.js +9 -11
- package/dist/extensions/forgecli/config-tui/screens/show-resolved.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/tier-menu.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/tier-menu.js +2 -2
- package/dist/extensions/forgecli/config-tui/screens/tier-menu.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/tier-picker.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/screens/tier-picker.js +12 -3
- package/dist/extensions/forgecli/config-tui/screens/tier-picker.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/types.d.ts +1 -1
- package/dist/extensions/forgecli/config-tui/screens.d.ts +10 -10
- package/dist/extensions/forgecli/config-tui/screens.js +16 -16
- package/dist/extensions/forgecli/config-tui/screens.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/buffer.d.ts +2 -2
- package/dist/extensions/forgecli/config-tui/state/buffer.js +1 -2
- package/dist/extensions/forgecli/config-tui/state/buffer.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/constants.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/index.d.ts +3 -3
- package/dist/extensions/forgecli/config-tui/state/index.js +2 -2
- package/dist/extensions/forgecli/config-tui/state/index.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/init.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/reducer.js +2 -4
- package/dist/extensions/forgecli/config-tui/state/reducer.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/selectors.d.ts +1 -1
- package/dist/extensions/forgecli/config-tui/state/selectors.js +7 -6
- package/dist/extensions/forgecli/config-tui/state/selectors.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state.d.ts +3 -3
- package/dist/extensions/forgecli/config-tui/state.js +2 -2
- package/dist/extensions/forgecli/config-tui/state.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/theme.js +1 -1
- package/dist/extensions/forgecli/config-tui/theme.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/tier-meta.js.map +1 -1
- package/dist/extensions/forgecli/config-writer.js +4 -2
- package/dist/extensions/forgecli/config-writer.js.map +1 -1
- package/dist/extensions/forgecli/enhance.d.ts +2 -2
- package/dist/extensions/forgecli/enhance.js +3 -3
- package/dist/extensions/forgecli/enhance.js.map +1 -1
- package/dist/extensions/forgecli/fix-bug.d.ts +1 -1
- package/dist/extensions/forgecli/fix-bug.js +148 -58
- package/dist/extensions/forgecli/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/forge-artifact-tool.d.ts +8 -1
- package/dist/extensions/forgecli/forge-artifact-tool.js +85 -15
- package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
- package/dist/extensions/forgecli/forge-commands.js.map +1 -1
- package/dist/extensions/forgecli/forge-header.d.ts +1 -1
- package/dist/extensions/forgecli/forge-header.js +1 -1
- package/dist/extensions/forgecli/forge-header.js.map +1 -1
- package/dist/extensions/forgecli/forge-init/phase-descriptors.js +14 -5
- package/dist/extensions/forgecli/forge-init/phase-descriptors.js.map +1 -1
- package/dist/extensions/forgecli/forge-init/phase4-register.js +1 -1
- package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -1
- package/dist/extensions/forgecli/forge-init.js +5 -7
- package/dist/extensions/forgecli/forge-init.js.map +1 -1
- package/dist/extensions/forgecli/forge-subagent.d.ts +1 -1
- package/dist/extensions/forgecli/forge-subagent.js +4 -2
- package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
- package/dist/extensions/forgecli/forge-tools.js +10 -4
- package/dist/extensions/forgecli/forge-tools.js.map +1 -1
- package/dist/extensions/forgecli/forge-update-command.d.ts +32 -11
- package/dist/extensions/forgecli/forge-update-command.js +207 -155
- package/dist/extensions/forgecli/forge-update-command.js.map +1 -1
- package/dist/extensions/forgecli/friction-emit.js +3 -5
- package/dist/extensions/forgecli/friction-emit.js.map +1 -1
- package/dist/extensions/forgecli/health-check.js +10 -6
- package/dist/extensions/forgecli/health-check.js.map +1 -1
- package/dist/extensions/forgecli/hook-dispatcher.js +2 -2
- package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
- package/dist/extensions/forgecli/hooks/check-update.js.map +1 -1
- package/dist/extensions/forgecli/hooks/forge-permissions.js.map +1 -1
- package/dist/extensions/forgecli/hooks/post-init-hook.js +1 -1
- package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -1
- package/dist/extensions/forgecli/hooks/post-sprint-hook.js +1 -1
- package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -1
- package/dist/extensions/forgecli/hooks/write-guard.js +5 -3
- package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
- package/dist/extensions/forgecli/implement.d.ts +2 -2
- package/dist/extensions/forgecli/implement.js +2 -2
- package/dist/extensions/forgecli/implement.js.map +1 -1
- package/dist/extensions/forgecli/index.js +47 -41
- package/dist/extensions/forgecli/index.js.map +1 -1
- package/dist/extensions/forgecli/input-router.js +4 -1
- package/dist/extensions/forgecli/input-router.js.map +1 -1
- package/dist/extensions/forgecli/lib/catalog-helpers.js +2 -1
- package/dist/extensions/forgecli/lib/catalog-helpers.js.map +1 -1
- package/dist/extensions/forgecli/lib/catalog-loader.js.map +1 -1
- package/dist/extensions/forgecli/lib/catalog-types.js +1 -6
- package/dist/extensions/forgecli/lib/catalog-types.js.map +1 -1
- package/dist/extensions/forgecli/lib/exec-helpers.js +1 -1
- package/dist/extensions/forgecli/lib/exec-helpers.js.map +1 -1
- package/dist/extensions/forgecli/lib/forge-config.js.map +1 -1
- package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +1 -1
- package/dist/extensions/forgecli/lib/parsers.js.map +1 -1
- package/dist/extensions/forgecli/lib/spawn-store-cli.js +17 -7
- package/dist/extensions/forgecli/lib/spawn-store-cli.js.map +1 -1
- package/dist/extensions/forgecli/materialize.js.map +1 -1
- package/dist/extensions/forgecli/migrate.js +1 -1
- package/dist/extensions/forgecli/migrate.js.map +1 -1
- package/dist/extensions/forgecli/migration-engine.js +3 -6
- package/dist/extensions/forgecli/migration-engine.js.map +1 -1
- package/dist/extensions/forgecli/model-resolver.js.map +1 -1
- package/dist/extensions/forgecli/model-validator.js.map +1 -1
- package/dist/extensions/forgecli/parsers/persona-skill-loader.js +1 -1
- package/dist/extensions/forgecli/parsers/workflow-loader.js +2 -6
- package/dist/extensions/forgecli/parsers/workflow-loader.js.map +1 -1
- package/dist/extensions/forgecli/paths/migrator.js +2 -7
- package/dist/extensions/forgecli/paths/migrator.js.map +1 -1
- package/dist/extensions/forgecli/plan.d.ts +2 -2
- package/dist/extensions/forgecli/plan.js +2 -2
- package/dist/extensions/forgecli/plan.js.map +1 -1
- package/dist/extensions/forgecli/quiz-agent.js.map +1 -1
- package/dist/extensions/forgecli/read-command.js +1 -1
- package/dist/extensions/forgecli/read-command.js.map +1 -1
- package/dist/extensions/forgecli/regenerate.js +1 -3
- package/dist/extensions/forgecli/regenerate.js.map +1 -1
- package/dist/extensions/forgecli/remove-command.js.map +1 -1
- package/dist/extensions/forgecli/report-bug.js +2 -2
- package/dist/extensions/forgecli/report-bug.js.map +1 -1
- package/dist/extensions/forgecli/retrospective.js +2 -2
- package/dist/extensions/forgecli/retrospective.js.map +1 -1
- package/dist/extensions/forgecli/review-code.d.ts +2 -2
- package/dist/extensions/forgecli/review-code.js +2 -2
- package/dist/extensions/forgecli/review-code.js.map +1 -1
- package/dist/extensions/forgecli/review-plan.d.ts +2 -2
- package/dist/extensions/forgecli/review-plan.js +2 -2
- package/dist/extensions/forgecli/review-plan.js.map +1 -1
- package/dist/extensions/forgecli/review-server.js +3 -5
- package/dist/extensions/forgecli/review-server.js.map +1 -1
- package/dist/extensions/forgecli/run-sprint.d.ts +1 -1
- package/dist/extensions/forgecli/run-sprint.js +27 -21
- package/dist/extensions/forgecli/run-sprint.js.map +1 -1
- package/dist/extensions/forgecli/run-task.js +102 -42
- package/dist/extensions/forgecli/run-task.js.map +1 -1
- package/dist/extensions/forgecli/session-registry.js.map +1 -1
- package/dist/extensions/forgecli/skill-curator-subagent.js +4 -8
- package/dist/extensions/forgecli/skill-curator-subagent.js.map +1 -1
- package/dist/extensions/forgecli/skill-retriever.js +1 -1
- package/dist/extensions/forgecli/skill-retriever.js.map +1 -1
- package/dist/extensions/forgecli/skill-usage-tracker.js +1 -1
- package/dist/extensions/forgecli/skill-usage-tracker.js.map +1 -1
- package/dist/extensions/forgecli/status-command.js.map +1 -1
- package/dist/extensions/forgecli/store-error-remediation.js +16 -8
- package/dist/extensions/forgecli/store-error-remediation.js.map +1 -1
- package/dist/extensions/forgecli/store-query.js.map +1 -1
- package/dist/extensions/forgecli/store-repair.js.map +1 -1
- package/dist/extensions/forgecli/store-resolver.js +1 -1
- package/dist/extensions/forgecli/store-resolver.js.map +1 -1
- package/dist/extensions/forgecli/store-validator.js +1 -1
- package/dist/extensions/forgecli/store-validator.js.map +1 -1
- package/dist/extensions/forgecli/subagent/agents.js +1 -1
- package/dist/extensions/forgecli/subagent/agents.js.map +1 -1
- package/dist/extensions/forgecli/subagent/index.js +1 -1
- package/dist/extensions/forgecli/subagent/index.js.map +1 -1
- package/dist/extensions/forgecli/test-orchestrate.js +1 -1
- package/dist/extensions/forgecli/test-orchestrate.js.map +1 -1
- package/dist/extensions/forgecli/thread-switcher.js +8 -18
- package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
- package/dist/extensions/forgecli/transition-guard.js +1 -1
- package/dist/extensions/forgecli/transition-guard.js.map +1 -1
- package/dist/extensions/forgecli/update-tools.js +1 -2
- package/dist/extensions/forgecli/update-tools.js.map +1 -1
- package/dist/extensions/forgecli/validate.d.ts +2 -2
- package/dist/extensions/forgecli/validate.js +2 -2
- package/dist/extensions/forgecli/validate.js.map +1 -1
- package/dist/extensions/forgecli/viewport-events.js +2 -2
- package/dist/extensions/forgecli/viewport-events.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/engine.d.ts +1 -1
- package/dist/extensions/forgecli/wf-engine/engine.js +51 -31
- package/dist/extensions/forgecli/wf-engine/engine.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/event-parser.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/id-gen.js +4 -1
- package/dist/extensions/forgecli/wf-engine/id-gen.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/loader.js +7 -7
- package/dist/extensions/forgecli/wf-engine/loader.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/predicate.js +14 -7
- package/dist/extensions/forgecli/wf-engine/predicate.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/prompt-compiler.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/register.js +1 -1
- package/dist/extensions/forgecli/wf-engine/register.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/remit-check.js +3 -3
- package/dist/extensions/forgecli/wf-engine/remit-check.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/state-store.js +7 -3
- package/dist/extensions/forgecli/wf-engine/state-store.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/worker.js +3 -3
- package/dist/extensions/forgecli/wf-engine/worker.js.map +1 -1
- package/dist/extensions/forgecli/whats-new-widget.js +8 -6
- package/dist/extensions/forgecli/whats-new-widget.js.map +1 -1
- package/dist/extensions/forgecli/whats-new.js +1 -2
- package/dist/extensions/forgecli/whats-new.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,26 +32,26 @@
|
|
|
32
32
|
// runOrchestratorPreflight (persona/model config validation) at entry before
|
|
33
33
|
// any LLM dispatch. The two paths are deliberately separate.
|
|
34
34
|
// Reference: lib/orchestrator-preflight.ts (N-H-D, FORGE-S25-T17).
|
|
35
|
+
import { spawnSync } from "node:child_process";
|
|
35
36
|
import * as fs from "node:fs";
|
|
36
37
|
import * as path from "node:path";
|
|
37
38
|
import { fileURLToPath } from "node:url";
|
|
38
|
-
import { spawnSync } from "node:child_process";
|
|
39
39
|
import { assertAudience } from "./audience-gate.js";
|
|
40
|
-
import {
|
|
41
|
-
import { checkMaterialization } from "./lib/manifest-checker.js";
|
|
42
|
-
import { readPersonaDir as readPersonaDirSprint, readPipelineNames as readPipelineNamesSprint } from "./lib/catalog-helpers.js";
|
|
43
|
-
import { sprintStateFilePath, readJsonState, writeJsonState } from "./lib/state-helpers.js";
|
|
44
|
-
import { loadWorkflow } from "./parsers/workflow-loader.js";
|
|
45
|
-
import { discoverForgeConfigCached } from "./lib/forge-config.js";
|
|
46
|
-
import { getSessionRegistry } from "./session-registry.js";
|
|
40
|
+
import { loadLayeredConfig } from "./config-layer.js";
|
|
47
41
|
import { loadForgePersona, runForgeSubagent } from "./forge-subagent.js";
|
|
48
42
|
import { getSubagentTools } from "./forge-tools.js";
|
|
49
|
-
import {
|
|
43
|
+
import { emitSyntheticEvent } from "./hook-dispatcher.js";
|
|
44
|
+
import { readPersonaDir as readPersonaDirSprint, readPipelineNames as readPipelineNamesSprint, } from "./lib/catalog-helpers.js";
|
|
45
|
+
import { discoverForgeConfigCached } from "./lib/forge-config.js";
|
|
46
|
+
import { checkMaterialization } from "./lib/manifest-checker.js";
|
|
47
|
+
import { readJsonState, sprintStateFilePath, writeJsonState } from "./lib/state-helpers.js";
|
|
50
48
|
import { lookupPersonaModel } from "./model-resolver.js";
|
|
51
49
|
import { validateModelConfig } from "./model-validator.js";
|
|
50
|
+
import { loadWorkflow } from "./parsers/workflow-loader.js";
|
|
51
|
+
import { getSessionRegistry } from "./session-registry.js";
|
|
52
|
+
import { resolveToCanonicalId, resolveToolDir } from "./store-resolver.js";
|
|
52
53
|
import { attachViewportObserver } from "./viewport-events.js";
|
|
53
|
-
import {
|
|
54
|
-
import { runTaskPipeline, isNonInteractive, formatLocalTime, emitEvent, isoCompact, validateId, readState as readTaskState, isStateStale, } from "./run-task.js";
|
|
54
|
+
import { emitEvent, formatLocalTime, isNonInteractive, isoCompact, isStateStale, readState as readTaskState, runTaskPipeline, validateId, } from "./run-task.js";
|
|
55
55
|
// FORGE-S25-T16 (N-H-B): sprint state helpers delegate to lib/state-helpers.ts.
|
|
56
56
|
function getSprintStatePath(cwd, sprintId) {
|
|
57
57
|
if (!validateId(sprintId)) {
|
|
@@ -100,7 +100,7 @@ function readSprintRecord(sprintId, storeCli, cwd) {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
async function dispatchSprintCeremony(params) {
|
|
103
|
-
const { sprintId, mode, completedTaskIds, pausedAfterIndex, cwd, forgeRoot, ctx, registry, streamFnFactory, forgeToolDefs } = params;
|
|
103
|
+
const { sprintId, mode, completedTaskIds, pausedAfterIndex, cwd, forgeRoot, ctx, registry, streamFnFactory, forgeToolDefs, } = params;
|
|
104
104
|
const startMs = Date.now();
|
|
105
105
|
// Materialized workflow path — already shipped from base pack.
|
|
106
106
|
const workflowName = "architect_review_sprint_completion";
|
|
@@ -191,9 +191,10 @@ async function dispatchSprintCeremony(params) {
|
|
|
191
191
|
// The store is the source of truth — verdict text in SPRINT_COMPLETION_REVIEW.md
|
|
192
192
|
// is human-readable but the store status is authoritative.
|
|
193
193
|
let verdict = "revision-required";
|
|
194
|
-
const readResult = spawnSync("node", [
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
const readResult = spawnSync("node", [`${forgeRoot}/tools/store-cli.cjs`, "read", "sprint", sprintId], {
|
|
195
|
+
cwd,
|
|
196
|
+
encoding: "utf8",
|
|
197
|
+
});
|
|
197
198
|
if (readResult.status === 0) {
|
|
198
199
|
try {
|
|
199
200
|
const sprint = JSON.parse(readResult.stdout);
|
|
@@ -246,7 +247,10 @@ export function registerRunSprint(pi, options = {}) {
|
|
|
246
247
|
// Handles unprefixed IDs like "S22" → "FORGE-S22".
|
|
247
248
|
// Issue #20: unprefixed entity IDs silently poisoned substitutions.
|
|
248
249
|
const toolDir = resolveToolDir(forgeRoot);
|
|
249
|
-
const resolvedSprintId = await resolveToCanonicalId(sprintId, toolDir, cwd, "sprint", {
|
|
250
|
+
const resolvedSprintId = await resolveToCanonicalId(sprintId, toolDir, cwd, "sprint", {
|
|
251
|
+
ctx,
|
|
252
|
+
commandLabel: "forge:run-sprint",
|
|
253
|
+
});
|
|
250
254
|
if (!resolvedSprintId) {
|
|
251
255
|
// Error already emitted by resolver
|
|
252
256
|
ctx.ui.setStatus?.(SPRINT_STATUS_KEY, undefined);
|
|
@@ -311,7 +315,7 @@ export function registerRunSprint(pi, options = {}) {
|
|
|
311
315
|
const existingSprintState = readSprintState(cwd, sprintId);
|
|
312
316
|
let startTaskIndex = 0;
|
|
313
317
|
let completedTaskIds = [];
|
|
314
|
-
|
|
318
|
+
const resumeTaskStates = new Map();
|
|
315
319
|
if (existingSprintState) {
|
|
316
320
|
if (isSprintStateStale(existingSprintState)) {
|
|
317
321
|
ctx.ui.notify(`⚠ forge:run-sprint — cached sprint state for ${sprintId} is stale (>7 days old, saved at ${formatLocalTime(existingSprintState.savedAt)}). Offering purge.`, "warning");
|
|
@@ -406,9 +410,10 @@ export function registerRunSprint(pi, options = {}) {
|
|
|
406
410
|
// phase pipeline and accumulate it as completed. This handles
|
|
407
411
|
// re-runs where tasks finished in a prior attempt.
|
|
408
412
|
{
|
|
409
|
-
const taskReadResult = spawnSync("node", [
|
|
410
|
-
|
|
411
|
-
|
|
413
|
+
const taskReadResult = spawnSync("node", [`${forgeRoot}/tools/store-cli.cjs`, "read", "task", taskId], {
|
|
414
|
+
cwd,
|
|
415
|
+
encoding: "utf8",
|
|
416
|
+
});
|
|
412
417
|
if (taskReadResult.status === 0) {
|
|
413
418
|
try {
|
|
414
419
|
const taskRecord = JSON.parse(taskReadResult.stdout);
|
|
@@ -439,7 +444,8 @@ export function registerRunSprint(pi, options = {}) {
|
|
|
439
444
|
let resumeFromState = resumeTaskStates.get(taskId);
|
|
440
445
|
if (resumeFromState) {
|
|
441
446
|
// Validate the state is not corrupt
|
|
442
|
-
if (typeof resumeFromState.phaseIndex !== "number" ||
|
|
447
|
+
if (typeof resumeFromState.phaseIndex !== "number" ||
|
|
448
|
+
typeof resumeFromState.iterationCounts !== "object") {
|
|
443
449
|
ctx.ui.notify(`⚠ forge:run-sprint — corrupt task state for ${taskId}; starting fresh.`, "warning");
|
|
444
450
|
resumeFromState = undefined;
|
|
445
451
|
}
|
|
@@ -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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"}
|
|
@@ -13,23 +13,23 @@
|
|
|
13
13
|
//
|
|
14
14
|
// sendKickoff is NEVER called from this file.
|
|
15
15
|
// Audit-grep: grep -n "sendKickoff(" run-task.ts must return empty.
|
|
16
|
+
import { spawnSync } from "node:child_process";
|
|
16
17
|
import * as fs from "node:fs";
|
|
17
18
|
import * as path from "node:path";
|
|
18
19
|
import { fileURLToPath } from "node:url";
|
|
19
|
-
import { spawnSync } from "node:child_process";
|
|
20
20
|
import { assertAudience, CallerContextStore } from "./audience-gate.js";
|
|
21
|
-
import {
|
|
22
|
-
import { checkMaterialization } from "./lib/manifest-checker.js";
|
|
23
|
-
import { readPersonaDir, readPipelineNames } from "./lib/catalog-helpers.js";
|
|
24
|
-
import { taskStateFilePath, readJsonState, writeJsonState, isStateStale as isJsonStateStale } from "./lib/state-helpers.js";
|
|
21
|
+
import { loadLayeredConfig } from "./config-layer.js";
|
|
25
22
|
import { loadForgePersona, runForgeSubagent } from "./forge-subagent.js";
|
|
26
23
|
import { getSubagentTools } from "./forge-tools.js";
|
|
24
|
+
import { readPersonaDir, readPipelineNames } from "./lib/catalog-helpers.js";
|
|
27
25
|
import { discoverForgeConfigCached } from "./lib/forge-config.js";
|
|
28
|
-
import {
|
|
29
|
-
import { resolveModelForPhase } from "./model-resolver.js";
|
|
26
|
+
import { checkMaterialization } from "./lib/manifest-checker.js";
|
|
30
27
|
import { runOrchestratorPreflight } from "./lib/orchestrator-preflight.js";
|
|
28
|
+
import { isStateStale as isJsonStateStale, readJsonState, taskStateFilePath, writeJsonState, } from "./lib/state-helpers.js";
|
|
29
|
+
import { resolveModelForPhase } from "./model-resolver.js";
|
|
31
30
|
import { loadWorkflow } from "./parsers/workflow-loader.js";
|
|
32
31
|
import { getSessionRegistry } from "./session-registry.js";
|
|
32
|
+
import { resolveToCanonicalId, resolveToolDir } from "./store-resolver.js";
|
|
33
33
|
import { attachViewportObserver } from "./viewport-events.js";
|
|
34
34
|
import { fmtPhaseSummary } from "./viewport-renderer.js";
|
|
35
35
|
// ── Non-interactive helpers ───────────────────────────────────────────────
|
|
@@ -134,11 +134,7 @@ export function readVerdict(taskId, phaseRole, storeCli, cwd) {
|
|
|
134
134
|
// 3. Raw hyphenated phase role ("review-code") — defensive only.
|
|
135
135
|
const summaries = record.summaries ?? {};
|
|
136
136
|
const underscoreKey = phaseRole.replace(/-/g, "_");
|
|
137
|
-
const candidates = [
|
|
138
|
-
summaryKey ?? "",
|
|
139
|
-
underscoreKey,
|
|
140
|
-
phaseRole,
|
|
141
|
-
].filter(Boolean);
|
|
137
|
+
const candidates = [summaryKey ?? "", underscoreKey, phaseRole].filter(Boolean);
|
|
142
138
|
let verdict;
|
|
143
139
|
for (const k of candidates) {
|
|
144
140
|
if (summaries[k]?.verdict) {
|
|
@@ -175,7 +171,10 @@ export function actionForRole(role) {
|
|
|
175
171
|
return role.replace(/-/g, "_");
|
|
176
172
|
}
|
|
177
173
|
export function isoCompact(ms) {
|
|
178
|
-
return new Date(ms)
|
|
174
|
+
return new Date(ms)
|
|
175
|
+
.toISOString()
|
|
176
|
+
.replace(/[-:]/g, "")
|
|
177
|
+
.replace(/\.\d{3}Z$/, "Z");
|
|
179
178
|
}
|
|
180
179
|
export function buildPhaseEvent(ec) {
|
|
181
180
|
const action = actionForRole(ec.phase.role);
|
|
@@ -297,7 +296,9 @@ export function drainFrictionFile(frictionPath, ec) {
|
|
|
297
296
|
try {
|
|
298
297
|
fs.unlinkSync(frictionPath);
|
|
299
298
|
}
|
|
300
|
-
catch {
|
|
299
|
+
catch {
|
|
300
|
+
/* non-fatal */
|
|
301
|
+
}
|
|
301
302
|
}
|
|
302
303
|
return { emitted, failed };
|
|
303
304
|
}
|
|
@@ -311,13 +312,7 @@ export function findPredecessorIndex(phases, reviewIndex) {
|
|
|
311
312
|
}
|
|
312
313
|
// ── Task body composition ─────────────────────────────────────────────────
|
|
313
314
|
export function composeTaskBody(subWorkflowMd, taskId) {
|
|
314
|
-
return [
|
|
315
|
-
`Read the workflow below and follow it. Task ID: ${taskId}.`,
|
|
316
|
-
"",
|
|
317
|
-
"---",
|
|
318
|
-
"",
|
|
319
|
-
subWorkflowMd.trim(),
|
|
320
|
-
].join("\n");
|
|
315
|
+
return [`Read the workflow below and follow it. Task ID: ${taskId}.`, "", "---", "", subWorkflowMd.trim()].join("\n");
|
|
321
316
|
}
|
|
322
317
|
export function runPreflightGate(preflightGate, role, taskId, cwd, entityType) {
|
|
323
318
|
const entityFlag = entityType === "bug" ? "--bug" : "--task";
|
|
@@ -350,7 +345,12 @@ export async function runTaskPipeline(opts) {
|
|
|
350
345
|
for (const e of layeredConfigErrors) {
|
|
351
346
|
ctx.ui.notify(`× forge:run-task — forge-cli config schema error: ${e}`, "error");
|
|
352
347
|
}
|
|
353
|
-
return {
|
|
348
|
+
return {
|
|
349
|
+
status: "failed",
|
|
350
|
+
lastPhaseIndex: 0,
|
|
351
|
+
iterationCounts: {},
|
|
352
|
+
lastError: `forge-cli config schema errors: ${layeredConfigErrors.join("; ")}`,
|
|
353
|
+
};
|
|
354
354
|
}
|
|
355
355
|
// Pre-flight model config validation (Plan 16 Slice 3).
|
|
356
356
|
// Warns on unknown persona names / unavailable models; errors on unresolvable
|
|
@@ -377,7 +377,7 @@ export async function runTaskPipeline(opts) {
|
|
|
377
377
|
}
|
|
378
378
|
// Determine starting phase from resumeFromState (if provided) or phase 0.
|
|
379
379
|
let currentPhaseIndex = resumeFromState?.phaseIndex ?? 0;
|
|
380
|
-
|
|
380
|
+
const iterationCounts = resumeFromState?.iterationCounts ?? {};
|
|
381
381
|
// Track model/provider from last successful subagent result (REVIEW FIX #1).
|
|
382
382
|
let lastModel;
|
|
383
383
|
let lastProvider;
|
|
@@ -410,7 +410,12 @@ export async function runTaskPipeline(opts) {
|
|
|
410
410
|
const phase = PHASES[currentPhaseIndex];
|
|
411
411
|
if (!phase) {
|
|
412
412
|
ctx.ui.notify(`× forge:run-task — invalid phase index ${currentPhaseIndex}`, "error");
|
|
413
|
-
return {
|
|
413
|
+
return {
|
|
414
|
+
status: "failed",
|
|
415
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
416
|
+
iterationCounts,
|
|
417
|
+
lastError: `invalid phase index ${currentPhaseIndex}`,
|
|
418
|
+
};
|
|
414
419
|
}
|
|
415
420
|
ctx.ui.setStatus?.(STATUS_KEY, `run-task ${taskId}: phase ${currentPhaseIndex + 1}/${PHASES.length} (${phase.role})`);
|
|
416
421
|
ctx.ui.notify(`→ ${taskId}: ${phase.role} (phase ${currentPhaseIndex + 1}/${PHASES.length})`, "info");
|
|
@@ -434,7 +439,12 @@ export async function runTaskPipeline(opts) {
|
|
|
434
439
|
lastError: `sub-workflow read failed: ${e.message ?? "unknown"}`,
|
|
435
440
|
savedAt: new Date().toISOString(),
|
|
436
441
|
});
|
|
437
|
-
return {
|
|
442
|
+
return {
|
|
443
|
+
status: "failed",
|
|
444
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
445
|
+
iterationCounts,
|
|
446
|
+
lastError: `sub-workflow read failed: ${e.message ?? "unknown"}`,
|
|
447
|
+
};
|
|
438
448
|
}
|
|
439
449
|
// ── 6a. Preflight gate ────────────────────────────────────────
|
|
440
450
|
if (fs.existsSync(preflightGate)) {
|
|
@@ -449,7 +459,12 @@ export async function runTaskPipeline(opts) {
|
|
|
449
459
|
lastError: `preflight gate exit 1 for ${phase.role}`,
|
|
450
460
|
savedAt: new Date().toISOString(),
|
|
451
461
|
});
|
|
452
|
-
return {
|
|
462
|
+
return {
|
|
463
|
+
status: "halted",
|
|
464
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
465
|
+
iterationCounts,
|
|
466
|
+
lastError: `preflight gate exit 1 for ${phase.role}`,
|
|
467
|
+
};
|
|
453
468
|
}
|
|
454
469
|
if (preflightResult === "escalate") {
|
|
455
470
|
ctx.ui.notify(`× forge:run-task — preflight gate escalated for phase ${phase.role} (exit 2); manual intervention required.`, "error");
|
|
@@ -461,7 +476,12 @@ export async function runTaskPipeline(opts) {
|
|
|
461
476
|
lastError: `preflight gate exit 2 (escalate) for ${phase.role}`,
|
|
462
477
|
savedAt: new Date().toISOString(),
|
|
463
478
|
});
|
|
464
|
-
return {
|
|
479
|
+
return {
|
|
480
|
+
status: "escalated",
|
|
481
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
482
|
+
iterationCounts,
|
|
483
|
+
lastError: `preflight gate exit 2 (escalate) for ${phase.role}`,
|
|
484
|
+
};
|
|
465
485
|
}
|
|
466
486
|
}
|
|
467
487
|
// ── 6. Materialization-marker check ───────────────────────────
|
|
@@ -470,7 +490,12 @@ export async function runTaskPipeline(opts) {
|
|
|
470
490
|
for (const marker of markerCheck.missing) {
|
|
471
491
|
ctx.ui.notify(`× workflow regression: ${marker} not found in ${subWorkflowPath}`, "error");
|
|
472
492
|
}
|
|
473
|
-
return {
|
|
493
|
+
return {
|
|
494
|
+
status: "failed",
|
|
495
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
496
|
+
iterationCounts,
|
|
497
|
+
lastError: `materialization markers missing: ${markerCheck.missing.join(", ")}`,
|
|
498
|
+
};
|
|
474
499
|
}
|
|
475
500
|
// ── 5. Audience check ─────────────────────────────────────────
|
|
476
501
|
// Wrap with CallerContextStore.asSubagent so assertAudience treats
|
|
@@ -485,7 +510,12 @@ export async function runTaskPipeline(opts) {
|
|
|
485
510
|
lastError: `audience check failed for ${phase.workflowFile}`,
|
|
486
511
|
savedAt: new Date().toISOString(),
|
|
487
512
|
});
|
|
488
|
-
return {
|
|
513
|
+
return {
|
|
514
|
+
status: "failed",
|
|
515
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
516
|
+
iterationCounts,
|
|
517
|
+
lastError: `audience check failed for ${phase.workflowFile}`,
|
|
518
|
+
};
|
|
489
519
|
}
|
|
490
520
|
// ── Persona load ──────────────────────────────────────────────
|
|
491
521
|
let persona;
|
|
@@ -504,7 +534,12 @@ export async function runTaskPipeline(opts) {
|
|
|
504
534
|
lastError: `persona load failed: ${e.message ?? "unknown"}`,
|
|
505
535
|
savedAt: new Date().toISOString(),
|
|
506
536
|
});
|
|
507
|
-
return {
|
|
537
|
+
return {
|
|
538
|
+
status: "failed",
|
|
539
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
540
|
+
iterationCounts,
|
|
541
|
+
lastError: `persona load failed: ${e.message ?? "unknown"}`,
|
|
542
|
+
};
|
|
508
543
|
}
|
|
509
544
|
// ── 4. Dispatch via runForgeSubagent (IL10) ───────────────────
|
|
510
545
|
// NEVER sendKickoff here — that would reproduce issue #30 (same-context inline = no fork).
|
|
@@ -540,9 +575,7 @@ export async function runTaskPipeline(opts) {
|
|
|
540
575
|
let modelObservedLogged = false;
|
|
541
576
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
542
577
|
const wrappedOnEvent = (event) => {
|
|
543
|
-
if (!modelObservedLogged &&
|
|
544
|
-
event?.type === "turn_end" &&
|
|
545
|
-
typeof event?.message?.model === "string") {
|
|
578
|
+
if (!modelObservedLogged && event?.type === "turn_end" && typeof event?.message?.model === "string") {
|
|
546
579
|
modelObservedLogged = true;
|
|
547
580
|
writeDebug({
|
|
548
581
|
kind: "model_observed",
|
|
@@ -597,7 +630,12 @@ export async function runTaskPipeline(opts) {
|
|
|
597
630
|
lastError: `runForgeSubagent threw: ${e.message ?? "unknown"}`,
|
|
598
631
|
savedAt: new Date().toISOString(),
|
|
599
632
|
});
|
|
600
|
-
return {
|
|
633
|
+
return {
|
|
634
|
+
status: "failed",
|
|
635
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
636
|
+
iterationCounts,
|
|
637
|
+
lastError: `runForgeSubagent threw: ${e.message ?? "unknown"}`,
|
|
638
|
+
};
|
|
601
639
|
}
|
|
602
640
|
// ── Post-subagent abort detection ─────────────────────────────────
|
|
603
641
|
// If the abort signal fired during the subagent run, treat it as
|
|
@@ -635,7 +673,12 @@ export async function runTaskPipeline(opts) {
|
|
|
635
673
|
lastError: result.errorMessage ?? result.stopReason ?? "subagent exit non-zero",
|
|
636
674
|
savedAt: new Date().toISOString(),
|
|
637
675
|
});
|
|
638
|
-
return {
|
|
676
|
+
return {
|
|
677
|
+
status: "failed",
|
|
678
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
679
|
+
iterationCounts,
|
|
680
|
+
lastError: result.errorMessage ?? result.stopReason ?? "subagent exit non-zero",
|
|
681
|
+
};
|
|
639
682
|
}
|
|
640
683
|
// Capture model/provider from subagent result (REVIEW FIX #1).
|
|
641
684
|
if (result.model)
|
|
@@ -725,7 +768,12 @@ export async function runTaskPipeline(opts) {
|
|
|
725
768
|
lastError: `verdict missing for ${phase.role}`,
|
|
726
769
|
savedAt: new Date().toISOString(),
|
|
727
770
|
});
|
|
728
|
-
return {
|
|
771
|
+
return {
|
|
772
|
+
status: "failed",
|
|
773
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
774
|
+
iterationCounts,
|
|
775
|
+
lastError: `verdict missing for ${phase.role}`,
|
|
776
|
+
};
|
|
729
777
|
}
|
|
730
778
|
if (verdict === "revision") {
|
|
731
779
|
// Increment iteration count for this review phase
|
|
@@ -741,7 +789,12 @@ export async function runTaskPipeline(opts) {
|
|
|
741
789
|
lastError: `revision cap reached for ${phase.role}`,
|
|
742
790
|
savedAt: new Date().toISOString(),
|
|
743
791
|
});
|
|
744
|
-
return {
|
|
792
|
+
return {
|
|
793
|
+
status: "escalated",
|
|
794
|
+
lastPhaseIndex: currentPhaseIndex,
|
|
795
|
+
iterationCounts,
|
|
796
|
+
lastError: `revision cap reached for ${phase.role}`,
|
|
797
|
+
};
|
|
745
798
|
}
|
|
746
799
|
// Loop back to predecessor non-review phase
|
|
747
800
|
const predIndex = findPredecessorIndex(PHASES, currentPhaseIndex);
|
|
@@ -773,7 +826,13 @@ export async function runTaskPipeline(opts) {
|
|
|
773
826
|
}
|
|
774
827
|
// ── All phases complete ───────────────────────────────────────────
|
|
775
828
|
deleteState(cwd, taskId);
|
|
776
|
-
return {
|
|
829
|
+
return {
|
|
830
|
+
status: "completed",
|
|
831
|
+
lastPhaseIndex: PHASES.length - 1,
|
|
832
|
+
iterationCounts,
|
|
833
|
+
model: lastModel,
|
|
834
|
+
provider: lastProvider,
|
|
835
|
+
};
|
|
777
836
|
}
|
|
778
837
|
export function registerRunTask(pi, options = {}) {
|
|
779
838
|
pi.registerCommand("forge:run-task", {
|
|
@@ -805,7 +864,10 @@ export function registerRunTask(pi, options = {}) {
|
|
|
805
864
|
// at this point — the chip strip would appear before the user has
|
|
806
865
|
// chosen which task they meant, stealing arrow keys from the dialog.
|
|
807
866
|
const toolDir = resolveToolDir(forgeRoot);
|
|
808
|
-
const resolvedTaskId = await resolveToCanonicalId(taskId, toolDir, cwd, "task", {
|
|
867
|
+
const resolvedTaskId = await resolveToCanonicalId(taskId, toolDir, cwd, "task", {
|
|
868
|
+
ctx,
|
|
869
|
+
commandLabel: "forge:run-task",
|
|
870
|
+
});
|
|
809
871
|
if (!resolvedTaskId) {
|
|
810
872
|
// Error already emitted by resolver
|
|
811
873
|
ctx.ui.setStatus?.(STATUS_KEY, undefined);
|
|
@@ -854,9 +916,7 @@ export function registerRunTask(pi, options = {}) {
|
|
|
854
916
|
// (explicit failure), halted=false (cancelled/interrupted), and
|
|
855
917
|
// any state with existing.status set (ADR-S21-01).
|
|
856
918
|
const stateStatus = existing.status ?? (existing.halted ? "halted" : "interrupted");
|
|
857
|
-
const statusLabel = stateStatus === "cancelled" ? "cancelled"
|
|
858
|
-
: stateStatus === "halted" ? "halted"
|
|
859
|
-
: "interrupted";
|
|
919
|
+
const statusLabel = stateStatus === "cancelled" ? "cancelled" : stateStatus === "halted" ? "halted" : "interrupted";
|
|
860
920
|
const phaseRole = PHASES[existing.phaseIndex]?.role ?? existing.phaseIndex;
|
|
861
921
|
if (!isNonInteractive()) {
|
|
862
922
|
const resume = await ctx.ui.confirm(`Resume ${taskId}?`, `Cached state — phase ${existing.phaseIndex} (${phaseRole}), ${statusLabel}, ` +
|