M4C-3: add finite Repeat-until workflows - #1504
Merged
Paul Lizer (paullizer) merged 1 commit intoSep 19, 2026
Merged
Conversation
Implement typed state, frozen finite batch policy, durable manual continuation, mixed iteration identities, authorized inspection, and V2 authoring. Preserve the existing exact saved-record export and publication contracts. Bump the application to 0.261.120. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
marked this pull request as ready for review
September 19, 2026 16:19
Paul Lizer (paullizer)
merged commit Sep 19, 2026
9660e22
into
paullizer-react-v2-ui
2 checks passed
24 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Target:
paullizer-react-v2-ui, not Development. Based on the freshly fetched M4C-2 merge80f889034cde1f64d027692b363954d1af7fdcfb.Linked issue
No associated issue was requested. Follows the merged workflow slices #1496, #1498, #1499 and #1501; no merged work is replayed.
Release Notes & Latest Features
Is this visible to end users?
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Screenshot needed for the card?
Release-note batching, Latest Feature, and card-media decisions remain explicitly deferred to the owner. No historical announcements were silently backfilled.
Version bump
application/single_app/config.pyVERSIONthird segment bumped:0.261.119→0.261.120deployers/version.txtbump not needed: no deployer files changedTesting / validation
All service-dependent execution and browser checks used fictional, closed fixtures. No live workflow, destination publication, deployment, or permission change was performed.
test_v2_workflow_repeat_until.py,test_v2_workflow_editor.py,test_workflow_loop_admin_limits.py,test_v2_workflow_control_runtime.py, andtest_v2_workflow_loops.pyunderui_tests/.-k 'not real_thousand'). The closed-fixture audit observed zero DNS/connect attempts.python -m pytest functional_tests/test_workflow_repeat_execution.py -k real_thousand.Known baseline exception:
ui_tests/test_v2_workflow_loops.py::test_revoked_record_refresh_clears_the_previous_pagewas deliberately deselected and left unchanged. Its expected alert is inside an intentionally unmounted panel. The separate three configuration-dependent Office-export tests remain outside this slice. This is not a claim that the entire repository suite is green.Documentation
docs/explanation/features/WORKFLOW_REPEAT_UNTIL.md, related workflow contracts, admin reference, and user guidesThe documentation surface inventory was regenerated and checked; it has no semantic change.
Security checklist
@swagger_route(security=get_auth_security())and existing scoped access policiesScope boundaries
M5A read-only Flow, M5B visual authoring, Control Center Workflow Monitoring, cumulative run-token/spend caps, additional export formats, orchestration output, and live rollout acceptance remain separate work. No second scheduler, exporter framework, publication ledger, or model-prose control state is introduced.