Przeglądaj źródła

CLAUDE.md: twee meet-valkuilen uit deze sessie

(1) Check met grep of een view daadwerkelijk aangeroepen wordt voordat
je hem meet of aanpast — flutterfavorietenagenda bleek een wees, de app
gebruikt de custom resource favorieten_agenda.json via drupalRequest.
(2) devbob kan achterlopen op productie; een bevinding daar is pas een
taak na hermeting op productie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 3 dni temu
rodzic
commit
e8d7b1b3bd
1 zmienionych plików z 28 dodań i 0 usunięć
  1. 28 0
      CLAUDE.md

+ 28 - 0
CLAUDE.md

@@ -2712,6 +2712,34 @@ sessie:** nieuwe App State-velden/Constants zijn voor Claude niet
 zelfstandig toe te voegen — na 1-2 pogingen overdragen aan Bob met
 exacte veldnaam+type-specificatie (kost hem seconden per veld).
 
+**Check vóór je een Drupal-view meet of aanpast of de app hem überhaupt
+aanroept — een declared API Call in `api_calls.dart` is geen bewijs van
+gebruik.** Bevestigd 2026-09-11: `flutterfavorietenagenda` stond twee sessies
+lang op de "nog te meten"-lijst, inclusief een verzoek aan Bob om een
+sessiecookie én testdata aan te maken — terwijl die view **nul aanroepers**
+heeft. `FavorietenAgendaCall` staat wel netjes in `api_calls.dart`, maar
+Favorieten tab 1 haalt zijn data via `drupalRequest` uit de custom resource
+`favorieten_agenda.json`: een ander endpoint met een bijna identieke naam. Eén
+commando had dat voorkomen:
+```
+grep -rn "XCall" lib/ --include=*.dart | grep -v api_calls.dart
+```
+Geen treffers = wees. Zoek bij favorieten-/schrijfachtige functionaliteit ook
+altijd naar de `drupalRequest`-route, want die URL's staan **niet** in
+`api_calls.dart` maar inline in de widget
+(`grep -rn "drupalRequest(" lib/ -A3`).
+
+**devbob is een kopie, geen spiegel — een `drush`-meting daar bewijst niets
+over productie.** Bevestigd 2026-09-11: een telquery op devbob toonde een
+leidende spatie in `node.title` van nid 51094/50093, terwijl diezelfde nodes op
+productie een dag eerder al gefixt waren. Die twee waren als taak uitgereikt op
+basis van een verouderde eigen meting, en de devbob-uitkomst leek dat te
+bevestigen — twee stale bronnen die elkaar versterkten. **Vuistregel: een
+bevinding wordt pas een taak nadat hij op productie is nagemeten.** Voor
+leesbare data volstaat een `curl` op de view met cache-buster: de
+sorteervolgorde verraadt een vuile `node.title` ook zonder SQL, want de JSON
+zelf is al door `_custom_clean_html` gepoetst.
+
 **Een Drupal Services views-JSON leidt zijn sleutelnaam af van het
 views-LABEL, niet van de veldnaam — en dat is een veelgemaakte bron van
 "waarom is dit veld altijd null".** Bevestigd 2026-09-04: de app las