Flutter: preserve requirements through advanced agent edits
Work through Dart examples of real application boundaries: Reject stale Flutter search results after a newer query or disposal; Cancel Flutter timers and streams when the screen is disposed. Each recipe includes implementation code, integration prerequisites, failure-path tests to add, a Perch rule, and the captured broken/fixed source checks.
Download the Flutter rule pack ZIP · Inspect the YAML rules
Dart
mounted prevents state updates after disposal, but two requests can race while the widget remains mounted. A generation token identifies the current request and rejects an older result that completes later.
Broken edit flagged · corrected edit passes
Dart
Checking mounted suppresses callbacks but does not release the resources producing them. Cancel the subscription and timer when the State owner ends so navigation does not accumulate hidden work.
Broken edit flagged · corrected edit passes
Use a correction as a saved requirement
Choose the failure you need to prevent, add the scoped rule to your repository, and check both the broken and corrected implementation. Ask your agent to inspect the finding, repair the code and recheck the same rule. Keep framework tests beside the model check.
Perch keeps the requirement beside the code. Reuse the named check during the agent’s next edit and in CI, with cached answers free on unchanged requests.
Official Flutter documentation · All language and framework recipes