Fix Docker OOM reporting and queue startup pacing - #2016
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: #2015
Working session summaryDone. PR 2016 is updated, pushed, marked ready, and CI is green: #2016 Implemented:
Verification:
Sources used: Docker Engine API This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (921.2K + 14.2M cached) input tokens, 58.7K output tokens, $26.008301 cost 🤖 Models used:
📎 Log file uploaded as Gist (15861KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
This reverts commit e782cdb.
|
We can now use link-foundation/start#149 (new version was released) We should double check all the details about of #2015, and fix all not yet fixed false positives, false negatives and negatives from the logs. We also need to set 10 minutes as minimum interval between tasks startup, as when restrictions of queue are lifted (for any threshold) we executing bulk of tasks too fast, that leads to secondary mass killing of tasks. Also when no limits are reached, we usually allowed immediate execution of multiple tasks, now we should queue them with same 10 minutes interval. So the system have time to update metrics. Also we need to make sure we never cache CPU, RAM, disk usage for more than 1 minute, so we always use the most fresh details possible. API caching stays, as it can hit rate limits overwise. Double check that our queue system and monitoring on all levels is correct and is the most robust possible, so we guarantee maximum reliability and stability. |
|
🤖 AI Work Session Started Starting automated work session at 2026-07-05T18:33:32.286Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. |
Follow-up completeAddressed the latest review comment on PR #2016:
Verification:
|
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (487.7K + 10.1M cached) input tokens, 38.1K output tokens, $16.740563 cost 🤖 Models used:
📎 Log file uploaded as Gist (9214KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
Closes #2015
Summary
oomKilledfrom start-command$ --statusoutput, including links-notation, JSON, and Docker-likeState.OOMKilledpayloads.oomKilled trueas terminaloom-killedbefore backend liveness probing, using exit code 137 when start-command has no better exit code.telegram.work_session_killed.start-command@0.30.3, which includes the merged/released upstream fix from Fix detached Docker OOM status reconciliation link-foundation/start#149.docs/case-studies/issue-2015.Investigation Findings
5ff719b9-9d2d-4479-b124-c4b8bda61dd0was a false killed notification: the start-command log later recordedExit Code: 0at2026-07-04 15:09:11.338, while Telegram had already reported the session as killed.1e9e7513-edd7-43a2-b143-169cfd794af6andd90880d4-aa05-4145-ac02-7542eea2041aexposed DockeroomKilled truewhile top-level status remainedexecuting; Hive Mind now handles this downstream, and upstream start#148/start#149 released the matching start-command fix.Screenshots / Evidence
Tests
node tests/test-issue-2015-oom-killed-status.mjsnode tests/test-issue-2015-queue-stability.mjsnode tests/test-issue-1927-killed-detection.mjsnode tests/test-issue-1927-completion-labeling.mjsnode tests/test-telegram-ui-i18n.mjsnode tests/test-i18n.mjsnode tests/test-issue-1686-log-command.mjsnode tests/queue-config.test.mjsnode tests/solve-queue-tool-tracking.test.mjsnode tests/solve-queue.test.mjsnpm run lintnpm run format:checknpm run check:duplicationnode --check src/solve.mjsnode --check src/hive.mjsbash scripts/check-mjs-syntax.shbash scripts/check-file-line-limits.shnode tests/docs-validation.mjsnode tests/test-docs-language-sync.mjsnpm test(305 selected test files)npx secretlint --no-gitignore --secretlintrcJSON '{"rules":[{"id":"@secretlint/secretlint-rule-preset-recommend"}]}' "docs/case-studies/issue-2015/**/*"