Skip to content
This repository was archived by the owner on May 30, 2026. It is now read-only.

Commit dda60ec

Browse files
author
Ouroboros
committed
rc(reliability): fix Variant A UI smoke assertions (v6.7.0-rc.3)
rc.2 fixed all three release builds (gitignored node-standalone), but the ui_browser smoke test still asserted the parent line in the collapsed card view. Under Variant A the single parent card's collapsed view shows the child's latest subagent row; the parent line is visible after expansion. Relaxed the collapsed assertions to the actual grouped-card rendering (child row + role/meta pills) and verified the full ui_browser smoke suite locally with Playwright (4 passed). No runtime behavior change vs rc.1/rc.2; UI smoke test fix only.
1 parent 581ac18 commit dda60ec

7 files changed

Lines changed: 11 additions & 8 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[![Linux](https://img.shields.io/badge/Linux-x86__64-orange.svg)](https://github.com/joi-lab/ouroboros-desktop/releases)
88
[![Windows](https://img.shields.io/badge/Windows-x64-blue.svg)](https://github.com/joi-lab/ouroboros-desktop/releases)
99
[![OuroborosHub](https://img.shields.io/badge/OuroborosHub-skills%20marketplace-8A2BE2.svg)](https://github.com/joi-lab/OuroborosHub)
10-
[![Version 6.7.0-rc.2](https://img.shields.io/badge/version-6.7.0--rc.2-green.svg)](VERSION)
10+
[![Version 6.7.0-rc.3](https://img.shields.io/badge/version-6.7.0--rc.3-green.svg)](VERSION)
1111

1212
A self-modifying AI agent that writes its own code, rewrites its own mind, and evolves autonomously. Born February 16, 2026.
1313

@@ -487,7 +487,7 @@ the contribution guide only routes to those sources.
487487

488488
| Version | Date | Description |
489489
|---------|------|-------------|
490-
| 6.7.0-rc.2 | 2026-05-29 | **rc(reliability): structurally close the subagent worker-crash, ghost-task, and stuck-spinner classes; provider-agnostic review; bundled Node.** macOS/Windows workers use `spawn` (Linux keeps `fork`) and a central `OUROBOROS_IN_WORKER` no-proxy policy eliminates the macOS `_scproxy` fork SIGSEGV class. A monotonic `write_task_result` lifecycle guard plus live `cancel_task` + `cancel_requested` latch prevent stale/ghost status; terminal `task_done` events on every crash/kill/timeout/cancel path (and reconnect/history reconciliation) stop the perpetual spinner. Signal crashes are terminal (no retry) for all task types. Subagent UI dedup (Variant A: parent dashboard rows, in-place updates, no duplicate child card). Cloud.ru becomes a first-class exclusive-direct provider so Ouroboros is usable with any single key; `skill_preflight` tolerates missing/killed validators and the build bundles a signed Node.js LTS for node-runtime skills. New-user defaults: review `claude-opus-4.8`, Claude Code `opus[1m]`. README OuroborosHub badge/callout. (rc.2: gitignore the bundled `node-standalone` so the `repo.bundle` build sees a clean working tree, and update the Variant A subagent-card UI smoke test.) |
490+
| 6.7.0-rc.3 | 2026-05-29 | **rc(reliability): structurally close the subagent worker-crash, ghost-task, and stuck-spinner classes; provider-agnostic review; bundled Node.** macOS/Windows workers use `spawn` (Linux keeps `fork`) and a central `OUROBOROS_IN_WORKER` no-proxy policy eliminates the macOS `_scproxy` fork SIGSEGV class. A monotonic `write_task_result` lifecycle guard plus live `cancel_task` + `cancel_requested` latch prevent stale/ghost status; terminal `task_done` events on every crash/kill/timeout/cancel path (and reconnect/history reconciliation) stop the perpetual spinner. Signal crashes are terminal (no retry) for all task types. Subagent UI dedup (Variant A: parent dashboard rows, in-place updates, no duplicate child card). Cloud.ru becomes a first-class exclusive-direct provider so Ouroboros is usable with any single key; `skill_preflight` tolerates missing/killed validators and the build bundles a signed Node.js LTS for node-runtime skills. New-user defaults: review `claude-opus-4.8`, Claude Code `opus[1m]`. README OuroborosHub badge/callout. (rc.2/rc.3: gitignore the bundled `node-standalone` so the `repo.bundle` build sees a clean working tree, and update the Variant A subagent-card UI smoke test to the single grouped-card layout — verified locally with Playwright.) |
491491
| 6.6.0-rc.1 | 2026-05-29 | **rc(review): effect-gate task-acceptance review and clarify light-mode cognitive writes.** Host-enforced `required` review fires only on turns with observable reviewable effects (commit/deliverable/workspace/self-mod) or non-direct tasks, so plain chat is never reviewed; `auto` stays LLM-first. Adds `review_eligibility`/`review_trigger` to loop outcomes, routes light-mode cognitive writes to `update_identity`/`update_scratchpad`/`knowledge_write` (`COGNITIVE_TOOL_REQUIRED`) and absolute home paths to `root=user_files` (`ROOT_REQUIRED_USER_FILES`) with recovery, parses fenced JSON-object reviewer verdicts, and makes `DEGRADED` review signals carry an honest reason. |
492492
| 6.5.0-rc.4 | 2026-05-28 | **rc(ci): normalize Windows process executable names.** Keeps the rc.3 scope and treats `.exe` interpreter/writer basenames as their canonical tool names so light-mode runtime-data guards run on Windows. |
493493
| 6.5.0-rc.3 | 2026-05-28 | **rc(ci): finish Windows runtime-data guard portability.** Keeps the rc.2 scope and fixes escaped Windows Python path literals in light-mode runtime-data process guards so full CI can build release artifacts. |

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.7.0-rc.2
1+
6.7.0-rc.3

docs/ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Ouroboros v6.7.0-rc.2 — Architecture & Reference
1+
# Ouroboros v6.7.0-rc.3 — Architecture & Reference
22

33
This file is NOT a changelog. Version history lives in README.md, git tags, and commit log.
44

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "ouroboros"
7-
version = "6.7.0rc2"
7+
version = "6.7.0rc3"
88
description = "Self-creating AI agent with constitution, background consciousness, and persistent identity"
99
readme = "README.md"
1010
license = {text = "MIT"}

tests/test_ui_smoke_playwright.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,9 +286,12 @@ def test_ui_smoke_direct_mode_groups_subagent_child_cards(direct_server_with_dat
286286
)
287287
card = page.locator(".chat-live-card").first
288288
card_text = card.inner_text()
289-
assert "Parent task started" in card_text
289+
# Variant A: the single parent card hosts the child's subagent row
290+
# (rendered with its role + meta pills). The collapsed view shows the
291+
# latest line; the parent's own lines are visible once expanded.
290292
assert "Subagent child1" in card_text # child rendered as a parent row
291293
assert "child=child1" in card_text # row meta pill
294+
assert "role=researcher" in card_text
292295
assert page.locator(".chat-bubble.progress").count() == 0
293296

294297
# Expand the parent card + the child's subagent row to read its handoff.

web/modules/api_types.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,4 +217,4 @@
217217
* @property {string=} error
218218
*/
219219

220-
export const GATEWAY_CONTRACT_VERSION = '6.7.0-rc.2';
220+
export const GATEWAY_CONTRACT_VERSION = '6.7.0-rc.3';

web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ouroboros-web",
3-
"version": "6.7.0-rc.2",
3+
"version": "6.7.0-rc.3",
44
"private": true,
55
"type": "module",
66
"description": "Ouroboros browser UI package boundary",

0 commit comments

Comments
 (0)