Skip to content

fix: Gegencheck-Befunde (CLI-Bug auf ZIP-Installationen, i18n-Lücke) + Doku-Aktualisierung (v2.34.1) - #84

Merged
daimpad merged 2 commits into
mainfrom
claude/fix-data-prep-errors-kJYpl
Jul 31, 2026
Merged

fix: Gegencheck-Befunde (CLI-Bug auf ZIP-Installationen, i18n-Lücke) + Doku-Aktualisierung (v2.34.1)#84
daimpad merged 2 commits into
mainfrom
claude/fix-data-prep-errors-kJYpl

Conversation

@daimpad

@daimpad daimpad commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Ergebnis eines Gesamt-Gegenchecks auf Funktions-, UX- und Code-Fehler — plus die gewünschte Aktualisierung von README und CLAUDE.md.

🐛 Zwei echte Befunde (behoben)

1. wp open-data-wizard docs schlug auf jeder ZIP-Installation fehl
Der Befehl schreibt nach docs/FELD-REFERENZ.md, aber das Release-ZIP liefert — korrekterweise — kein docs/-Verzeichnis aus (die Allowlist in bin/build-release.sh enthält nur Laufzeit-Dateien). file_put_contents() scheiterte dadurch still und der Befehl meldete nur das irreführende „Feld-Referenz konnte nicht geschrieben werden".
ODW_Field_Reference::write() legt das Zielverzeichnis jetzt an. Bewusst WordPress-unabhängig implementiert (wp_mkdir_p() falls verfügbar, sonst mkdir()), damit bin/generate-field-reference.php weiter standalone in der CI läuft.
Regressionstest ergänzt und gegengeprüft: ohne den Fix schlägt er fehl.

2. Eine fehlende englische Übersetzung
Offene Daten, bereitgestellt von %s. — der in v2.33.1 eingeführte Katalog-Beschreibungs-Fallback. Auf englischen Installationen wäre dort deutscher Text erschienen. en_US ist wieder lückenlos (620 Einträge), per Tokenizer gegen den Quelltext verifiziert.

✅ Ohne Befund geprüft

  • Syntax: alle PHP- und JS-Dateien
  • Datei-Integrität: jeder require_once- und Asset-Pfad existiert (kein toter Enqueue)
  • UX-Verknüpfungen der neuen Features: alle „Zum Feld springen"-Ziele, Pflichtfeld-Marker und referenzierten Accordion-Sektionen zeigen auf real existierende Felder — ein falscher Schlüssel würde sonst still nichts tun
  • Harvest-Ausgabe: valides RDF (rdflib), GovData DCAT-AP.de Conforms: True
  • Keine TODO/FIXME-Marker im Code
  • Die 3 übersprungenen Tests sind bewusst deaktivierte Delta-Integrationstests (brauchen volle WP_Query-Mocks) — bekannt, kein Defekt

188 Tests grün, PHPCS 0, PHPStan Level 6 clean.

📄 Doku-Aktualisierung

CLAUDE.md war deutlich veraltet (stand auf v2.5.1 und „94 Tests"):

  • Version, Testzahl (188), Datum
  • Projektstruktur um class-rdf.php, class-field-reference.php, bin/, docs/, samples/ und die neuen config/-Dateien (field-catalog.php, mqa-metrics.php, shacl/) ergänzt
  • Klassenübersicht um ODW_Rdf und ODW_Field_Reference
  • Roadmap korrigiert: Phase D (mehrsprachige Literale) und Phase E (Multi-Distribution) standen fälschlich noch unter „offen", obwohl längst umgesetzt; dafür jetzt die tatsächlich offenen Punkte

README:

  • Version-Badge → 2.34.1
  • Roadmap: Harvest-Endpoint + Turtle als erledigt markiert; offen bleibt die vollständige Content Negotiation (Accept-Header, Turtle auch für /datasets/<id>)

🤖 Generated with Claude Code

https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq


Generated by Claude Code

claude added 2 commits July 31, 2026 14:36
… docs (v2.34.1)

Befunde aus einem Gesamt-Gegencheck (Funktion, UX, Code, i18n).

Fixed:
- 'wp open-data-wizard docs' schlug auf JEDER ZIP-Installation fehl: Der Befehl
  schreibt nach docs/FELD-REFERENZ.md, doch das Release-ZIP liefert korrekt kein
  docs/ aus. file_put_contents() scheiterte still ('konnte nicht geschrieben
  werden'). write() legt das Zielverzeichnis jetzt an — WordPress-unabhängig,
  damit bin/generate-field-reference.php weiter standalone läuft.
  Regressionstest ergänzt (ohne Fix nachweislich rot).
- Fehlende en_US-Übersetzung ergänzt (Katalog-Beschreibungs-Fallback aus
  v2.33.1). en_US wieder lückenlos, per Tokenizer gegen den Quelltext geprüft.

Docs:
- CLAUDE.md stand noch auf v2.5.1/'94 Tests': Version, Testzahl, Projektstruktur
  (class-rdf, class-field-reference, bin/, docs/, samples/, neue config/-Dateien),
  Klassenübersicht und Roadmap (Phase D/E waren fälschlich offen) aktualisiert.
- README: Version-Badge; Roadmap weist Harvest-Endpoint + Turtle als erledigt aus.

Ohne Befund geprüft: PHP-/JS-Syntax, Datei-Integrität (require-/Asset-Pfade),
UX-Verknüpfungen (Sprungziele, Pflichtfeld-Marker, Accordion-Sektionen) gegen die
realen Feldnamen, Turtle-Ausgabe (valides RDF, GovData DCAT-AP.de konform),
keine TODO/FIXME. 188 Tests grün, PHPCS 0, PHPStan clean.

https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq
Die CI installiert WPCS 3.4.1 aus dem Lock und meldet unlink()/rmdir() in der
Aufräum-Logik des neuen Tests. Im Unit-Test steht kein WordPress-Runtime zur
Verfügung (kein WP_Filesystem/wp_delete_file), daher sind direkte PHP-Aufrufe
korrekt — per phpcs:disable für WordPress.WP.AlternativeFunctions annotiert.

Verifiziert durch gezielten Sniff-Lauf: vorher 2 Warnungen, jetzt 0.

https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq
@daimpad
daimpad merged commit f7aaaf4 into main Jul 31, 2026
10 checks passed
@daimpad
daimpad deleted the claude/fix-data-prep-errors-kJYpl branch July 31, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants