Harness Companion Protocol 1

Harness Companion Protocol 1

HTTPS JSON, /v1, Authorization: Bearer <token>. Max request/response JSON 2 MiB. All IDs lowercase UUID strings. Dates Unix seconds. Error { "error": "safe message" }. Pairing JSON { "version":1,"url":"https://192.168.1.2:8766","token":"worker-secret","certificateSHA256":"64-lowercase-hex" }. The worker token is bound to one worker upon registration. Harness token is different.

Worker endpoints

Harness endpoints

Operations

text.analyze input text <=200,000 UTF8 bytes. Output {characters,words,lines,sha256}. characters = Unicode scalar count; words = whitespace-separated segments; lines = split on LF, empty text has 0 lines. sha256 is UTF8 input digest. All counters integers. text.chunk input same bound, chunkSize 100…10000 default 2000 Unicode scalars. Output {chunks:[string],count:integer,sha256}; joining chunks MUST reproduce input exactly. image.ocr imageBase64 PNG/JPEG <=1MiB decoded, <=20 million pixels. Vision text recognition. Output {text:string,lines:[string]}. Results are not independent factual verification.

Harness adapter

CLI init/serve/pair/devices/submit/status/cancel/artifact/revoke/mcp. Private config directory mode 0700, keys/DB mode 0600. Pair prints only explicit requested worker pairing secret. MCP stdio newline-delimited JSON-RPC 2.0 initialize, notifications/initialized, ping, tools/list, tools/call. Tools companion_devices, companion_submit, companion_status, companion_cancel, companion_artifact. Tool schemas match above. No protocol logs on stdout.

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google pinterest medium vimeo stackoverflow reddit quora quora