Fast check for working copy changes. Uses `StatusOptions::fast()` so turn-end recording sees both tracked changes and untracked files created by the agent. This intentionally includes the untracked filesystem walk: if we ignore untracked files here, a turn that only creates new files exits before `record_turn()` can auto-add and record them with provenance.
(&self)
| 587 | /// here, a turn that only creates new files exits before `record_turn()` |
| 588 | /// can auto-add and record them with provenance. |
| 589 | pub(crate) fn has_working_copy_changes(&self) -> bool { |
| 590 | let repo = match atomic_repository::Repository::open_readonly(&self.repo_root) { |
| 591 | Ok(r) => r, |
| 592 | Err(_) => return true, // can't check — assume changes |
| 593 | }; |
| 594 | |
| 595 | let opts = atomic_repository::status::StatusOptions::fast().with_untracked(true); |
| 596 | match repo.status(opts) { |
| 597 | Ok(status) => !status.is_clean() || status.has_untracked(), |
| 598 | Err(_) => true, // can't check — assume changes |
| 599 | } |
| 600 | } |
| 601 | } |
| 602 | |
| 603 | impl std::fmt::Debug for TurnOrchestrator { |
no test coverage detected