Expand description
Structural Armory Bundle Format (ABF) validator — ABF UI-alignment pass (docs/specs/SPEC_ABF_V0_2_PROVIDER_AWARE_COMPONENTS_AND_NATIVE_MEMORY_2026_08_10.md).
Pure functions only — no I/O, no Store access, same convention as
bundle_export.rs / bundle_import.rs. Checks a bundle’s raw JSON
columns for the classes of bug bundle_export.rs’s own review cycle
found and fixed one at a time (unknown provider keys, unsafe/colliding
paths, malformed JSON) — surfaced proactively here, before export time,
rather than only as an export warning after the fact.
This is advisory only: a bundle can be saved with validation errors
present. The bundle.validate RPC is a read-only, on-demand check the
Memory → Bundles editor’s “Validate” button calls.
Structs§
Enums§
Functions§
- push_
error 🔒 - validate_
bundle - Run every structural check against a bundle. A bundle carries no MCP
servers (
SPEC_BUNDLE_CONTENTS_MEMORY_NOT_MCP_2026_10_07.md§3.1), so there are none to check. - validate_
context_ 🔒files - Mirrors
bundle_export.rs::export_bundle’s own context-file handling: each path must survivesanitize_context_relative_path(no absolute paths, no..traversal, no drive letters), and no two entries may normalize to the same output path case-insensitively (the most common export/extract targets have case-insensitive filesystems). - validate_
instructions_ 🔒by_ provider - Every key must resolve to a known harness provider (
providers::get_providerhandles both canonical ids and aliases). Unlikecontext_files’ arbitrary user-supplied paths, provider keys are always exact matches againstproviders.rs’s hardcoded registry/alias strings — none of which contain/or.— so a path-normalization collision between two valid keys structurally cannot happen here; no collision check needed.