forgedock 1.1.2 → 1.1.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.
@@ -51,9 +51,10 @@ export const PHASES = [
51
51
  command: "work-on/build/context",
52
52
  entryCondition: (s) => s.committed.includes("investigate"),
53
53
  async reconcile(state, io) {
54
- // Idempotent resume: FORGE:CONTEXT already present → skip the LLM re-run.
54
+ // Idempotent resume: FORGE:CONTEXT:COMPLETE present → skip the LLM re-run.
55
+ // Bare FORGE:CONTEXT matches a partial/interrupted annotation — require :COMPLETE.
55
56
  const m = await issueMarkers(state.issue, io);
56
- return has(m, "FORGE:CONTEXT") ? { satisfied: true } : { satisfied: false };
57
+ return has(m, "FORGE:CONTEXT:COMPLETE") ? { satisfied: true } : { satisfied: false };
57
58
  },
58
59
  async detectOutcome(state, io) {
59
60
  const m = await issueMarkers(state.issue, io);
@@ -67,15 +68,16 @@ export const PHASES = [
67
68
  command: "work-on/build/architect",
68
69
  entryCondition: (s) => s.committed.includes("context"),
69
70
  async reconcile(state, io) {
70
- // Idempotent resume: FORGE:ARCHITECT already present → skip the LLM re-run.
71
+ // Idempotent resume: FORGE:ARCHITECT:COMPLETE present → skip the LLM re-run.
72
+ // Bare FORGE:ARCHITECT matches a partial/interrupted annotation — require :COMPLETE.
71
73
  const m = await issueMarkers(state.issue, io);
72
- return has(m, "FORGE:ARCHITECT") ? { satisfied: true } : { satisfied: false };
74
+ return has(m, "FORGE:ARCHITECT:COMPLETE") ? { satisfied: true } : { satisfied: false };
73
75
  },
74
76
  async detectOutcome(state, io) {
75
77
  const m = await issueMarkers(state.issue, io);
76
- return has(m, "FORGE:ARCHITECT")
78
+ return has(m, "FORGE:ARCHITECT:COMPLETE")
77
79
  ? { status: "committed", outputs: {} }
78
- : { status: "failed", detail: "no FORGE:ARCHITECT" };
80
+ : { status: "failed", detail: "no FORGE:ARCHITECT:COMPLETE" };
79
81
  },
80
82
  },
81
83
  {
package/bin/runner.mjs CHANGED
@@ -759,7 +759,7 @@ export async function runCommand(opts = {}) {
759
759
 
760
760
  if (dryRun) {
761
761
  logger.log(renderDryRun({ spec, systemPrompt, userMessage, model, maxIterations }));
762
- return { status: "dry-run", command: spec.name, args, specPath: spec.path };
762
+ return { status: "dry-run", command: spec.name, args, specPath: spec.path, model };
763
763
  }
764
764
 
765
765
  if (!apiKey) {
@@ -857,6 +857,7 @@ export async function runCommand(opts = {}) {
857
857
  iterations,
858
858
  stopReason: response.stop_reason,
859
859
  usage,
860
+ model,
860
861
  };
861
862
  }
862
863
 
@@ -892,5 +893,5 @@ export async function runCommand(opts = {}) {
892
893
  usage,
893
894
  }),
894
895
  );
895
- return { status: "max-iterations", command: spec.name, iterations, usage };
896
+ return { status: "max-iterations", command: spec.name, iterations, usage, model };
896
897
  }