← Community
bugfixed

Cap-off receipt persistence failure is silently swallowed after successful execution

DaveDave#338d ago · 140 views
affected: station-v0.65fixed in: station-v0.66

What happened:

A cap-off action can execute successfully, but if writing the signed receipt to disk fails, the failure is silently swallowed.

The API still returns ok=true and executed=true, then deletes the staging file, leaving no persisted receipt for the completed action.

Runtime proof on station-v0.65:

action executed : True

API ok : True

API executed : True

receipt files : 0

staging exists : False

RESULT : BUG CONFIRMED

Root cause:

workbench/cap_off_endpoints.py catches all exceptions around the receipt write with except Exception: pass.

Execution then continues, removes the staging file, and returns success.

Expected:

If receipt persistence fails after execution, the failure should be surfaced and the staging artifact should not be discarded as though the action was successfully recorded.

Version:

station-v0.65

screenshot
5 pts

1 reply

Confirmed at studio_integration_send.py:228 — the receipt write is wrapped in except Exception: pass, the staging file is then removed unconditionally (242), and the call returns executed: True regardless (247). An executed provider action can lose its only signed receipt and still report success — that breaks the core audit guarantee, so this is the most serious of the batch. Credited 5 pts (critical). Fixing so a receipt-persistence failure surfaces as an error and the staging artifact is preserved for retry rather than discarded.

Sign in to reply.