§1 — Method and verdict

Every DD path carrying two accepted standard names (90 paths, graph query on IMASNode-[:HAS_STANDARD_NAME]→StandardName) was adjudicated against the DD docstring (2026-07-04, read-only pass). Buckets: A generic-vs-specific double attach (the specific name keeps the path) — 60; B locus/device mismatch (one name's of_<device> contradicts the path) — 17; C both names fail the DD semantics — 9; D defensible synonym/uncertain — 4. 86 of 90 are attach errors of exactly the class the new attach-gate guards reject going forward.

§2 — Worst physics mislabels

  1. disruption/global_quantities/phi_halo_boundary — carries a poloidal-flux name but the DD quantity is toroidal magnetic flux; hard poloidal↔toroidal swap. Keep toroidal_magnetic_flux_at_halo_boundary.
  2. edge_transport/model/ggd/ion/energy/d_radial/values — radial ion energy diffusivity carrying radial_neutral_energy_diffusion_coefficient (wrong species) and radial_ion_particle_diffusivity (wrong transported quantity). Neither right.
  3. {edge,plasma}_profiles/ggd/ion/velocity_over_b_field/* (4 paths) — DD quantity is velocity÷B (m·s⁻¹·T⁻¹); every attached name calls it a plain velocity, and the radial variant fabricates e_cross_b_drift and a state level absent from the path.
  4. coils_non_axisymmetric/coil/conductor/resistance — labelled resistance_of_toroidal_field_coil on a correction-coil conductor; wrong device class.
  5. pf_passive|pf_plasma/.../thick_line/first_point/z — passive-conductor and plasma-filament geometry points tagged with beam-diagnostic loci (beam_tracing_point, launching_position).

§3 — Full table

One row per name-pair family; counts in parentheses where a pair repeats across sibling paths. "keeps" = the name that should retain the path; the other is detached (A/B), or both are replaced (C).

Path (family)BucketVerdict
{coils_non_axisymmetric,tf}/coil/conductor/elements/*/phi (7)Akeeps toroidal_angle_of_coil_conductor_element
ntms/time_slice/mode/*/{n_tor,n_phi} (4)Akeeps toroidal_mhd_mode_number
runaway_electrons/ggd_fluid/ddensity_dt_*/values (3)Akeeps …_due_to_<process>
*/profiles_2d/ion/temperature, mhd/ggd/t_i_average (4)Akeeps ion_average_temperature
{edge,plasma}_profiles/ggd/ion/velocity_over_b_field/* (4)Cneeds a velocity-over-B (mobility-like) name; both current names wrong
*/ggd/j_diamagnetic/* (4)Akeeps <dir>_diamagnetic_current_density (component reading)
*/momentum/d/diamagnetic (2)Akeeps diamagnetic_momentum_diffusivity
*/fibre_bundle/geometry/outline/x2 (3)Akeeps x2_coordinate_of_optical_element
camera_visible/channel/optical_element/geometry/x1_widthAkeeps width_of_optical_element
spectrometer_uv/channel/aperture/x1_widthBkeeps width_of_diagnostic_aperture
coils_non_axisymmetric/coil/conductor/resistanceBkeeps resistance_of_correction_coil
disruption/global_quantities/phi_halo_boundaryBkeeps toroidal_magnetic_flux_at_halo_boundary
distributions/.../{orbit}/collisions/.../torque_* (5)Akeeps orbit-population-qualified name
distributions/.../trapped/collisions/electrons/power_fastAkeeps trapped_fast_electron_power_density_due_to_collisions
ece/polarizer/centre/zAkeeps vertical_coordinate_of_diagnostic_antenna
edge_profiles/ggd/j_ion_neutral_friction/poloidalAkeeps poloidal_current_density_due_to_ion_neutral_friction
edge_sources/source/ggd/ion/momentum/radialAkeeps radial_ion_momentum_source
edge_sources/source/ggd/neutral/momentum/radialAkeeps radial_neutral_state_momentum_source (spurious state noted)
edge_transport/model/ggd/ion/energy/d_radial/valuesCneeds radial ion energy diffusivity; both wrong
edge_transport/model/ggd/ion/state/energy/d/valuesDsynonyms; pick one canonical term
edge_transport/.../neutral/momentum/flux_limiter/radialAkeeps radial_neutral_momentum_coefficient
equilibrium/.../constraints/faraday_angle/measuredAkeeps faraday_angle
equilibrium/.../constraints/flux_loop/measuredAkeeps poloidal_magnetic_flux_at_sensor_attachment_point
hard_x_rays/channel/filter_window/outline/x2Akeeps x2_coordinate_of_filter_window
{hard,soft}_x_rays/channel/filter_window/radius (2)Akeeps radius_of_filter
ic_antennas/.../strap/geometry/annulus/zDlean vertical_coordinate_of_conductor_cross_section
ic_antennas/.../strap/geometry/rectangle/zBkeeps vertical_coordinate_of_conductor_cross_section
nbi/unit/aperture/centre/zBkeeps vertical_coordinate_of_aperture (NBI is not a diagnostic)
neutron_diagnostic/detector/geometry/surfaceBkeeps surface_area_of_neutron_detector
pellets/.../path_geometry/second_point/zBkeeps vertical_coordinate_of_pellet_path_point
pf_passive/loop/element/geometry/oblique/zDlean vertical_coordinate_of_passive_structure
pf_passive/.../thick_line/second_point/zBkeeps vertical_coordinate_of_passive_structure
pf_passive/.../thick_line/first_point/zCneeds a passive-structure point name; both loci wrong
pf_plasma/element/geometry/annulus/radius_outerBkeeps outer_radius_of_plasma_filament
pf_plasma/.../thick_line/first_point/zCneeds a plasma-filament point name; both loci wrong
plasma_profiles/.../velocity_diamagnetic/diamagneticAkeeps ion_state_diamagnetic_velocity_due_to_diamagnetic_drift (redundant tail noted)
plasma_transport/.../ion/momentum/flux/poloidalAkeeps poloidal_ion_momentum_flux
plasma_transport/.../ion/momentum/flux/zBkeeps vertical_ion_momentum_flux
plasma_transport/model/ggd/momentum/d_radial/valuesCspecies-less momentum diffusivity; both inject a species
plasma_transport/.../neutral/momentum/d_radial/valuesAkeeps radial_neutral_momentum_diffusion_coefficient
plasma_transport/.../neutral/momentum/flux/diamagneticAkeeps neutral_state_momentum_flux_due_to_diamagnetic_drift
plasma_transport/.../neutral/state/momentum/v/radialAkeeps radial_neutral_state_momentum_convection_velocity
pulse_schedule/.../line_of_sight/third_point/phi (2)Akeeps toroidal_angle_of_along_line_of_sight (grammar of of_along noted)
reflectometer_fluctuation/.../first_point/zBkeeps vertical_coordinate_of_launching_position
runaway_electrons/.../volume_average/current_densityAkeeps parallel_volume_averaged_runaway_electron_current_density
runaway_electrons/.../momentum_critical_avalancheAkeeps volume_averaged_runaway_electron_critical_momentum_due_to_avalanche
runaway_electrons/profiles_1d/ddensity_dt_dreicerBkeeps runaway_electron_source_rate_due_to_dreicer
spectrometer_uv/channel/grating/curvature_radiusDsynonyms; DD is a radius of curvature — neither says radius
spectrometer_uv/.../image_field/centre/zBkeeps vertical_coordinate_of_camera
spectrometer_visible/.../{fibre_bundle,polarizer}/radius (2)Akeeps radius_of_optical_element
spectrometer_x_ray_crystal/{camera,channel/camera}/centre/z (2)Bkeeps vertical_coordinate_of_camera
spectrometer_x_ray_crystal/.../line_of_sight/first_point/zBkeeps vertical_coordinate_of_launching_position
spectrometer_x_ray_crystal/channel/wavelength_framesBkeeps wavelength_of_detector_pixel
summary/.../power_{launched_,}nbi/value (2)Akeeps total_power_of_neutral_beam_injector; FLAG: launched vs coupled power are different quantities sharing one name
summary/local/pedestal/magnetic_shear/valueAkeeps magnetic_shear_at_pedestal
waves/.../beam_tracing/beam/position/thetaAkeeps poloidal_angle_of_beam_tracing_beam
waves/.../e_field_n_phi/plus/phaseAkeeps per_toroidal_mode_left_hand_circularly_polarized_wave_electric_field (neither encodes phase — noted)
waves/.../profiles_2d/e_field_n_tor/plus/amplitudeCneeds per-toroidal-mode amplitude name; both incomplete

Evergreen: independent-review-fixes §6.