@lawaty/lacode 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,48 @@ commit as the changelog entry it describes.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.5.0] — a user-only /manager-directive, instant limit failover, and the longcat preset
13
+
14
+ ### Added
15
+
16
+ - **`/manager-directive <text>`** — a client-only command that runs a hidden
17
+ `manager` agent to apply your instruction to `.opencode/context/manager.md`
18
+ (record it, move it between sections, rewrite `## Current`, …). The `manager`
19
+ agent is the only agent permitted to edit that file, its grant is scoped to
20
+ `manager.md` alone, and no other agent can spawn it — the command is the only
21
+ route in. The one-writer guard (`writer-rule.ts` Direction 3) now exempts
22
+ exactly that agent name and still reports every other writer.
23
+
24
+ ### Changed
25
+
26
+ - **Bundled pool preset** — `opencode-go/step-5-preview-free` and
27
+ `opencode/step-5-preview-free` were retired upstream. Slots 2 and 4 now name
28
+ `longcat-2.5-preview-free` on the same providers (`opencode-go`, `opencode`).
29
+ Update `~/.config/lacode/pool.txt` if you pinned the old ids there.
30
+
31
+ ### Fixed
32
+
33
+ - **Immediate failover on a usage limit** — when a limit-shaped assistant error or
34
+ a limit-shaped `session.status` retry names the session an in-flight claim is
35
+ running on, the pool aborts that session at once instead of leaving it for the
36
+ ~5-minute hang reaper. The claim is released and the next spawn routes to a slot
37
+ that answers; a limit on an unrelated session never kills a claim.
38
+
39
+ ## [0.4.2] — fix silent claim eviction, unkillable chatty tasks, and gateway 5xx misclassification
40
+
41
+ ### Fixed
42
+
43
+ - **Heartbeat-aware claim publishing**: `publish()` now filters claims by `(claim.hb ?? claim.t)` instead of `claim.t`, matching how `pruneOwn` and `readSiblings` already judge liveness. A claim past `CLAIM_TTL_MS` with a fresh heartbeat was being written out of its own file, causing every other process to hand the slot out again while the task still held it.
44
+ - **Claim ceiling (`MAX_CLAIM_AGE_MS`)**: a claim older than 30 minutes is now condemned regardless of activity. Previously, any message event reset the silence clock, so a task that hung while trickling output could reset it forever and never be killed. The ceiling is checked first; a claim that is both past it and silent is reported as `overran`, not `hung`.
45
+ - **Single condemn rule**: `condemnReason()` is now the one place the condemn logic lives. Both `findStuck()` (the reaper) and `pool_status` use it, so a claim the status reports as healthy cannot be one the reaper is about to kill.
46
+ - **Gateway 5xx and transient errors take the flat cooldown**: a 502, 503, 504, queue-budget exhaustion, or `TimeoutError` now cools the model flat (~60s, `strikes: 1`, reason `endpoint-unavailable`) instead of falling through unhandled. A real 429 or limit-shaped error still escalates through `recordStrike` unchanged.
47
+ - **Reaper log distinguishes `overran` from `hung`**: a ceiling kill logs `overran <variant> on <model> after <age>s; aborted session <id>` with no silence claim; a silence kill keeps the existing `hung` wording.
48
+ - **`pool_status` reports `overran` count**: a new line shows how many claims are past the ceiling and would be condemned, matching the reaper's own judgment.
49
+
50
+ ### Documented
51
+
52
+ - `docs/OMNIROUTE.md`: corrected the `ProviderModelNotFoundError` troubleshooting row — `combo` is registered whether or not the gateway advertises it, so a valid gateway route works there without an allowlist entry.
53
+
12
54
  ## [0.4.1] — refuse hand-named slot variants, and ship a changelog
13
55
 
14
56
  ### Added
@@ -151,7 +193,8 @@ commit as the changelog entry it describes.
151
193
 
152
194
  - First published release: pooled subagents over a shared set of models.
153
195
 
154
- [Unreleased]: https://github.com/lawaty/lacode/compare/v0.4.1...HEAD
196
+ [Unreleased]: https://github.com/lawaty/lacode/compare/v0.5.0...HEAD
197
+ [0.5.0]: https://github.com/lawaty/lacode/compare/v0.4.2...v0.5.0
155
198
  [0.4.1]: https://github.com/lawaty/lacode/compare/v0.4.0...v0.4.1
156
199
  [0.4.0]: https://github.com/lawaty/lacode/compare/v0.3.0...v0.4.0
157
200
  [0.3.0]: https://github.com/lawaty/lacode/compare/v0.2.2...v0.3.0