Observed behaviour
The orchestrator supports a top-level route request parameter and uses it to select preprocessors and handlers, but route is not defined in the IMAGE request schema used by the orchestrator.
Because the schema permits properties that it does not explicitly define, requests containing route can pass schema validation without the route value itself being validated. This includes values that do not conform to the intended route format or type.
Expected behaviour
The IMAGE request schema should define the supported route parameter and validate it consistently with the route semantics supported by the orchestrator.
Valid route values should pass request validation, requests may continue to omit route and use the existing default behaviour, and invalid route values should be rejected before service selection.
Reproduction
- Submit an otherwise valid IMAGE request containing a
route property.
- Use a value that should not represent a valid route, such as a non-string value or a malformed route name.
- Observe that request-schema validation does not reject the request based on the
route property because the property is not defined in request.schema.json.
For comparison, valid values such as "default" or "followup" are consumed by the orchestrator's existing route-selection logic.
Runtime context
- Affects the request schema used by the IMAGE orchestrator.
- The orchestrator Docker build copies the repository's
schemas directory into src/schemas.
- Route-selection support is already implemented in the orchestrator.
Additional context
This issue should remain limited to bringing the request schema and validation behaviour into alignment with the already-supported orchestrator interface. Changes to route-based service selection itself are out of scope.
Checks
Observed behaviour
The orchestrator supports a top-level
routerequest parameter and uses it to select preprocessors and handlers, butrouteis not defined in the IMAGE request schema used by the orchestrator.Because the schema permits properties that it does not explicitly define, requests containing
routecan pass schema validation without the route value itself being validated. This includes values that do not conform to the intended route format or type.Expected behaviour
The IMAGE request schema should define the supported
routeparameter and validate it consistently with the route semantics supported by the orchestrator.Valid route values should pass request validation, requests may continue to omit
routeand use the existingdefaultbehaviour, and invalid route values should be rejected before service selection.Reproduction
routeproperty.routeproperty because the property is not defined inrequest.schema.json.For comparison, valid values such as
"default"or"followup"are consumed by the orchestrator's existing route-selection logic.Runtime context
schemasdirectory intosrc/schemas.Additional context
routeas a top-level request field and defines the intended route naming behaviour.This issue should remain limited to bringing the request schema and validation behaviour into alignment with the already-supported orchestrator interface. Changes to route-based service selection itself are out of scope.
Checks