Flightcheck: add WD-WF-CAT-001 Workday custom-workflow inventory checklist#138
Open
apurvabanka wants to merge 5 commits into
Open
Flightcheck: add WD-WF-CAT-001 Workday custom-workflow inventory checklist#138apurvabanka wants to merge 5 commits into
apurvabanka wants to merge 5 commits into
Conversation
…orkday-custom-workflow
The AC3 acceptance criterion (Includes a `found a new pattern? log it here` loop back to the gap-discovery process) was dropped in commit 0fb2383 when the JSON catalog was replaced with a live Dataverse query. The rationale in the test comment was that kit-side PRs aren't the catalog remediation anymore — but AC3 is broader than the catalog: * Detection-pattern gaps — a topic shape the walker doesn't catch (Pattern C and beyond) * OOTB-promotion feedback — scenarios customers routinely build custom that should ship in the extension pack * Checklist-completeness feedback — the 4-item checklist itself can grow as new failure modes emerge Restore the loop-back paragraph at the bottom of _WD_WF_CAT_CHECKLIST, reframed for the live-Dataverse world: still points operators at the kit repo issues page with an actionable title format, but enumerates the three feedback categories the loop exists to capture instead of asking for catalog-JSON PRs that no longer exist. Pin the restored text with test_checklist_includes_gap_discovery_loopback so a future drive-by edit that re-strips it fails CI. The test file's docstring already claimed to pin each AC explicitly; this commit makes that claim true for AC3 alongside AC1/AC2. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…vice-Agent-Developer-Kit into feature/flightcheck-workday-custom-workflow
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
Adds
WD-WF-CAT-001— a MANUAL FlightCheck row that enumerates Workdayscenarios wired up in customer topics that fall outside the 17 OOTB
workflows the kit ships SOAP tests for. The check walks every agent topic
under
workspace/agents/*/topics/*.mcs.ymlfor two wiring patterns,diffs the discovered scenarios against the tenant-live OOTB catalog
(read from Dataverse
msdyn_employeeselfservicetemplateconfigswhereismanaged=true), and surfaces any unknowns as a bucketed MANUAL rowwith a four-item operator checklist plus a gap-discovery loop-back.
A companion
WD-WF-CAT-LINKtrailer fires from inside_check_workflowsso admins reading a clean 17-row SOAP-test pass don't miss the manual
row below it.
Addresses 6 incidents rooted in this gap pattern (custom workflow
names not in the 41-workflow catalog), notably:
760098889— Multiday Leave application topic783902203— conversation flow specificsParent feature: AB#7392268.
Action owner for MANUAL row triage: Workday admin.
Acceptance criteria
wired up, ISU account used, expected payload shape, test prompt
(pinned by
test_unknown_scenario_emits_manual_with_full_checklist)workflow name is referenced in customer topics
(pinned by
test_trailer_emitted_when_unknowns_exist/test_trailer_absent_when_clean)to the gap-discovery process
(pinned by
test_checklist_includes_gap_discovery_loopback)Failure modes covered in the remediation text
Payload shape) — directs operator to open the template config XML and confirm field names, reference types, and required vs. optional elements match the Workday WSDL. Names "the 'Workflow Contract/Payload Mismatch' failure mode" verbatim.Auth health) — cross-links toWD-CONN-*connection token-health output and gives the Power Platform Maker → Connections re-authenticate click-path.What changed
solutions/ess-maker-skills/scripts/flightcheck/checks/workday.py_check_custom_workflow_inventory(WD-WF-CAT-001) +_append_wd_wf_cat_link_trailer(WD-WF-CAT-LINK) + topic/workflow walkers + Dataverse catalog resolver. Wired intorun_workday_checksafter the SOAP tests.solutions/ess-maker-skills/src/reference/ess-docs/flightcheck/validation-matrix.mdtests/flightcheck/checks/test_workday_custom_inventory.pyDesign notes
Two detection patterns
WorkdaySystemGetCommonExecutionwith ascenarioName:value. Walkerfinds the
dialog: ...WorkdaySystemGetCommonExecutionline and looksbackward up to 30 lines for the nearest
scenarioName:.kind: InvokeFlowActionwith aflowIdthatresolves to a
workflow.jsonwhoseconnectionReferencesbind toshared_workdaysoap. Conservative qualification — non-Workday flows(e.g. ServiceNow-bound) are ignored so the check doesn't emit false
positives.
Catalog source — live Dataverse, no fallback
The OOTB scenario catalog is resolved per-invocation from the customer's
own tenant by querying
msdyn_employeeselfservicetemplateconfigsandtreating every row with
ismanaged=trueas OOTB. This auto-detects everyscenario the installed Workday extension pack ships — no kit-side
curation, no stale JSON catalog to maintain. Result is cached on
runner._workday_ootb_catalog_cacheso the cross-link trailer canre-read without re-querying.
Status decision matrix (per AGENTS.md principles #1, #2, #3, #11)
runner._workday_package_flavor == "simplified"per principle #11)workspace/agents/missing/setupfirst