--[[ diag_editstate.luau -- read CarManager in the EDIT datamodel. This is the datamodel that PERSISTS (unlike Play, which is a sandbox that is discarded on stop -- the thing that silently ate every previous push). Purpose: capture a BEFORE snapshot so that after Rojo connects we can prove the sync actually replaced the source, rather than assuming it did. Records length and the two markers unique to the current fixes: SHELL_YAW_OVERRIDE -> facing fix for hatch_junk / hyper_x (NEW, x3 in src) bestVol -> pre-existing var, NOT a freshness signal (x6 in src) Note bestVol existed in the old code too (git HEAD line 479), so it proves nothing on its own -- SHELL_YAW_OVERRIDE is the real discriminator. Disk source is 41650 bytes; anything at 30631 is the old pre-fix version. ]] local ServerScriptService = game:GetService("ServerScriptService") local out = {} local function log(...) local parts = {} for i = 1, select("#", ...) do parts[#parts + 1] = tostring((select(i, ...))) end table.insert(out, table.concat(parts, " ")) end log("=== EDIT datamodel: CarManager state ===") local found = {} for _, d in ipairs(ServerScriptService:GetDescendants()) do if d:IsA("ModuleScript") and d.Name == "CarManager" then found[#found + 1] = d end end log("instances found: " .. #found) if #found == 0 then log(" !! no CarManager in ServerScriptService at all") log(" Rojo sync will CREATE it under ServerScriptService.Server") end for _, m in ipairs(found) do local src = "" pcall(function() src = m.Source end) local hasOverride = src:find("SHELL_YAW_OVERRIDE", 1, true) ~= nil log(string.format(" %s", m:GetFullName())) log(string.format(" len=%d (disk source = 41650, old = 30631)", #src)) log(string.format(" SHELL_YAW_OVERRIDE=%s <-- the real freshness marker", tostring(hasOverride))) log(string.format(" verdict: %s", hasOverride and "FIXED source present" or "OLD pre-fix source")) end -- Also note whether the stale proof marker survived (it should NOT have -- -- it only ever existed in the discarded Play sandbox). local marker = nil for _, d in ipairs(workspace:GetDescendants()) do if d.Name == "HERMES_PROOF_MARKER" then marker = d break end end log("") log( "HERMES_PROOF_MARKER in Edit: " .. (marker and "present (unexpected)" or "absent (expected - Play sandbox discarded)") ) return table.concat(out, "\n")