Initial TrueGrowth source import
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Resolve Standard Kling Video Capability Separately From Executable Versions
|
||||
|
||||
The system SHALL treat standard Kling video capability identifiers separately from the executable version strings required by submit requests.
|
||||
|
||||
#### Scenario: Discovered Kling capability is not submitted as executable version directly
|
||||
|
||||
- **GIVEN** a provider profile exposes the discovered standard Kling video capability `kling_video`
|
||||
- **WHEN** the user submits a standard Kling video generation request
|
||||
- **THEN** the system SHALL route the request through the standard Kling video binding
|
||||
- **AND** SHALL send the executable version through the request field `model_name`
|
||||
- **AND** SHALL not assume that `kling_video` itself is a valid executable version string
|
||||
|
||||
#### Scenario: Legacy Kling version-style model IDs remain executable
|
||||
|
||||
- **GIVEN** an existing task or setting still references a legacy standard Kling model ID such as `kling-v1-6`
|
||||
- **WHEN** the request is executed through the current runtime
|
||||
- **THEN** the system SHALL continue to accept that input
|
||||
- **AND** SHALL interpret it as an explicit `model_name` for the standard Kling binding
|
||||
- **AND** SHALL keep the request on the standard Kling submit and poll endpoints
|
||||
|
||||
### Requirement: Validate Standard Kling Version Choices Against The Selected Action
|
||||
|
||||
The system SHALL validate standard Kling executable versions against the selected submit action.
|
||||
|
||||
#### Scenario: Text-to-video allows the current standard Kling version set
|
||||
|
||||
- **GIVEN** the standard Kling request resolves to `text2video`
|
||||
- **WHEN** the runtime selects or receives an executable version
|
||||
- **THEN** the system SHALL allow only the versions supported by the text-to-video endpoint
|
||||
- **AND** SHALL include `kling-v2-6` in that allowed set when provided by binding metadata
|
||||
|
||||
#### Scenario: Image-to-video allows the extended Kling version set
|
||||
|
||||
- **GIVEN** the standard Kling request resolves to `image2video`
|
||||
- **WHEN** the runtime selects or receives an executable version
|
||||
- **THEN** the system SHALL allow the versions supported by the image-to-video endpoint
|
||||
- **AND** SHALL include `kling-v2-6` in that allowed set when provided by binding metadata
|
||||
|
||||
#### Scenario: Image-to-video still requires a reference image
|
||||
|
||||
- **GIVEN** the standard Kling request resolves to `image2video`
|
||||
- **WHEN** the user submits the request without a reference image
|
||||
- **THEN** the system SHALL fail validation before submit
|
||||
- **AND** SHALL not send an invalid image-to-video request to the provider
|
||||
|
||||
### Requirement: Exclude Non-Standard Kling O1 Models From Standard Kling Capability Routing
|
||||
|
||||
The system SHALL keep `kling-video-o1` style models outside the standard Kling capability routing path.
|
||||
|
||||
#### Scenario: O1 model does not reuse standard Kling submit action routing
|
||||
|
||||
- **GIVEN** the selected video model is `kling-video-o1` or `kling-video-o1-edit`
|
||||
- **WHEN** the runtime resolves provider protocol bindings
|
||||
- **THEN** the system SHALL not treat that model as the standard `kling_video` capability
|
||||
- **AND** SHALL not force it through the standard `/kling/v1/videos/{action}` routing and version validation rules
|
||||
|
||||
### Requirement: Enforce Standard Kling Numeric Parameter Constraints Before Submit
|
||||
|
||||
The system SHALL enforce the documented numeric constraints for standard Kling video requests before submit.
|
||||
|
||||
#### Scenario: cfg_scale stays within the documented range
|
||||
|
||||
- **GIVEN** a standard Kling request includes `cfg_scale`
|
||||
- **WHEN** the request is prepared for submit
|
||||
- **THEN** the system SHALL accept only values in the inclusive range `[0, 1]`
|
||||
- **AND** SHALL fail validation before submit when the value falls outside that range
|
||||
|
||||
#### Scenario: camera_control uses bounded integer values
|
||||
|
||||
- **GIVEN** a standard Kling text-to-video request includes `camera_control` values through flat params or a nested `camera_control` object
|
||||
- **WHEN** the request is prepared for submit
|
||||
- **THEN** the system SHALL accept only integer values in the inclusive range `[-10, 10]` for `horizontal`, `vertical`, `pan`, `tilt`, `roll`, and `zoom`
|
||||
- **AND** SHALL fail validation before submit when any of those values is non-integer or out of range
|
||||
Reference in New Issue
Block a user