SIGN IN SIGN UP

test(agentsfleetd): pin the platform catalog's upload source against real Postgres

The operator dialog posts an upload with no `source_ref`, so the row stores an
empty `source_repo` — and `INSERT_PLATFORM`'s conflict guard is a comparison ON
that column. Two behaviours fall out of it, and the dialog is built on both:
re-uploading a corrected bundle under one name is an UPDATE rather than a
collision, and a name a repository already owns still collides, so the
operator's confirm-and-retry has to carry `replace` on the upload request.

`catalog_integration_test.zig` covers the guard for an upload that DOES carry a
`source_ref`; neither case above is reachable from there. New file rather than
growth on that one or `onboard_integration_test.zig` — both already sit well
past the length cap.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
K
Kishore Kumar committed
a46e4ea850468c7d55229d7854ac19d8083cbf1b
Parent: 5905328