Skip to content

Releases: CleanSlice/runtime

v0.21.0

29 May 20:08

Choose a tag to compare

v0.20.0 — resource_status tool + delayed-turn hint

25 May 15:23

Choose a tag to compare

Agent self-awareness of operating resources

The agent can now inspect its own LLM/system resources and gets nudged when something is wrong.

New tool: resource_status (admin-only)

Returns a structured snapshot:

  • llm — provider, model, context window, OAuth/API credentials with per-token cooldown state (cooldownUntilMs, consecutive429s), anyAvailableNow, soonestAvailableMs, primaryOverloaded.
  • usage — today's totalInputTokens / totalOutputTokens / totalCallCount.
  • system — container rssBytes, memoryLimitBytes, memoryUsagePct, cpuPercent, cpuQuotaPct. Reads cgroup v2 → falls back to v1 → degrades to host (macOS / non-Docker) with just RSS + CPU%.
  • lastTurn — duration, retry count, rate-limited / overloaded flags of the previous LLM call.

Auto-hint on delayed turns

After any LLM turn that took more than 30s, hit a retry, was rate-limited, or saw an overloaded_error, the runtime injects a one-shot # Resource Notice block into the next system prompt:

Your previous turn took 45s (retries=2, rate-limited). If you suspect resource pressure, call the resource_status tool…

The hint fires exactly once per delayed turn (consume-on-read).

Under the hood

  • ClaudeRepository.getResourceSnapshot() exposes the private OAuth pool + tokenStates via a normalized DTO.
  • withRetry tracks retries / rate-limit / overload and attaches them to ModelResponse.meta.
  • New LastTurnStatsTracker lives on LoopService; RuntimeService.buildPrompt consumes it per turn.
  • LlmModule.getResourceSnapshot() returns a minimal stub for non-Claude providers so the tool stays callable.
  • BuildPromptOpts.extraHint is the generic injection point for the next-turn nudge.

Full Changelog: v0.19.13...v0.20.0

v0.19.12

24 May 19:21

Choose a tag to compare

Full Changelog: v0.19.11...v0.19.12

v0.19.11

24 May 19:09

Choose a tag to compare

Full Changelog: v0.19.10...v0.19.11

v0.19.10

24 May 15:30

Choose a tag to compare

Full Changelog: v0.19.9...v0.19.10

v0.19.9

24 May 15:06

Choose a tag to compare

Full Changelog: v0.19.8...v0.19.9

v0.19.8

24 May 14:38

Choose a tag to compare

Full Changelog: v0.19.7...v0.19.8

v0.19.7

24 May 14:26

Choose a tag to compare

Full Changelog: v0.19.6...v0.19.7

v0.19.6

23 May 23:21

Choose a tag to compare

Full Changelog: v0.19.5...v0.19.6

v0.19.5

23 May 14:59

Choose a tag to compare

Full Changelog: v0.19.4...v0.19.5