Repository navigation
A venue starts when its own meta says, not when the volume does - #43
Open
084intheImpala wants to merge 2 commits into
Open
084intheImpala wants to merge 2 commits into
084intheImpala wants to merge 2 commits into
Conversation
`BuildableContextVenue` overwrote `venue.start` with the volume's start unconditionally, so every venue's instructions printed the volume's time. Lisboa is an hour behind the rest and its meta says 10:30; its instructions told teams to open their envelopes at 11:30. The fallback below the override already covers a venue with no `start:`, so dropping the override is the whole fix. The test reads every venue of phys/29 and fails on exactly lisboa-junior and lisboa-senior without it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
|
I assume that this year it's only about time zone difference, but we are all starting at the same UTC time. In that case it would be better to save the timezone info separately and leave the start time to its default, unless there is a real time difference (which has already happened, I think). |
…n time Lisboa is an hour behind the rest, but it starts when everyone else does, so its meta should say which zone it is in rather than restate the start. The volume and each venue may now give a `timezone` (an IANA name; the volume's defaults to Europe/Bratislava), and a venue that gives no `start` takes the volume's, converted to its own clock on the competition's date. A venue that does give a `start` keeps it, for one that really starts at another moment. `venue.start` is still local minutes, so no template changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
@sesquideus good point! I think we fixed it now? |
sesquideus
approved these changes
Oct 22, 2026
sesquideus
left a comment
Collaborator
There was a problem hiding this comment.
Looks good, even the schema and the default.
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.
What was wrong
BuildableContextVenue.populatebuilt the venue context like this:overrideis a plain assignment, so every venue'sstartwas replaced by the volume's start, whatever the venue's ownmeta.yamlsaid. A venue'sstart:therefore had no effect at all.It shows wherever a template prints
venue.start, most visibly in the table instructions (instructions-inner.jtex: "you may open the envelope at …"). In phys/29 every venue starts at 11:30 except Lisboa, which is an hour behind the rest and whose metas saystart: 10:30. The Portuguese instructions told teams to open their envelopes at 11:30.The override has been there since at least
ff63aef("Overhaul of context methods"), and nobody noticed, because until Lisboa every venue happened to share the volume's start.What this changes
modules/naboj/builder/contexts/buildable.py: drops the.override('start', …). Nothing else is needed. The fallback just below it,if 'start' not in self.data['venue']: … = self.data['volume']['start'], already covers a venue that gives no start, so the volume's time stays the default and stops overruling a venue that sets its own.modules/naboj/tests/test_naboj_venue.py(new): for every venue ofphys/29, buildsBuildableContextVenueand checks thatvenue.startequals that venue'smeta.yaml. Liketest_naboj_page_layout.py, it is skipped whensource/nabojisn't checked out.How it was checked
lisboa-juniorandlisboa-senior. With the fix, all 21 pass, and the rest ofmodules/nabojpasses too.output/naboj/phys/29/venues/lisboa-senior/instructions.pdf: it now says às 10:30. No other venue in phys/29 changes, because all their metas say 11:30, the same as the volume.🤖 Generated with Claude Code