Codex Report — 2025-10-09T23:57:49Z
Objective
Align the DrawIO RDF export plugin’s UI and download metadata with its Turtle output format.
Reinstate golden regression coverage in Bun by porting the legacy rdflib isomorphism checks to the Pyodide-backed pipeline.
Materials Reviewed
src/main/webapp/plugins/rdfexport/src/rdfexport.tssrc/main/webapp/plugins/rdfexport/tests/rdfexport.test.tsLegacy pytest suite under
src/main/webapp/plugins/rdfexport/legacy/tests/test_patched_parser.pyTurtle and N-Triples fixtures within
src/main/webapp/plugins/rdfexport/tests/{fixtures,baselines}
Actions
UI parity update: Adjusted the plugin resource string, default filename, format identifier, and MIME type so the menu entry and saved file all advertise Turtle (
.ttl,text/turtle).Bundled artifact refresh: Mirrored the same string, extension, and MIME updates in the compiled
rdfexport.jsbundle to keep runtime output consistent without rerunning the build pipeline.Regression harness: Augmented the Bun test harness to locate
.ntbaselines, export Turtle via Pyodide, and execute the rdflib isomorphism/normalisation routine lifted from the pytest suite (filtering OWL ontology declarations) for every DrawIO fixture.Fixture iteration: Updated the test loop to skip only fixtures lacking
.ntbaselines and tightened expectations around Turtle file naming and MIME typing.Environment preparation: Synced Python dependencies with
uv, pulled Pyodide assets, and ensured.venvis onPATHsobun run testcan exercise the regenerated legacy checks locally.
Testing
bun run checkbun run test
Follow-up Notes
Future changes to Turtle serialisation should keep the normalisation helper in sync with the Python version to avoid false negatives.
The Pyodide asset download adds ~335 MB; cache retention would speed up subsequent CI runs.