{
  "files_changed": [
    "crates/spt-store/src/serving.rs",
    "crates/spt-store/src/lib.rs",
    "crates/spt-store/src/perch.rs"
  ],
  "implementation": "Schema-1 JSON registry stores entries, per-requested-name next_suffix counters (final-extension family), and historical used_names. Durable atomic writes; only genuinely missing files load empty. Malformed, unsupported, inconsistent, unreadable, or dangling-symlink stores fail closed. Removal retains allocation history. Reference registration preserves lexical paths and original entries on same-path registration, even after source deletion.",
  "symbols": [
    "ServingRegistry::{load_at,save_at,entries,get,add_reference,remove,add_adapter}",
    "ServedEntry (including adapter and serde-default short_alias)",
    "ServedKind::{File,Dir,Attachment}",
    "serving::{resource_url,entry_url,alias_url,encode_url_segment}",
    "perch::{serving_registry_file_in,serving_registry_file,adapter_web_dir_in}"
  ],
  "integration": "Final URL helper name is alias_url, not short_alias_url; router informed. entry_url uses /a/<adapter>/ for adapter roots; otherwise /f/<served_name>, with trailing slash for Dir. adapter_web_dir_in returns io::Result<PathBuf>. Main creates the directory and serializes registry mutations. add_adapter refuses taking ownership of an explicitly registered root (AlreadyExists), preserves an existing same-adapter entry unchanged, and rejects unsafe/reserved web_short_path before allocation.",
  "tests_authored": "15 unit cells: six ADR0057 clauses; historical explicit/generated cross-family collision; corrupt/unsupported/inconsistent history cannot reset names; unreadable-store rejection; unsafe names and relative paths; dotfiles/extensionless names and live references; segment encoding; adapter alias collision/restart/reactivation; reserved aliases and no-alias facet; adapter ownership/path containment.",
  "validation": "None run under BOX HOLD: no tests, builds, formatters, linters, analyzer, or validation commands. Compilation remains unverified. No commits; no edits outside assigned worktree/files."
}