Persist incremental message review, accept matching conditions in bulk, and honor configured omissions through delivery #97

Closed
opened 2026-09-07 14:57:23 +02:00 by zemion · 3 comments
Owner

User-reported campaign usability follow-up to #96. Individual review reasons were held only locally until final completion, with expensive whole-page updates and no automatic advance. Expected DROP outcomes/explicitly allowed zero-match rules must not trigger review. Final delivery preflight must honor accepted same-build conditions instead of blocking from raw missing-file counts.

Implementation in the working tree (not pushed): additive revision/build-bound incremental review writes; exact frozen-job category verification and bounded 200-message grouped acceptance; durable per-job reason/actor/time audit; selected-job-only backend validation; lightweight acknowledgement without workspace/file rescans; next-unreviewed navigation; failure-safe note retention; EN/DE UI/docs. Genuine blockers and stale builds remain rejected. Existing frozen builds require an intentional rebuild to adopt corrected policy classification.

Backend verification: 132 targeted tests and 20 subtests passed, including concurrency, permission, locked history, bounded loading of 1 selected job among 502, and cross-reviewer evidence. Browser integration and final-preflight regression checks are in progress. No live send or policy/deployment change performed. Leave open until published and verified.

User-reported campaign usability follow-up to #96. Individual review reasons were held only locally until final completion, with expensive whole-page updates and no automatic advance. Expected DROP outcomes/explicitly allowed zero-match rules must not trigger review. Final delivery preflight must honor accepted same-build conditions instead of blocking from raw missing-file counts. Implementation in the working tree (not pushed): additive revision/build-bound incremental review writes; exact frozen-job category verification and bounded 200-message grouped acceptance; durable per-job reason/actor/time audit; selected-job-only backend validation; lightweight acknowledgement without workspace/file rescans; next-unreviewed navigation; failure-safe note retention; EN/DE UI/docs. Genuine blockers and stale builds remain rejected. Existing frozen builds require an intentional rebuild to adopt corrected policy classification. Backend verification: 132 targeted tests and 20 subtests passed, including concurrency, permission, locked history, bounded loading of 1 selected job among 502, and cross-reviewer evidence. Browser integration and final-preflight regression checks are in progress. No live send or policy/deployment change performed. Leave open until published and verified.
Author
Owner

Additional user requirements implemented locally: four shared message states (Ready / Needs review / Blocked / Excluded) plus an explanation column; the review-candidates button uses the same controlled State filter, with no separate hidden server filter. Validation cause and no-attachment policy outcome are presented as one condition while original technical evidence is retained. Validation details and repeated files both use shared pagination. Confirm & Send and earlier validation guidance no longer demand a second acceptance for completed same-build review. Reviewed-stage mock testing now checks stored sealed EML and same-build decisions instead of rebuilding/blanket-accepting exceptions.

Current verification: 144 targeted backend tests +20 subtests passed, 18 focused review helper tests passed. Browser coverage includes durable incremental/reload/retry/bulk decisions, permissions, conflict handling, final preflight despite14missing source matches, and four-state filtering. Final pagination/build/admin checks are still underway. No real sends or deployment/policy changes.

Additional user requirements implemented locally: four shared message states (Ready / Needs review / Blocked / Excluded) plus an explanation column; the review-candidates button uses the same controlled State filter, with no separate hidden server filter. Validation cause and no-attachment policy outcome are presented as one condition while original technical evidence is retained. Validation details and repeated files both use shared pagination. Confirm & Send and earlier validation guidance no longer demand a second acceptance for completed same-build review. Reviewed-stage mock testing now checks stored sealed EML and same-build decisions instead of rebuilding/blanket-accepting exceptions. Current verification: 144 targeted backend tests +20 subtests passed, 18 focused review helper tests passed. Browser coverage includes durable incremental/reload/retry/bulk decisions, permissions, conflict handling, final preflight despite14missing source matches, and four-state filtering. Final pagination/build/admin checks are still underway. No real sends or deployment/policy changes.
Author
Owner

