Skip to content

Admit an event instant and the signal-to-noise ratio and level pair - #36

Merged
Simon-McIntosh merged 4 commits into
iterorganization:mainfrom
Simon-McIntosh:main
Sep 8, 2026
Merged

Admit an event instant and the signal-to-noise ratio and level pair#36
Simon-McIntosh merged 4 commits into
iterorganization:mainfrom
Simon-McIntosh:main

Conversation

@Simon-McIntosh

Copy link
Copy Markdown
Collaborator

Admits three physical_base tokens the WEST standard-name batch needs, and settles a unit question by splitting rather than choosing.

event_instant

A scalar for the time-coordinate value at which a discrete event occurs. The consumer is the Data Dictionary path summary/disruption/time/value, which had no admissible base.

Three meanings have to stay distinct, and the definition says which one this denotes and which two it excludes: the instant an event occurs, an elapsed duration, and the sampled time axis. A token conflating them composes onto the wrong sources.

The grammar was probed first to check whether it could already express an instant. It can parse instantaneous_time as qualifier instantaneous plus base time, while event_time, occurrence_time and event_instant were all rejected. That spelling was judged not to carry event-instant semantics: base time is the coordinate axis, so instantaneous_time reads as the axis sampled instantaneously rather than the instant an event occurred. Hence a distinct base.

signal_to_noise_ratio and signal_to_noise_level

One prior note recorded signal-to-noise as decibels; a consuming plan described it as dimensionless. Those are different admissions with different composition consequences, so both are admitted with the distinction made explicit:

Token Unit Meaning
signal_to_noise_ratio 1 the linear power quotient
signal_to_noise_level dB its logarithmic representation

Collapsing them would either lose the decibel form diagnostics actually report, or hang a decibel unit on a ratio. The dimensionless unit is the string 1, not an absent unit — a null unit is a different and wrong state.

Verification

  • Focused suite: 123 passed, 28 skipped, 5 xfailed at baseline and again after each admission.
  • Each token read back from the built vocabulary rather than from the edited source, because a spec and its generated snapshot have diverged in this repository before.
  • One composed example name per token parsed strictly and round-tripped byte-identically.
  • build-grammar --check exits 0 with generated files in sync.

Intended to be followed by a stable patch release, v0.9.1, cut through the release CLI so the tag drives the version.

Add a scalar event_instant base for the time-coordinate value at which a discrete event occurs. Its definition distinguishes the instant from elapsed duration and from the sampled time axis.
Define signal_to_noise_ratio as the linear dimensionless power quotient and add signal_to_noise_level for its logarithmic decibel representation. The separate bases preserve the nonlinear semantic and unit distinction.
event_instant is the time-coordinate value at which a discrete event occurs,
distinct from elapsed duration and from the sampled axis. signal_to_noise_ratio
is the linear dimensionless quotient and signal_to_noise_level its decibel
representation, kept separate because the unit distinction is real.
event_instant plus the signal-to-noise ratio and level pair are admitted, and
the release level is locked as a stable patch.
@Simon-McIntosh
Simon-McIntosh merged commit 4391e8c into iterorganization:main Sep 8, 2026
5 checks passed
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