Files
gstack/schemas/dispatch.schema.json
T
Garry Tan 1829f60596 feat: add JSON Schema definitions + COMPATIBILITY.md for cross-runtime contracts
Four schemas for the OpenClaw dispatch protocol:
- dispatch.schema.json (task dispatch with target_agent, source_signature)
- completion.schema.json (session completion report with retry_count)
- handoff.schema.json (cross-runtime context transfer with resume_prompt)
- activity-entry.schema.json (weekly activity index entries)

COMPATIBILITY.md defines breaking vs non-breaking changes so future
contributors don't guess under pressure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 21:24:22 -07:00

24 lines
1.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/garrytan/gstack/schemas/dispatch.schema.json",
"title": "gstack Dispatch",
"description": "Task dispatch from an orchestrator (e.g., OpenClaw/Wintermute) to gstack coding agent",
"type": "object",
"required": ["id", "dispatched_by", "task", "project", "project_dir"],
"properties": {
"id": { "type": "string", "pattern": "^dispatch-" },
"dispatched_by": { "type": "string" },
"task": { "type": "string", "minLength": 1 },
"project": { "type": "string" },
"project_dir": { "type": "string" },
"target_agent": { "enum": ["claude", "codex", "cursor", "gemini"], "default": "claude" },
"learnings": { "type": "array", "items": { "type": "string" } },
"constraints": { "type": "array", "items": { "type": "string" } },
"callback_url": { "type": "string", "format": "uri" },
"clawvisor_task_id": { "type": "string" },
"source_signature": { "type": "string", "description": "HMAC-SHA256 of task field with local secret" },
"ttl_seconds": { "type": "integer", "minimum": 60, "maximum": 86400 }
},
"additionalProperties": false
}