mirror of
https://github.com/razzant/ouroboros.git
synced 2026-08-11 11:43:18 +00:00
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> |
||
|---|---|---|
| .. | ||
| ARCHITECTURE.md | ||
| CHECKLISTS.md | ||
| CREATING_SKILLS.md | ||
| DEPLOYMENT.md | ||
| DEVELOPMENT.md | ||