ZIm/crates/eval/examples/email_verification_refactor/diff_criteria.md
Nathan Sobo bab28560ef
Systematically optimize agentic editing performance (#28961)
Now that we've established a proper eval in tree, this PR is reboots of
our agent loop back to a set of minimal tools and simpler prompts. We
should aim to get this branch feeling subjectively competitive with
what's on main and then merge it, and build from there.

Let's invest in our eval and use it to drive better performance of the
agent loop. How you can help: Pick an example, and then make the outcome
faster or better. It's fine to even use your own subjective judgment, as
our evaluation criteria likely need tuning as well at this point. Focus
on making the agent work better in your own subjective experience first.
Let's focus on simple/practical improvements to make this thing work
better, then determine how we can craft our judgment criteria to lock
those improvements in.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Agus <agus@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
2025-04-19 02:47:59 +00:00

850 B

  1. Refactors the register_verification_email logic to generate the JWT verification token earlier in the control flow, reducing duplication and improving readability.
  2. Improves conditional logic for sending verification emails by only querying the database when mail should be sent, reducing unnecessary operations.
  3. Refines the user existence check to specifically filter for users that have a private_key, adding stricter criteria before skipping email sending.
  4. Preserves existing timing attack mitigation by retaining randomized sleep behavior when user exists but an email is not sent.
  5. Ensures the email is sent only if appropriate, preserving previous behavior while streamlining logic and improving maintainability.
  6. Removes redundant code paths and unnecessary reassignments, improving clarity without affecting functionality.