Claude
8a5537fefc
fix: feat: collect-engagement formula + container script — SSH fetch + local parse + evidence commit ( #745 )
...
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-15 07:01:37 +00:00
34fd7868e4
Merge pull request 'chore: gardener housekeeping' ( #760 ) from chore/gardener-20260415-0408 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-15 06:53:12 +00:00
Claude
0b4905af3d
chore: gardener housekeeping 2026-04-15
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-15 04:08:04 +00:00
cdb0408466
Merge pull request 'chore: gardener housekeeping' ( #759 ) from chore/gardener-20260415-0300 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-15 03:03:27 +00:00
Claude
32420c619d
chore: gardener housekeeping 2026-04-15
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-15 03:00:40 +00:00
3757d9d919
Merge pull request 'chore: gardener housekeeping' ( #757 ) from chore/gardener-20260414-2254 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-15 02:02:49 +00:00
b95e2da645
Merge pull request 'fix: docs: rent-a-human instructions for Caddy host SSH key setup ( #748 )' ( #756 ) from fix/issue-748 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 22:56:05 +00:00
Claude
5733a10858
chore: gardener housekeeping 2026-04-14
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-14 22:54:30 +00:00
Claude
9b0ecc40dc
fix: docs: rent-a-human instructions for Caddy host SSH key setup ( #748 )
...
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 22:50:20 +00:00
ba3a11fa9d
Merge pull request 'fix: bug: entrypoint.sh wait (no-args) serializes polling loop behind long-lived dev-agent/gardener — causes system-wide deadlock ( #753 )' ( #755 ) from fix/issue-753 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 22:43:49 +00:00
Claude
6af8f002f5
fix: bug: entrypoint.sh wait (no-args) serializes polling loop behind long-lived dev-agent/gardener — causes system-wide deadlock ( #753 )
...
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 22:37:24 +00:00
c5b0b1dc23
Merge pull request 'fix: investigation: CI exhaustion pattern on chat sub-issues #707 and #712 — 3+ failures each ( #742 )' ( #754 ) from fix/issue-742 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-14 22:05:36 +00:00
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