sort request tasks option in api call + settings - #5059
Conversation
There was a problem hiding this comment.
F1 (high) — inventory/group_vars/all.yml:2:
bumps product_version 9.3.4→9.3.5 while develop is already at 9.4.0 (branch is 81 commits behind). upgrade-database.yml only runs files >= installed_version, so roles/database/files/upgrade/9.3.5.sql never executes on systems already at 9.4.0 and the reqCreateRequestTaskSortConfig seed never lands; if the version regression survives the merge, the whole upgrade filter matches nothing.
F2 (high) — roles/middleware/.../Services/CreateRequestTaskSorter.cs:42:
the group_modify split keeps only create/addAfterCreation and delete elements and silently drops every unchanged/modify element. Real group_modify tasks always carry the unchanged members (ModellingVarianceAnalysisObjectsForRequest:401-414; consumed by CheckPointTicketTask:169 / SCTicketTask:219), so a split emits groups missing all retained members.
F3 (medium) — CreateRequestTaskSorter.cs:92:
CloneTask copies Id, Title, AdditionalInfo and re-wraps the same Approvals/RemovedElements into both halves — duplicate ids, duplicated approvals/removed elements, two indistinguishable tasks.
F4 (medium) — Services/FlowRequestService.cs:178:
middleware GlobalConfig is a startup snapshot without subscription (Program.cs:57) and FlowRequestService is a singleton (Program.cs:101), so priority changes made in the new dialog only take effect after a middleware restart.
F5 (medium) — roles/ui/.../CreateRequestTaskSortConfigPopup.razor:92:
Confirm() writes to the DB with no try/catch and no success/error message, unlike every sibling handler in SettingsCustomizing; an API failure kills the Blazor circuit and the admin is never told.
F6 (medium) — CreateRequestTaskSortConfigPopup.razor:72:
nothing stops the admin ordering access before group_create; the sorter honours it (and a unit test asserts it), producing tickets whose access rules reference groups created by later tasks.
F7 (medium) — CreateRequestTaskSorter.cs:15:
FlowRequestService only ever emits group_create and access tasks, so 5 of the 7 orderable rows and the entire allow_task_split flag are unreachable; with defaults, sortTasks:true is a no-op.
F8 (low) — CreateRequestTaskSorter.cs:10:
hard-coded DefaultPriority = 7 only means "last" while priorities stay in 0..6; with wider values (as in the tests) unhandled task types sort near the front.
F9 (low) — roles/ui/.../SettingsCustomizing.razor:111:
new label/button injected into the "API ticket initial state" row, so the Edit button inherits the H5546 tooltip and the row packs 10 grid columns of two unrelated settings.
F10 (low) — .agents:1:
unrelated submodule gitlink bump (recurring in this repo; should be dropped).
F11 (low) — documentation/revision-history.md:611:
changelog mentions only the upgrade seed, whats_new_facts not updated in either language, and the 9.3.5 heading conflicts with develop's 9.4.0 section.
|
Review — standard depth
Open findingsF4 — medium — middleware does not reload the changed configuration
Subscribe or reload this configuration in the middleware, and add an integration-level test that changes the value after service construction and verifies the next create-request call uses it. F7 — medium — five configuration rows and task splitting are unreachableThe only production caller, Limit this UI/configuration to task types the endpoint can currently create, or extend the endpoint to construct the advertised task types before presenting these controls as functional. F10 — low — unrelated submodule bumpThe Verification and residual riskThe previous F1–F3, F5–F6, F8–F9, and F11 were checked against head GitHub CI is green, including the Ubuntu installation test, Python checks, SonarQube, and GitGuardian. I did not run the C# test suite locally because the PR head was not checked out; that is the remaining validation gap. GitHub currently reports this PR as conflicting with Recommendation: address F4 and F7, remove or justify F10, then resolve the merge conflict. Review depth was standard: primary review covered correctness and the security checklist; changed-file/history collection and scoped conformance checks were delegated to a reduced-tier agent. Usage percentage was not observable, so the review used the skill proxy limits (one delegation and standard depth). |



No description provided.