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,11 @@
|
||||
"""F065: WS route handlers must disconnect on ANY exit path, not just
|
||||
"""WS route handlers must disconnect on ANY exit path, not just
|
||||
WebSocketDisconnect.
|
||||
|
||||
The old handlers were ``try: ... while True: receive_text() ... except
|
||||
WebSocketDisconnect: manager.disconnect(websocket)`` with NO ``finally``.
|
||||
If ``receive_text()`` raised anything else (anyio closed-resource during
|
||||
shutdown, ``asyncio.CancelledError``, transport errors), the exception
|
||||
propagated WITHOUT calling ``manager.disconnect(websocket)``, so the dead
|
||||
socket stayed in the subscription set + ``connection_agents`` forever and
|
||||
was still fanned out to on every broadcast.
|
||||
|
||||
The fix adds ``finally: manager.disconnect(websocket)`` to every handler.
|
||||
``disconnect`` is idempotent (``set.discard`` / ``dict.pop`` with default),
|
||||
so the clean-disconnect path (still caught by ``except WebSocketDisconnect``
|
||||
for clarity) and the new finally both calling it is safe.
|
||||
|
||||
These tests use mock sockets (no real app/Redis) and an isolated
|
||||
``ConnectionManager`` patched in for the module-global ``manager``.
|
||||
Each handler adds ``finally: manager.disconnect(websocket)``; ``disconnect``
|
||||
is idempotent (``set.discard`` / ``dict.pop`` with default), so the
|
||||
clean-disconnect path and the finally both calling it is safe. Tests use
|
||||
mock sockets (no real app/Redis) and an isolated ``ConnectionManager``
|
||||
patched in for the module-global ``manager``.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
Reference in New Issue
Block a user