Local implementation verification: full Core browser conformance 127/127 passes, including incremental review persistence/races, bulk acceptance, unified Ready/Needs review/Blocked/Excluded filtering, validation/repeated-file pagination and German labels. Combined targeted Campaign backend suite: 191 tests + 23 subtests pass; review helper suite 18 passes. Production WebUI build, structural i18n audit, manifest checks and strict interface inventory pass. Workspace focused check reaches unrelated institutional-governance journey fixture failure (expired availability date; tests/test_institutional_governance_journey.py:223). Changes are local/unpublished; issue remains open. No real mail was sent.

Local implementation verification: full Core browser conformance 127/127 passes, including incremental review persistence/races, bulk acceptance, unified Ready/Needs review/Blocked/Excluded filtering, validation/repeated-file pagination and German labels. Combined targeted Campaign backend suite: 191 tests + 23 subtests pass; review helper suite 18 passes. Production WebUI build, structural i18n audit, manifest checks and strict interface inventory pass. Workspace focused check reaches unrelated institutional-governance journey fixture failure (expired availability date; tests/test_institutional_governance_journey.py:223). Changes are local/unpublished; issue remains open. No real mail was sent.
Author
Owner

Reconciled 2026-09-08: implemented and published

This supersedes the earlier local/unpublished status. The owning fix is on remote main and the verified v0.1.28 tag (commit c51fc180fba7), included in the published 0.1.45 source/package composition.

Incremental build/revision-bound review, bounded same-condition bulk acceptance, configured omission handling and accepted-condition delivery preflight are implemented. test_incremental_review_persistence.py, test_reviewed_build_mock.py and actual campaign-review/bulk-review/review-details conformance passed. Genuine blockers and stale builds remain blocked; existing frozen builds need an intentional rebuild to adopt changed classifications. EN/DE guidance is included; no live build or delivery was initiated here.

The completed, unmodified release tools/checks/check-focused.sh run passed, including 213 browser conformance cases and the relevant backend suites. The audit matched current remote branches/tags and reviewed the original acceptance criteria and subsequent comments. Closing the implemented source/package scope. This is not a runtime deployment claim: Meta #52 and website #9 retain their independent runtime/public-site holds. No tag was moved.

<!-- govoplan-issue-reconciliation-20260908-published-fixes-v1 --> ## Reconciled 2026-09-08: implemented and published This supersedes the earlier local/unpublished status. The owning fix is on remote `main` and the verified [`v0.1.28` tag](https://git.add-ideas.de/GovOPlaN/govoplan-campaign/src/tag/v0.1.28) ([commit `c51fc180fba7`](https://git.add-ideas.de/GovOPlaN/govoplan-campaign/commit/c51fc180fba75441dbd19c25b02a3ddc37c81a5d)), included in the published [0.1.45 source/package composition](https://git.add-ideas.de/GovOPlaN/govoplan/src/commit/88b685ff5e689acf096bdfc7084bd108e801e86e/docs/releases/0.1.45.md). Incremental build/revision-bound review, bounded same-condition bulk acceptance, configured omission handling and accepted-condition delivery preflight are implemented. `test_incremental_review_persistence.py`, `test_reviewed_build_mock.py` and actual campaign-review/bulk-review/review-details conformance passed. Genuine blockers and stale builds remain blocked; existing frozen builds need an intentional rebuild to adopt changed classifications. EN/DE guidance is included; no live build or delivery was initiated here. The completed, unmodified release `tools/checks/check-focused.sh` run passed, including 213 browser conformance cases and the relevant backend suites. The audit matched current remote branches/tags and reviewed the original acceptance criteria and subsequent comments. Closing the implemented source/package scope. This is not a runtime deployment claim: [Meta #52](https://git.add-ideas.de/GovOPlaN/govoplan/issues/52) and [website #9](https://git.add-ideas.de/add-ideas/addideas-govoplan-website/issues/9) retain their independent runtime/public-site holds. No tag was moved.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-campaign#97