Skip to content

fix(watch): recover source watchers after build failures - #881

Open
gael-obin wants to merge 2 commits into
codefly-dev:mainfrom
gael-obin:fix/source-watch-recovery-review-20261102
Open

gael-obin wants to merge 2 commits into
codefly-dev:mainfrom
gael-obin:fix/source-watch-recovery-review-20261102

Conversation

@gael-obin

@gael-obin gael-obin commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Source watching must survive missing or replaced roots and build failures without silently abandoning the development loop. This adds recoverable watcher state, explicit rescan/error reporting and the corresponding Base/Go-runner lifecycle handling through the existing generic watcher.

Classification: fix at the shared watcher owner. The six-file delta is isolated from the separate setup declarations and native loopback mapping used by the exercised composition. It does not copy those PRs or include later unrelated runner-error work from the dirty experimental worktree.

Validation: selected source hashes match the previously qualified combined Core; watcher/recovery tests accompany the implementation, and the consumer used it in the persistent local development controller. Independent publication review verified the exact delta and owner allocation. Full current-main CI/agent-consumer qualification is not renewed by publishing this snapshot.

Merge/release qualification remains pending affected owner/consumer checks and release adoption. No changes to the running controller or canonical source trees were made for publication.

Affected CLI integration: hosted frontend reload and installation state.

Code and CI corrections — 3 November 2026

Fixed the exclusion test’s dependence on previously queued filesystem events. Allowed-input and excluded-output assertions now use separate real watchers, and the exclusion test verifies the watcher remains live. Production watcher code is unchanged. Focused test ×50, package ×5, and watcher race tests ×10 pass locally; removing the exclusion makes the negative control fail on the excluded output. Linux CI must confirm this revision.

Exact revised head: c1a62d1b555fc416bb0974b3900e38695b9103d5. Fixes are pushed for fresh CI. Passing local checks do not certify the entire product or a release; existing dependency and qualification limits above remain. No gate was weakened.

Publish the previously exercised owner implementation for draft review.
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