debug_grouped_report (why_rejected) shows n206_02's alternative pool is ACCEPTED at pad 0 under production gates and is in the candidate list -- and the decoder does take it: n206_02 now anchors at 0x342d984. The 'still collapsed' reading came from the audit comparing decoded geometry, and that offset holds a direct (unmirrored) copy, so a separated pair still looked identical. The audit now requires a SHARED BUFFER to call it a collapse: disc-wide 18 exact mirrors, 16 related, 0 collapses, 0 unrelated -- and the regression test drops its exception. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
15 lines
610 B
Rust
15 lines
610 B
Rust
//! Why does the decoder refuse a grouped-pool resource at a given pool start?
|
|
//! Usage: why_rejected <container.xpr> <resource>@<vb0-hex>...
|
|
use sylpheed_formats::mesh::debug_grouped_report;
|
|
fn main() {
|
|
let a: Vec<String> = std::env::args().collect();
|
|
let bytes = std::fs::read(&a[1]).expect("container");
|
|
for pair in &a[2..] {
|
|
let (name, off) = pair.split_once('@').expect("name@hex");
|
|
let vb0 = usize::from_str_radix(off.trim_start_matches("0x"), 16).expect("hex");
|
|
for line in debug_grouped_report(&bytes, name, vb0) {
|
|
println!("{line}");
|
|
}
|
|
}
|
|
}
|