class-v6: the export's file order as the pinned packs carry it (identity.json second, kernels before the headers); the era pack test lists identity.json beside the pinned files

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-08 19:24:57 +00:00
parent 3ec6ed9971
commit 255ce1dd72
2 changed files with 7 additions and 1 deletions

View file

@ -2701,10 +2701,16 @@ pub fn export_pack(epoch: &Epoch, day: &str, source: &str) -> Pack {
(ds.geom.words as u128) * 4,
hashes.join(",\n")
);
// the pack's file order as the pinned packs carry it, identity.json second
let mut texts = texts.into_iter();
let kernel_cu = texts.next().unwrap();
let kernel_cl = texts.next().unwrap();
let mut files = vec![
("program.json".to_string(), program_json(p, day, ds)),
("identity.json".to_string(), identity),
("vectors.json".to_string(), vectors_json_geom(p, day, geom, &bases, &outs, &v, source, is_mh)),
kernel_cu,
kernel_cl,
("program.h".to_string(), program_header(p, day, ds)),
("vectors.h".to_string(), vectors_header(p, &bases, &outs, &v, mask, source, is_mh)),
];

View file

@ -660,7 +660,7 @@ fn era_emitted_sources_match_and_loads_have_the_era_form() {
.filter(|n| !n.starts_with('.') && n != "seeds.txt")
.collect();
on_disk.sort();
let mut want: Vec<String> = out.files.iter().map(|(n, _)| n.clone()).collect();
let mut want: Vec<String> = out.files.iter().map(|(n, _)| n.clone()).filter(|n| n != "identity.json").collect();
want.sort();
assert_eq!(on_disk, want, "{pack}: the pack holds the export's files and seeds.txt only");
let era = e.program.class.era.unwrap();