ralph-teams 1.0.21 → 1.0.25
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/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js +16 -0
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +16 -0
- package/dist/commands/run.js.map +1 -1
- package/package.json +1 -1
- package/ralph.sh +120 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAgBvC,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACjC,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC;IACrC,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACjC,SAAS,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IAC/B,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAChC;
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAgBvC,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACjC,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC;IACrC,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACjC,SAAS,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IAC/B,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAChC;AA8CD,wBAAgB,aAAa,CAAC,IAAI,GAAE,UAAwB,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAmI5F"}
|
package/dist/commands/resume.js
CHANGED
|
@@ -68,6 +68,20 @@ function findRalphSh(deps) {
|
|
|
68
68
|
}
|
|
69
69
|
return null;
|
|
70
70
|
}
|
|
71
|
+
function findBundledRjq(deps) {
|
|
72
|
+
const candidates = [
|
|
73
|
+
path.resolve(__dirname, '../../dist/json-tool.js'),
|
|
74
|
+
path.resolve(__dirname, '../json-tool.js'),
|
|
75
|
+
path.resolve(__dirname, '../../node_modules/.bin/rjq'),
|
|
76
|
+
path.resolve(deps.cwd(), 'dist/json-tool.js'),
|
|
77
|
+
];
|
|
78
|
+
for (const candidate of candidates) {
|
|
79
|
+
if (deps.existsSync(candidate)) {
|
|
80
|
+
return candidate;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
71
85
|
function resumeCommand(deps = defaultDeps, backendOverride) {
|
|
72
86
|
const cwd = deps.cwd();
|
|
73
87
|
const stateFile = (0, runtime_paths_1.getRalphStatePath)(cwd);
|
|
@@ -118,6 +132,7 @@ function resumeCommand(deps = defaultDeps, backendOverride) {
|
|
|
118
132
|
console.error(chalk_1.default.red('Error: ralph.sh not found. Cannot resume.'));
|
|
119
133
|
deps.exit(1);
|
|
120
134
|
}
|
|
135
|
+
const bundledRjq = findBundledRjq(deps);
|
|
121
136
|
// Ensure ralph.sh is executable
|
|
122
137
|
try {
|
|
123
138
|
deps.chmodSync(ralphSh, 0o755);
|
|
@@ -167,6 +182,7 @@ function resumeCommand(deps = defaultDeps, backendOverride) {
|
|
|
167
182
|
RALPH_MODEL_EPIC_VALIDATOR: resolvedConfig.agents.epicValidator,
|
|
168
183
|
RALPH_MODEL_FINAL_VALIDATOR: resolvedConfig.agents.finalValidator,
|
|
169
184
|
RALPH_MODEL_MERGER: resolvedConfig.agents.merger,
|
|
185
|
+
...(bundledRjq ? { RALPH_RJQ_BIN: bundledRjq } : {}),
|
|
170
186
|
};
|
|
171
187
|
const result = deps.spawnSync(ralphSh, args, {
|
|
172
188
|
stdio: 'inherit',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,+BAA+B,EAAqB,MAAM,WAAW,CAAC;AAI3F,UAAU,OAAO;IACf,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACjC,SAAS,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IAC/B,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAC1E;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,+BAA+B,EAAqB,MAAM,WAAW,CAAC;AAI3F,UAAU,OAAO;IACf,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACjC,SAAS,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IAC/B,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAC1E;AA2DD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,IAAI,GAAE,OAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAwJf"}
|
package/dist/commands/run.js
CHANGED
|
@@ -69,6 +69,20 @@ function findRalphSh(deps) {
|
|
|
69
69
|
}
|
|
70
70
|
return null;
|
|
71
71
|
}
|
|
72
|
+
function findBundledRjq(deps) {
|
|
73
|
+
const candidates = [
|
|
74
|
+
path.resolve(__dirname, '../../dist/json-tool.js'),
|
|
75
|
+
path.resolve(__dirname, '../json-tool.js'),
|
|
76
|
+
path.resolve(__dirname, '../../node_modules/.bin/rjq'),
|
|
77
|
+
path.resolve(deps.cwd(), 'dist/json-tool.js'),
|
|
78
|
+
];
|
|
79
|
+
for (const candidate of candidates) {
|
|
80
|
+
if (deps.existsSync(candidate)) {
|
|
81
|
+
return candidate;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
72
86
|
function isCommandInstalled(cmd, deps) {
|
|
73
87
|
const result = deps.spawnSync('command', ['-v', cmd], { shell: true });
|
|
74
88
|
return result.status === 0;
|
|
@@ -131,6 +145,7 @@ async function runCommand(prdPath, options, deps = defaultDeps) {
|
|
|
131
145
|
console.error(chalk_1.default.red('Error: ralph.sh not found. Cannot run.'));
|
|
132
146
|
deps.exit(1);
|
|
133
147
|
}
|
|
148
|
+
const bundledRjq = findBundledRjq(deps);
|
|
134
149
|
// Ensure ralph.sh is executable
|
|
135
150
|
try {
|
|
136
151
|
deps.chmodSync(ralphSh, 0o755);
|
|
@@ -197,6 +212,7 @@ async function runCommand(prdPath, options, deps = defaultDeps) {
|
|
|
197
212
|
RALPH_MODEL_EPIC_VALIDATOR_EXPLICIT: explicitAgentOverrides?.epicValidator !== undefined ? '1' : '0',
|
|
198
213
|
RALPH_MODEL_FINAL_VALIDATOR_EXPLICIT: explicitAgentOverrides?.finalValidator !== undefined ? '1' : '0',
|
|
199
214
|
RALPH_MODEL_MERGER_EXPLICIT: explicitAgentOverrides?.merger !== undefined ? '1' : '0',
|
|
215
|
+
...(bundledRjq ? { RALPH_RJQ_BIN: bundledRjq } : {}),
|
|
200
216
|
};
|
|
201
217
|
if (deps.existsSync(runtimeDir)) {
|
|
202
218
|
try {
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/ralph.sh
CHANGED
|
@@ -116,15 +116,61 @@ MODEL_MERGER="$(map_model_for_backend "$BACKEND" "$MODEL_MERGER")"
|
|
|
116
116
|
|
|
117
117
|
resolve_rjq_bin() {
|
|
118
118
|
local candidates=()
|
|
119
|
+
local script_realpath=""
|
|
120
|
+
local script_real_dir=""
|
|
121
|
+
local ralph_bin_path=""
|
|
122
|
+
local ralph_realpath=""
|
|
123
|
+
local ralph_real_dir=""
|
|
119
124
|
|
|
120
125
|
if [ -n "${RALPH_RJQ_BIN:-}" ]; then
|
|
121
126
|
candidates+=("${RALPH_RJQ_BIN}")
|
|
122
127
|
fi
|
|
128
|
+
|
|
129
|
+
if command -v realpath >/dev/null 2>&1; then
|
|
130
|
+
script_realpath="$(realpath "${BASH_SOURCE[0]}" 2>/dev/null || true)"
|
|
131
|
+
elif command -v readlink >/dev/null 2>&1; then
|
|
132
|
+
script_realpath="$(readlink "${BASH_SOURCE[0]}" 2>/dev/null || true)"
|
|
133
|
+
fi
|
|
134
|
+
|
|
135
|
+
if [ -n "$script_realpath" ]; then
|
|
136
|
+
script_real_dir="$(cd "$(dirname "$script_realpath")" && pwd)"
|
|
137
|
+
fi
|
|
138
|
+
|
|
139
|
+
if command -v ralph-teams >/dev/null 2>&1; then
|
|
140
|
+
ralph_bin_path="$(command -v ralph-teams 2>/dev/null || true)"
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
if [ -n "$ralph_bin_path" ]; then
|
|
144
|
+
candidates+=("$(cd "$(dirname "$ralph_bin_path")" && pwd)/rjq")
|
|
145
|
+
|
|
146
|
+
if command -v realpath >/dev/null 2>&1; then
|
|
147
|
+
ralph_realpath="$(realpath "$ralph_bin_path" 2>/dev/null || true)"
|
|
148
|
+
elif command -v readlink >/dev/null 2>&1; then
|
|
149
|
+
ralph_realpath="$(readlink "$ralph_bin_path" 2>/dev/null || true)"
|
|
150
|
+
fi
|
|
151
|
+
|
|
152
|
+
if [ -n "$ralph_realpath" ]; then
|
|
153
|
+
ralph_real_dir="$(cd "$(dirname "$ralph_realpath")" && pwd)"
|
|
154
|
+
candidates+=("${ralph_real_dir}/json-tool.js")
|
|
155
|
+
fi
|
|
156
|
+
fi
|
|
157
|
+
|
|
123
158
|
candidates+=(
|
|
124
159
|
"${SCRIPT_DIR}/dist/json-tool.js"
|
|
125
160
|
"${SCRIPT_DIR}/node_modules/.bin/rjq"
|
|
161
|
+
"${script_real_dir}/dist/json-tool.js"
|
|
162
|
+
"${script_real_dir}/node_modules/.bin/rjq"
|
|
126
163
|
)
|
|
127
164
|
|
|
165
|
+
if command -v node >/dev/null 2>&1; then
|
|
166
|
+
local node_bin_dir
|
|
167
|
+
node_bin_dir="$(cd "$(dirname "$(command -v node)")" && pwd)"
|
|
168
|
+
candidates+=(
|
|
169
|
+
"${node_bin_dir}/rjq"
|
|
170
|
+
"${node_bin_dir}/../lib/node_modules/ralph-teams/dist/json-tool.js"
|
|
171
|
+
)
|
|
172
|
+
fi
|
|
173
|
+
|
|
128
174
|
local candidate
|
|
129
175
|
for candidate in "${candidates[@]}"; do
|
|
130
176
|
if [ -n "$candidate" ] && [ -f "$candidate" ] && [ -x "$candidate" ]; then
|
|
@@ -186,8 +232,9 @@ case "$BACKEND" in
|
|
|
186
232
|
AGENT_CMD="gh"
|
|
187
233
|
# Copilot uses -p for non-interactive, --allow-all for full permissions
|
|
188
234
|
# --agent team-lead loads .github/agents/team-lead.agent.md
|
|
189
|
-
# --no-ask-user for autonomous execution, --stream on for live output
|
|
190
|
-
|
|
235
|
+
# --no-ask-user for autonomous execution, --stream on for live output.
|
|
236
|
+
# Model selection lives in the agent markdown frontmatter for Copilot.
|
|
237
|
+
AGENT_FLAGS="copilot -- --agent team-lead --allow-all --no-ask-user --stream on -p"
|
|
191
238
|
STREAM_FORMAT="text"
|
|
192
239
|
;;
|
|
193
240
|
codex)
|
|
@@ -725,8 +772,11 @@ write_codex_agent_config() {
|
|
|
725
772
|
local source_file="$1"
|
|
726
773
|
local output_file="$2"
|
|
727
774
|
local model="$3"
|
|
775
|
+
local agent_name
|
|
776
|
+
agent_name="$(basename "$output_file" .toml)"
|
|
728
777
|
|
|
729
778
|
{
|
|
779
|
+
printf 'name = "%s"\n' "$agent_name"
|
|
730
780
|
printf 'sandbox_mode = "workspace-write"\n'
|
|
731
781
|
printf 'model = "%s"\n' "$model"
|
|
732
782
|
awk '
|
|
@@ -735,6 +785,7 @@ write_codex_agent_config() {
|
|
|
735
785
|
print
|
|
736
786
|
next
|
|
737
787
|
}
|
|
788
|
+
!in_prompt_body && /^[[:space:]]*name[[:space:]]*=/ { next }
|
|
738
789
|
!in_prompt_body && /^[[:space:]]*sandbox_mode[[:space:]]*=/ { next }
|
|
739
790
|
!in_prompt_body && /^[[:space:]]*model[[:space:]]*=/ { next }
|
|
740
791
|
{ print }
|
|
@@ -843,6 +894,7 @@ run_codex_exec() {
|
|
|
843
894
|
--skip-git-repo-check \
|
|
844
895
|
--color never \
|
|
845
896
|
--enable multi_agent \
|
|
897
|
+
--add-dir "$SCRIPT_DIR" \
|
|
846
898
|
-c "agents.max_threads=6" \
|
|
847
899
|
-c "agents.max_depth=2" \
|
|
848
900
|
-c "agents.story_planner_easy.description='Story planner for easy Ralph stories'" \
|
|
@@ -1336,7 +1388,7 @@ $TEAM_LEAD_POLICY
|
|
|
1336
1388
|
- Use the exact epic state file path shown above for every story update. The PRD path is read-only context.
|
|
1337
1389
|
- If your runtime supports named sub-agents, use the dedicated story-planner, epic-planner, builder, story-validator, and epic-validator roles and choose their models using the policy above.
|
|
1338
1390
|
- If a story fails validation and still has retries left, spawn a new Builder for the retry instead of reusing the previous Builder run.
|
|
1339
|
-
- If your runtime is Codex exec mode,
|
|
1391
|
+
- If your runtime is Codex exec mode, \`request_user_input\` is unavailable. Never call it. Do not stop to ask the user questions. Make a reasonable assumption, continue, and report the assumption in your final summary only if it matters.
|
|
1340
1392
|
|
|
1341
1393
|
Begin."
|
|
1342
1394
|
|
|
@@ -1351,12 +1403,12 @@ Begin."
|
|
|
1351
1403
|
) &
|
|
1352
1404
|
elif [ "$BACKEND" = "codex" ]; then
|
|
1353
1405
|
(
|
|
1354
|
-
run_codex_exec "$WORKTREE_ABS_PATH" "$TEAM_PROMPT" --add-dir "$ROOT_DIR" > "$EPIC_LOG" 2>&1
|
|
1406
|
+
run_codex_exec "$WORKTREE_ABS_PATH" "$TEAM_PROMPT" --add-dir "$ROOT_DIR" --add-dir "$SCRIPT_DIR" > "$EPIC_LOG" 2>&1
|
|
1355
1407
|
) &
|
|
1356
1408
|
else
|
|
1357
1409
|
(
|
|
1358
1410
|
COPILOT_TEAM_PROMPT="$TEAM_PROMPT" \
|
|
1359
|
-
script -q /dev/null /bin/sh -lc 'exec gh copilot -- --agent team-lead --
|
|
1411
|
+
script -q /dev/null /bin/sh -lc 'exec gh copilot -- --agent team-lead --allow-all --no-ask-user --stream on -p "$COPILOT_TEAM_PROMPT"' \
|
|
1360
1412
|
> "$EPIC_LOG" 2>&1
|
|
1361
1413
|
) &
|
|
1362
1414
|
fi
|
|
@@ -1481,7 +1533,7 @@ Begin resolving."
|
|
|
1481
1533
|
;;
|
|
1482
1534
|
copilot)
|
|
1483
1535
|
COPILOT_MERGE_PROMPT="$merge_prompt" \
|
|
1484
|
-
script -q /dev/null /bin/sh -lc 'exec gh copilot -- --agent merger --
|
|
1536
|
+
script -q /dev/null /bin/sh -lc 'exec gh copilot -- --agent merger --allow-all --no-ask-user --stream on -p "$COPILOT_MERGE_PROMPT"' \
|
|
1485
1537
|
> "$merge_log" 2>&1 || true
|
|
1486
1538
|
;;
|
|
1487
1539
|
codex)
|
|
@@ -1528,6 +1580,50 @@ Begin resolving."
|
|
|
1528
1580
|
return $merge_failures
|
|
1529
1581
|
}
|
|
1530
1582
|
|
|
1583
|
+
collect_pending_merge_epics() {
|
|
1584
|
+
local -a pending_merge_ids=()
|
|
1585
|
+
|
|
1586
|
+
for epic_index in $(seq 0 $((TOTAL_EPICS - 1))); do
|
|
1587
|
+
local epic_status
|
|
1588
|
+
epic_status=$(rjq read "$PRD_FILE" ".epics[$epic_index].status" "pending")
|
|
1589
|
+
[ "$epic_status" = "completed" ] || continue
|
|
1590
|
+
|
|
1591
|
+
local epic_id
|
|
1592
|
+
epic_id=$(rjq read "$PRD_FILE" ".epics[$epic_index].id")
|
|
1593
|
+
[ -n "$epic_id" ] || continue
|
|
1594
|
+
|
|
1595
|
+
local branch_name="ralph/${epic_id}"
|
|
1596
|
+
if git show-ref --verify --quiet "refs/heads/${branch_name}"; then
|
|
1597
|
+
pending_merge_ids+=("$epic_id")
|
|
1598
|
+
fi
|
|
1599
|
+
done
|
|
1600
|
+
|
|
1601
|
+
printf '%s\n' "${pending_merge_ids[@]+"${pending_merge_ids[@]}"}"
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
recover_pending_merges() {
|
|
1605
|
+
local context="$1"
|
|
1606
|
+
local -a pending_merge_ids=()
|
|
1607
|
+
|
|
1608
|
+
while IFS= read -r epic_id; do
|
|
1609
|
+
[ -n "$epic_id" ] && pending_merge_ids+=("$epic_id")
|
|
1610
|
+
done < <(collect_pending_merge_epics)
|
|
1611
|
+
|
|
1612
|
+
if [ ${#pending_merge_ids[@]} -eq 0 ]; then
|
|
1613
|
+
return 0
|
|
1614
|
+
fi
|
|
1615
|
+
|
|
1616
|
+
echo ""
|
|
1617
|
+
echo " --- Recovering completed epic branches before ${context} ---"
|
|
1618
|
+
local epic_id
|
|
1619
|
+
for epic_id in "${pending_merge_ids[@]}"; do
|
|
1620
|
+
echo " [$epic_id] Recovered pending merge from existing epic branch"
|
|
1621
|
+
echo "[$epic_id] RECOVERED PENDING MERGE (${context}) — $(date)" >> "$PROGRESS_FILE"
|
|
1622
|
+
done
|
|
1623
|
+
|
|
1624
|
+
merge_wave "${pending_merge_ids[@]}"
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1531
1627
|
extract_prompt_body() {
|
|
1532
1628
|
local source_file="$1"
|
|
1533
1629
|
awk '
|
|
@@ -1553,8 +1649,8 @@ run_backend_agent_session() {
|
|
|
1553
1649
|
;;
|
|
1554
1650
|
copilot)
|
|
1555
1651
|
COPILOT_ROLE_PROMPT="$prompt" \
|
|
1556
|
-
script -q /dev/null /bin/sh -lc 'exec gh copilot -- --agent "$0" --
|
|
1557
|
-
"$agent_name" "$
|
|
1652
|
+
script -q /dev/null /bin/sh -lc 'exec gh copilot -- --agent "$0" --allow-all --no-ask-user --stream on -p "$1"' \
|
|
1653
|
+
"$agent_name" "$COPILOT_ROLE_PROMPT" \
|
|
1558
1654
|
> "$log_file" 2>&1 || true
|
|
1559
1655
|
;;
|
|
1560
1656
|
opencode)
|
|
@@ -1572,6 +1668,8 @@ run_backend_agent_session() {
|
|
|
1572
1668
|
-s workspace-write \
|
|
1573
1669
|
--skip-git-repo-check \
|
|
1574
1670
|
--color never \
|
|
1671
|
+
--add-dir "$ROOT_DIR" \
|
|
1672
|
+
--add-dir "$SCRIPT_DIR" \
|
|
1575
1673
|
- > "$log_file" 2>&1 || true
|
|
1576
1674
|
;;
|
|
1577
1675
|
esac
|
|
@@ -1649,6 +1747,11 @@ $validation_log
|
|
|
1649
1747
|
done
|
|
1650
1748
|
}
|
|
1651
1749
|
|
|
1750
|
+
if ! recover_pending_merges "resume/startup"; then
|
|
1751
|
+
initialize_counters
|
|
1752
|
+
fi
|
|
1753
|
+
initialize_counters
|
|
1754
|
+
|
|
1652
1755
|
WAVE_NUM=0
|
|
1653
1756
|
|
|
1654
1757
|
# Count total stories across all epics for running estimate calculations
|
|
@@ -1690,6 +1793,10 @@ while true; do
|
|
|
1690
1793
|
[ "$ALL_DEPS_MET" = true ] && WAVE_EPICS+=("$EPIC_INDEX")
|
|
1691
1794
|
done
|
|
1692
1795
|
|
|
1796
|
+
if [ -z "$PARALLEL" ] && [ ${#WAVE_EPICS[@]} -gt 1 ]; then
|
|
1797
|
+
WAVE_EPICS=("${WAVE_EPICS[0]}")
|
|
1798
|
+
fi
|
|
1799
|
+
|
|
1693
1800
|
# If no epics ready, we're done
|
|
1694
1801
|
[ ${#WAVE_EPICS[@]} -eq 0 ] && break
|
|
1695
1802
|
|
|
@@ -2014,6 +2121,11 @@ while true; do
|
|
|
2014
2121
|
fi
|
|
2015
2122
|
done
|
|
2016
2123
|
|
|
2124
|
+
if ! recover_pending_merges "finalization"; then
|
|
2125
|
+
initialize_counters
|
|
2126
|
+
fi
|
|
2127
|
+
initialize_counters
|
|
2128
|
+
|
|
2017
2129
|
if ! run_final_validation_cycle; then
|
|
2018
2130
|
FAILED=$((FAILED + 1))
|
|
2019
2131
|
fi
|