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,18 +1,8 @@
|
||||
"""F056: ``create_session`` (and its delegate ``get_or_create_active_session``,
|
||||
plus the L1868 channel-post adapter that routes through it) must not orphan an
|
||||
ACTIVE session under concurrent posts.
|
||||
"""``create_session`` must not orphan an ACTIVE session under concurrent posts.
|
||||
|
||||
``create_session`` does a plain check-then-create: read ``group.active_session_id``,
|
||||
reuse if ACTIVE, else INSERT a new ACTIVE session and point the group at it.
|
||||
Two concurrent posts can both miss the active session, both INSERT, and the
|
||||
second ``flush`` overwrites ``group.active_session_id`` — the first session
|
||||
stays ACTIVE but unreferenced (orphaned) forever. There is no DB uniqueness on
|
||||
``(group_id, status='active')`` (tables.py:1121-1125 only carries indexes), so
|
||||
nothing stops the double-insert.
|
||||
|
||||
The fix: lock the group row (``SELECT ... FOR UPDATE``) and re-read
|
||||
``active_session_id`` under the lock before deciding to create, so concurrent
|
||||
callers serialize per group and the loser reuses the winner's session.
|
||||
Lock the group row (``SELECT ... FOR UPDATE``) and re-read
|
||||
``active_session_id`` under the lock before creating, so concurrent callers
|
||||
serialize per group and the loser reuses the winner's session.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
Reference in New Issue
Block a user