You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The graph-quality CI job in docker-build-push.yml gates the release pipeline. 7 tests are currently deselected (not continue-on-error) because the IMAS-only graph data pushed to GHCR has known issues. These must be resolved before the final v5.0.0 release.
Error:No Facility nodes in graph Root cause: IMAS-only graph has no Facility nodes by design. Fix: Skip this test when running against IMAS-only graph. Add a @pytest.mark.skipif that checks for GraphMeta.facilities == [] or add a --imas-only pytest flag.
2. test_unit_nodes_have_relationships (361 orphaned Unit nodes)
Error:361 Unit nodes are orphaned (no HAS_UNIT) Root cause: Unit nodes created during DD build but not linked to IMASNode via HAS_UNIT relationship. Fix: In the DD build pipeline (imas_codex/graph/dd/), ensure every Unit node created is linked to at least one IMASNode. Rebuild and re-push the graph.
Error:assert 0 == 16 Root cause: COCOS reference data not built into the IMAS-only graph package. Fix: Include COCOS build step in the IMAS DD build pipeline. The COCOS reference nodes define sign conventions for magnetic field quantities. Rebuild and re-push.
Error:Graph contains labels not in schema: {'EmbeddingChange'} Root cause:EmbeddingChange nodes exist in the graph but are not declared in schemas/imas_dd.yaml. Fix: Either add EmbeddingChange class to the LinkML schema, or clean up these nodes from the graph before pushing.
Error: Undeclared properties on DDVersion, IMASNode, IMASSemanticCluster Root cause: Properties written to graph during development/testing but not declared in schemas. Fix:
DDVersion.cluster_input_hash → add to schemas/imas_dd.yaml (legitimate property for cluster build tracking)
IMASNode.test_case, IMASNode.test_prop → remove from graph (test artifacts)
IMASSemanticCluster.tags → add to schema or remove from graph
Error: Invalid enum values including plasma_profiles, summary, core_profiles, etc. Root cause: IMASNode physics_domain values don't match PhysicsDomain enum in schema. Old/stale values remain from earlier DD builds. Fix: Run migration to normalize physics_domain values to match the enum. Invalid values should be mapped to valid enum members or cleared.
Context
The
graph-qualityCI job indocker-build-push.ymlgates the release pipeline. 7 tests are currently deselected (notcontinue-on-error) because the IMAS-only graph data pushed to GHCR has known issues. These must be resolved before the final v5.0.0 release.Failing Tests & Resolution Paths
1.
test_facility_nodes_exist(IMAS-only structural)Error:
No Facility nodes in graphRoot cause: IMAS-only graph has no Facility nodes by design.
Fix: Skip this test when running against IMAS-only graph. Add a
@pytest.mark.skipifthat checks forGraphMeta.facilities == []or add a--imas-onlypytest flag.2.
test_unit_nodes_have_relationships(361 orphaned Unit nodes)Error:
361 Unit nodes are orphaned (no HAS_UNIT)Root cause: Unit nodes created during DD build but not linked to IMASNode via
HAS_UNITrelationship.Fix: In the DD build pipeline (
imas_codex/graph/dd/), ensure every Unit node created is linked to at least one IMASNode. Rebuild and re-push the graph.3.
test_cocos_reference_nodes(0 COCOS nodes, expected 16)Error:
assert 0 == 16Root cause: COCOS reference data not built into the IMAS-only graph package.
Fix: Include COCOS build step in the IMAS DD build pipeline. The COCOS reference nodes define sign conventions for magnetic field quantities. Rebuild and re-push.
4.
test_dd_versions_linked_to_cocos(0 DDVersions linked)Error:
Expected >=17 DDVersions linked to COCOS, got 0Root cause: Same as #3 — no COCOS data in graph.
Fix: Same as #3.
5.
test_all_labels_in_schema(EmbeddingChangeundeclared)Error:
Graph contains labels not in schema: {'EmbeddingChange'}Root cause:
EmbeddingChangenodes exist in the graph but are not declared inschemas/imas_dd.yaml.Fix: Either add
EmbeddingChangeclass to the LinkML schema, or clean up these nodes from the graph before pushing.6.
test_no_undeclared_properties(cluster_input_hash, test_case, test_prop)Error: Undeclared properties on DDVersion, IMASNode, IMASSemanticCluster
Root cause: Properties written to graph during development/testing but not declared in schemas.
Fix:
DDVersion.cluster_input_hash→ add toschemas/imas_dd.yaml(legitimate property for cluster build tracking)IMASNode.test_case,IMASNode.test_prop→ remove from graph (test artifacts)IMASSemanticCluster.tags→ add to schema or remove from graph7.
test_enum_values_valid(invalid physics_domain values)Error: Invalid enum values including
plasma_profiles,summary,core_profiles, etc.Root cause: IMASNode
physics_domainvalues don't matchPhysicsDomainenum in schema. Old/stale values remain from earlier DD builds.Fix: Run migration to normalize physics_domain values to match the enum. Invalid values should be mapped to valid enum members or cleared.
Execution Plan
EmbeddingChangeandcluster_input_hashto LinkML schemas →uv run build-models --forceuv run imas-codex graph push --devfor imas-codex-graph-imasPriority
Blocking for v5.0.0 final release (not blocking RC1).