48 lines
2.2 KiB
Markdown
48 lines
2.2 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Remote adapters are declared and scoped
|
|
|
|
The system SHALL accept only typed adapter kinds and logical target keys declared by the installed plugin/runtime profile and selected Run endpoint.
|
|
|
|
#### Scenario: Undeclared adapter
|
|
|
|
- **WHEN** a request names an adapter or target not declared for the server and endpoint
|
|
- **THEN** Platform MUST reject it before creating a job
|
|
|
|
#### Scenario: Unsafe target data
|
|
|
|
- **WHEN** a request contains shell source, raw socket addresses, host paths, credentials, or unbounded inline query/command data
|
|
- **THEN** validation MUST reject it and MUST NOT persist the unsafe fields
|
|
|
|
### Requirement: Adapter lifecycle is bounded and fenced
|
|
|
|
The system SHALL enforce timeout, cancellation, retry, endpoint/session, attempt, and lease fencing using the existing job channel.
|
|
|
|
#### Scenario: Cancelled adapter
|
|
|
|
- **WHEN** cancellation arrives before or during adapter execution
|
|
- **THEN** Run MUST stop at a bounded checkpoint and return a cancelled safe result; Platform MUST not apply a stale terminal result
|
|
|
|
#### Scenario: Stale attempt result
|
|
|
|
- **WHEN** an older attempt reports success after a newer attempt owns the lease
|
|
- **THEN** Platform MUST reject the result and retain the newer job state
|
|
|
|
### Requirement: Adapter results are auditable projections
|
|
|
|
The system SHALL persist an audit event for authorization, timeout, cancellation, success, and failure outcomes and expose only adapter kind, target key, status, bounded message, and safe result references.
|
|
|
|
#### Scenario: Successful scoped adapter
|
|
|
|
- **WHEN** a declared adapter completes within its deadline
|
|
- **THEN** the operator MUST see a safe status and audit summary without raw host/credential/socket details
|
|
|
|
### Requirement: Channel isolation is maintained
|
|
|
|
Remote adapter work and artifact transfer SHALL use lower-priority independent work paths and MUST NOT delay control heartbeat, job ack/result, or log upload acknowledgement beyond their deadlines.
|
|
|
|
#### Scenario: Slow adapter and artifact transfer
|
|
|
|
- **WHEN** adapter or chunk work blocks or retries
|
|
- **THEN** control, job lifecycle, and log acknowledgement calls MUST remain independently completable
|