Debugging a Post
Debug answers the question "why is (or isn't) this post in my feed?" You give it a Bluesky post, and it runs your feed's rules against that post: the overall result, plus a pass or fail for every node on your canvas.
Debug tests the rules as they are on your canvas right now, including changes you haven't saved yet. So you can tweak a node and debug the same post again to see the difference before you save.
Opening Debug
In the editor, click the beaker button (Debug post) in the top bar to open the Debug panel. On small screens, choose Debug from the panel menu instead. Click the beaker again to close it.
You can also debug a post straight from the Live Feed panel: open the post's ⋯ menu and choose Debug post.
Debugging a post
- Copy the link to a post on Bluesky (for example
https://bsky.app/profile/someone.bsky.social/post/...). - Paste it into Enter a post URL and press Enter (or click the send button).
- The post appears under Results with its result badge. Each post you debug is added to the top of the list.
While Debug works, a short status message appears beside Results.
Reading the result badges
Each post in the list carries one badge. Hover over it for a short explanation.
- Passed: the post matches your rules and would be visible on your feed.
- Failed: the post doesn't match and would be hidden from your feed.
- No verdict: Debug couldn't evaluate the post against one or more nodes, so there's no answer either way. This is not the same as Failed. It happens, for example, when a metered node is over your Debug budget (see below).
- Passed, not delivered: the post matches, but your feed is set to deliver a related post instead (such as the thread root), and there isn't one, so nothing is shown.
- Passed, delivered as parent post, quoted post or thread root: the post matches, and your feed shows that related post in its place.
- Failed, but in feed: the post doesn't match itself, but it's in your feed anyway because another post that matched delivered it.
When the delivery result needs explaining, a short note appears under the post as well.
A post that's already in your feed also shows a tick ("Present on feed"). A post that's been removed from your feed appears faded.
Seeing results on the canvas
Open a post's ⋯ menu and choose Apply result to canvas. Every node on your canvas is coloured with that post's result:
- Green: the node passed.
- Red: the node failed.
- No colour: the node had no verdict for this post.
Nodes that produce a score (such as AI and Natural Language nodes) also show the post's score next to them, so you can see how close it came to your threshold.
If some nodes can't be matched to the result, Debug says how many were left uncoloured. That means the canvas has drifted from the saved rules; the JSON view shows the full result.
Retry and clear
- Retry all (the circular arrow beside Results) runs every post in the list again, for example after you change a node.
- Clear result highlights (the eraser) removes the colours from your canvas.
- In a post's ⋯ menu, Retry debug reruns just that post and Remove from debug takes it off the list. The menu also has options to copy the post's link or author's DID, and to remove or restore the post in your feed.
Heads-up messages
Debug also warns you about two common mistakes, even when your post passes:
- A time block that matches no posts at all, so every post fails there.
- A text rule that matches every post, so it isn't narrowing your feed at all.
Why some posts can't be answered
Debug reads posts from Graze's post archive. If a post isn't there, you'll see a message such as "Could not evaluate post 1: this post is not in the post archive Debug reads from, so its rules could not be checked against it. This is not a problem with your feed - try a different post."
The usual reasons are:
- The post is very new. Posts reach the archive a few minutes after they're published. Wait a few minutes and try again.
- The post was missed. Occasionally a post never reaches the archive. Try a different post.
Neither means anything is wrong with your rules.
Natural Language and Ask a Question in Debug
Debug runs Natural Language and Ask a Question nodes live for every post you test. This is charged to your own hourly Debug budget, never to the feed's budget, so debugging can't use up what your feed needs to serve readers.
Each person can score 1,000 posts with Natural Language and ask 500 Ask a Question questions an hour in Debug. If you run out, Debug says "You have used this hour's Debug scoring budget…" and when it resets. The affected posts show No verdict, which is the budget, not your rules. See Rate Limits for the feed's own budgets.