Skip to content

Test CwdChanged admission across failed idle-exit commits - #87

Merged
vanedaltro merged 1 commit into
mainfrom
test/cwd-observation-commit-admission
Oct 31, 2026
Merged

vanedaltro merged 1 commit into
mainfrom
test/cwd-observation-commit-admission

Conversation

@vanedaltro

@vanedaltro vanedaltro commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

CwdChanged acceptance covered successful moves, permission refusal, replay and shutdown, but lacked a direct hook assertion for a failed relocation append. Add a real-runtime/HTTP regression that enters a worktree, injects an append fault for that Session's idle exit, and verifies the original Location remains with no durable exit or CwdChanged delivery. Clear the fault and require one successful exit with matching durable transition identity; another exit must be silent.

The test proves the injected Store path was reached and includes positive delivery assertions, so disabling the producer cannot satisfy it. The injected failure occurs before append; unknown commit outcomes and the rest of producer task 5.3 remain open. No production behavior, schema or public API changes.

This increment is independent of PR #85's FileChanged alias tests and is based directly on main after PR #86.

Validation:

  • Exact new test passed locally on macOS arm64 (1 passed, 36 filtered out).
  • Scoped Clippy for the actual worktree_setup test target passed with -D warnings.
  • Rust formatting and whitespace checks passed.
  • Strict OpenSpec: 114 passed, 0 failed; spec lint: 0 errors, 25 warnings.
  • The native C build emitted deprecation warnings for macOS sandbox APIs.
  • Code/security review checked Session-selective fault injection, actual fault reachability, failed-commit silence, successful retry identity and idempotent no-op. No blocking findings remain.
  • Hosted Linux and macOS focused jobs passed all 37 worktree tests, including the new case. Both existing missing-producer controls executed the named test and failed at the intended 0-versus-2 event assertion; compilation failure cannot qualify.
  • Both actual checkouts used cc041c7, with tree db2edebe4d3643789b8132f4b17d454c1ba95b00 equal to head 93f0247. Downloaded control archives match GitHub's SHA-256 digests. The original logs were inspected independently of check conclusions.
  • All 18 current-head checks passed. Broad Linux and macOS Rust jobs each passed 5,504 tests (21 and 23 skips respectively, two slow tests each), including the new regression; doctests and the configured Linux benchmark also passed.
  • Broad Windows CI passed 3,775 selected tests (648 skipped, four slow and two leaky), plus 4 metadata, 9 migration and 18 AppContainer tests. The leaky-test warnings name messages_cli::an_exec_session_refuses_messages_unless_it_accepts_them and parallel_workflows::three_runs_share_the_slots_fairly_and_are_controlled_independently; their causes are unverified.
  • The Windows checkout also matches the same tested merge/tree. This revision's new regression is Unix-only and was not executed on Windows. The full local workspace suite was not run.

@vanedaltro
vanedaltro merged commit 148d5c9 into main Oct 31, 2026
18 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.

1 participant