Skip to content

Update upstream master (2026-09): scrutins models + perf + import fixes + migration stub

Scaffold Digital Fleet requested to merge chore/update-upstream-2026-09 into master

What

Merge of upstream applications/risefor-lobbying master (22 commits, tip 2f7bad15) into palestine master:

  • Scrutins models (Scrutin, RepresentativeVote, PlaceHemicycle) — models exist unconditionally, all law_tracker references plugin-gated (if settings.PLUGIN_LAW_TRACKER:), palestine runs the plugin OFF → feature inert, tables + migration path consistent (0271-0274, 0272 no-ops without plugin).
  • import_elected_gouv hardening (f8962168): survives missing/Non inscrit organes + absent fields.
  • contact newline-to-br fix (93db5df), tasks.py logger fix (f4c3cdcd), scrutinVotes nested_fields perf fix (2f7bad15), backup 14-day retention.

Migration landmine fixed

Fork 0240_remove_representativecontactplateform depends on 0239_merge_20250415_1534, which was deleted from the fork in 223e7912 → any migrate fails (NodeNotFoundError). Restored as no-op stub chained on 0238 (commit 52980d5c). Verified: migration graph loads with the stub, all leaves reachable.

Verification (dev, scaffolddev)

  • manage.py check OK with PLUGIN_LAW_TRACKER=False (palestine prod config) and True.
  • Migration graph loads in-process from this exact branch; 0239 stub resolves.
  • Multiple leaf nodes remain (0235_merge/0250_merge/0260_merge/0274) — known per-instance drift, Catalyst runs makemigrations --merge per instance at deploy as usual.

Closes the lobbying half of the 2026-09 palestine fork update (front MR follows).

Merge request reports