Claude
a08d87d0f3
fix: investigation: CI exhaustion pattern on chat sub-issues #707 and #712 — 3+ failures each ( #742 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Two bugs in agent-smoke.sh caused non-deterministic CI failures:
1. SIGPIPE race with pipefail: `printf | grep -q` fails when grep closes
the pipe early after finding a match, causing printf to get SIGPIPE
(exit 141). With pipefail, the pipeline returns non-zero even though
grep succeeded — producing false "undef" failures. Fixed by using
here-strings (<<<) instead of pipes for all grep checks.
2. Incomplete LIB_FUNS: hand-maintained REQUIRED_LIBS list (11 files)
didn't cover all 26 lib/*.sh files, silently producing a partial
function list. Fixed by enumerating all lib/*.sh in stable
lexicographic order (LC_ALL=C sort), excluding only standalone
scripts (ci-debug.sh, parse-deps.sh).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:04:43 +00:00
59717558d4
Merge pull request 'fix: fix: format-detection guard in collect-engagement.sh — fail loudly on non-JSON logs ( #746 )' ( #752 ) from fix/issue-746 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 21:52:18 +00:00
409a796556
Merge pull request 'chore: gardener housekeeping' ( #751 ) from chore/gardener-20260414-2024 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 21:50:15 +00:00
Claude
7f2198cc76
fix: format-detection guard in collect-engagement.sh — fail loudly on non-JSON logs ( #746 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:25:53 +00:00
Claude
de8243b93f
chore: gardener housekeeping 2026-04-14
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-14 20:24:38 +00:00
38713ab030
Merge pull request 'fix: bug: dev-poll.sh post-crash deadlock — self-assigned in-progress issue never recovered when no lock/branch/PR ( #749 )' ( #750 ) from fix/issue-749 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 20:21:39 +00:00
Claude
2979580171
fix: bug: dev-poll.sh post-crash deadlock — self-assigned in-progress issue never recovered when no lock/branch/PR ( #749 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:15:21 +00:00
4e53f508d9
Merge pull request 'fix: bug: credential helper race on every cold boot — configure_git_creds() silently falls back to wrong username when Forgejo is not yet ready ( #741 )' ( #744 ) from fix/issue-741 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 19:38:24 +00:00
4200cb13c6
Merge pull request 'chore: gardener housekeeping' ( #743 ) from chore/gardener-20260413-1136 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 19:28:32 +00:00
Claude
02915456ae
fix: bug: credential helper race on every cold boot — configure_git_creds() silently falls back to wrong username when Forgejo is not yet ready ( #741 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:37:23 +00:00
Claude
05bc926906
chore: gardener housekeeping 2026-04-13
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-13 11:36:50 +00:00
c4ca1e930d
Merge pull request 'chore: gardener housekeeping' ( #740 ) from chore/gardener-20260412-0628 into main
ci/woodpecker/push/ci Pipeline failed
2026-04-13 10:27:47 +00:00
Claude
246ed9050d
chore: gardener housekeeping 2026-04-12
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-12 06:28:02 +00:00
4fcbca1bef
Merge pull request 'fix: tech-debt: close_vision_issue state=closed PATCH swallows errors — stuck-open vision issues after idempotency guard ( #737 )' ( #739 ) from fix/issue-737 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 06:12:47 +00:00
Claude
3f8c0321ed
fix: tech-debt: close_vision_issue state=closed PATCH swallows errors — stuck-open vision issues after idempotency guard ( #737 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 06:06:25 +00:00
79346fd501
Merge pull request 'chore: gardener housekeeping' ( #738 ) from chore/gardener-20260412-0519 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 05:37:08 +00:00
Claude
0c4f00a86c
chore: gardener housekeeping 2026-04-12
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-12 05:19:57 +00:00
ec7dff854a
Merge pull request 'fix: bug: architect close-vision lifecycle matches unrelated sub-issues — spams false completion comments ( #735 )' ( #736 ) from fix/issue-735 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 04:52:30 +00:00
Claude
e275c35fa8
fix: bug: architect close-vision lifecycle matches unrelated sub-issues — spams false completion comments ( #735 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 04:41:12 +00:00
12d9f52903
Merge pull request 'chore: gardener housekeeping' ( #734 ) from chore/gardener-20260412-0408 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 04:14:34 +00:00
Claude
aeda17a601
chore: gardener housekeeping 2026-04-12
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-12 04:08:10 +00:00
9d778f6fd6
Merge pull request 'fix: vision( #623 ): disinto-chat conversation history persistence ( #710 )' ( #730 ) from fix/issue-710 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 03:49:54 +00:00
Claude
6d148d669b
fix: address AI review feedback - early-return guard and unused volume
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-12 03:38:46 +00:00
Claude
dae15410ab
fix: vision( #623 ): disinto-chat conversation history persistence ( #710 )
2026-04-12 03:38:46 +00:00
eaf0f724fa
Merge pull request 'fix: vision( #623 ): per-project subdomain fallback path (contingency) ( #713 )' ( #732 ) from fix/issue-713 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 03:38:24 +00:00
Claude
d367c9d258
fix: vision( #623 ): per-project subdomain fallback path (contingency) ( #713 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 03:27:05 +00:00
d5e823771b
Merge pull request 'fix: vision( #623 ): disinto-chat cost caps + rate limiting ( #711 )' ( #731 ) from fix/issue-711 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 03:22:28 +00:00
Claude
3b4238d17f
fix: vision( #623 ): disinto-chat cost caps + rate limiting ( #711 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 03:06:06 +00:00
1ea5346c91
Merge pull request 'chore: gardener housekeeping' ( #729 ) from chore/gardener-20260412-0243 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 03:05:03 +00:00
99becf027e
Merge pull request 'fix: vision( #623 ): Caddy Remote-User forwarding + chat-side validation (defense-in-depth) ( #709 )' ( #728 ) from fix/issue-709 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 02:48:55 +00:00
Claude
0bc027a25a
chore: gardener housekeeping 2026-04-12
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-12 02:43:22 +00:00
Claude
ff79e64fc8
fix: exempt /chat/login and /chat/oauth/callback from forward_auth ( #709 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Caddy forward_auth on /chat/* blocked unauthenticated users from
reaching the OAuth login/callback routes (401 instead of redirect).
Add explicit handle blocks for these public routes before the
forward_auth catch-all.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:37:43 +00:00
Claude
f8ac1d2ae2
fix: vision( #623 ): Caddy Remote-User forwarding + chat-side validation (defense-in-depth) ( #709 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:21:02 +00:00
34d4136f2e
Merge pull request 'fix: vision( #623 ): Forgejo OAuth gate for disinto-chat ( #708 )' ( #727 ) from fix/issue-708 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 02:12:19 +00:00
Claude
30e19f71e2
fix: vision( #623 ): Forgejo OAuth gate for disinto-chat ( #708 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Gate /chat/* behind Forgejo OAuth2 authorization-code flow.
- Extract generic _create_forgejo_oauth_app() helper in lib/ci-setup.sh;
Woodpecker OAuth becomes a thin wrapper, chat gets its own app.
- bin/disinto init now creates TWO OAuth apps (woodpecker-ci + disinto-chat)
and writes CHAT_OAUTH_CLIENT_ID / CHAT_OAUTH_CLIENT_SECRET to .env.
- docker/chat/server.py: new routes /chat/login (→ Forgejo authorize),
/chat/oauth/callback (code→token exchange, user allowlist check, session
cookie). All other /chat/* routes require a valid session or redirect to
/chat/login. Session store is in-memory with 24h TTL.
- lib/generators.sh: pass FORGE_URL, CHAT_OAUTH_CLIENT_ID,
CHAT_OAUTH_CLIENT_SECRET, EDGE_TUNNEL_FQDN, DISINTO_CHAT_ALLOWED_USERS
to the chat container environment.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:52:16 +00:00
cf4e9983c2
Merge pull request 'fix: vision( #623 ): disinto-chat sandbox hardening ( #706 )' ( #724 ) from fix/issue-706 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 01:41:00 +00:00
4536c2addf
Merge pull request 'chore: gardener housekeeping' ( #725 ) from chore/gardener-20260412-0116 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 01:39:05 +00:00
Claude
0c5bb09e16
fix: address review — move LOGFILE to tmpfs, add CapDrop check ( #706 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
LOGFILE=/var/chat/chat.log is unwritable on read-only rootfs; move to
/tmp/chat.log (tmpfs-backed). Add CapDrop=ALL assertion to verify script
so removing cap_drop from compose is caught.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:19:42 +00:00
Claude
a8bf40d100
chore: gardener housekeeping 2026-04-12
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-12 01:16:08 +00:00
Claude
e74fc29b82
fix: vision( #623 ): disinto-chat sandbox hardening ( #706 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:08:23 +00:00
3e65878093
Merge pull request 'fix: vision( #623 ): disinto-chat container scaffold (no auth) ( #705 )' ( #722 ) from fix/issue-705 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 01:03:23 +00:00
013cf7b449
Merge pull request 'fix: bug: architect-run.sh has_responses_to_process only checks comments, ignores formal APPROVED reviews ( #718 )' ( #723 ) from fix/issue-718 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 00:49:06 +00:00
Claude
938cd319aa
fix: address AI review feedback for disinto-chat ( #705 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-12 00:46:57 +00:00
Claude
eada673493
fix: vision( #623 ): disinto-chat container scaffold (no auth) ( #705 )
2026-04-12 00:46:57 +00:00
Claude
1e3862d24b
fix: bug: architect-run.sh has_responses_to_process only checks comments, ignores formal APPROVED reviews ( #718 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 00:37:49 +00:00
2006125ade
Merge pull request 'fix: bug: architect-run.sh existing-PR check builds malformed URL — ${FORGE_API}/repos/… duplicates the repos segment ( #717 )' ( #721 ) from fix/issue-717 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 00:33:16 +00:00
Claude
627496b6f2
fix: bug: architect-run.sh existing-PR check builds malformed URL — ${FORGE_API}/repos/… duplicates the repos segment ( #717 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Introduce FORGE_API_BASE (bare API root without repo path) in lib/env.sh
and lib/load-project.sh. Replace all cross-repo curl calls in
architect-run.sh that incorrectly used ${FORGE_API}/repos/${FORGE_OPS_REPO}
(which expanded to .../repos/owner/repo/repos/owner/ops-repo) with
${FORGE_API_BASE}/repos/${FORGE_OPS_REPO}.
Also fix a same-repo label URL that duplicated the repos segment.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 00:21:55 +00:00
2f75478aab
Merge pull request 'fix: bug: architect-run.sh empty pitch — pitch_output=$(agent_run …) captures stdout but new agent_run writes to side-channels ( #716 )' ( #720 ) from fix/issue-716 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 00:16:05 +00:00
545ccf9199
Merge pull request 'chore: gardener housekeeping' ( #715 ) from chore/gardener-20260411-2343 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 00:13:13 +00:00
13fe475cf8
Merge pull request 'fix: vision( #623 ): Caddy subpath routing skeleton + Forgejo/Woodpecker host reconfig ( #704 )' ( #719 ) from fix/issue-704 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-12 00:08:08 +00:00