Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging Anne's version of "the EDF" into the repository #65

Closed
cwulfman opened this issue Sep 1, 2022 · 6 comments
Closed

Merging Anne's version of "the EDF" into the repository #65

cwulfman opened this issue Sep 1, 2022 · 6 comments
Assignees

Comments

@cwulfman
Copy link
Collaborator

cwulfman commented Sep 1, 2022

@trustthevote wrote:

Anne, Cliff,

Very soon now we will have an EDF and matching ballots that look great.

However, Anne is using one version of the EDF, and Cliff has a version that I think has some structural changes added recently as part of BallotLab work.

I'd like to merge them.

In Anne's version the helium initiative text is longer, in order to drive a needed UI test case. I propose that Cliff should use his current version and extend the helium initiative text, and provide the result to Anne and Chris.

The extended text needs to be roughly double in length. I'm happy with whatever you like, but I offer here some words to append to the current text.

All forms of helium are authorized for personal use or commercial balloon usage. Use of deuterium and tritium for energy generation will be licensed by the State commission. Use of deuterium and tritium for uncontrolled fusion reactions is strictly prohibited, and constitutes a Class A felony under State Criminal code section 4.222 K.

Anne, is that long enough?

I'd like @awoflaherty to clarify this request a bit.

  1. What is your version, of which EDF? Could you please either post a link to it here, or attach a copy?
  2. What, other than lengthening the text of the helium initiative, have you changed in the contents of the EDF?

I strongly suggest we deprecate the practice of exchanging data files via email. I'd like to propose that @awoflaherty tell me which test file in the test cases directory of this repository needs to be updated; I will edit that file with the changes she and @trustthevote would like to see made and commit those changes to the repository; I'll notify @awoflaherty when the commit has been made. This is stock, standard practice for managing changes to code and text files.

Does anyone have any objections?

@mattbeattie
Copy link
Contributor

Hey Cliff,

I just talked with John and Anne about this, let me summarize below:

  • Markit and Provisioner have not diverged from the version of the EDF here in the NIST repo. Both are using the august EDF from commit 2f086a2
  • Remember that Markit needs to have the EDF to ensure it can parse it, and Provisioner needs to have the EDF to serve it at runtime

John's ask is for you to commit whatever version of the EDF you have in BallotLab to this repo. Once done, both Markit and Provisioner can pull it in.

Now, regarding versioning control. I propose the following:

  1. The EDF in this repo should be the "source of truth." Anytime anyone makes a change to the EDF, it needs to be made here first
  2. Once the EDF has been updated here, Markit will need to update it (specifically this file)
  3. The EDF in Provisioner will also need to be updated. We don't have strict "version control" in Provisioner per se, but we DO have a repo where the script that updates the EDF (and the EDF itself) are housed. I therefore propose we pull the EDF from the NIST repo into my provisioner-scripts repo here.

What do you think? If you agree, do you want to use John's ask as an excuse to do a trial run of the "EDF version update" process I described above?

@trustthevote
Copy link
Member

No objections.

Currently not using any of the 3 test cases in the repo you linked to, but rather a copy that has extra text at the end of the helium initiative. That was fine for a quick test case to close a bug that was blocking an important release.

Now, the "official" CEW EDF needs to be updated to what we might call the September test case, which (a) takes up the additional helium wording (b) has whatever other EDF changes CEW has been making in support of BallotLab work

@cwulfman
Copy link
Collaborator Author

cwulfman commented Sep 2, 2022

To be clear: I have only worked on files in the NIST-1500-100-103-examples repo (i.e., this one). Ion & Neil have been doing things with separate copies and gists and what-not; I have nothing to do with it.

So: I will create a September test case EDF, rather than revising the August test case EDF, and put it in this repo.

@cwulfman
Copy link
Collaborator Author

cwulfman commented Sep 3, 2022

Matt Beattie wrote:

Cliff - Confirmed, the ballot IDs are the same. Only the internal IDs have changed, which is of course fine because those are not surfaced to the voter.

I deployed the Sept EDF, but unfortunately found a bug during a brief smoke test. I have rolled Provisioner back to the previous August EDF.

Cliff, the bug is fairly straightforward - the presidential contest is missing the ExternalIdentifier that marks it as such:

"ExternalIdentifier": [
{
"@type": "ElectionResults.ExternalIdentifier",
"Type": "other",
"OtherType": "https://viaf.org/viaf/",
"Value": "129529146"
}
]

While I could fix the EDF in place and contribute the fix back to the NIST examples repo, I feel it's best to have the fix implemented in Versasim, the EDF re-gened and committed to the NIST examples repo, and then confirmed by Markit.

John, Anne, if you prefer a hotfix to get the rest of the contents of the Sept EDF expedited to Provisioner instead, let me know and I can certainly do that.

Thanks,
Matt

@mattbeattie: thank you for pointing this out, and thank you for preferring an upstream Versasim adjustment over a hotfix! I'll add ExternalIdentifier to the Airtable fields and the versasim output.

See cwulfman/versasim#2

@mattbeattie
Copy link
Contributor

@cwulfman excellent, sounds good! I'll be ready to pull down and test the EDF once you've got it updated.

@cwulfman
Copy link
Collaborator Author

cwulfman commented Sep 7, 2022

resolved in #66

@cwulfman cwulfman closed this as completed Sep 7, 2022
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

No branches or pull requests

3 participants