feat(translate): move write settings to Target Config tab + fix datasource name lookup

Fixes:
- Move batch size, upsert strategy, include source reference
  from Config tab to Target Config tab (Write Settings section)
- Fix 'Dataset #26' fallback — look up real datasource name
  via API when source_table is not saved in job data
- Persist include_source_reference in save payload and
  restore from job data on load (was a pre-existing gap)

QA review fixes:
- Update @BRIEF contracts for both tabs
- Fix import indentation in +page.svelte

Other: help tooltips on translate pages, flow hint on list page,
git migration manager components, dashboard hub pages,
migration settings pages
This commit is contained in:
2026-05-31 09:59:09 +03:00
parent c528a37987
commit 15b466a918
44 changed files with 18892 additions and 13720 deletions

View File

@@ -76,6 +76,8 @@ You own:
## API Contract Conventions (ss-tools)
- Backend: Pydantic models in `backend/src/schemas/`
- Frontend: TypeScript types in `frontend/src/types/`
- **Frontend DTOs MUST match backend Pydantic schemas** — agent must verify type alignment across the stack boundary. Model `.svelte.ts` files use typed atoms conforming to frontend DTOs.
- `any` is forbidden at the API boundary — use `unknown` with runtime validation/narrowing.
- URL prefix: `/api/` for REST, `/ws/` for WebSocket
- Response envelope: `{ status, data, error, meta }`
- Error codes: Consistent across backend and frontend