RDF Export Override Update Report
Context
Agent: gpt-5-codex
Date (UTC): 2025-10-23 16:42:23
Task: Recognize bare IRIs on arrow labels with the same reliability afforded to individual nodes while honouring repository contributor workflow requirements.
Summary of Work
Executed required setup steps inside
src/main/webapp/plugins/rdfexport/:bun installbun run setup:uvbun run setup:pyodide
Validated the reported failure via
python -m debug --scenario flowchart-tweakedto capture the arrow CURIE expansion error (NotInKnownException).Reviewed meta builder architecture using
meta_builder/readme.mdto respect override regeneration expectations.Implemented targeted updates in
legacy/overrides/curie_validator.py:Added
_looks_like_absolute_urihelper to detect bare IRIs.Normalised arrow identifiers by converting absolute IRIs to known CURIEs when a namespace match exists.
Allowed absolute identifiers to bypass
_ensure_known_curiewhile still participating in downstream processing.Ensured property tracking (object/datatype) uses the normalised identifier.
Enhanced
serialise_to_graphwith_resolve_property_uriso absolute properties are emitted asURIRefvalues when no CURIE mapping is available.
Regenerated generated assets using
python -m meta_builder --output legacy/draw_io_parser.pyandpython -m meta_builder --output drawio_meta.pyto apply the overrides.Ran
python -m debug --scenario flowchart-tweakedto confirm the scenario now succeeds and produces isomorphic pipeline/plugin graphs.Executed the mandated test workflow:
bun run fixbun run checkbun run test:log:linuxbun run debug:all:log:linuxbun run test:pytest:all:log:linuxbun run test:bun:all:log:linuxbun run test:all:log:linux
Verified graph behaviour programmatically to ensure literal targets for bare-IRI properties remain intact.
Documented results (this report) and prepared for changelog + PR messaging.
Testing Evidence
python -m debug --scenario flowchart-tweaked→ passes with consistent turtle output.bun run check→ lint and formatting checks succeeded after automatic fixes.bun run test:log:linux→ Bun integration tests pass (30 pass / 11 skip / 0 fail).bun run test:all:log:linux→ Aggregate Bun + pytest workflow succeeds (no failures).
Additional Notes
Added defensive logic only within overrides; generated parser and metadata files updated via meta builder CLI.
No modifications were required for TypeScript sources.
ChangeLog update pending alongside final commit/PR preparation.