HarnessOffer platform.harness-offer@1
Generated at from
openvibe-contracts v0.114.0 and
openvibe-sdk v0.35.1.
- Version
- 1.0.0
- Owner
- network
- Visibility
- public
- Status
- active
- Compatibility
- backward
- Decision
- ADR-034
- Schema
https://openvibe.network/contracts/platform/harness-offer.v1.json
Registered coding or agent harness, its access method, limits, and price (T1 Universal Fabric; ADR-034 proposed).
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes | ||
name | string | yes | ||
provider | string | yes | ||
capabilities | object | yes |
| |
capabilities.host_access | boolean | yes | ||
capabilities.mcp | boolean | yes | ||
capabilities.long_autonomy | boolean | yes | ||
capabilities.resume | boolean | yes | ||
capabilities.edit | boolean | edits files in its working tree | ||
capabilities.review | boolean | reviews a change and reports findings | ||
capabilities.tools | boolean | calls tools such as a shell, search, or file reads on its own | ||
capabilities.vision | boolean | reads images such as screenshots | ||
capabilities.browser | boolean | drives a web browser | ||
capabilities.computer_use | boolean | operates a desktop through its screen, keyboard, and mouse | ||
capabilities.runtimes | array of enum | platform.runtime-class@1 classes the harness runs in |
| |
address | object | yes |
| |
address.kind | enum | yes |
| |
address.target | string | yes | Endpoint URI, executable, or MCP server name | |
price | object | yes |
| |
price.amount_usd | number | yes | Estimated USD |
|
price.unit | string | yes | Billing unit | |
limits | object | yes |
| |
limits.max_duration_seconds | integer | yes |
| |
limits.max_concurrent_runs | integer | yes |
| |
limits.max_context_tokens | integer |
| ||
task_capabilities | array of enum | task kinds the harness takes; its resource offer lists the same kinds as task:<kind> capabilities |
| |
runtime_needs | array of string | runtimes the harness needs on its host, e.g. git, node, python, docker |
| |
byo_key | boolean | the caller supplies their own provider key | ||
success_rate | number | measured share of routed tasks that finished green |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: capability-vocabulary
{
"id": "harness-2",
"name": "Example Desktop Agent",
"provider": "example-ai",
"capabilities": {
"host_access": false,
"mcp": true,
"long_autonomy": true,
"resume": true,
"edit": true,
"review": true,
"tools": true,
"vision": true,
"browser": true,
"computer_use": true,
"runtimes": [
"code",
"browser",
"desktop"
]
},
"address": {
"kind": "api",
"target": "https://agent.example.com/v1"
},
"price": {
"amount_usd": 0.5,
"unit": "hour"
},
"limits": {
"max_duration_seconds": 3600,
"max_concurrent_runs": 2
}
}Valid: example
{
"id": "harness-1",
"name": "Example Agent",
"provider": "example-ai",
"capabilities": {
"host_access": true,
"mcp": true,
"long_autonomy": true,
"resume": true
},
"address": {
"kind": "cli",
"target": "example-agent"
},
"price": {
"amount_usd": 0.1,
"unit": "hour"
},
"limits": {
"max_duration_seconds": 7200,
"max_concurrent_runs": 4,
"max_context_tokens": 128000
}
}Valid: fabric-routing
{
"id": "harness-1",
"name": "Example Agent",
"provider": "example-ai",
"capabilities": {
"host_access": true,
"mcp": true,
"long_autonomy": true,
"resume": true
},
"address": {
"kind": "cli",
"target": "example-agent"
},
"price": {
"amount_usd": 0.1,
"unit": "hour"
},
"limits": {
"max_duration_seconds": 7200,
"max_concurrent_runs": 4,
"max_context_tokens": 128000
},
"task_capabilities": [
"edit",
"review",
"run",
"test"
],
"runtime_needs": [
"git",
"node",
"python"
],
"byo_key": true,
"success_rate": 0.92
}Rejected: missing-id
{
"name": "Example Agent",
"provider": "example-ai",
"capabilities": {
"host_access": true,
"mcp": true,
"long_autonomy": true,
"resume": true
},
"address": {
"kind": "cli",
"target": "example-agent"
},
"price": {
"amount_usd": 0.1,
"unit": "hour"
},
"limits": {
"max_duration_seconds": 7200,
"max_concurrent_runs": 4,
"max_context_tokens": 128000
}
}Rejected: success-rate-over-1
{
"id": "harness-1",
"name": "Example Agent",
"provider": "example-ai",
"capabilities": {
"host_access": true,
"mcp": true,
"long_autonomy": true,
"resume": true
},
"address": {
"kind": "cli",
"target": "example-agent"
},
"price": {
"amount_usd": 0.1,
"unit": "hour"
},
"limits": {
"max_duration_seconds": 7200,
"max_concurrent_runs": 4,
"max_context_tokens": 128000
},
"task_capabilities": [
"edit",
"review",
"run",
"test"
],
"runtime_needs": [
"git",
"node",
"python"
],
"byo_key": true,
"success_rate": 1.5
}Rejected: unknown-capability
{
"id": "harness-1",
"name": "Example Agent",
"provider": "example-ai",
"capabilities": {
"host_access": true,
"mcp": true,
"long_autonomy": true,
"resume": true,
"gpu": true
},
"address": {
"kind": "cli",
"target": "example-agent"
},
"price": {
"amount_usd": 0.1,
"unit": "hour"
},
"limits": {
"max_duration_seconds": 7200,
"max_concurrent_runs": 4
}
}Rejected: unknown-task-capability
{
"id": "harness-1",
"name": "Example Agent",
"provider": "example-ai",
"capabilities": {
"host_access": true,
"mcp": true,
"long_autonomy": true,
"resume": true
},
"address": {
"kind": "cli",
"target": "example-agent"
},
"price": {
"amount_usd": 0.1,
"unit": "hour"
},
"limits": {
"max_duration_seconds": 7200,
"max_concurrent_runs": 4,
"max_context_tokens": 128000
},
"task_capabilities": [
"deploy"
],
"runtime_needs": [
"git",
"node",
"python"
],
"byo_key": true,
"success_rate": 0.92
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('platform.harness-offer@1', value); // { valid, errors: [{ path, message }] }