CodesTaskSummary codes.task-summary@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- codes
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/codes/task-summary.v1.json
codes.task-summary@1: a coding task on OpenVibe.Codes as the Dock's Code tab lists it (GET /api/v1/me/tasks, newest and running first). STATUS is the task in the Dock's words: queued (waiting for one of the person's machines), running, needs-you (it waits on the person: an approval in its inbox), done, failed or stopped. MODE is where the request started: create (built on openvibe.space, no Codes task), openvibe (one of OpenVibe's own projects) or repo (the person's own repository). STEPS counts the attempts the task has run. URL is the task's page on openvibe.codes; PREVIEW_URL is its live preview when one exists (a Space build), else null; PR_URL is the pull request it opened, else null.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes | The Codes task id (tsk_ + ULID). |
|
title | string | yes | The task's first line: what was asked, in the person's own words. |
|
status | enum | yes | The task in the Dock's words. |
|
mode | enum | yes | Where the request started. |
|
repo | string | yes | The repository the task works on. |
|
started_at | string | yes |
| |
updated_at | string | yes |
| |
steps | integer | yes | How many attempts the task has run. |
|
url | string | yes | The task's page on openvibe.codes. |
|
preview_url | string | null | yes | Its live preview when one exists, else null. |
|
pr_url | string | null | yes | The pull request it opened, else null. |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: needs-you
{
"id": "tsk_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"title": "Make the home page faster on phones",
"status": "needs-you",
"mode": "openvibe",
"repo": "https://github.com/OpenVibers/OpenVibe.Live",
"started_at": "2026-11-10T09:00:00.000Z",
"updated_at": "2026-11-10T09:30:00.000Z",
"steps": 1,
"url": "https://openvibe.codes/tasks/tsk_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"preview_url": null,
"pr_url": "https://github.com/OpenVibers/OpenVibe.Live/pull/654"
}Valid: running
{
"id": "tsk_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"title": "Add a test for the date parser",
"status": "running",
"mode": "repo",
"repo": "https://github.com/OpenVibers/OpenVibe.Codes",
"started_at": "2026-11-10T10:00:00.000Z",
"updated_at": "2026-11-10T10:04:00.000Z",
"steps": 2,
"url": "https://openvibe.codes/tasks/tsk_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"preview_url": null,
"pr_url": null
}Rejected: bad-status
{
"id": "tsk_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"title": "Add a test for the date parser",
"status": "flying",
"mode": "repo",
"repo": "https://github.com/OpenVibers/OpenVibe.Codes",
"started_at": "2026-11-10T10:00:00.000Z",
"updated_at": "2026-11-10T10:04:00.000Z",
"steps": 2,
"url": "https://openvibe.codes/tasks/tsk_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"preview_url": null,
"pr_url": null
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('codes.task-summary@1', value); // { valid, errors: [{ path, message }] }