Skip to content

Repair three stale account-directory spawn fixtures - #30

Open
ruby-dlee wants to merge 1 commit into
mainfrom
fm/account-directory-fixtures
Open

Repair three stale account-directory spawn fixtures#30
ruby-dlee wants to merge 1 commit into
mainfrom
fm/account-directory-fixtures

Conversation

@ruby-dlee

Copy link
Copy Markdown
Owner

main's CI has been red for 16h on the account-directory suite, which aborted at its eighth test. Every firstmate PR inherits that failure, so #26 and #28 are both blocked by a red they did not cause.

Three fixtures had drifted from the direct-account spawn path they model:

  • The fake treehouse never answered get --lease, so fm-spawn correctly refused to launch without a worktree. It now reports one on stdout, the way treehouse does.
  • The fixture worktree was attached to a branch. A leased Treehouse worktree is handed over at detached HEAD and fm-spawn refuses an attached one, so the fixture could never reach the behavior it was asserting.
  • The identity-drift fake detached an already-detached worktree — a no-op — so the post-preparation recheck had nothing to catch. It now moves the worktree onto a branch, which is a real drift.

One assertion also pinned the order in which two correct guards fire rather than the refusal itself. It now accepts either and additionally requires the refusal to name the offending path, so it tests the guarantee instead of the implementation.

Twelve tests go from unreachable to passing. The one remaining failure is the failed-spawn worktree leak itself — a genuine defect, under repair separately, and not something to paper over here.

The suite aborted at its eighth test and had been red on main for 16h, which
blocked every firstmate PR behind a failure none of them caused.

Three fixtures had drifted from the direct-account spawn path they model:

- The fake treehouse never answered `get --lease`, so fm-spawn correctly refused
  to launch without a worktree. It now reports one on stdout, as treehouse does.
- The fixture worktree was attached to a branch. A leased Treehouse worktree is
  handed over at detached HEAD, and fm-spawn refuses an attached one, so the
  fixture could never reach the behavior it was asserting.
- The identity-drift fake detached an already-detached worktree, which is a
  no-op, so the post-preparation recheck had nothing to catch. It now moves the
  worktree onto a branch, which is a real drift.

One assertion also pinned the order of two correct guards rather than the
refusal itself; it now accepts either and additionally requires the refusal to
name the offending path.

Twelve tests go from unreachable to passing. The one remaining failure is the
failed-spawn worktree leak itself, which is under repair separately.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VtDQaE3RdeuYd3aEaUvLkk
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