Frontend: fetchJSON now returns empty object on 204 instead of failing
to parse empty body — fixes silent delete failures across all entities.
Added onError callbacks to owner/team delete mutations to surface errors.
Backend: owner and issuer delete handlers return 409 Conflict with
descriptive messages when FK constraints block deletion, instead of
generic 500.
Added 15 v2 dashboard screenshots, updated README screenshot section,
logo asset, page count references (18→full), and QA guide with FK
constraint test coverage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Screenshots of all major dashboard views: dashboard, certificates,
agents, jobs, notifications, policies, issuers, targets, audit trail.
Referenced from README.md screenshot grid added in a10989f.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Added 9 screenshots showing all dashboard views: dashboard overview,
certificates list, agents fleet, jobs queue, notifications inbox,
policies, issuers, targets, and audit trail. Screenshots are displayed
in a 2-column grid in the README.
Note: actual .png files need to be added to docs/screenshots/ — this
commit includes the README markup and directory placeholder.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>