Skip to content

Conversation

@gregorbg
Copy link
Member

Turns out, we already had a pipeline for storing the JSONs that Delegates submit. (They get forwarded to WRT as an email attachment).

This PR connects the new "Use WCA Live results" feature to this existing pipeline, by inserting the authorized WCIF as "uploaded JSON". The point is that this contains all relevant information (persons, results) at the time of submission.

Scrambles are not included in this WCIF, but if you use "WCA Live stored results", then you have to upload scrambles to our new Scrambles Matcher anyways. They will be stored and persisted in there.

@gregorbg
Copy link
Member Author

The flags around storeUploadedJson and markResultsAsSubmitted are part of a WRT-specific workflow that I stole straight from UploadResultsJson.jsx.

Sure, we could reuse some code here or abstract away a shared component, but the Results JSON upload is going away in a couple of weeks anyways so I didn't bother.

@dunkOnIT
Copy link
Contributor

dunkOnIT commented Dec 18, 2025

Hmm, I think the lack of scramble storage in the WCIF will be a problem - as I presume the idea of delegates storing results is as an insurance against some kind of catastrophic data loss from the WCA's website, so us having them stored on the website because of our new scrambles matcher likely won't cut it.

I do wonder if just serializing out the Results JSON isn't the best way to do this after all - we can increment the version if we need to make changes to the schema. It's either that, or adding the scramble data to the WCIF which I don't relish the prospect of because it's adding even more data to an already-bloated file.

@gregorbg
Copy link
Member Author

the idea of delegates storing results is as an insurance against some kind of catastrophic data loss from the WCA's website

Not necessarily. That's only the "very very very very worst case" we're protecting against. Usually it's a matter of having a copy of the data so that WRT can "restore" certain results to their original state, or find original newcomer dates.

Think about WRC or WIC first penalizing and then reinstating a solve. The first penalty would set it to -1 and completely lose the information on what the original solve time was. The only way to reinstate the actual value of the result is to dig up the submission JSON files.

@gregorbg gregorbg force-pushed the feature/results-submission-json-logging branch from 4ebf29f to 0be1fc6 Compare December 18, 2025 12:24
@gregorbg
Copy link
Member Author

The mail to WRT has now been configured to include a "safety copy" of the scramble files, if the new "WCA Live sync" feature was used.

If the old way (Results JSON) was used, then the scrambles are already contained in that one central "results file". So sending the separate scramble JSONs is only necessary when the new feature is being used, and I have included a code comment to explain that.

@gregorbg gregorbg force-pushed the feature/results-submission-json-logging branch from 43f8c09 to 4d8cb87 Compare December 31, 2025 17:07
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.

2 participants