2.1 KiB
2.1 KiB
1. Job Contracts
- 1.1 Add typed run job protocol payloads in
run/protocolfor claim, ack, progress, result, cancel polling, and reconcile. - 1.2 Add matching platform DTO/domain contracts and conversion helpers for job-channel requests and responses.
- 1.3 Add validation rules for bounded job payloads, lifecycle states, progress, session, lease, and terminal result metadata.
2. Platform Job Channel
- 2.1 Extend platform service behavior for job claim leasing, session checks, ack, progress, terminal results, cancellation, reconcile, and idempotency.
- 2.2 Implement platform job-channel HTTP routes using named DTOs and service methods.
- 2.3 Add platform service/API tests for lifecycle success, no-job claim, invalid session/lease, invalid progress, cancellation, duplicate results, conflicting results, and reconcile.
3. Run Job Client
- 3.1 Extend
run/api.PlatformClientwith typed job claim, ack, progress, result, cancel polling, and reconcile methods. - 3.2 Add run client tests for request paths, JSON payloads, response decoding, and platform error handling.
- 3.3 Add an integration-style client test that claims a job, acknowledges it, reports progress, submits a result, and reconciles against a test platform job endpoint.
4. Documentation
- 4.1 Update run and platform protocol/route documentation to mark job-channel endpoints implemented and keep log/artifact/game-client channels separate.
5. Verification
- 5.1 Run
go test ./...fromplatform/and record evidence. - 5.2 Run
go test ./...fromrun/and record evidence. - 5.3 Run
scripts/check-structure.shand record evidence. - 5.4 Run
openspec validate implement-run-job-channel --strictand record evidence.
Evidence
- 2026-07-03:
go test ./...fromplatform/passed. - 2026-07-03:
go test ./...fromrun/passed. - 2026-07-03:
scripts/check-structure.shpassed withstructure check passed. - 2026-07-03:
openspec validate implement-run-job-channel --strictpassed withChange 'implement-run-job-channel' is valid.