Manage Duties
Purpose
Provide a controlled, cross-pillar method to export, validate, and approval-gate the import of the Manage Duties FSM setup task. Delegate transport and live import execution to the declared shared and core dependencies. Prepare user-requested custom-duty changes using supported FSM fields.
Export and move FSM task Manage Duties only through declared dependencies.
Its catalog identity is ASXS_MANAGE_DUTIES; before execution, confirm a
current catalog or live-task lookup reports CSVExportImportSupportedFlag=Y.
Boundaries
- Support a task-level CSV export and import of the exact export, a verified-template candidate or a user-supplied modified derivative. A modified archive is a new artifact: validate, hash, preview, and approve it separately.
- Cover duty-role groupings and their provisioning to abstract, job, or other duty roles. Accept creation, updates, deletion and hierarchy redesign for this task's supported duty objects; route changes to other setup objects through their dedicated skills.
- Do not call Fusion, OAuth, UCM, REST, FSM, or loader commands directly. Task Level Export owns export; Data Loader owns import preflight, upload, initiation, monitoring, and diagnostics.
Preflight
- Resolve project, operation, source and target environments, and duty scope. Require separate environments for migration or explicit confirmation for a same-environment restore.
- Confirm
Manage Duties/ASXS_MANAGE_DUTIESand current CSV support withshared.setup-export.task-level-export. On ambiguity or unsupported status, record a catalog-mismatch diagnostic and stop. - Confirm source export and target import privileges. Never request or expose credentials, tokens, or tenant secrets.
- Persist source/target identity, task code, scope, and a redacted plan before any side effect.
Export
- Route to
shared.setup-export.task-level-exportwith task nameManage Duties, codeASXS_MANAGE_DUTIES, source environment, and project ID. - Let that skill discover the task, validate support, create/poll/download the export, and persist it. Do not substitute a template export for setup data.
- Preserve the returned ZIP unchanged and register its path, SHA-256, process ID, task identity, source environment, and timestamp.
- On timeout/failure preserve task code, process ID, last status, process-log reference, elapsed wait, and next-check path; do not automatically re-export.
Create, update, delete and redesign
Accept these operation requests for this task's own setup objects, including
user-specified individual changes. Prepare supported changes using the target's
FSM template and execute them through core.data-loader; do not reject a
request merely because the user does not already have an input archive.
Read FSM input preparation when preparing a change or helping a user understand the input. Obtain and safely extract the template, explain its files and required columns, map supplied business values, and prepare a separate candidate. Automatically authorize only the necessary template/spec export; retain Data Loader's validation and actual import approval workflow.
For deletion, verify the explicit supported action for the exact object or relationship. An omitted CSV row, blank value or unrelated REMOVE action is not whole-object deletion. If the task has no supported deletion contract, record that specific operation gap; do not impose a blanket prohibition on all individual changes or invent a browser/API execution route.
For update or redesign, establish existing keys, preserve unrelated values and show the intended changes. Intentional changes in the selected target are not same-environment restores. Apply restore confirmation only to an actual restore.
Template-first import preparation
- Unless the user explicitly overrides this sequence, export the task first and provide that export as the import template before asking for import content. Explain that the template establishes the supported archive and file structure; it is not approval to import.
- When the user provides an input file, compare it with the export template for file names, headers, column order, encoding, required values, and task-specific references. Help correct structural defects in a separate candidate file; preserve the supplied original and do not silently alter business values.
- Give the user a concise change summary and identify any unresolved values or references. Use the corrected file only after it conforms to the export structure and has been assembled into a new candidate archive using the supported archive shape. That candidate is a new artifact and must pass the validation and approval gates below.
- The user may override the export-first sequence, template choice, or proposed file corrections at any time. Honor that direction, while retaining the required task-identity, validation, and immediate import-approval gates.
Validate and import
- Accept a non-empty export ZIP or a user-modified derivative. Bind its
SHA-256 to
ASXS_MANAGE_DUTIES, source, and target. Never call it a Manage Job Roles archive. - Route validation to
shared.validation.setup-data-validator; fail closed on archive shape, task identity, scope, catalog, environment, or privilege mismatch. Preserve validation evidence. - Do not alter, unpack/repack, merge, or transform the archive after validation. Any modification starts a new validation cycle.
- Route the immutable validated archive to
core.data-loaderas an FSM, task-routed import with target identity, SHA-256, and validation evidence. - Let Data Loader build its immutable approval preview. Do not substitute a direct FSM API, UCM upload, REST call, CSV utility, or browser action.
- Present target, task code, archive name/SHA-256, validation result, and expected impact; stop before the first POST. Proceed only after separate, immediate approval. Data Loader revalidates and owns execution thereafter.
- Do not retry upload, import, overwrite, or replacement without fresh approval. Persist returned IDs, process-log references, and redacted diagnostics in the project workspace.
Failures
Classify failures as input validation, catalog mismatch, authorization, transport/environment, Fusion API, process timeout, process failed, artifact persistence, or approval blocker. Redact credentials, tokens, customer data, and sensitive duty or role configuration; record the blocker and safe next step.


