BaaRai
89348b5512
feat(engine): per-intent LLM chain-head rotation (opt-in llm_rotate)
...
Implements the per-intent rotation shape from #85 : a task created with
llm_rotate=true distributes worker intents round-robin over its LLM chain
heads, so lane A can hunt on one model while lane B hunts on another
(different lenses per intent, no extra tokens). Default stays the classic
ordered failover from the active head; planner/goals/mainagent keep the
active head always.
Mechanics: the engine pins the next chain head into the run context when a
worker claims an intent; the pin travels through the provider resolver
(hooks.current now takes ctx). A pin is only a dispatch preference - it must
belong to the task chain and never bypasses failover state (an exhausted
chain stays exhausted). Schema: tasks.llm_rotate boolean, default false,
idempotent ALTER; exposed on the create payload and the task DTO.
Closes #85 (the ensemble/P4 shape stays parked as before)
2026-10-21 15:00:16 +02:00
..
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-28 15:25:20 +08:00
2026-08-28 07:37:24 +08:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:29:14 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-31 12:20:31 -04:00
2026-10-08 23:14:34 +02:00
2026-10-12 08:20:37 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:29:38 +08:00
2026-08-25 14:56:15 +08:00
2026-07-26 04:27:45 -04:00
2026-08-28 15:25:20 +08:00
2026-10-12 18:43:29 +02:00
2026-09-09 11:52:15 -04:00
2026-08-24 19:29:00 +08:00
2026-08-28 14:03:07 +08:00
2026-10-08 23:14:34 +02:00
2026-09-11 08:47:57 +08:00
2026-10-12 18:36:44 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-09-10 13:03:20 +08:00
2026-09-10 13:03:20 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:29:00 +08:00
2026-08-24 19:29:00 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-09-15 20:08:12 +08:00
2026-09-15 23:51:37 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-09-12 03:00:28 -04:00
2026-10-21 14:25:35 +02:00
2026-10-21 14:25:35 +02:00
2026-08-25 09:40:05 -04:00
2026-10-12 08:53:20 +02:00
2026-08-24 19:28:18 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-07-26 04:27:45 -04:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-21 15:00:16 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-09-11 00:41:01 +08:00
2026-10-08 23:14:34 +02:00
2026-10-19 00:33:08 +02:00
2026-08-24 19:30:14 +08:00
2026-08-28 12:56:29 +08:00
2026-08-28 12:56:29 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-24 09:16:44 -04:00
2026-08-24 09:16:44 -04:00
2026-08-24 19:29:00 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-09 14:28:08 +02:00
2026-08-24 19:29:00 +08:00
2026-10-08 23:14:34 +02:00
2026-08-28 08:00:36 +08:00
2026-08-25 14:56:15 +08:00
2026-10-19 00:28:27 +02:00
2026-08-24 19:29:00 +08:00
2026-08-09 09:09:59 -04:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:29:00 +08:00
2026-08-24 19:29:46 +08:00
2026-09-19 09:27:03 -04:00
2026-10-08 23:14:34 +02:00
2026-10-21 15:00:16 +02:00
2026-10-12 18:43:29 +02:00
2026-08-25 12:05:26 +08:00
2026-08-28 12:56:29 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00