28f54e259b
Merge pull request 'fix: bug: docker/agents/entrypoint.sh polling-loop log redirects use ${DISINTO_DIR}/../data/logs — broken after #605 moved DISINTO_DIR to /home/agent/repos/_factory ( #675 )' ( #681 ) from fix/issue-675 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 17:22:56 +00:00
Claude
5fcf3a6304
fix: bug: docker/agents/entrypoint.sh polling-loop log redirects use ${DISINTO_DIR}/../data/logs — broken after #605 moved DISINTO_DIR to /home/agent/repos/_factory ( #675 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-11 17:16:29 +00:00
13090d5bf8
Merge pull request 'fix: bug: docker/agents/entrypoint.sh credential check looks for credentials.json but Claude writes .credentials.json — every boot logs a misleading WARNING ( #673 )' ( #679 ) from fix/issue-673 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 17:09:05 +00:00
Claude
8fe985ea51
fix: bug: docker/agents/entrypoint.sh credential check looks for credentials.json but Claude writes .credentials.json — every boot logs a misleading WARNING ( #673 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-11 16:59:42 +00:00
3f524ae06f
Merge pull request 'fix: infra: mount projects/ into agents containers so disinto.toml survives restart ( #667 )' ( #678 ) from fix/issue-667 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 16:56:17 +00:00
Claude
edd2890b58
fix: infra: mount projects/ into agents containers so disinto.toml survives restart ( #667 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-11 16:50:04 +00:00
1354bc9f90
Merge pull request 'fix: feat: make gardener and architect schedules configurable via env vars ( #558 )' ( #677 ) from fix/issue-558-1 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 16:33:35 +00:00
Claude
4347faf955
fix: feat: make gardener and architect schedules configurable via env vars ( #558 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-11 15:57:11 +00:00
7a88b7b517
Merge pull request 'fix: refactor: lib/env.sh — split into a defined-surface shared lib; entrypoints own context-specific paths ( #674 )' ( #676 ) from fix/issue-674 into main
ci/woodpecker/push/ci Pipeline failed
2026-04-11 13:50:30 +00:00
Claude
3f66defae9
docs: update lib/AGENTS.md for env.sh preconditions and load-project.sh container path changes ( #674 )
...
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-11 13:39:18 +00:00
Claude
6589c761ba
fix: refactor: lib/env.sh — split into a defined-surface shared lib; entrypoints own context-specific paths ( #674 )
...
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-11 13:21:30 +00:00
3d7c27f6c6
Merge pull request 'fix: lib/git-creds.sh: repair_baked_cred_urls silently fails on agent-owned repos because it runs as root and trips dubious-ownership check ( #671 )' ( #672 ) from fix/issue-671 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 12:41:33 +00:00
Claude
e933473848
fix: lib/git-creds.sh: repair_baked_cred_urls silently fails on agent-owned repos because it runs as root and trips dubious-ownership check ( #671 )
...
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-11 08:27:42 +00:00
af8a58bf46
Merge pull request 'fix: lib/git-creds.sh + docker/edge/entrypoint-edge.sh: read $FORGE_PASS from env at git-runtime instead of baking it into the credential helper file ( #669 )' ( #670 ) from fix/issue-669 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 08:01:19 +00:00
Claude
13b571c44c
fix: lib/git-creds.sh + docker/edge/entrypoint-edge.sh: read $FORGE_PASS from env at git-runtime instead of baking it into the credential helper file ( #669 )
...
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-11 07:55:06 +00:00
f03a8ede61
Merge pull request 'fix: chore: delete disinto-factory/lessons-learned.md — corrupted by #663 digest bug, no longer reliable ( #666 )' ( #668 ) from fix/issue-666 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 07:49:34 +00:00
Claude
c19229252d
fix: chore: delete disinto-factory/lessons-learned.md — corrupted by #663 digest bug, no longer reliable ( #666 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-11 07:43:43 +00:00
598cdf7dfd
Merge pull request 'fix: bug: _profile_digest_journals writes lessons to the wrong file — real content lands in disinto-factory/lessons-learned.md, .profile gets the meta-summary ( #663 )' ( #664 ) from fix/issue-663 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-11 07:38:53 +00:00
Claude
54d6e8b7b7
fix: bug: _profile_digest_journals writes lessons to the wrong file — real content lands in disinto-factory/lessons-learned.md, .profile gets the meta-summary ( #663 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-11 06:07:32 +00:00
2f937a07de
Merge pull request 'fix: bug: dev-bot/.profile push fails with auth error — 91 journal commits stranded locally since ~2026-04-08 ( #652 )' ( #662 ) from fix/issue-652 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 22:08:45 +00:00
Claude
be406f193b
fix: bug: dev-bot/.profile push fails with auth error — 91 journal commits stranded locally since ~2026-04-08 ( #652 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 22:02:27 +00:00
fb4ae1ebba
Merge pull request 'fix: bug: _profile_digest_journals never commits/pushes its output — knowledge folder appears empty on origin ( #651 )' ( #661 ) from fix/issue-651 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 21:56:36 +00:00
Claude
9719d11d67
fix: bug: _profile_digest_journals never commits/pushes its output — knowledge folder appears empty on origin ( #651 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 21:50:25 +00:00
36cc7a7e67
Merge pull request 'fix: dev agents: distinct git author identity per bot container so commits are visibly attributable ( #648 )' ( #660 ) from fix/issue-648 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 21:49:33 +00:00
Claude
9682ef0b2b
fix: dev agents: distinct git author identity per bot container so commits are visibly attributable ( #648 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 21:43:26 +00:00
eb8bd48004
Merge pull request 'fix: docs/CLAUDE-AUTH-CONCURRENCY.md: rewrite for shared CLAUDE_CONFIG_DIR approach ( #646 )' ( #659 ) from fix/issue-646 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 21:33:06 +00:00
Claude
7e73e03832
chore: retrigger review — all file refs verified against origin/main
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Every reference in docs/CLAUDE-AUTH-CONCURRENCY.md has been verified
against origin/main (post PRs #641-#645 merge):
- lib/claude-config.sh: exists (103 lines)
- lib/env.sh:138-140: CLAUDE_SHARED_DIR/CLAUDE_CONFIG_DIR defaults
- .env.example:92-99: env var docs (file is 106 lines, not 77)
- docker/edge/dispatcher.sh:446-448: CLAUDE_SHARED_DIR mount
- docker/agents/entrypoint.sh:101-102: CLAUDE_CONFIG_DIR auth detection
- lib/agent-sdk.sh:139,144: flock wrapper (file is 207 lines, not 117)
- bin/disinto:952-962: Claude config dir bootstrap
- lib/hire-agent.sh:435: blank line, no hardcoded path
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 21:28:03 +00:00
Claude
b5807b3516
fix: docs/CLAUDE-AUTH-CONCURRENCY.md: rewrite for shared CLAUDE_CONFIG_DIR approach ( #646 )
...
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-10 21:16:18 +00:00
d13bd86cba
Merge pull request 'fix: .env.example: document CLAUDE_SHARED_DIR / CLAUDE_CONFIG_DIR ( #645 )' ( #658 ) from fix/issue-645 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 21:09:25 +00:00
Claude
0553654cb1
fix: .env.example: document CLAUDE_SHARED_DIR / CLAUDE_CONFIG_DIR ( #645 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 21:04:47 +00:00
725f9321c2
Merge pull request 'fix: docker/agents/entrypoint.sh + edge/reproduce entrypoints: honor CLAUDE_CONFIG_DIR ( #644 )' ( #657 ) from fix/issue-644 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 21:00:37 +00:00
Claude
de0d82a2d9
fix: docker/agents/entrypoint.sh + edge/reproduce entrypoints: honor CLAUDE_CONFIG_DIR ( #644 )
...
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-10 20:55:02 +00:00
69226f38dd
Merge pull request 'fix: docker/edge/dispatcher.sh: switch dynamic .claude mounts to shared CLAUDE_CONFIG_DIR ( #643 )' ( #656 ) from fix/issue-643 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 20:49:12 +00:00
Claude
677c05ca10
fix: docker/edge/dispatcher.sh: switch dynamic .claude mounts to shared CLAUDE_CONFIG_DIR ( #643 )
...
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-10 20:43:56 +00:00
6443149000
Merge pull request 'fix: docker-compose.yml: switch .claude mounts to shared CLAUDE_CONFIG_DIR ( #642 )' ( #655 ) from fix/issue-642 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 20:42:54 +00:00
Claude
4b6cc4afde
fix: docker-compose.yml: switch .claude mounts to shared CLAUDE_CONFIG_DIR ( #642 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-10 20:32:07 +00:00
b593635d64
Merge pull request 'fix: disinto init: bootstrap shared CLAUDE_CONFIG_DIR for OAuth lock coherence ( #641 )' ( #654 ) from fix/issue-641 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 20:25:12 +00:00
Claude
59e71a285b
fix: disinto init: bootstrap shared CLAUDE_CONFIG_DIR for OAuth lock coherence ( #641 )
...
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-10 20:15:35 +00:00
646f6df6e1
Merge pull request 'fix: chore: consolidate issue templates into .forgejo/ISSUE_TEMPLATE/ — currently orphaned in .codeberg/, not read by Forgejo ( #626 )' ( #653 ) from fix/issue-626 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 20:08:49 +00:00
Claude
80a6b61764
fix: chore: consolidate issue templates into .forgejo/ISSUE_TEMPLATE/ — currently orphaned in .codeberg/, not read by Forgejo ( #626 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 20:04:41 +00:00
8fce3a4d51
Merge pull request 'fix: feat: move reverse tunnel into disinto-edge container with single-port forward ( #622 )' ( #650 ) from fix/issue-622 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 20:01:20 +00:00
Claude
4757a9de7a
fix: feat: move reverse tunnel into disinto-edge container with single-port forward ( #622 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
- Dockerfile: add openssh-client + autossh to edge image
- entrypoint-edge.sh: start autossh reverse tunnel before Caddy when
EDGE_TUNNEL_HOST is set; no-op when unset (local-only dev works unchanged)
- generators.sh: pass EDGE_TUNNEL_{HOST,USER,PORT,FQDN} env vars and
bind-mount secrets/tunnel_key into the edge service
Decommission steps for old host-level reverse-tunnel.service:
sudo systemctl disable --now reverse-tunnel.service
sudo rm /etc/systemd/system/reverse-tunnel.service
sudo systemctl daemon-reload
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 19:51:03 +00:00
29cbbcb7de
Merge pull request 'fix: feat: disinto edge command + SSH-forced-command control plane in tools/edge-control/ ( #621 )' ( #640 ) from fix/issue-621 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 19:49:51 +00:00
Claude
5a6cffeef8
fix: edge control stdout pollution and install.sh dispatch
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
- Redirect all status messages in caddy.sh to stderr (add_route, remove_route, reload_caddy)
- Redirect status message in authorized_keys.sh to stderr (rebuild_authorized_keys)
- Fix install.sh to source authorized_keys.sh library and call rebuild_authorized_keys directly
2026-04-10 19:38:41 +00:00
Claude
cd115a51a3
fix: edge control critical bugs - .env dedup, authorized_keys, Caddy routes
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
- Fix .env write in edge register to use single grep -Ev + mv pattern (not three-pass append)
- Fix register.sh to source authorized_keys.sh and call rebuild_authorized_keys directly
- Fix caddy.sh remove_route to use jq to find route index by host match
- Fix authorized_keys.sh operator precedence: { [ -z ] || [ -z ]; } && continue
- Fix install.sh Caddyfile to use { admin localhost:2019 } global options
- Fix deregister and status SSH to use StrictHostKeyChecking=accept-new
2026-04-10 19:26:41 +00:00
Claude
cf3c63bf68
fix: SSH accept-new and DOMAIN_SUFFIX configuration for edge control
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
- Changed SSH StrictHostKeyChecking from 'no' to 'accept-new' for better security
- Fixed .env write logic with proper deduplication before appending
- Fixed deregister .env cleanup to use single grep pattern
- Added --domain-suffix option to install.sh
- Removed no-op DOMAIN_SUFFIX sed from install.sh
- Changed cp -n to cp for idempotent script updates
- Fixed authorized_keys.sh SCRIPT_DIR to point to lib/
- Fixed Caddy route management to use POST /routes instead of /load
- Fixed Caddy remove_route to find route by host match, not hardcoded index
2026-04-10 19:09:43 +00:00
Claude
637ea66a5a
fix: feat: disinto edge command + SSH-forced-command control plane in tools/edge-control/ ( #621 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-10 18:45:06 +00:00
f8bb3eea7d
Merge pull request 'fix: feat: disinto init — prompt for disinto-admin password instead of hardcoding it ( #620 )' ( #639 ) from fix/issue-620 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 18:37:12 +00:00
Claude
24e652a1a3
fix: export FORGE_ADMIN_PASS in smoke-init.sh test
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-10 18:21:27 +00:00
Claude
fd67a6afc6
fix: feat: disinto init — prompt for disinto-admin password instead of hardcoding it ( #620 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline failed
2026-04-10 18:19:16 +00:00