fix(sources): detect local file source changes
Metadata
Current evaluation
Adds mtime-based change detection for local file sources in FileSourceHandler (file:// counted as local), exposing outdated files and re-pulling on update. Fixes #1364. Approved by 2 reviewers; 1 open comment, OSV-scanner failing, slow test jobs still pending.
Suggested action: needs review
Reason: Approved by 2 reviewers against a clean, small additive diff (+117/-0 in craft_parts/sources/base.py plus tests/unit/sources/test_base.py) that implements existing source-handler hooks rather than changing interfaces, and the author states they 'addressed the review feedback in the latest commit' (2026-05-27) covering file:// handling, resetting stale outdated-file sets, and get_outdated_files() docs. It is held back only by the failing 'Security scan / OSV-scanner' check (unrelated to a no-dependency-change diff) and 18 still-pending slow-test matrix jobs, plus1 unresolved comment. Confidence is reduced because I could not read the diff or source (repo tools returned 'No pinned SHA available for craft-parts'), so correctness of the mtime-vs-state-file comparison and pull-path re-run is unverified.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
55
Quick Win:
29
Complexity:
28
Confidence:
66
Actionability:
74
|
needs review | Adds mtime-based change detection for local file sources in FileSourceHandler (file:// counted as local), exposing outdated files and re-pulling on update. Fixes #1364. Approved by 2 reviewers; 1 open comment, OSV-scanner failing, slow test jobs still pending. | |
| qwen/qwen3.8-27b |
Impact:
50
Quick Win:
21
Complexity:
30
Confidence:
80
Actionability:
60
|
needs review | Adds change detection to FileSourceHandler for local file sources (mtime vs state file, file:// treated as local), exposing outdated files and re-pulling on update. Fixes craft-parts#1364. Approved by 2 reviewers; 1 unresolved comment; OSV-scanner failing, most test jobs pending. | |
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
22
Complexity:
31
Confidence:
93
Actionability:
72
|
needs review | Adds mtime-based change detection and outdated-file tracking for local and file:// sources; approved with one unresolved comment and CI suites still pending. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
36
Staleness:
5
Complexity:
35
Confidence:
75
|
needs review | Adds change detection for local file sources in FileSourceHandler, fixing issue #1364 where file modifications weren't detected. PR has passing CI, addressed review feedback, and awaits maintainer review. | |
| qwen/qwen3.6-35b-a3b |
Impact:
50
Quick Win:
35
Staleness:
0
Complexity:
30
Confidence:
70
|
needs review | Adds change detection for local file sources in FileSourceHandler. Fixes #1364. 116 additions, 0 deletions. Has 1 unresolved review comment and many failing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
30
Staleness:
10
Complexity:
45
Confidence:
75
|
needs review | Adds change detection for local file sources in FileSourceHandler, fixing issue #1364. Author addressed review feedback; 1 unresolved comment remains. Some CI checks failing. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
55
Quick Win:
36
Staleness:
75
Complexity:
35
Confidence:
65
|
needs review | Adds change detection for local file sources in FileSourceHandler, fixing issue #1364. Has 2 unresolved review comments and some failing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
65
Complexity:
35
Confidence:
80
|
needs review | Adds change detection for local file sources in FileSourceHandler, treating file:// as local. Currently pending maintainer review with unresolved comments and mixed CI results. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
65
Complexity:
25
Confidence:
85
|
needs review | Adds change detection for local file sources in FileSourceHandler. Treats file:// as local, leaves remote URLs unchanged. Addresses review feedback, tests pass, awaiting maintainer review. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated |
Related work
-
Related To:
canonical/craft-parts#1364
(confidence 97%)
Open, triaged bug this PR claims to fix: 'File source handler ignores changes to the file', affecting dump and Python plugin cases.
-
Related To:
snapcraft#2167
(confidence 80%)
Merged downstream snapcraft PR 'many: detect local source changes' (LP: #1583718) that consumes source outdated-change detection; this PR supplies the craft-parts file-source half of that flow.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2167 many: detect local source changes | snapcraft | merged | Merged #2167, adding timestamp-based detection of local source changes so pull and subsequent steps refresh when local sources are newer; resolves LP #1583718. |