Genie React
Workflows

Effects

Find repeatedly scheduled effects and the hook that owns them.

Measure one flow

Use the browser setup in Explain a render and hot effect.

npx @genie-react/cli call react_clear_renders '{}'
agent-browser --session docs-case-vite click 'button.counter'
agent-browser --session docs-case-vite get text 'button.counter'
npx @genie-react/cli call react_effect_timeline \
  '{"component":"HotEffectProbe","limit":20}' --json

Example event:

{
  "componentName": "HotEffectProbe",
  "effectIndex": 1,
  "phase": "update",
  "event": "scheduled",
  "evidence": "exact",
  "changedDependencySlots": [0],
  "execution": { "status": "unobserved", "reason": "not-yet-observed" }
}

Audit repeated schedules

agent-browser --session docs-case-vite click 'button.counter'
agent-browser --session docs-case-vite click 'button.counter'
agent-browser --session docs-case-vite click 'button.counter'
agent-browser --session docs-case-vite click 'button.counter'
npx @genie-react/cli call react_effect_audit \
  '{"component":"HotEffectProbe","onlyHot":true,"minUpdates":5,"minScheduleRate":0.8}' --json

The audit reports the effect source, ownership, dependency mode, changed slots, schedules, update count, and hotness sample range.

Inspect one dependency package:

npx @genie-react/cli call react_effect_audit \
  '{"packageName":"@tanstack/react-query","appOnly":false}' --json

Read the limits

  • Read execution.status to distinguish a schedule from observed execution.
  • Read cleanup execution evidence separately from the presence of a cleanup function.
  • Attribute later requests or state writes only when the report explicitly observes that link.
  • Collect more equivalent updates when the audit says insufficient-data.

Finish with the hook callsite, changed dependency slot, schedule sample count, execution evidence, and ownership confidence. After editing, repeat the interaction and verify both the visible result and the new audit. A hot schedule is a lead; it does not by itself establish a bug.

On this page