--- id: "bug-1587" status: "fixed" status_updated: "2026-09-24" status_note: "c9acd502" component: "scheduler" severity: "unknown" timestamp: "2026-08-19T02:47:00Z" last_seen: "2026-09-19T09:00:00Z" occurrences: 1 files: ["src/scheduler/src/repl.c:183"] tags: ["scheduler", "repl", "ux", "timestamp", "formatting", "not-yet-fixed"] related: ["bug-1584"] fix_commits: ["c9acd502"] legacy: true --- # bug-1587: User feedback (UX, not a functional defect): the REPL's startup line `[sim] loaded: 0 jobs… ## Description User feedback (UX, not a functional defect): the REPL's startup line `[sim] loaded: 0 jobs, snapshot @ ts=331886899213871` prints the snapshot timestamp as a raw nanosecond integer -- would be more readable as a human-readable date/time. ## Environment _Not recorded (migrated from buglog.json)._ ## Reproduction _Not recorded (migrated from buglog.json)._ ## Root cause repl.c's startup message (`fprintf(stdout, "[sim] loaded: %d jobs, snapshot @ ts=%llu\n", njobs, ...)`) formats the raw uint64 nanosecond value directly with no conversion -- purely a display/formatting gap, not a logic defect. Now that bug-1584 makes a normal-mode-recorded .replay file's timestamps genuine epoch nanoseconds (previously they were CLOCK_MONOTONIC-since-boot, which would have made a 'human-readable' rendering of this same field misleading/wrong before that fix), converting this to a readable date is now meaningful for normal-mode recordings; simulation-mode-authored .replay files may still show a discrete/simulated ts depending on how --sim-start-ts was chosen, but a calendar rendering of an epoch-ns value is well-defined either way. ## Fix NOT YET FIXED. Straightforward: convert the raw `ts` to a formatted string (matching core_clock.c's existing ns_to_tlog_time()-style gmtime_r() conversion, or a simple strftime over ts/1e9) before printing, likely showing both the human-readable form and the raw ns value for debugging (`snapshot @ ts= ()`). Low risk, single call site (repl.c:183) -- worth checking whether other REPL/dump output (repl_info.c, xceadmin's `scheduler dump`) has the same raw-ns-only presentation and would benefit from the same treatment while this is being fixed. ## Verification _Not recorded (migrated from buglog.json)._ ## References - Related: bug-1584