Skip to content

chore(yoagent-rutis): cover DSH turn endings - #371

Merged
yuanhao merged 3 commits into
yologdev:mainfrom
Oscar-Williams:feat/dsh-turn-end-tests
Oct 23, 2026
Merged

yuanhao merged 3 commits into
yologdev:mainfrom
Oscar-Williams:feat/dsh-turn-end-tests

Conversation

@Oscar-Williams

@Oscar-Williams Oscar-Williams commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

What this changes

Adds five integration tests for persisted DSH turn endings and removes obsolete dependency pins from the two MSRV jobs. Closes #363.

Why

The tests read DSH's JSONL events for cancellation, failed runs, overlapping runs, session resets and host shutdown, including a late finish while another run owns the turn.

The yoke-derive 0.8.2 pin conflicts with yoke 0.8.4. The derive crate now declares Rust 1.82, allowing Cargo's resolver to select it.

How it was verified

  • cargo fmt -- --check
  • cargo clippy --all-targets --all-features (CI runs with -Dwarnings)
  • cargo test --all-features

On Linux with Node 22.23.4, core build/rustdoc and bridge fmt, Clippy, tests and rustdoc passed (--features node,loader for the bridge).

DSH: 17 passed with YOAGENT_RUTIS_REQUIRE_RUNTIMES=1, one existing univer smoke ignored. Eight faulty variants fail the new assertions, covering wrong reasons, lost error details, missing end events and removal of the owner guard.

Both pin conflicts reproduced on the unchanged base; a derive probe compiled with Rust 1.82. CI passes all 16 jobs on 02370b8, including Rust 1.86/1.88, Linux/macOS/Windows, Wasm, Workers and the Node/Bun/Python/Go fixtures.

Checklist

  • Tests cover the change
  • CHANGELOG.md updated under ## Unreleased
  • Docs updated (docs/ and/or rustdoc) if user-facing (N/A: tests and CI)
  • No new public API without a doc comment

Oscar-Williams and others added 3 commits October 24, 2026 00:33
… tests

main (yologdev#372) already dropped the yoke-derive pins, so ci.yml takes main's
side and the CI CHANGELOG bullet goes. Doc comments on the five tests,
their names in the integration's CLAUDE.md, and the CHANGELOG entry moved
under yoagent-rutis Unreleased.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG
@yuanhao

yuanhao commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

Thanks for these tests — they cover every turn ending #363 lists, and the overlap test really pins the owner guard. Reviewed (code + test quality; nothing unsafe, no flakiness found) and adjusted on your branch in 1673edc (a merge commit, so your history is untouched):

Locally: dsh_test 17 passed (1 ignored), clippy and fmt clean.

Two optional follow-ups, not blocking: a failed run with no extension named (a provider error, so no (extension …) suffix) and a run stopped after a DSH call ending completed.

@yuanhao
yuanhao merged commit c102378 into yologdev:main Oct 23, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

yoagent-rutis DSH host: test every turn end (cancelled, failed, lost finish, disposed)

2 participants