RunJobQueuedPayload run.job.queued@1

Generated at from openvibe-contracts v0.97.0 and openvibe-sdk v0.26.0.

Version
1.0.0
Owner
run
Visibility
first-party
Status
planned
Compatibility
backward
Decision
ADR-034
Schema
https://openvibe.network/contracts/events/payloads/run.job.queued.v1.json

run.job.queued v1 (OpenVibe.Run; PLANNED: the Run service does not exist yet, plan T14 R1). A job was stored queued (POST /api/v1/jobs created it; not published for an idempotent repeat). A projection of run.job-read-result@1 without args, inputs, result or output. Envelope: subject { type: job, id: <job_id> }, visibility internal, priority low, actor service:run.

Fields

FieldTypeRequiredDescriptionConstraints
job_idstringyes
  • pattern ^job_[0-9A-HJKMNP-TV-Z]{26}$
project_idstringyes
  • pattern ^prj_[0-9A-HJKMNP-TV-Z]{26}$
requesteridentity.subject-refyes
stateconstyesThe job state (run.job-read-result@1 state).
  • = "queued"
classplatform.runtime-classyes
artifactone ofyes
egresshttps://openvibe.network/contracts/run/job-create-request.v1.json#/$defs/egressyes
placementnullyes
timingsobjectyes
  • no other fields
timings.created_atstringyes
  • format date-time
timings.placed_atnullyes
timings.started_atnullyes
timings.finished_atnullyes
exitnullyes
usagehttps://openvibe.network/contracts/run/job-read-result.v1.json#/$defs/usageyes
errornullyes

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: live
{
  "job_id": "job_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "project_id": "prj_01JAB2C3D4E5F6G7H8J9K0MNPR",
  "requester": {
    "type": "app",
    "id": "app_01JAB2C3D4E5F6G7H8J9K0MNPV"
  },
  "state": "queued",
  "class": "function",
  "artifact": {
    "name": "thumbnail",
    "version": "1.2.0"
  },
  "egress": "none",
  "placement": null,
  "timings": {
    "created_at": "2026-10-04T10:00:00.000Z",
    "placed_at": null,
    "started_at": null,
    "finished_at": null
  },
  "exit": null,
  "usage": {
    "seconds": 0,
    "wall_ms": 0,
    "cpu_ms": null,
    "mem_peak_bytes": null
  },
  "error": null
}
Rejected: finished
{
  "job_id": "job_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "project_id": "prj_01JAB2C3D4E5F6G7H8J9K0MNPR",
  "requester": {
    "type": "app",
    "id": "app_01JAB2C3D4E5F6G7H8J9K0MNPV"
  },
  "state": "queued",
  "class": "function",
  "artifact": {
    "name": "thumbnail",
    "version": "1.2.0"
  },
  "egress": "none",
  "placement": null,
  "timings": {
    "created_at": "2026-10-04T10:00:00.000Z",
    "placed_at": "2026-10-04T10:00:00.400Z",
    "started_at": "2026-10-04T10:00:00.650Z",
    "finished_at": "2026-10-04T10:00:03.000Z"
  },
  "exit": null,
  "usage": {
    "seconds": 0,
    "wall_ms": 0,
    "cpu_ms": null,
    "mem_peak_bytes": null
  },
  "error": null
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('run.job.queued@1', value);   // { valid, errors: [{ path, message }] }