mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 04:50:59 +00:00
Two holes, both proven with a probe that produced zero errors. The rule matched the object properties `queryKey:` and `mutationKey:` and nothing else, so the positional form was never seen — `setQueryData(["bare"], 1)` seeds the same cache cell a `queryKey:` reads, and `getQueryData` / `getQueryState` / the four defaults setters read and write it the same way. Those seven methods are checked at their first argument now, whether the call is bare, a member, or a computed member. The enforced roots were components, hooks, query modules, and files carrying their own "use client", which left src/app out. That is where the server prefetch pages build the keys the client later reads, and they carry no directive, so a server key diverging from the client's was unguarded. src/app is a root now. No violation surfaces on the current tree. The rule header records what it still cannot see: a key assembled into a variable before the call site, and the method-name match, which neither follows a project helper nor knows an unrelated object with the same method name.