feat!: a trip's parts carry their own dates and place - #21
Merged
Merged
Conversation
SPEC_REF moves to spec-1's branch head and schema/, fixtures/ and docs/ are re-vendored from it. The UDDF reader returns a part per <trippart> instead of a span and a flat location list, the writer emits one <trippart> per part with its own <dateoftrip>, and §3's date-order rule and the bounding-box check move onto trips[].parts[]. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A <trippart> with a <geography>, no <name> and no <dateoftrip> produces no part, so the report has to say that rather than that the part kept dates it never had. Renames the trips helper the new tests share, whose callers bound it to `parts`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The specification's trip-parts change is on its main, so the pin moves off the branch head and onto the squash, and docs/uddf-mapping.md is re-vendored with it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SPEC_REFpins the specification's merged trip-parts commit andschema/,fixtures/anddocs/are vendored from it byte-for-byte, so a trip is a sequence of §6.9a parts — each with its own optionalstarts_on,ends_onand nestedlocation— rather than one span beside a flat list of places. The UDDF reader returns a part per<trippart>instead of collapsing the file's dates intomin/max, no longer drops a trip for want of astarts_on, keeps the dates of a<trippart>whose<geography>has no<name>, and reads a<trippart>carrying neither a name nor a date as no part at all — which is what lets the writer's mandatory floor element round-trip a partless trip exactly. Where a<trippart>is both of those at once the whole part goes, and the finding says so rather than reporting that the part survived. The writer emits one<trippart>per part with its own<dateoftrip>, omitting that element where a part has neither date and writing a single date into both of its required attributes where it has one. §3'sends_on ≥ starts_onand the bounding-box check move ontotrips[].parts[], reporting attrips/<i>/parts/<j>andtrips/<i>/parts/<j>/location/bbox.Verified with
pyteston Python 3.10 and 3.14,divejson conform fixtures --strict, the wheel-from-sdist build with its installed-schema check, and a local replay of CI's byte-equality and ancestor checks against the pinned specification commit;.github/scripts/release_bump.pyderives 0.9.0 from this branch.🤖 Generated with Claude Code