Skip to content

feat(vocab): add evidence-gated tokens from imas-codex rotation waves 7 and 9 - #11

Open
Simon-McIntosh wants to merge 1 commit into
mainfrom
vocab-rotation-wave7-wave9
Open

feat(vocab): add evidence-gated tokens from imas-codex rotation waves 7 and 9#11
Simon-McIntosh wants to merge 1 commit into
mainfrom
vocab-rotation-wave7-wave9

Conversation

@Simon-McIntosh

Copy link
Copy Markdown
Owner

Summary

Add 5 vocabulary tokens from imas-codex rotation waves W7 and W9A that cleared the N≥3 evidence gate. 33 VocabGap tokens were accumulated; 7 were already present in ISN; 2 were explicitly rejected; 5 qualify.

Source: imas-codex rotation waves 7 and 9A (synthesis in research/wave9-synthesis.md, commits 7cadf043 and 317ea706 in imas-codex).


Evidence for new vocabulary tokens

Tokens proposed

Token Segment Vocab file N (distinct DD paths) Sample DD paths
x2_width physical_base physical_bases.yml 43 bolometer/camera/channel/aperture/x2_width, bolometer/channel/detector/x2_width, camera_ir/fibre_bundle/geometry/x2_width, camera_visible/channel/aperture/x2_width, camera_x_rays/aperture/x2_width
gyroaveraged subject subjects.yml 15 gyrokinetics/…/moments_norm_gyrocenter/density_gyroav, /heat_flux_parallel_gyroav, /j_parallel_gyroav, /pressure_parallel_gyroav, /pressure_perpendicular_gyroav
vessel_outline_point position locus_registry.yml 6 wall/description_2d/vessel/unit/annular/outline_inner/r, /outline_inner/z, /outline_outer/r, /outline_outer/z, /element/outline/r, /element/outline/z
focs_outline_point position locus_registry.yml 3 focs/outline/r, focs/outline/z, focs/outline/phi
limiter_outline_point position locus_registry.yml 3 wall/description_2d/limiter/unit/outline, /outline/r, /outline/z

Evidence gathered via imas-codex graph query on IMASNode paths. The x2_width token is the symmetric counterpart of x1_width added at rc27.

Why existing tokens do not suffice

  • x2_width: The 43 DD paths use the literal field name x2_width — no existing base token covers the aperture/detector X2 dimension width. Parallels x1_width (added rc27).
  • gyroaveraged: The 15 density_gyroav, heat_flux_parallel_gyroav etc. paths in gyrokinetics IDS all represent gyroaveraged moments; no existing subject token covers this population qualifier.
  • vessel_outline_point, focs_outline_point, limiter_outline_point: Follow the established <entity>_outline_point pattern (cf. control_surface_outline_point, secondary_separatrix_outline_point already in ISN). Each names a specific geometric sampling location on a machine component.

Tokens pre-existing in ISN (no action taken)

These tokens appeared in imas-codex VocabGap accumulation but are already
present in locus_registry.yml:

outboard_midplane, inner_divertor_target, outer_divertor_target,
divertor_target, constraint_position, current_center,
last_closed_flux_surface

Tokens explicitly rejected

Token Reason
from_wall Preposition-form token banned by compose grammar (_from_/_to_ ban in compose_system_lean.md)
from_plasma Same preposition-form ban

Tokens deferred (N<3)

Token Segment N Notes
diagnostic_component_center position 0 No specific DD paths; re-evaluate after PWI coverage
detector_aperture position 0 diagnostic_aperture entity may cover; possibly redundant
mobile_unit_outline_point position 0 Insufficient DD coverage
shearing_rate base 2 Two shearing_rate_norm paths in gyrokinetics — just misses gate
spun_fiber position 0 FOCS spun-fiber properties are physical quantities, not positions
annular ? 0 123 DD paths contain 'annular' but segment assignment is ambiguous (not a coordinate axis)
vertical_coordinate_of coordinate_axes 0 Not found in VocabGap graph
cartesian_x component 0 Not found in VocabGap graph

Motivation

imas-codex rotation waves W7 and W9A accumulated 33 unique VocabGap tokens that
blocked standard-name composition across gyrokinetics, plasma-wall interactions,
and particle-measurement diagnostics domains. This batch closes the 5 tokens
with sufficient DD evidence.

Changes

  • imas_standard_names/grammar/vocabularies/physical_bases.yml — add x2_width
  • imas_standard_names/grammar/vocabularies/subjects.yml — add gyroaveraged
  • imas_standard_names/grammar/vocabularies/locus_registry.yml — add vessel_outline_point, focs_outline_point, limiter_outline_point
  • imas_standard_names/grammar/model_types.py — regenerated
  • docs/vocab-retrospective.md — W7+W9A triage section appended

Testing

  • All existing tests pass (1108 passed, 68 xfailed)
  • Grammar codegen drift check passes
  • New tests not required (vocab-only additions, no grammar-rule changes)

Checklist

  • I have read the CONTRIBUTING.md guidelines
  • Conventional commit message format used
  • For vocabulary additions: N ≥ 3 evidence provided above

… 7 and 9

Add 5 tokens from W7+W9A that passed the N>=3 evidence gate (33 VocabGap
candidates harvested across gyrokinetics, plasma_wall_interactions, and
particle_measurement_diagnostics domains).

Additions:
- physical_bases.yml: x2_width (N=43) — symmetric counterpart to x1_width
- subjects.yml: gyroaveraged (N=15) — gyrokinetics gyroaveraged moments
- locus_registry.yml: vessel_outline_point (N=6), focs_outline_point (N=3),
  limiter_outline_point (N=3)

Rejected: from_wall, from_plasma (preposition-form ban in compose grammar)
Deferred: 20 tokens at N<3 documented in docs/vocab-retrospective.md
Pre-existing in ISN: outboard_midplane, inner/outer_divertor_target,
  divertor_target, constraint_position, current_center, last_closed_flux_surface

Grammar model_types.py regenerated via build-grammar.
@codecov

codecov Bot commented Apr 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

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.

1 participant