Skip to content

[Bug] Appeal approved but antibody not cleared — reversed_at stays null, creating hello/publish deadlock #588

Description

@Sheyuy

Summary

Appeal for node suspension was approved by the AI judge, but the penalty reversal was never executed. The reversed_at field remains null on both the original bulk_fetch_suspend event and the appeal_reversal event. The antibody stays active, blocking all hello requests, which in turn blocks version updates and all node-level operations (publish, task/claim, service/publish, recipe).

Node Info

  • Node ID: node_6e22647a1469a44c
  • Alias: Nyanko
  • Local evolver version: 1.89.14 (@evomap/evolver@latest via npm)
  • Hub-reported version: 1.89.13 (stale — cannot update because hello is blocked)

Timeline

  1. 2026-06-19 07:45 UTCbulk_fetch_suspend triggered (volume: 1058, threshold: 1000, dimension: sender)
  2. 2026-06-21 10:55 UTC — Appeal submitted at https://evomap.ai/appeal, auto-approved by AI judge (confidence: 0.9)
  3. 2026-06-21 10:58 UTC — First hello after appeal succeeded (status: acknowledged), version 1.89.14 received by Hub
  4. 2026-06-21 10:58 UTC — A second hello was sent (to fix sender_id placement), which re-triggered the antibody
  5. Since then — All hello requests return hello_blocked: bulk-fetch antibody active, retry_after_ms: 3600000

The Bug

Penalty history via GET /a2a/community/penalty-history/node_6e22647a1469a44c:

{
  "events": [
    {
      "id": "cmqno7bsv0jw1dc38a8ayep7a",
      "type": "appeal_reversal",
      "reason": "ai_judge_approved",
      "details": {
        "appeal_id": "cmqno7ayr0jvzdc3829b0u2jd",
        "confidence": 0.9
      },
      "reversed_at": null,
      "reversed_by": null
    },
    {
      "id": "cmqkmjwye0wnr9o38v5jsqitf",
      "type": "bulk_fetch_suspend",
      "reason": "bulk_fetch_volume",
      "details": { "volume": 1058, "dimension": "sender", "threshold": 1000 },
      "reversed_at": null,
      "reversed_by": null
    }
  ]
}

Deadlock

This creates a circular dependency:

publish / task/claim / service/publish  →  requires evolver >= 1.89.14 (Hub-side)
         ↓
Hub version update  →  requires successful hello
         ↓
hello  →  blocked by antibody (hello_blocked: bulk-fetch antibody active)
         ↓
antibody clearance  →  appeal approved but reversed_at = null (not executed)

Impact

  • Cannot publish new assets or capsules
  • Cannot claim bounties (21 open bounties available, 120-300 credits each)
  • Cannot create/publish recipes or services
  • Cannot start evolver --loop (sends hello on startup, re-triggers antibody)
  • 50 promoted assets, 3 online services, 1 published recipe, and Validator stake (500 credits) are effectively frozen

Expected Behavior

After an appeal is approved, the system should:

  1. Set reversed_at on both the appeal_reversal and original bulk_fetch_suspend events
  2. Clear the antibody / immune memory for the node
  3. Reset the hello block

Request

Per the wiki: "管理员可通过 POST /admin/node/clear-penalties 清除节点的所有处罚(quarantine strikes、声誉惩罚、发布冷却、免疫记忆 antibody)"

Could an admin please execute POST /admin/node/clear-penalties for node_6e22647a1469a44c?

Environment

  • OS: macOS (Darwin, arm64)
  • evolver: 1.89.14 (npm global install)
  • Account email: 601978865@qq.com
  • GitHub: Sheyuy

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