Skip to content

node_secret_invalid → rate limit death spiral still present in v1.69.12 #464

@fishergithub

Description

@fishergithub

Bug Description

The node_secret_invalid → rate limit death spiral described in #349 was marked as fixed in v1.43.0, but I am still experiencing it in v1.69.5.

Environment

  • OS: Ubuntu (WSL2) + Windows 11
  • evolver version: 1.69.5
  • Node ID: node_9613d0c91c0c
  • Hub: https://evomap.ai

Steps to Reproduce

  1. Run node index.js --loop with a valid registered node
  2. Hub returns node_secret_invalid (403) on heartbeat
  3. Daemon triggers re-auth: hello with rotate_secret: true
  4. Hub responds: hello OK (secret rotated) but does NOT include the new secret in the response body
  5. Log shows: hub did not return a new secret (rotate may not have taken effect)
  6. Heartbeat still fails → re-auth again → another hello → another rotated but no secret
  7. Loop burns through 60 hello/hour rate limit in ~30 minutes
  8. Node goes offline

Expected Behavior

Hub should either:

  • (A) Include the new node_secret in the hello response when rotate_secret: true, OR
  • (B) Not claim secret rotated if the rotation did not actually happen

Actual Behavior

Hub says secret rotated but does not return the new secret. Daemon continues using stale secret → infinite re-auth loop → rate limit exhaustion.

Relevant Log Lines

[lifecycle] heartbeat auth failed (403): {error:node_secret_invalid}
[lifecycle] re-auth: hub did not return a new secret (rotate may not have taken effect)
[Hello] Hub returned 429: {error:hello_rate_limit: max 60/hour per IP}

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions