The SAFE server now exposes a minimal collision-run boundary in addition to the existing todo sample.
-
POST /api/collision-runs- Accepts a detached
CollisionRunRequestDto - Requires a valid BODY snapshot
- Accepts a missing couch surface
- Creates a
Guidrun id - Executes the default flat collision analysis immediately
- Stores the original request and summary in memory
- Returns
CreateCollisionRunResponseDto
- Accepts a detached
-
GET /api/collision-runs/{runId}/summary- Returns the stored
CollisionRunSummaryDto
- Returns the stored
-
GET /api/collision-runs/{runId}- Returns
CollisionRunDetailsDto - Includes both the detached request payload and the stored summary
- Returns
The intended ESAPI flow is:
- ESAPI extracts detached DTO data.
- ESAPI posts
CollisionRunRequestDtoto SAFE. - SAFE returns the new
runId. - ESAPI opens
/collision/{runId}later when the dedicated collision UI exists.
- Storage is in-memory only.
- The create endpoint runs the flat BODY analysis by default.
- Invalid BODY payloads return
400. - Couch surface is optional in the first runnable version.
- Detailed analysis is not triggered automatically yet.
- The todo SAFE sample remains intact so the template app still runs.