Skip to content

2.33.14

Choose a tag to compare

@github-actions github-actions released this 07 Oct 07:48
· 702 commits to main since this release
  • e8ce7bb: fix --ci-cd now recommends the C/C++ pipeline template (link-foundation/cpp-ai-driven-development-pipeline-template) for C, C++ and CMake repositories, and docs/CI-CD-BEST-PRACTICES.md and its translations list it. A GitHub integration test fails when a new link-foundation pipeline template is published but not yet listed. Also refresh lino-i18n to 0.3.0 and lino-objects-codec to 0.9.0 for the dependency freshness gate.

  • 65df4c1: Stop presenting an earlier container OOM event as the cause of a failure (#2498). In the reported run, a child process (rustc) was OOM-killed and the session kept working. It later stopped for an unrelated reason, an expired Claude login. The pull-request notice is now titled "ℹ️ Work session stopped on its own — the earlier container OOM event did not cause it" and leads with the real stop line from the log; the old title was "⚠️ Container OOM event during a failed work session". The Telegram and PR diagnostics now label the OOM event "Event … (not the cause of this stop)" instead of "Cause". start-command's memoryExhausted / exitReason: memory-exhaustion (cgroup-oom-killer) derived only from Docker's sticky State.OOMKilled flag is no longer shown as separate evidence of memory exhaustion (reported upstream as link-foundation/start#180).

    Also spread out automatic recoveries after an out-of-memory kill, and record the container's own memory limit (#2498). Every automatic recovery now waits its own random delay before it starts, whether it is a killed session resumed by the monitor or a tool resumed by solve after the tool was OOM-killed. The delay is 30–90 s by default, set with --session-kill-resume-delay <min-max> or HIVE_MIND_SESSION_KILL_RESUME_DELAY; 0 turns it off. Sessions hit by the same event therefore no longer compete for memory, CPU and the API in the same second. Resource snapshots now also read the task's cgroup: its memory limit, current and peak usage, and the memory.events oom/oom_kill counters. These are logged and stored in the 📈 [RESOURCES] marker, and the kill diagnosis quotes them. Until now the logs only showed host RAM (for example "10.4 GB of 11.7 GB available") for a container capped at 2.9 GB, and nothing showed how many processes the OOM killer took.

    Update all Docker images to start-command 0.35.4 (attempt-scoped resume evidence, start#187) and retain its per-task cgroup counters in status/list and diagnostics. An earlier container OOM cannot override a later SIGTERM or runtime heap abort; unrelated bot-cgroup counters and host victims are labelled as context. Report raw process and allocation-event counts without inferring OOM scope from their ratio. A user stop during the recovery delay cancels the pending launch, the environment delay works with parsed CLI defaults, and invalid timer ranges fall back to 30–90 seconds.

    Keep resumed tasks under monitoring by reading terminal and stop evidence only from the current attempt, and reset inherited completion caches. Recovery notices now distinguish scheduling, launch acceptance, observed execution output, quiet pending runs and terminal outcomes. Update one durable GitHub lifecycle comment and the Telegram task reply at phase changes and five-minute intervals; in-process retries log and publish their actual result, clear their heartbeat timer, and do not infer OOM solely from SIGKILL. Preserve known tool outcomes after later output evicts them from the log tail. Report a missing recovery exit code as an unknown outcome in notifications and durable completion history, including restored completion latches. Refresh command-stream and dotenvx dynamic pins; all 168 dependency declarations are current.

    Finish immediately once the pull request is merged (#2498, package-registry-manager#31). A session with kill or container-OOM evidence now has its pull request's merge state checked, including a session started on a pull request URL. After a merge, no recovery is launched and no kill, recovery or OOM notice or "killed session" log is published; Telegram says "Pull request merged, but the work session exited with code …" for a later kill. solve's in-process retry of a killed AI tool stops when the pull request has merged and cancels a retry that is already scheduled. With the pull request still open, an OOM event that did not stop the session is titled "Work session completed — an earlier container OOM event did not stop it", and solve's final log is not uploaded a second time. Update the runtime pins for command-stream to 1.6.2 and links-notation to 0.23.0.

  • fcd5a3a: Telegram Bot API calls are now governed instead of only counted (#2571): chats refused with retry_after are held, requests are paced to the documented per-chat, per-group and broadcast windows, and low-priority refreshes (queue cards, /top, /merge) yield to replies and are skipped rather than retried. Waiting cards are edited only for news, so a big queue no longer triggers 429s. /limits shows the last 429 with its age and retry_after, and how much the bot held back. Also fixes, from the production log: usage-API 429/401 responses are cached (honouring Retry-After) and shared between concurrent callers, bot.catch no longer replies into a throttled chat, the /stop "Cancelled" card escapes user names, a truncated gh comment response no longer loses or duplicates the log-link comment, and the agentic CLI updater logs why an update failed.

Related Pull Requests: #2499, #2572, #2574


npm version