Skip to content

Commit 87f91aa

Browse files
authored
Merge pull request #68 from protocol-security/post-codex-fixes
Post-Codex fixes: API 500 retry, dashboard label, setup.sh removal, weekly CI
2 parents c00997c + 7cdfda9 commit 87f91aa

11 files changed

Lines changed: 43 additions & 713 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
branches: [master]
66
pull_request:
77
branches: [master]
8+
schedule:
9+
- cron: '0 7 * * 1'
810

911
jobs:
1012
shellcheck:
@@ -14,7 +16,7 @@ jobs:
1416
- name: ShellCheck
1517
run: |
1618
shellcheck -s bash --severity=warning \
17-
launch.sh setup.sh dashboard.sh harvest.sh \
19+
launch.sh dashboard.sh harvest.sh \
1820
costs.sh progress.sh \
1921
lib/*.sh lib/drivers/*.sh \
2022
tests/test_*.sh tests/test.sh

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Changelog
22

3+
## 0.19.1 — 2026-04-13
4+
5+
- **Retry on API 500 errors.** Claude Code driver now treats
6+
`api_error`, `internal_error`, and HTTP 500 responses as
7+
retriable, preventing agents from exiting on transient
8+
Anthropic outages.
9+
- **Dashboard max-effort label.** `format_model` now displays
10+
`(M)` for `effort: "max"` instead of `(m)`, disambiguating
11+
it from medium.
12+
- **Remove setup.sh wizard.** Deleted the interactive `setup.sh`
13+
and its tests. Copying a config from `tests/configs/` and
14+
editing is simpler and better documented. Not treated as a
15+
breaking change (would warrant 0.20.0) because no known
16+
users rely on it.
17+
- **Weekly CI schedule.** CI now runs on a Monday morning cron
18+
(`0 7 * * 1`) in addition to push/PR triggers.
19+
320
## 0.19.0 — 2026-04-13
421

522
- **Codex CLI driver.** New `codex-cli` driver

README.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ Based on the agent-team pattern from
1616
- tput (ncurses) — used by the dashboard
1717
- An Anthropic API key, OAuth token, or compatible endpoint
1818

19-
Optional: `whiptail` for the interactive setup wizard TUI.
2019
For development: `shellcheck` for linting.
2120

2221
## Setup
@@ -62,10 +61,7 @@ see the changes on the next fetch.
6261
## Quick start
6362

6463
```bash
65-
# Interactive setup (generates swarm.json).
66-
./setup.sh
67-
68-
# Or create a swarmfile and launch.
64+
# Create a swarmfile and launch.
6965
SWARM_CONFIG=swarm.json ./launch.sh start --dashboard
7066

7167
# Or place swarm.json in your repo root and launch.

USAGE.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
## Quick start
44

55
```bash
6-
# Interactive setup (generates swarm.json).
7-
./setup.sh
8-
9-
# Or create a swarmfile manually and launch.
6+
# Create a swarmfile and launch.
107
SWARM_CONFIG=swarm.json ./launch.sh start --dashboard
118
```
129

@@ -182,7 +179,6 @@ Unit tests (no Docker or API key):
182179
./tests/test_harness.sh # Stat extraction.
183180
./tests/test_harvest.sh # Harvest git ops.
184181
./tests/test_launch.sh # Launch logic.
185-
./tests/test_setup.sh # Setup wizard.
186182
```
187183

188184
## Post-processing

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.19.0
1+
0.19.1

dashboard.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,9 @@ format_tps() {
210210
format_model() {
211211
local m="${1:-unknown}" effort="${2:-}"
212212
if [ -n "$effort" ]; then
213-
printf '%s (%s)' "$m" "${effort:0:1}"
213+
local e="${effort:0:1}"
214+
[ "$effort" = "max" ] && e="M"
215+
printf '%s (%s)' "$m" "$e"
214216
else
215217
printf '%s' "$m"
216218
fi

lib/drivers/claude-code.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,10 @@ agent_is_retriable() {
123123
"$logfile" 2>/dev/null && echo "rate_limited" && return
124124
grep -q '"Too many requests"\|"rate limit"' \
125125
"$logfile" 2>/dev/null && echo "rate_limited" && return
126+
grep -q '"api_error"\|"internal_error"\|"Internal server error"\|"api_error.*500"\|"500.*api_error"' \
127+
"$logfile" 2>/dev/null && echo "server_error" && return
126128
if [ -f "${logfile}.err" ]; then
127-
grep -qi 'rate.limit\|too many requests\|overloaded' \
129+
grep -qi 'rate.limit\|too many requests\|overloaded\|internal.server.error\|api.error.*500\|500.*error' \
128130
"${logfile}.err" 2>/dev/null && echo "rate_limited" && return
129131
fi
130132
return 0

0 commit comments

Comments
 (0)