nextStaticID now takes the object type and a natural manifest key, so no
static ID is handed out without a manifest entry. After the world load the
server diffs maps/<map>.manifest against the previous boot (moved, vanished,
re-targeted IDs), writes the new one (old copy kept as .manifest.prev), and
logs every negative reference in the Task 2.1 columns that no loaded static
object of the right type holds.
Value changes: none in play. Guilds are the only static IDs so far
(-2..-25, keys guild:<first seed key>).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>