Skip to content

self_debug passes ad-hoc timeout=600 to run_claude_session, silently tightening the declared 900s deadline #296

Description

@adrianwedd

Same bug class as #291, one instance left behind deliberately when #294 was scoped (agreed on review: file separately).

What: mind.py (self_debug dispatch, ~line 3498) calls run_claude_session("self_debug", ..., timeout=600). brain._DEADLINE_S declares 900s for self_debug. Since #294, run_claude_session(timeout=None) defaults to the kind's declared deadline — the ad-hoc 600 is now the only remaining call-site override, and it silently wins, so a self-debug run that would have finished between 600s and 900s is killed and recorded as a failure.

Why it matters: #291 showed exactly this shape kills a feature invisibly for weeks — consolidation failed at precisely 180.1s every night because an ad-hoc override defeated the per-kind deadline. The single-deadline-source rule exists so brain._DEADLINE_S is authoritative.

Fix: delete the timeout=600 argument at the self_debug call site (let it default to None → 900), and optionally add a repo-wide test asserting no production caller of run_claude_session passes a literal timeout= (test overrides excepted), so the class is closed rather than the instance.

Refs: #291, #294 (5b62a3da).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions