Restore harness builds after hooks and context capture landed

Merged
VA
3d ago
+22-8

Problem

Main no longer builds acyclic-harness with the hooks feature: local/bind.rs:113 is missing the hooks field (E0063). Its lib tests also fail to compile: poll_sweep.rs calls the removed turn::default_manifest (E0425), and its fixture is missing checkout_context, context_read_observer and hooks. These are semantic conflicts between #617/#681 and #718/#734. Static CI compiles nothing, so it didn't catch them.

Fix

  • bind() binds Hooks::default(), matching its existing no-settings contract (it already binds no MCP diagnostics).
  • The poll-sweep fixture stages its context manifest directly (the fixture fix from #749) and sets the new fields.

Validation

  • Windows cargo check -p acyclic-harness --lib --tests --features filesystem-local,native-execution,test-support,tui,terminal,hooks passes.
  • On bb1, poll_sweep compiles and 7 of 10 tests pass. The other 3 fail on their exact boundary-count expectations, which have drifted since #718/#734 (for example, blocking 80โ†’84). Those counts need a justified update, which follows separately; this PR only restores the build.

Follow-ups

  • bind() should honor config.settings (hooks and MCP), or reject it explicitly.
  • CI should compile the harness lib tests with test-support. A coordinator sentinel on bb1 does this for now.

๐Ÿค– Generated with Claude Code


Summary by cubic

Restores the acyclic-harness build after hooks and context capture landed, fixing compile errors in bind.rs and the poll-sweep test fixture.

  • bind() now binds Hooks::default(), matching its existing no-settings contract.
  • The poll-sweep fixture stages its context manifest directly, replacing the removed default_manifest helper, and sets the new context_read_observer, hooks, and checkout_context fields.
  • 7 of 10 poll_sweep tests pass; the remaining 3 fail on boundary-count expectations that drifted in earlier changes and need a separate fix.