Tighten failure and manifest contracts

This commit is contained in:
ms2k 2026-07-13 17:23:32 +09:00
commit a44b687897

View file

@ -515,15 +515,47 @@ components:
type: integer
minimum: 0
JobFailure:
oneOf:
- type: object
additionalProperties: false
required: [class, retryable, message]
properties:
class:
type: string
enum: [validation, authorization, source_not_found, source_changed, cancelled]
retryable:
const: false
message:
type: string
maxLength: 500
safe_details:
type: object
additionalProperties:
type: [string, integer, boolean, 'null']
- type: object
additionalProperties: false
required: [class, retryable, message]
properties:
class:
type: string
enum: [transient_source, transient_target, integrity, capacity, internal, lost_attempt]
retryable:
const: true
message:
type: string
maxLength: 500
safe_details:
type: object
additionalProperties:
type: [string, integer, boolean, 'null']
AttemptRuntimeFailure:
type: object
additionalProperties: false
required: [class, retryable, message]
required: [class, message]
properties:
class:
type: string
enum: [validation, authorization, source_not_found, source_changed, transient_source, transient_target, integrity, capacity, internal, cancelled, lost_attempt]
retryable:
type: boolean
enum: [authorization, source_not_found, source_changed, transient_source, transient_target, integrity, capacity, internal]
message:
type: string
maxLength: 500
@ -722,4 +754,4 @@ components:
kind:
const: failure
failure:
$ref: '#/components/schemas/JobFailure'
$ref: '#/components/schemas/AttemptRuntimeFailure'