feat: complete TASK-WP5-03 asset allowlist
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m5s

This commit is contained in:
suyx
2026-08-03 18:24:16 +08:00
parent 609c71a3f7
commit 4d1ec8ba7e
27 changed files with 1078 additions and 74 deletions
+6 -2
View File
@@ -74,6 +74,8 @@ function createFixture(): Fixture {
json(join(handoffRoot, "validation.json"), { all_valid: true, schema_version: 1 });
const textRoot = join(sourceRoot, "text");
const fixtureFontBytes = Buffer.from("dada-test-font-package");
const fixtureFontSha256 = createHash("sha256").update(fixtureFontBytes).digest("hex").toUpperCase();
csv(join(textRoot, "flower", "catalog.csv"), [{
canonical_dir: "templates/FLOWER001", canonical_id: "FLOWER001", category: "flower", default_text: "春日,计划",
display_name: "春日,计划", family: "text_template", font_paths: "fonts/original.ztf", preview_path: "preview.png",
@@ -86,17 +88,19 @@ function createFixture(): Fixture {
resource_class: "zip_template", runtime: { editable_text: true }, schema_version: 1,
source: { archive: join(root, "evidence", "historical") },
});
mkdirSync(join(textRoot, "flower", "templates", "FLOWER001", "fonts"), { recursive: true });
writeFileSync(join(textRoot, "flower", "templates", "FLOWER001", "fonts", "original.ztf"), fixtureFontBytes);
writeFileSync(join(textRoot, "unreferenced-source.bin"), Buffer.alloc(128 * 1024, 7));
const fontRoot = join(sourceRoot, "fonts");
const fontDirectory = join(fontRoot, "resources", "font_packages", "FONT001_Test");
csv(join(fontRoot, "reports", "font_panel_catalog.csv"), [{
candidate_id: "FONT001", display_name: "Test Font", font_family: "Dada Test", local_sha256: "A".repeat(64),
candidate_id: "FONT001", display_name: "Test Font", font_family: "Dada Test", local_sha256: fixtureFontSha256,
panel_order: "1", resource_dir: fontDirectory, resource_status: "verified_extracted",
}]);
json(join(fontDirectory, "metadata.json"), {
candidate_id: "FONT001", display_name: "Test Font", font_family: "Dada Test", font_file_count: 1,
local_sha256: "A".repeat(64), panel_order: 1, resource_status: "verified_extracted",
local_sha256: fixtureFontSha256, panel_order: 1, resource_status: "verified_extracted",
});
const colorRoot = join(sourceRoot, "colors");