<feed xmlns='http://www.w3.org/2005/Atom'>
<title>claudomator.git/scripts, branch story/repo-url</title>
<subtitle>claudomator — task automation server
</subtitle>
<id>https://git.terst.org/claudomator.git/atom?h=story%2Frepo-url</id>
<link rel='self' href='https://git.terst.org/claudomator.git/atom?h=story%2Frepo-url'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/'/>
<updated>2026-03-26T04:10:35+00:00</updated>
<entry>
<title>fix: story tasks get Project field; elaborate reads worklog; deploy chmod scripts</title>
<updated>2026-03-26T04:10:35+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-26T04:10:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=b6e420a62a3e7e81a6f5d2819f12cca11b82e572'/>
<id>urn:sha1:b6e420a62a3e7e81a6f5d2819f12cca11b82e572</id>
<content type='text'>
- handleApproveStory: set Project = input.ProjectID on tasks and subtasks so
  the executor can resolve RepositoryURL from the project registry (was causing
  "task has no repository_url" on every story task)
- elaborate.go: read .agent/worklog.md instead of SESSION_STATE.md for project
  context injected into elaboration prompts
- deploy: explicitly chmod +x all scripts before restart (same root cause as
  the binary execute-bit loss — chown -R was stripping it)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: ensure claudomator binary is executable before service restart in deploy</title>
<updated>2026-03-26T02:51:46+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-26T02:51:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=5a54e108f743afd2a2bf6e0598e7db815b01ac11'/>
<id>urn:sha1:5a54e108f743afd2a2bf6e0598e7db815b01ac11</id>
<content type='text'>
chown -R in fix-permissions was stripping the execute bit on the binary,
causing the service to fail with 203/EXEC on next restart. Explicitly
chmod +x both bin paths as the final step before systemctl restart.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: update deploy script to pull from main instead of master</title>
<updated>2026-03-25T23:29:15+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-25T23:29:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=f88073c451988026b8cb36294f6ec4e33c38415c'/>
<id>urn:sha1:f88073c451988026b8cb36294f6ec4e33c38415c</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: add ct-submit script for permission-free task creation</title>
<updated>2026-03-25T05:15:52+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-25T05:15:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=436862484e53e9cf06b2594bcefd99621e603a72'/>
<id>urn:sha1:436862484e53e9cf06b2594bcefd99621e603a72</id>
<content type='text'>
Wraps POST /api/tasks + run in a single script callable from /workspace/**
(auto-permitted). Used by the ct-create skill to avoid per-call auth prompts.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: set credentials readable by www-data (group 640) in sync-credentials</title>
<updated>2026-03-21T23:04:50+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-21T23:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=9e35f7e4087cfa6017cb65ec6a7036f394f5eb22'/>
<id>urn:sha1:9e35f7e4087cfa6017cb65ec6a7036f394f5eb22</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: copy .claude.json (account settings) alongside credentials</title>
<updated>2026-03-21T21:44:41+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-21T21:44:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=2c57f8e0b0ac637eac689a89bdf5498227b78a93'/>
<id>urn:sha1:2c57f8e0b0ac637eac689a89bdf5498227b78a93</id>
<content type='text'>
ClaudeConfigDir moved from /root/.claude to credentials/claude/, but
container.go was still deriving .claude.json from filepath.Dir which
no longer pointed anywhere useful. Claude CLI needs .claude.json for
OAuth account info or it says "Not logged in".

Also update sync-credentials to copy /root/.claude.json into the
credentials dir so it stays fresh alongside the token.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: Phase 2 — project registry, legacy field cleanup, credential path fix</title>
<updated>2026-03-21T21:23:42+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-21T21:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=888f3014b42ff48f597d0a81e9f52104d19be6db'/>
<id>urn:sha1:888f3014b42ff48f597d0a81e9f52104d19be6db</id>
<content type='text'>
- task.Project type + storage CRUD + UpsertProject + SeedProjects
- Remove AgentConfig.ProjectDir, RepositoryURL, SkipPlanning
- Remove ContainerRunner fallback git init logic
- Project API endpoints: GET/POST /api/projects, GET/PUT /api/projects/{id}
- processResult no longer extracts changestats (pool-side only)
- claude_config_dir config field; default to credentials/claude/
- New scripts: sync-credentials, fix-permissions, check-token

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: add cancel and cancel-all-failed to ct-task</title>
<updated>2026-03-21T20:59:57+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-21T20:59:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=a10e7478a130d6453abbd8fb0694948785dd2155'/>
<id>urn:sha1:a10e7478a130d6453abbd8fb0694948785dd2155</id>
<content type='text'>
Adds ct-task cancel &lt;prefix&gt; (works from any state, falls back to
direct DB update for terminal states) and ct-task cancel-all-failed
to clear out stuck FAILED tasks in bulk.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>chore: delegate permissions and credential sync to scripts in deploy</title>
<updated>2026-03-21T20:54:37+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-21T20:54:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=c408c21c81d353d2f08c4b1c63118c6bd7b48061'/>
<id>urn:sha1:c408c21c81d353d2f08c4b1c63118c6bd7b48061</id>
<content type='text'>
Replace hardcoded chown/chmod lines with fix-permissions and
sync-credentials scripts, keeping deploy DRY and ensuring credentials
are always fresh after each deploy.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>chore: improve debug-execution script and add ADR-007</title>
<updated>2026-03-19T23:17:16+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-19T23:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=1e4649ebbeb1a51cc48f32c7195fe854847d1b10'/>
<id>urn:sha1:1e4649ebbeb1a51cc48f32c7195fe854847d1b10</id>
<content type='text'>
- debug-execution: default to most recent execution when no ID given
- docs/adr/007: planning layer and story model design decisions

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
