<feed xmlns='http://www.w3.org/2005/Atom'>
<title>claudomator.git/internal/executor/preamble.go, branch story/task-project-fk</title>
<subtitle>claudomator — task automation server
</subtitle>
<id>https://git.terst.org/claudomator.git/atom?h=story%2Ftask-project-fk</id>
<link rel='self' href='https://git.terst.org/claudomator.git/atom?h=story%2Ftask-project-fk'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/'/>
<updated>2026-03-16T21:30:36+00:00</updated>
<entry>
<title>fix: hide deployment badge when not deployed and trim notification button label</title>
<updated>2026-03-16T21:30:36+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-16T21:30:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=1b6b27357c817359574605b854f6468917da314d'/>
<id>urn:sha1:1b6b27357c817359574605b854f6468917da314d</id>
<content type='text'>
- Deployment badge now returns null (hidden) when includes_fix is false instead of showing "Not deployed" noise
- Badge also suppressed when fix_commits is empty (no tracked commits to check)
- Notification button label trimmed to just the bell emoji
- Preamble: warn agents not to use absolute paths in git commands (sandbox bypass)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: fix task failures via sandbox improvements and display commits in Web UI</title>
<updated>2026-03-15T03:39:49+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-15T03:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=6ff67a57d72317360cacd4b41560395ded117d20'/>
<id>urn:sha1:6ff67a57d72317360cacd4b41560395ded117d20</id>
<content type='text'>
- Fix ephemeral sandbox deletion issue by passing $CLAUDOMATOR_PROJECT_DIR to agents and using it for subtask project_dir.
- Implement sandbox autocommit in teardown to prevent task failures from uncommitted work.
- Track git commits created during executions and persist them in the DB.
- Display git commits and changestats badges in the Web UI execution history.
- Add badge counts to Web UI tabs for Interrupted, Ready, and Running states.
- Improve scripts/next-task to handle QUEUED tasks and configurable DB path.
</content>
</entry>
<entry>
<title>fix: cancel blocked tasks + auto-complete completion reports</title>
<updated>2026-03-14T00:33:46+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-14T00:33:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=6ac15be438e3692cbc2ae2f36ab2d69468fc6372'/>
<id>urn:sha1:6ac15be438e3692cbc2ae2f36ab2d69468fc6372</id>
<content type='text'>
Two fixes for BLOCKED task issues:

1. Allow BLOCKED → CANCELLED state transition so users can cancel tasks
   stuck waiting for input. Adds Cancel button to BLOCKED task cards in
   the UI alongside the question/answer controls.

2. Detect when agents write completion reports to $CLAUDOMATOR_QUESTION_FILE
   instead of real questions. If the question JSON has no options and no "?"
   in the text, treat it as a summary (stored on the execution) and fall
   through to normal completion + sandbox teardown rather than blocking.
   Also tightened the preamble to make the distinction explicit.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>merge: resolve conflicts with local/master (stats tab + summary styles)</title>
<updated>2026-03-13T03:17:04+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-13T03:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=fe414fac958330c2302d9175d66e1b338e5b1864'/>
<id>urn:sha1:fe414fac958330c2302d9175d66e1b338e5b1864</id>
<content type='text'>
Keep file-based summary approach (CLAUDOMATOR_SUMMARY_FILE) from HEAD.
Combine Q&amp;A History and Stats tab CSS from both branches.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: resume support, summary extraction, and task state improvements</title>
<updated>2026-03-13T03:14:40+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-13T03:14:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=5303a68d67e435da863353cdce09fa2e3a8c2ccd'/>
<id>urn:sha1:5303a68d67e435da863353cdce09fa2e3a8c2ccd</id>
<content type='text'>
- Extend Resume to CANCELLED, FAILED, and BUDGET_EXCEEDED tasks
- Add summary extraction from agent stdout stream-json output
- Fix storage: persist stdout/stderr/artifact_dir paths in UpdateExecution
- Clear question_json on ResetTaskForRetry
- Resume BLOCKED tasks in preserved sandbox so Claude finds its session
- Add planning preamble: CLAUDOMATOR_SUMMARY_FILE env var + summary step
- Update ADR-002 with new state transitions
- UI style improvements

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: require agents to write a final summary before exiting</title>
<updated>2026-03-11T11:01:21+00:00</updated>
<author>
<name>Claudomator Agent</name>
<email>agent@claudomator</email>
</author>
<published>2026-03-11T11:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=ed94896372686ce3a032e8f3d76144eb83e2d8cc'/>
<id>urn:sha1:ed94896372686ce3a032e8f3d76144eb83e2d8cc</id>
<content type='text'>
Add a mandatory '## Final Summary' section to planningPreamble
instructing agents to output a 2-5 sentence summary paragraph
(headed by '## Summary') as their last output before exiting.
Adds three tests to verify the section and its required content
are present in the preamble.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>executor: add git discipline section to agent preamble</title>
<updated>2026-03-08T22:11:05+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-08T22:11:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=dfa232540afdd4caaaaa5a835f205c34802c4e04'/>
<id>urn:sha1:dfa232540afdd4caaaaa5a835f205c34802c4e04</id>
<content type='text'>
Agents running in a sandbox must commit all changes before exiting.
The teardown rejects any dirty working tree. Add an explicit section
to the planning preamble making this requirement clear.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(executor): update runners and tests for generic agents</title>
<updated>2026-03-08T06:33:02+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-08T03:34:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=f887a6387946c8fc54f83a1f11a86d6c9d68dc50'/>
<id>urn:sha1:f887a6387946c8fc54f83a1f11a86d6c9d68dc50</id>
<content type='text'>
</content>
</entry>
<entry>
<title>agent: lower breakdown threshold to 3min; use claudomator create CLI for subtasks</title>
<updated>2026-03-07T08:30:13+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-07T08:30:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=cad057fd64fbf44f953bc2784f70ce344f3389cf'/>
<id>urn:sha1:cad057fd64fbf44f953bc2784f70ce344f3389cf</id>
<content type='text'>
Replaces the API POST instructions with the claudomator create command,
which is simpler and consistent with how operators queue tasks.
--start is explicitly omitted so subtasks are queued but not auto-started.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: blocked task state for agent questions via session resume</title>
<updated>2026-03-06T00:07:18+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-06T00:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=7466b1751c4126735769a3304e1db80dab166a9e'/>
<id>urn:sha1:7466b1751c4126735769a3304e1db80dab166a9e</id>
<content type='text'>
When an agent needs user input it writes a question to
$CLAUDOMATOR_QUESTION_FILE and exits. The runner detects the file and
returns BlockedError; the pool transitions the task to BLOCKED and
stores the question JSON on the task record.

The user answers via POST /api/tasks/{id}/answer. The server looks up
the claude session_id from the most recent execution and submits a
resume execution (claude --resume &lt;session-id&gt; "&lt;answer&gt;"), freeing the
executor slot entirely while waiting.

Changes:
- task: add StateBlocked, transitions RUNNING→BLOCKED, BLOCKED→QUEUED
- storage: add session_id to executions, question_json to tasks;
  add GetLatestExecution and UpdateTaskQuestion methods
- executor: BlockedError type; ClaudeRunner pre-assigns --session-id,
  sets CLAUDOMATOR_QUESTION_FILE env var, detects question file on exit;
  buildArgs handles --resume mode; Pool.SubmitResume for resume path
- api: handleAnswerQuestion rewritten to create resume execution
- preamble: add question protocol instructions for agents
- web: BLOCKED state badge (indigo), question text + option buttons or
  free-text input with Submit on the task card footer

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