Skip to content

[Bug] v2026.3.11: doctor --fix loops false legacy cron payload kind normalization #43796

@Mdx2025

Description

@Mdx2025

Summary

openclaw doctor --fix reports legacy cron payload kind normalization repeatedly on v2026.3.11, even when all jobs already have canonical payload.kind values (agentTurn / systemEvent).

Impact

  • False-positive health warning persists.
  • doctor --fix appears to "repair" the same jobs on every run.
  • Creates noise in post-upgrade validation and automation runbooks.

Environment

  • OpenClaw: v2026.3.11
  • Install path: global pnpm package (openclaw@2026.3.11)
  • Gateway: local systemd service, loopback bind

Repro

  1. Ensure cron jobs already store canonical values (payload.kind == agentTurn or systemEvent).
  2. Run:
    • openclaw doctor --fix
  3. Run again:
    • openclaw doctor --fix

Actual

Legacy cron normalization warning reappears (same jobs), despite no semantic change needed.

Expected

Once kinds are canonical, doctor --fix should converge and stop reporting legacy kind normalization.

Root-cause analysis (local)

In the compiled update runner, normalizePayloadKind(payload) reports mutation when no effective change is required in some paths.

Local workaround (confirmed)

Patched local compiled files:

  • dist/update-runner-CsfK3SMx.js
  • dist/update-runner-CvNIx6g2.js

After patch:

  • openclaw doctor --fix no longer reports legacy kind normalization.
  • openclaw cron list --json shows canonical payload.kind values.

Notes

Workaround is local and gets overwritten on update/reinstall.
A canonical source fix in release artifacts would be ideal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions