Establish the versioned, read-only foundation for the city life-line cockpit backend.
Acceptance criteria
Schema/DTO defines the AjaxResult payload, camelCase field policy, freshness metadata, requestId and typed error model.
API exposes the cockpit version boundary and permits only read operations for the cockpit identity.
UI/demo consumer can load an empty map frame and display success-empty, unauthorized and server-error states.
Tests cover response serialization, HTTP error categories, service identity enforcement and a request spy proving no business mutation.
Demo shows the same read-only contract serving a deterministic empty response and a deterministic error response.
Blocked by
None (can start immediately).
## What to build
Establish the versioned, read-only foundation for the city life-line cockpit backend.
## Acceptance criteria
- [ ] Schema/DTO defines the AjaxResult payload, camelCase field policy, freshness metadata, requestId and typed error model.
- [ ] API exposes the cockpit version boundary and permits only read operations for the cockpit identity.
- [ ] UI/demo consumer can load an empty map frame and display success-empty, unauthorized and server-error states.
- [ ] Tests cover response serialization, HTTP error categories, service identity enforcement and a request spy proving no business mutation.
- [ ] Demo shows the same read-only contract serving a deterministic empty response and a deterministic error response.
## Blocked by
None (can start immediately).
What to build
Establish the versioned, read-only foundation for the city life-line cockpit backend.
Acceptance criteria
Blocked by
None (can start immediately).