Found while following the skill on a Jmix 3.0.1 project.
Problem: silent — the table lists only WARNING-level noise, so an ERROR reads as necessarily real.
Task
Running Gate 1 over an increment whose listeners and tests load entities with dataManager.load(X.class).query("e.ref.id = ?1", id).
Where
"Known false positives — do NOT chase these", read against "Surface WARNINGS, not just errors … treat Jmix-inspection / unresolved-reference warnings as blockers".
What happened
The inspection reports 'e' unexpected with severity ERROR on every condition-only query(...) call — its JPQL parser reads the argument as a complete statement and fails on the leading alias. Every entry in the skill's false-positive table is a WARNING about unused methods or local variables, so the natural reading is that an ERROR is always a true positive and the code must change.
It must not: FluentLoader.query(String, Object...)'s own Javadoc gives "e.name = ?1 and e.status = ?2" as the example and says "Always use e as the entity alias", FluentLoader.ByCondition builds the select e from <entity> e prefix itself, and Jmix Studio's own generated UI test tearDown uses the same form — so the inspection flags the generator's output.
Settling it meant reading FluentLoader in the framework sources, and the pressure was to rewrite working idiomatic code into full JPQL purely to silence a tool. Caught by IDE inspection.
Suggested fix
Add the entry to the false-positive table with its severity called out, and add one sentence above the table saying that severity is not a reliable guide — the Jmix plugin reports some correct code as ERROR, so an ERROR on a query(...), a msg:// or a property path still has to be checked against the framework before any code changes.
Found while following the skill on a Jmix 3.0.1 project.
Problem: silent — the table lists only WARNING-level noise, so an ERROR reads as necessarily real.
Task
Running Gate 1 over an increment whose listeners and tests load entities with
dataManager.load(X.class).query("e.ref.id = ?1", id).Where
"Known false positives — do NOT chase these", read against "Surface WARNINGS, not just errors … treat Jmix-inspection / unresolved-reference warnings as blockers".
What happened
The inspection reports
'e' unexpectedwith severity ERROR on every condition-onlyquery(...)call — its JPQL parser reads the argument as a complete statement and fails on the leading alias. Every entry in the skill's false-positive table is a WARNING about unused methods or local variables, so the natural reading is that an ERROR is always a true positive and the code must change.It must not:
FluentLoader.query(String, Object...)'s own Javadoc gives"e.name = ?1 and e.status = ?2"as the example and says "Always useeas the entity alias",FluentLoader.ByConditionbuilds theselect e from <entity> eprefix itself, and Jmix Studio's own generated UI testtearDownuses the same form — so the inspection flags the generator's output.Settling it meant reading
FluentLoaderin the framework sources, and the pressure was to rewrite working idiomatic code into full JPQL purely to silence a tool. Caught by IDE inspection.Suggested fix
Add the entry to the false-positive table with its severity called out, and add one sentence above the table saying that severity is not a reliable guide — the Jmix plugin reports some correct code as ERROR, so an ERROR on a
query(...), amsg://or a property path still has to be checked against the framework before any code changes.