Skip to content

feat!: milliseconds on the axis, readouts on the recording, a date-only start, and the widened vocabularies - #30

Merged
aleskiontherun merged 9 commits into
mainfrom
claude/py-1-before-the-tag
Sep 25, 2026
Merged

aleskiontherun merged 9 commits into
mainfrom
claude/py-1-before-the-tag

Conversation

@aleskiontherun

@aleskiontherun aleskiontherun commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Implements the specification change in divejson/divejson#30, pinning SPEC_REF at its squash and re-vendoring schema/, fixtures/ and docs/ from it. The profile axis is milliseconds: every reader multiplies its source's seconds by a thousand before rounding (converter.milliseconds), so a fraction the source states keeps its place, and the UDDF writer writes <divetime> back as seconds with a fraction only where needed; .ssrf's M:SS clock, which takes a second factor on the way to the axis, is held to the representability bound as a product. A device's readouts — surface_pressure, cns_start, cns_end, otu_start, otu_end — and FIT's salinity setting sit on the recording its file produced; a figure a source states once for the dive (UDDF <surfacepressure>, Subsurface @cns/@otu) goes to the primary recording, reported resolved where the dive has two, and a readout alone makes a recording. A dive whose source states a date and no time of day starts on the bare date rather than midnight, the validator accepts that on a dive's started_at only, and the UDDF writer writes the bare <datetime> (the suite's XSD pass widens that one element's spelling for itself). po2_limit is ppo2_limit, notes is no longer cut, and divejson validate no longer checks member order.

Verified with pytest (1150 passed), divejson conform fixtures --strict (77 cases) and the pin's byte and ancestor checks against the specification's main; ruff and mypy unchanged from main.

🤖 Generated with Claude Code

aleskiontherun and others added 5 commits September 24, 2026 22:23
…ures and docs from it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t, and the widened vocabularies

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t modules still said otherwise

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… §4's SHOULD

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aleskiontherun and others added 4 commits September 25, 2026 06:31
…ixtures and docs from it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rap two docstrings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aleskiontherun
aleskiontherun marked this pull request as ready for review September 25, 2026 03:58
@aleskiontherun
aleskiontherun merged commit 79c9707 into main Sep 25, 2026
7 checks passed
@aleskiontherun
aleskiontherun deleted the claude/py-1-before-the-tag branch September 25, 2026 04:04
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