# TASK 2.2: Remove synchronous customer provisioning and inline credential handling from customer CRUD

## Summary

Remove the synchronous provisioning path from customer create and update, and align the backend with the immediate frontend migration to separate customer writes from credential writes.

This task turns the flow boundary from TASK 1.1 into the actual implementation shape.

## Dependencies

- [TASK 1.1](./TASK1.1.md) - Define split admin flow and credential-trigger boundaries
- [TASK 2.1](./TASK2.1.md) - Add background provisioning job and enqueue it from credential create and update

## Files to Modify

Expected implementation touch points:

- `backend/Kds.Ai.ApiService/Services/CustomerManagementService.cs`
- `backend/Kds.Ai.ApiService/Endpoints/AdminCustomerEndpoints.cs`
- frontend admin customer flow files under `Front/`
- onboarding and endpoint tests under `backend/tests/Kds.Ai.ApiService.Tests/`

## Required Behavior

- Remove `customerEtlProvisioningService.SyncAsync(...)` from customer create and update.
- Customer create and update must return without waiting for warehouse bootstrap.
- Remove inline customer credential handling from the main customer create and update flow.
- Keep customer detail reads able to expose ETL provisioning state.
- Keep credential reads and writes on the dedicated credential endpoints.

## Acceptance Criteria

- [ ] Customer create/update no longer invoke synchronous provisioning
- [ ] Customer create/update no longer own inline credential writes
- [ ] Frontend main customer form uses the split write flow
- [ ] Existing customer detail reads still expose provisioning state

## Notes

- This task is about flow cleanup, not source-aware bootstrap internals.
- The UI should handle separate request timing with its own spinner behavior.
