<feed xmlns='http://www.w3.org/2005/Atom'>
<title>claudomator.git/internal/executor/classifier.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-10T16:48:15+00:00</updated>
<entry>
<title>executor: explicit load balancing — code picks agent, classifier picks model</title>
<updated>2026-03-10T16:48:15+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-10T16:48:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=e0335047e063830ca000a8cb3a9ec31a8ab411a7'/>
<id>urn:sha1:e0335047e063830ca000a8cb3a9ec31a8ab411a7</id>
<content type='text'>
pickAgent() deterministically selects the agent with the fewest active tasks,
skipping rate-limited agents. The classifier now only selects the model for the
pre-assigned agent, so Gemini gets tasks from the start rather than only as a
fallback when Claude's quota is exhausted.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>executor: strengthen rate-limit avoidance in classifier</title>
<updated>2026-03-09T05:50:59+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-09T05:50:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=8ec366de42dd66256895f16c9669469791ca823a'/>
<id>urn:sha1:8ec366de42dd66256895f16c9669469791ca823a</id>
<content type='text'>
Updated isQuotaExhausted to detect more Claude quota messages. Added 'rate limit reached (rejected)' to quota exhausted checks. Strengthened classifier prompt to explicitly forbid selecting rate-limited agents. Improved Pool to set 5h rate limit on quota exhaustion.
</content>
</entry>
<entry>
<title>executor: update classifier model list to Claude 4.x and current Gemini models</title>
<updated>2026-03-09T04:56:48+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-09T04:56:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=fc1459be18d4718f2c5f15325e1a1d07fb0b3a9e'/>
<id>urn:sha1:fc1459be18d4718f2c5f15325e1a1d07fb0b3a9e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>executor: fix Claude rate-limit detection and prioritize Gemini when limited</title>
<updated>2026-03-09T01:08:51+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-09T01:08:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=5ad8356b5ce4d525af079f902791559d53b67bba'/>
<id>urn:sha1:5ad8356b5ce4d525af079f902791559d53b67bba</id>
<content type='text'>
Updated parseStream to detect 'rate_limit_event' and 'assistant' error:rate_limit messages from the Claude CLI. Updated Classifier to strongly prefer non-rate-limited agents. Added logging to Pool to track rate-limit status during classification.
</content>
</entry>
<entry>
<title>executor: update gemini model to 2.5-flash-lite and fix classifier parsing</title>
<updated>2026-03-08T23:44:14+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-08T23:44:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=e5255dcc85c7c4bb0e8838c0064dd545ed0bd830'/>
<id>urn:sha1:e5255dcc85c7c4bb0e8838c0064dd545ed0bd830</id>
<content type='text'>
Update the default Gemini model and classification prompt to use gemini-2.5-flash-lite, which is the current available model. Improved the classifier's parsing logic to correctly handle the JSON envelope returned by the gemini CLI (stripping 'response' wrapper and 'Loaded cached credentials' noise).
</content>
</entry>
<entry>
<title>feat(executor): implement Gemini-based task classification and load balancing</title>
<updated>2026-03-08T20:50:21+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-08T20:50:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=406247b14985ab57902e8e42898dc8cb8960290d'/>
<id>urn:sha1:406247b14985ab57902e8e42898dc8cb8960290d</id>
<content type='text'>
- Add Classifier using gemini-2.0-flash-lite to automatically select agent/model.
- Update Pool to track per-agent active tasks and rate limit status.
- Enable classification for all tasks (top-level and subtasks).
- Refine SystemStatus to be dynamic across all supported agents.
- Add unit tests for the classifier and updated pool logic.
- Minor UI improvements for project selection and 'Start Next' action.
</content>
</entry>
</feed>
