v3.1.0: Add Phase 16b for spec depot obliterate/delete
The spec depot (singleton type 'spec') was not being cleaned up because
Phases 14-16 (typemap, triggers, protections) write new versioned entries
to the spec depot after Phase 11 ran. Obliterating in Phase 11 left new
content behind, preventing depot deletion.
Changes:
- Phase 11 case statement restructured:
remote -> p4 depot -d (no -f; no archives)
spec -> record in SpecDepots[] for deferred Phase 16b
unload -> p4 depot -df directly
local|stream -> existing flow
- Phase 16b added after Phase 16: obliterate spec content, then cascade
through front-door delete -> storage cleanup -> journal patch fallback
- declare -a SpecDepots=() and SpecDepotMaps=() added
- Man page updated to include Phase 16b in phase list
Tested on nyc-03 (Battle School Workshop):
- Non-snap run: Phase 16b obliterates new protect.p4s entries; journal
patch path triggered for orphaned db.storage entries from filtered ckp
- Snap run: Phase 17b storage cleanup + journal patch generated for spec
- Patch applied; p4 depots shows only jam+pb; p4 verify //... = 0 MISSING