Conversation
The actual fix for the Wavey Gist 400 was already merged on main in 3027fe6 ("fix(wavey-gist): use new files-snapshot payload for create endpoint"). This branch only carries the one-off recovery script that republishes alert #901's stored message and posts a Telegram follow-up. Alert #901 (INFINIFI LongTimelock, 7-call batch wiring OutlandVault into InfiniFi core, tx 0xcfa148be…196e) was the first batch to exercise the two-stage summary+detail path after Wavey Gist rolled out the breaking change. The LLM-generated detail text is only held in memory while format_explanation_line runs and isn't persisted separately, so the recovery gist surfaces the full stored Telegram message (AI summary + decoded calldata + tx link) plus a note explaining the follow-up rather than republishing the original detail verbatim. scripts/post_wavey_gist_recovery.py: - Looks up alert #901 from the local store - Publishes a recovery gist (README.md payload, matching the new Wavey Gist contract) - Sends a Telegram follow-up to the INFINIFI topic - No-ops if a previous recovery run is already in the store (checks for source='recovery' alerts referencing the source id or tx hash) so re-running doesn't pile up duplicate gists and Telegram messages Already executed once on 2026-09-10 20:36 UTC; alert #902 carries the follow-up, gist hxR1ZMBSN2wQrdrZIzA7QWje. Safe to drop this file before merge if the recovery artifact isn't wanted in the repo.
Collaborator
Author
|
Closing — the actual fix is already on main as Recovery was completed out-of-band before closing:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
The actual Wavey Gist fix is already on main —
3027fe6 fix(wavey-gist): use new files-snapshot payload for create endpoint(PR #351) shipped the same payload migration this branch originally proposed. After rebasing ontomain, this branch is now a single-file delta: a one-off recovery script for the alert that exposed the bug.Recommend closing this PR if the recovery artifact isn't wanted in the repo, or merging as-is for the record. Happy to drop the script in a follow-up commit if preferred.
What this branch contains
scripts/post_wavey_gist_recovery.py— republishes alert #901's stored Telegram message as a follow-up gist and sends a Telegram pointer to the INFINIFI topic. Already executed once on 2026-09-10 20:36 UTC, so the script is now idempotent: it looks for an existingsource='recovery'alert referencing the source id or tx hash and no-ops if one exists.Background
Alert #901 (INFINIFI LongTimelock, 7-call batch wiring OutlandVault into InfiniFi core, tx
0xcfa148be…196e, created 2026-09-10 16:09 UTC) was the first batch to exercise the two-stagesummary + detailpath after Wavey Gist rolled out the breaking change. Of the last 200 alerts only that one had a non-emptydetail, which is why the regression went unnoticed.The LLM-generated detail text is never persisted separately (only held in memory while
format_explanation_lineruns), so the recovery gist surfaces the full stored Telegram message (AI summary + decoded calldata + tx link) plus a note explaining why this is a follow-up rather than republishing the original detail verbatim.Recovery results (already executed)
source=recovery,protocol=INFINIFI,delivery_status=deliveredTest plan
uv run pytest tests/test_wavey_gist.py tests/test_ai_explainer.py— all passuv run ruff format scripts/post_wavey_gist_recovery.pyuv run ruff check scripts/post_wavey_gist_recovery.py— cleanalready_recovered=Trueand exits 0