Skip to content

[EPAC-2029]: add provincial Hansard router scaffold#581

Merged
riddim-developer-bot[bot] merged 1 commit into
mainfrom
symphony/epac-2029-provincial-hansard-adapter-scaffold-and-jurisdic
May 25, 2026
Merged

[EPAC-2029]: add provincial Hansard router scaffold#581
riddim-developer-bot[bot] merged 1 commit into
mainfrom
symphony/epac-2029-provincial-hansard-adapter-scaffold-and-jurisdic

Conversation

@riddim-developer-bot

Copy link
Copy Markdown
Contributor

Why

EPAC-2029 establishes the routing and scaffold layer that provincial Hansard adapters will plug into while keeping the application layer behind the HansardRepository port.

What changed

  • Added JurisdictionRoutedHansardRepository and app startup DI that registers the federal SwiftData-backed repository under .federal.
  • Added HTMLHansardScaffold helpers and ProvincialHansardAdapter.md for future province-specific adapter work.
  • Extended HansardSpeakerParser coverage for French speaker prefixes and moved FixtureHansardRepository into shared Hansard test fixtures.
  • Added the Hansard adapter boundary check and catalog placeholders for each provincial adapter path.

Trade-offs not taken

  • Did not implement province-specific adapters; those remain in the downstream provincial issues.
  • Kept the router as a simple jurisdiction map instead of introducing a registry or priority system.

Test plan

  • PASS: scripts/check-boundaries.sh
  • PASS: cd ios && make build
  • PASS: cd ios && xcodebuild build-for-testing -project epac.xcodeproj -scheme epac -destination 'platform=iOS Simulator,id=A42F2FBA-FC7A-4EFF-8F85-C402A8850ED6' -derivedDataPath .build -quiet | xcbeautify --quiet
  • PASS: swiftlint lint --strict ios/epac/epacApp.swift ios/epac/Util/HansardSpeakerParser.swift ios/epac/Util/HansardRepositoryEnvironment.swift ios/epac/Data/Adapters/Hansard/JurisdictionRoutedHansardRepository.swift ios/epac/Data/Adapters/Hansard/HTMLHansardScaffold.swift ios/epac/Views/ContentView.swift ios/epac/Views/Calendar/SittingCalendarView.swift ios/epac/Views/Calendar/SittingLoaderView.swift ios/epac/Views/Chat/SpeechView.swift ios/epacTests/Data/HansardSpeakerParserTests.swift ios/epacTests/Data/JurisdictionRoutedHansardRepositoryTests.swift ios/epacTests/Fixtures/Hansard/FixtureHansardRepository.swift
  • PASS with warnings: python3 scripts/localization/check_localizations.py --github-warnings (pre-existing missing key warning: onboarding.welcome.title)
  • BLOCKED by local simulator launch: cd ios && make test compiled app and test targets, then failed installing/launching the runner with IDEPseudoTerminalDomain Code 7, underlying NSPOSIXErrorDomain Code 6: Device not configured, for simulator A42F2FBA-FC7A-4EFF-8F85-C402A8850ED6. Restarting the simulator did not clear the launch failure.
  • BLOCKED by pre-existing lint debt outside this change: full swiftlint --strict fails on existing app clip, widget, UI-test, and CabinetService violations; changed Swift files pass strict lint as listed above.

Reviewer-Boundary: review-only

Resolves EPAC-2029
Release-Note: Omit - internal architecture scaffold 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 12:50
@riddim-developer-bot
riddim-developer-bot Bot merged commit 36de2ba into main May 25, 2026
27 checks passed
@riddim-developer-bot
riddim-developer-bot Bot deleted the symphony/epac-2029-provincial-hansard-adapter-scaffold-and-jurisdic branch May 25, 2026 12:53
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.

0 participants