It is Thursday morning and the inbox is open on one item from last month: a visitor wrote that the annual price was not clear until the second screen of the pricing page. The item carries a green tag reading Closed in TopDo, because an engineer moved that task to a closed state two days ago. Under the tag sits a sentence the product put there on purpose: “A closed task is ready for a fresh review; it is not yet a verified fix.”
That sentence is an accurate description of what the workspace just did. Someone pressed Refresh status, GreatFeedback read one node from TopDo with a read-only agent key, checked that the node belonged to the connected workspace, and wrote three things onto the item: the state word, the version number TopDo returned, and the time of the check.
Notice what was not read. The pricing page was not fetched, and no text on the website was compared against the complaint. The whole exchange happened between two pieces of internal software.
GreatFeedback keeps those two facts in separate places and never derives one from the other. The tracker state lives in a TopDo mapping holding a node identifier, a link, a state, a version and a checked timestamp. The item’s own status is a different field that only a person sets, and no code path in the backend moves it for you.

Two Facts That Look Like One
The instinct is reasonable and almost universal: the tracker is the system of record, so a closed task is the end of the story. One queue, one status word, one answer for everybody. The alternative, keeping a second register of what has actually been confirmed, feels like duplicate bookkeeping.
It misreads what a closed node is evidence of. A closed node is evidence that a person in TopDo moved a node to a closed state; it is not evidence that the deployment reached production, that the change landed on the page the visitor reported, or that it addressed what the visitor struggled with rather than what the ticket title said. The state GreatFeedback stores carries three named values, open, blocked and closed, and the card prints “Status not checked” when no refresh has run.
The grounded alternative is to read the tracker fact as a scheduling fact: it tells you when it is worth going to look, and nothing more. The documentation says so in the product’s own words: “A closed task is not automatically a verified fix. Run a new review after the change ships to gather fresh evidence.”
Read The Status Refresh For What It Actually Is
The status refresh is a pull, and it happens only when a person asks for it. No channel exists by which TopDo announces a closure to GreatFeedback; the endpoint runs when someone presses Refresh status, and it refuses with “Send this to TopDo first.” when the item was never delivered. Until somebody presses that button, a task closed three weeks ago still shows the state it held at the last check.
What the refresh does check, it checks with care. The returned node must come from the connected TopDo workspace or the request fails with “TopDo returned a node from a different workspace.” It must carry a finite numeric version or the request fails with “TopDo returned an invalid status version.” A version lower than the one already saved is discarded and the stored mapping is returned unchanged, so a late or reordered response cannot walk an item backwards.
Hold those observations together and the boundary is plain. Every safeguard on that path protects a claim about a node in a task manager, and none of them says anything about a public web page, because the refresh never opens one. When the card turns green you have earned a reliable statement that somebody closed the work.
Keep The Original Report As The Standard
Verification needs a fixed target, and the feedback item is built to be one. The record keeps the visitor’s message, the page address with query string and fragment already stripped, the element they selected, and, for a tracked AI finding, the identifiers that link the detail view back to the original report. The patch endpoint accepts three fields and only three: status, priority and title. The message and the evidence quotation cannot be edited away.
The comment thread is where the standard gets written down. A note is between 1 and 5000 characters, stored with the author’s name and a creation time, returned in creation order, and recorded in the audit log as feedback.commented. A status change writes no audit entry at all. The durable, attributable trail on an item is the notes your team wrote, which makes the note the right place for the check you intend to run later.
Write that check as a sentence someone else could execute without asking what you meant. “Verified when the pricing page states the annual charge in dollars before any click” is a check. “Improve pricing clarity” is a wish that nobody can settle six weeks later.
Run The Same Page And The Same Goal Again
A review is three inputs: a public URL whose origin is registered for that website, a goal between 10 and 1500 characters, and one of four lenses, First-time buyer, Product leader, Usability reviewer or Inclusive content reviewer. All three are stored on the review, but only the address and the goal come back with the Review again control on the report page; the lens resets to First-time buyer, so a comparable second run means choosing the lens again yourself.
The second run is a fresh sample rather than a cached verdict. The reviewer fetches the page again, takes the first 6000 characters, splits them into excerpts of at most 450 characters with identifiers such as p1_e3, and requires every finding to name one; the server, not the model, attaches the exact quotation and URL. A second pass acts as an independent skeptical evidence editor that may only keep identifiers from the draft list, and the report prints how many suggestions were removed. The run costs one review from the allowance: 30 per calendar month on Focus, 100 on Growth, 300 on Portfolio, 3 in total on the trial.
Compare the quotations, not the summaries. The old report holds the exact page text that supported the original finding, printed under the label OBSERVED PAGE TEXT; the new report holds whatever that page says today. A finding missing from the new summary is weaker evidence than a changed quotation, because a run reads at most four pages and picks each next page by index from at most 30 observed links, so your page may simply not have been read. The system prompt puts it in stronger terms: an omission is not proof something is absent.
What This Does Not Tell You
A fresh review verifies one narrow class of fix. Every completed report stores the same sentence: “Public-page content review. Visual layout, live interactions, page speed, accessibility compliance, and logged-in workflows were not tested.” If the original report was about a form that rejected a valid email address, a step behind sign-in, or a control too small to hit on a phone, no second review can close that loop, and treating a completed run as confirmation is worse than nothing.
The findings themselves remain interpretations. The report states it plainly: “These are AI interpretations, not accounts from real visitors. Use them to form better questions and decide what to test.” A clean second review means the reviewer found no supported objection in the text it read; it does not mean the visitor who wrote to you in March would now succeed.
The resolved status carries no machinery behind it either. It appears in the status list, the detail view’s select and the inbox filter, and nothing else in the backend reads it: resolving an item sends no message to the visitor who left an email address, writes nothing back to TopDo, and closes no task. Resolved is a statement your team makes to your team, which is why the evidence behind it has to sit in the thread beside it.
First Steps
The loop closes with three actions, and the first happens before any code is written. Each maps onto a control that already exists on the feedback item.
- Add a team note to the feedback item naming the page and the exact sentence or behaviour a later check would have to find, then send the item to TopDo so the evidence and the source link travel with the work.
- When the card shows Closed in TopDo, press Refresh status to record the state and the checked time, and leave the item’s own status where it is until you have looked at the page.
- Start a review against the same URL, goal and lens, compare the new quoted evidence against the blockquote in the original report, and only then move the item to Resolved with a note saying what you compared.
Spend One Review On Being Sure
A Focus workspace has 30 reviews in a calendar month. Spending one to check a shipped change costs about three percent of the month’s allowance and returns a dated report with quoted page text that either supports your claim or does not. Set against a resolved item nobody can defend when the same complaint arrives again, that is a cheap instrument, and it is the only one in the product that reads the page rather than the tracker.
The separation is already built into the record: a TopDo mapping that knows a node, a state and a version; an item that knows what a visitor wrote and which page they wrote it about; a thread that knows what your team decided and who said it. Keep writing into all three, and the status word at the top of the item stops being a guess about the outside world.