Skip to content

[EPAC-2035]: Implement Saskatchewan recorded votes parser#583

Merged
sunnypurewal merged 3 commits into
mainfrom
symphony/epac-2035-implement-saskatchewan-recorded-votes-parser
May 25, 2026
Merged

[EPAC-2035]: Implement Saskatchewan recorded votes parser#583
sunnypurewal merged 3 commits into
mainfrom
symphony/epac-2035-implement-saskatchewan-recorded-votes-parser

Conversation

@riddim-developer-bot

@riddim-developer-bot riddim-developer-bot Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Why

Saskatchewan recorded-votes parsing was implemented on an older schema head and then drifted behind main. This update keeps the PR branch compatible with the current migration graph while preserving the new parser, fixture, and tests.

What changed

  • Added SaskatchewanVotesParser plus a Saskatchewan Votes and Proceedings XML fixture and parser tests.
  • Added Fetch.ingestSaskatchewanVotes(document:sittingDate:) to persist parsed Saskatchewan votes.
  • Preserved main's SchemaV9 member-jurisdiction migration and moved the vote-jurisdiction change into a new SchemaV10 with a V9 -> V10 migration.
  • Updated app and test ModelContainer setup to use the latest schema head.
  • Resolved the existing PR rebase conflicts and force-pushed the repaired branch.

Trade-offs not taken

  • This PR still does not wire Saskatchewan vote ingestion into the live Saskatchewan adapter flow. The branch now contains the parser and persistence hook, but no current call site invokes ingestSaskatchewanVotes(...) yet.
  • The HTML fallback in SaskatchewanVotesParser remains a stub returning no votes; this fix pass focused on finishing the rebase safely instead of inventing a broader HTML parsing strategy during PR repair.

Test plan

  • cd ios && make build
    Result: passed after rebasing onto origin/main. The only warning is the pre-existing SchemaV5.RecordedVote redundant Sendable conformance already present on main.
  • cd ios && make test
    Result: failed before running the PR's tests because the vendored Evidence package does not compile in this environment: .build/SourcePackages/checkouts/evidence/Sources/Evidence/EvidenceApplication.swift:113:9: 'open' is only available in iOS 16.4 or newer.
  • swiftlint --strict
    Result: repo-wide failure from unrelated baseline violations in other targets (epacUITests, epac-clip, epac-widget, etc.).
  • File-scoped lint on all modified Swift files with /opt/homebrew/bin/swiftlint lint --strict <path>
    Result: passed for every file changed in this PR.
  • python3 scripts/localization/check_localizations.py --github-warnings
    Result: reported the pre-existing missing onboarding.welcome.title key in both English and French.

Refs EPAC-2035

Reviewer-Boundary: review-only

@riddim-developer-bot riddim-developer-bot Bot added the autonomous Enrolled in prconverged daemon for automated review and merge label May 25, 2026
@riddim-developer-bot
riddim-developer-bot Bot enabled auto-merge (squash) May 25, 2026 14:11
@riddim-developer-bot riddim-developer-bot Bot added the agent:working Symphony developer-bot lease (not a CI required check) label May 25, 2026
@RiddimSoftware RiddimSoftware deleted a comment from riddim-developer-bot Bot May 25, 2026
@sunnypurewal sunnypurewal removed the agent:working Symphony developer-bot lease (not a CI required check) label May 25, 2026
auto-merge was automatically disabled May 25, 2026 17:44

Pull request was closed

@sunnypurewal
sunnypurewal force-pushed the symphony/epac-2035-implement-saskatchewan-recorded-votes-parser branch from b4d87cb to c8e611a Compare May 25, 2026 18:26
@riddim-developer-bot

Copy link
Copy Markdown
Contributor Author

Post-rebase update:

  • Resolved the Model.swift / Migration.swift conflicts by keeping main's SchemaV9 member-jurisdiction migration and advancing the vote-jurisdiction work to SchemaV10.
  • Force-pushed the repaired branch to symphony/epac-2035-implement-saskatchewan-recorded-votes-parser.
  • Re-ran cd ios && make build after rebasing onto the latest origin/main; build passed.
  • cd ios && make test is still blocked by the existing EvidenceApplication.swift iOS 16.4 availability compile failure before the Saskatchewan tests can execute.
  • File-scoped SwiftLint passed on every modified Swift file.

Residual functional gap from the current branch: the Saskatchewan votes parser/persistence hook exists, but no live Saskatchewan adapter call site invokes it yet.

@sunnypurewal
sunnypurewal merged commit 0c37fdb into main May 25, 2026
4 checks passed
@sunnypurewal
sunnypurewal deleted the symphony/epac-2035-implement-saskatchewan-recorded-votes-parser branch May 25, 2026 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autonomous Enrolled in prconverged daemon for automated review and merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant