Files

2.2 KiB

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