Skip to content

Option 3: move watch internals behind planner#68

Draft
rsanheim wants to merge 2 commits into
mainfrom
rjs/watch-internal-option3
Draft

Option 3: move watch internals behind planner#68
rsanheim wants to merge 2 commits into
mainfrom
rjs/watch-internal-option3

Conversation

@rsanheim

@rsanheim rsanheim commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Summary

Implements the broader watch-boundary option. The watch package moves under internal/watch, and watch handling separates planning from execution so only explicit runnable plans are executed.

What changed

  • Moved watch/ to internal/watch/ with no compatibility wrapper.
  • Updated root command/runtime imports to use the internal watch implementation.
  • Added explicit batch planning for runnable jobs, missing targets, no-target jobs, and no-runnable-path logging.
  • Fixed the missing-only matched job bug while preserving explicit no_targets behavior and prior No existing targets for file debug output.

Validation

  • git diff --check
  • go test -mod=mod ./...
  • bin/rake build
  • PLUR_BINARY="$PWD/plur" bin/rspec spec/integration/watch/watch_config_spec.rb spec/integration/watch/watch_integration_spec.rb spec/integration/watch/watch_spec.rb spec/integration/watch/mismatched_dirs_spec.rb

Notes

This is the larger implementation option. It fixes the bug and removes the public watch package surface that exposed internal framework types.

Base automatically changed from rjs/cli-error-output-cleanup to main June 15, 2026 00:12
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