You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Detect duplicate version ranges and version downgrades in snapshot PRs (#1084)
Follow-up to #1083. Adds two new critical checks to the summarize-changes skill:
- Version conflict detection: scans the full toml file to find multiple
versions of the same file type coexisting for the same range (e.g.,
v1.1 and v1.2 of accounts.0-32.vi). These cause download conflicts.
- Version downgrade detection: identifies files replaced with a LOWER
version than before (e.g., v1.2 -> v1.1), indicating a regression.
Both are flagged as critical and recommend not merging until investigated.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
The script (`analyze_diff.py` in the skill directory) parses the diff, classifies all changes, and outputs structured sections. Use its output to build the final report.
@@ -27,8 +38,10 @@ The script (`analyze_diff.py` in the skill directory) parses the diff, classifie
27
38
-**Hash Changes**: same filename in both removed and added sets with different hash (CRITICAL)
28
39
-**Range Merges**: multiple smaller removed ranges replaced by a single larger added range
29
40
-**Version Upgrades**: removed entries at one version replaced by added entries at a newer version
41
+
-**Version Downgrades**: removed entries at one version replaced by added entries at a LOWER version (CRITICAL — indicates regression)
30
42
-**New Data Pruned from MDBX**: added entries beyond the previously highest block number
31
43
-**Unexpected Deletions**: removed entries not covered by any of the above (CRITICAL)
44
+
-**Version Conflicts**: multiple versions of the same file type and range coexisting in the final toml (CRITICAL)
32
45
33
46
## Step 4: Generate Report
34
47
@@ -93,6 +106,28 @@ If NO unexpected deletions, use ✅ emoji:
93
106
94
107
---
95
108
109
+
### VERSION CONFLICTS
110
+
111
+
If version conflicts exist, use 🚨 emoji:
112
+
113
+
### 🚨🚨🚨 VERSION CONFLICTS — DO NOT MERGE
114
+
115
+
> **Multiple versions of the same file for the same range must not coexist. This will cause download conflicts for nodes.**
116
+
117
+
Group by State Snapshots / CL Snapshots / EL Block Snapshots. Show a table:
118
+
119
+
| Type | Ext | Range | Versions |
120
+
|------|-----|-------|----------|
121
+
| accounts | .vi | 0-32 | v1.1, v1.2 |
122
+
123
+
If NO version conflicts, use ✅ emoji:
124
+
125
+
### ✅ Version Conflicts
126
+
127
+
**No version conflicts detected.** Each file type has exactly one version per range.
128
+
129
+
---
130
+
96
131
### Merged Ranges
97
132
98
133
Present merges in a table format, with one table per high-level group (State Snapshots / CL Snapshots / EL Block Snapshots). Sort rows by subdir (accessor, domain, history, idx, caplin, or root) then by snapshot type (datatype).
@@ -139,6 +174,28 @@ Use continuation rows (empty Subdir cell) for subsequent files in the same subdi
139
174
140
175
---
141
176
177
+
### VERSION DOWNGRADES
178
+
179
+
If version downgrades exist, use 🚨 emoji:
180
+
181
+
### 🚨🚨🚨 VERSION DOWNGRADES — DO NOT MERGE
182
+
183
+
> **Files were replaced with a LOWER version than they had before. This is a regression that needs investigation.**
184
+
185
+
Group by State Snapshots / CL Snapshots / EL Block Snapshots. Show a table:
186
+
187
+
| Subdir | Type | Ext | Old Version | New Version | Ranges |
**No version downgrades detected.** All version changes go to equal or higher versions.
196
+
197
+
---
198
+
142
199
### Version Upgrades
143
200
144
201
Group by State Snapshots / CL Snapshots / EL Block Snapshots. List version transitions (e.g., v1.1 -> v2.0) by category and datatype.
@@ -153,20 +210,21 @@ Any changes to Other Files (salt files, etc.) or anything not fitting the above
153
210
154
211
### Reviewer Recommendation
155
212
156
-
Based on the two critical signals (hash changes and unexpected deletions), add a final recommendation section:
213
+
Based on the four critical signals (hash changes, unexpected deletions, version conflicts, and version downgrades), add a final recommendation section:
157
214
158
-
If NO hash changes AND NO unexpected deletions:
215
+
If NO hash changes AND NO unexpected deletions AND NO version conflicts AND NO version downgrades:
159
216
160
217
### ✅ Recommendation: Safe to Approve
161
218
162
219
This PR contains only routine changes: range merges, version upgrades, and new data pruned from MDBX. No anomalies detected.
163
220
164
-
If hash changes OR unexpected deletions exist:
221
+
If hash changes OR unexpected deletions OR version conflicts OR version downgrades exist:
165
222
166
223
### 🚨 Recommendation: Investigation Required
167
224
168
225
This PR contains changes that need manual review before approval:
169
-
- (list each concern: N hash change(s), N unexpected deletion(s), with brief context from the sections above)
226
+
- (list each concern: N hash change(s), N unexpected deletion(s), N version conflict(s), N version downgrade(s), with brief context from the sections above)
227
+
- Version conflicts and version downgrades specifically mean "do not merge" — they will cause download conflicts or regressions for nodes
0 commit comments