Leave the app clean
Restore temporary Query and React state and check the result.
Keep the same session target throughout cleanup. Save any evidence you need before resetting measurements or closing the app.
Restore simulated Query state
Restore the query you changed, using the exact key or hash from query_list:
npx @genie-react/cli call query_restore_state '{"queryKey":["cart"]}'If this session belongs to your test and all simulations should be removed:
npx @genie-react/cli call query_restore_state '{"all":true}'Check ok:true and the restored count. This restores the state captured before simulation. It does
not undo server writes, navigation, or unrelated cache edits. Recheck the query and its visible UI
before calling the test complete.
Release component overrides
Inspect and reset the session's tracked overrides:
npx @genie-react/cli call react_list_overrides '{}'
npx @genie-react/cli call react_reset_overrides '{}'
npx @genie-react/cli call react_list_overrides '{}'The final list must report total:0. Inspect each reset outcome too. restored means Genie reapplied
the captured value. released and skipped-unmounted mean the override is no longer tracked but
its original state was not necessarily restored. Reload or reproduce the app's normal reset flow
when needed, then verify the visible state.
Finish the live check
npx @genie-react/cli call react_error_state '{}'Confirm the expected UI is visible and inspect caughtErrors, suspended, and scanTruncated.
An empty result from an incomplete scan cannot prove the whole app is error-free.
Stop an active timeline recording with timeline_stop and its returned id. If you enabled React
profiling for this test, react_profile_stop pauses collection and retains its report. Restore other
measurement settings you changed. Export important captures using
the capture commands before stopping the hub; it retains only
the latest 20 captures in memory.