github alexgreensh/token-optimizer v5.11.80

2 hours ago

OpenClaw/OpenCode parity + a real fix for the recurring dead-dashboard

Dashboard daemon: a cleanup can no longer silently kill it

A measure.py cleanup (tidy) used to write the sticky daemon_disabled opt-out, which the SessionStart self-heal honored forever, leaving the dashboard silently dead until a manual setup-daemon. Now cleanup never latches that flag (only the deliberate setup-daemon --uninstall does), so the self-heal restores the dashboard automatically on your next session, no command required. The #106 uninstall tombstone (orphaned-job guard) is untouched.

OpenClaw sessions now parse (#115)

The session parser expected a top-level type: "user"/"assistant", but OpenClaw stores conversation lines as { type: "message", message: { role } } with the role nested. Every line missed the gate and the audit reported 0 sessions across an entire OpenClaw install. Fixed with a normalizedType that reads the nested role, skips session/compaction/reset markers, and keeps legacy top-level-type logs working.

Young-install savings guard ported to OpenClaw & OpenCode

Parity with the v5.11.79 Python fix. When post-baseline history is under 30 days, the "/mo" run-rate projects a tiny sample and reads as fake. Both TS ports now show the measured cumulative ("Saved so far · N days tracked") under the guard, restore the run-rate at 30 days, and carry the provider-neutral API-equivalent caption. The measured-floor card copy is corrected so it never mislabels the hero as a "superset" when, under the guard, the hero is the floor.

Hardening

  • New asset-tree parity test so a dashboard.html that isn't mirrored into the Codex plugin fails at edit time, not at the release gate.
  • NaN-safe trackedDays clamp.

Verification: full Python suite 1047 passed / 12 skipped; OpenClaw 56/56 and OpenCode 55/55 TS tests; dist-freshness and Codex-parity gates green. Reviewed by an independent model pass (SHIP).

Note: standalone OpenClaw (ClawHub) and OpenCode (npm) users get the parser/parity fixes via those packages' own publishes, which are separate from this plugin release.

Don't miss a new token-optimizer release

NewReleases is sending notifications on new releases.