Commit graph

2 commits

Author SHA1 Message Date
Ouroboros
4007261500 feat(core): v6.34.0 — multi-task chat steering + resilience + v6.33.0 review carryover
Multi-task chat steering (WS1): a busy-chat decision turn STEERS the right running
task instead of spawning a duplicate. It sees the chat's running tasks as a structural
runtime fact (current_chat.running_tasks) and the new LLM-first steer_task(task_id,
message) delivers to that task's owner-mailbox — idempotent (client_message_id-derived
msg_id, no double-deliver), fail-visible on a stale target, generalizing to N concurrent
tasks (the agent's judgment picks the target — no keyword gate, BIBLE P5). A busy project
room routes to the same decision turn (project-scoped) rather than mechanically
auto-spawning; the 1:1 project auto-delivery is idempotent too.

Skill-dispatch resilience (WS2): the ctx calling-convention is decided on the RAW handler
(no spurious-ctx TypeError for keyword-only handlers). (The no-deps _execution_lock skip
fast path was withdrawn — it reopened a cross-skill dep leak; a reader/writer fast path is
deferred to a live-verifiable release. Head-of-line is mitigated by the pre-existing
out-of-process dispatch + the nested-finally lock release.)

Chat-lane wedge resilience (WS3): bridge intake is hoisted EARLY in the supervisor loop;
a dedicated per-generation liveness watchdog (off the serial loop) alerts the owner on a
supervisor-loop stall OR a heartbeat-silent in-process chat turn (read lock-free; +
/restart hint). In-process admission cannot be safely freed (the wedged turn holds
_chat_agent_lock), so out-of-process kill stays deferred; WS10 ephemeral turns keep the
chat responsive meanwhile.

WebSocket hardening (WS4): broadcasts fan out concurrently (asyncio.gather — one slow
client can't head-of-line); chat-history jsonl parses off the event loop (asyncio.to_thread).

v6.33.0 review carryover (WS5): the P3 scope-review floor is owner-only + audited (POST
/api/owner/scope-review-floor, merge-skipped from generic settings, guarded on shell/browser/
SAFETY channels). Max context mode is enforced at point-of-USE and point-of-BUILD (fail-closed
to Low when the active route — remote OR local n_ctx — no longer confirms >=1M, read-only;
USE_LOCAL_MAIN routes the gate to local n_ctx; switch_model refuses a sub-1M route while the
transcript is max-sized, fail-closed). A short ephemeral decision turn runs a DEFAULT-DENY
read/decision ALLOWLIST (no durable/control/review/skill/shell or extension·MCP tools) and
leaves no durable task record. The external-shell secret guard catches relative interpreter-
string paths. Ratified extras: op=structural code intelligence is polyglot via tree-sitter
(Go/Rust/Java/... + a visible structural_unavailable marker); an OpenAI-compatible /models
capability probe; Settings Max-save shares the capability-ack flow.

SYSTEM.md slim (WS6): the named-project how-to moves from the prompt into the
promote_chat_to_task tool description.

New surface: POST /api/owner/scope-review-floor, steer_task tool,
OUROBOROS_SUPERVISOR_LIVENESS_DEADLINE_SEC, OUROBOROS_PACING_INTERVAL_SEC.

Reviewed by the full triad (gpt-5.5 / gemini-3.5-flash / opus-4.8) + scope (gpt-5.5, 1M) +
claudexor (gpt-5.5) across 8 gauntlet rounds; converged with the sole remaining finding —
the WS2 no-deps reader/writer fast path — an owner-deferred, evidence-based decline.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 05:01:19 +03:00
Ouroboros
7260370fc4 feat(code-intelligence): add query_code and clearer evolution settings
Introduce a derived code-intelligence layer with a read-only query tool, ripgrep-backed search, and clearer post-task self-improvement controls so Ouroboros can navigate larger codebases without regex-heavy guesswork.
2026-06-09 07:46:59 +03:00