mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
[sweep] strip Fxxx audit-ID tokens + trim bloated comments/docstrings + add behavior-change docs
Post-audit sweep over the 135 audit-fix commits since19a474d3: 1. Stripped every # Fxxx: audit-ID token from comments AND every Fxxx token from docstring openings across 211 blocks / ~626 lines. The CEO flagged these twice: audit-issue IDs in code confuse future devs/agents. The descriptive text is preserved; only the Fxxx token is removed (and bloated narrative blocks trimmed to 1-3 lines keeping the one non-obvious invariant). 2. Trimmed bloated comments/docstrings to the concise standard (1-3 lines). 3. Added missing behavior-change docs for the audit-fix batch: prompts/roles (documenter, pr_reviewer, qa), user-facing docs (api auth, websockets, agent-gateway, megatask, merge-model, task-lifecycle, grok, resilience, conventions, panel, security, troubleshooting), and the RAG corpus (cell-pm, main-pm, pr-reviewer, qa roles; conventions; messaging-tools; escalation; megatask; task-claiming workflows). Comment/docstring/prose ONLY — zero code-line edits (verified: the diff contains no def/class/return/if/for/await/assignment/call lines). Gates green: ruff format + ruff check clean, mypy clean on roboco/. The only pytest failures are the pre-existing sync_branch tracing-decision gap (B1,250be5c2) — not sweep-caused and tracked separately.
This commit is contained in:
@@ -1,21 +1,10 @@
|
||||
"""F072 — reaper Docker subprocess calls (``docker inspect`` / ``docker exec``)
|
||||
had no deadline: a hung Docker daemon or a stuck container FS would freeze the
|
||||
single asyncio event loop, because the reaper runs inline before every dispatch
|
||||
tick and shares that loop with every background sweeper (rate-limit probe,
|
||||
self-heal, ci-watch, dep-update, release-manager, grok-auth refresh).
|
||||
|
||||
The fix bounds each call with ``asyncio.wait_for``; on expiry ``proc.kill()`` the
|
||||
child and either raise (``inspect`` / ``resolve_container_id`` — the callers
|
||||
already apply their own fail-direction) or return ``None`` (the gateway probe —
|
||||
inconclusive, the caller declines to act, matching its existing probe-failure
|
||||
contract). The deadlines are generous enough that a legitimate slow docker call
|
||||
is never wrongly aborted. ``_check_health`` is also hardened so one agent's hung
|
||||
inspect skips that agent, not the whole sweep — preserving the per-tick
|
||||
check-all-agents invariant the timeout-then-raise would otherwise break.
|
||||
|
||||
Deterministic: the slow-docker tests patch the timeout constants tiny and use a
|
||||
never-resolving ``communicate``/``wait`` so a bounded fail-close is asserted in
|
||||
well under a second, never relying on real wall-clock timing of the defaults.
|
||||
"""Reaper Docker subprocess calls (``docker inspect`` / ``docker exec``) are
|
||||
bounded with ``asyncio.wait_for`` so a hung Docker daemon can't freeze the shared
|
||||
asyncio event loop (the reaper runs before every dispatch tick). On timeout the
|
||||
child is killed and the call either raises (``inspect`` /
|
||||
``resolve_container_id``) or returns ``None`` (gateway probe — inconclusive).
|
||||
``_check_health`` is hardened per-agent so one hung inspect skips that agent, not
|
||||
the whole sweep, preserving the per-tick check-all-agents invariant.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
Reference in New Issue
Block a user