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

FieldTypeRequiredDescriptionConstraints
idstringyes
namestringyes
providerstringyes
capabilitiesobjectyes
  • no other fields
capabilities.host_accessbooleanyes
capabilities.mcpbooleanyes
capabilities.long_autonomybooleanyes
capabilities.resumebooleanyes
capabilities.editbooleanedits files in its working tree
capabilities.reviewbooleanreviews a change and reports findings
capabilities.toolsbooleancalls tools such as a shell, search, or file reads on its own
capabilities.visionbooleanreads images such as screenshots
capabilities.browserbooleandrives a web browser
capabilities.computer_usebooleanoperates a desktop through its screen, keyboard, and mouse
capabilities.runtimesarray of enumplatform.runtime-class@1 classes the harness runs in
  • unique items
  • items: one of "function", "code", "browser", "linux", "desktop", "gpu"
addressobjectyes
  • no other fields
address.kindenumyes
  • one of "api", "cli", "mcp"
address.targetstringyesEndpoint URI, executable, or MCP server name
priceobjectyes
  • no other fields
price.amount_usdnumberyesEstimated USD
  • minimum 0
price.unitstringyesBilling unit
limitsobjectyes
  • no other fields
limits.max_duration_secondsintegeryes
  • minimum 0
limits.max_concurrent_runsintegeryes
  • minimum 0
limits.max_context_tokensinteger
  • minimum 0
task_capabilitiesarray of enumtask kinds the harness takes; its resource offer lists the same kinds as task:<kind> capabilities
  • unique items
  • items: one of "edit", "review", "browse", "run", "test", "plan"
runtime_needsarray of stringruntimes the harness needs on its host, e.g. git, node, python, docker
  • unique items
  • items: pattern ^[a-z][a-z0-9.-]*$
  • items: maxLength 40
byo_keybooleanthe caller supplies their own provider key
success_ratenumbermeasured share of routed tasks that finished green
  • minimum 0
  • maximum 1

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 }] }