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

    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