open-standards/jouleclaw/vocab/v1.jsonld
Transaction Science 4def92aac1 jouleclaw: wave-24 — contract + handoff + mission + value report
Four precision primitives for multi-day, multi-agent runs.

- jouleclaw-contract: ValidationContract / Assertion / Feature /
  Evidence / verify() -> ContractVerdict. Authored before code,
  lives independently of implementation. Typed coverage matrix
  with per-assertion rollup; must-have gaps block ship.
- jouleclaw-graph: RunEvent::HandoffRecorded variant +
  WorkerHandoffEvent + HandoffCommand (BLAKE3 over NUL-joined
  argv). Forces every agent to write down what happened; hash
  chain protects against post-hoc edits.
- jouleclaw-mission: three-role Mission { contract, run,
  evidence } with async Worker trait. Orchestrator authors,
  Worker does, Validator judges. Serial-by-default dispatch;
  validate() is a pure function of (contract, evidence).
- jouleclaw-hydra-client: ValueReport companion to CallReport.
  Tracks closure rate (delivered / attempted) per call;
  mean_closure_rate aggregates across a run. The activity-vs-
  value gap closed at the dispatch layer.

Spec gains normative sections 16 (contract) / 17 (handoff) /
18 (mission) / 19 (value report). Vocab v1.jsonld + v1.ttl +
v1.shapes.ttl extended with the new classes, enumerations,
properties, and SHACL shapes.

Drive-by: jouleclaw-stack had jouleclaw-prov as a dev-dep while
using it in library code; promoted to [dependencies].

Tests: contract 17/17, graph 40/40 (+2 new), mission 6/6,
hydra-client 20/20 (+4 new). Two runnable examples
(missions_pass, three_role_demo).

Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-06-03 02:35:34 -04:00

175 lines
9.7 KiB
Text

{
"@context": {
"@version": 1.1,
"jc": "https://jouleclaw.transaction.science/vocab/v1#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"prov": "http://www.w3.org/ns/prov#",
"dc": "http://purl.org/dc/terms/",
"Receipt": "jc:Receipt",
"PolicyReceipt": "jc:PolicyReceipt",
"WorkspaceManifest": "jc:WorkspaceManifest",
"WorkspaceEntry": "jc:WorkspaceEntry",
"AgentIdentity": "jc:AgentIdentity",
"ToolTouch": "jc:ToolTouch",
"ToolReceipt": "jc:ToolReceipt",
"ClaimProvenance": "jc:ClaimProvenance",
"Citation": "jc:Citation",
"TextSpan": "jc:TextSpan",
"TokenAttribution": "jc:TokenAttribution",
"IntentVerdict": "jc:IntentVerdict",
"Action": "jc:Action",
"FsAction": "jc:FsAction",
"NetAction": "jc:NetAction",
"ProcAction": "jc:ProcAction",
"Decision": "jc:Decision",
"AuditEvent": "jc:AuditEvent",
"ValidationContract": "jc:ValidationContract",
"Assertion": "jc:Assertion",
"AssertionCheck": "jc:AssertionCheck",
"Feature": "jc:Feature",
"ContractVerdict": "jc:ContractVerdict",
"WorkerHandoff": "jc:WorkerHandoff",
"HandoffCommand": "jc:HandoffCommand",
"jc_receipt": { "@id": "jc:schemaId", "@type": "xsd:string" },
"jc_workspace": { "@id": "jc:schemaId", "@type": "xsd:string" },
"jc_contract": { "@id": "jc:schemaId", "@type": "xsd:string" },
"jc_verdict": { "@id": "jc:schemaId", "@type": "xsd:string" },
"id": { "@id": "jc:receiptId", "@type": "xsd:string" },
"closed_at": { "@id": "jc:closedAt", "@type": "xsd:dateTime" },
"created_at": { "@id": "jc:createdAt", "@type": "xsd:dateTime" },
"minted_at": { "@id": "jc:mintedAt", "@type": "xsd:dateTime" },
"fetched_at": { "@id": "jc:fetchedAt", "@type": "xsd:dateTime" },
"input_hash": { "@id": "jc:inputHash", "@type": "xsd:string" },
"content_hash": { "@id": "jc:contentHash", "@type": "xsd:string" },
"tier": { "@id": "jc:tier", "@type": "@vocab" },
"joules_uj": { "@id": "jc:joulesMicrojoules", "@type": "xsd:nonNegativeInteger" },
"energy_provenance": { "@id": "jc:energyProvenance", "@type": "@vocab" },
"model_id": { "@id": "jc:modelId", "@type": "xsd:string" },
"eoc_stage": { "@id": "jc:eocStage", "@type": "xsd:string" },
"steward": { "@id": "jc:steward", "@type": "@id" },
"agent": { "@id": "jc:agent", "@type": "@id" },
"tools_touched": { "@id": "jc:toolsTouched", "@container": "@list" },
"claims": { "@id": "jc:claims", "@container": "@list" },
"citations": { "@id": "jc:citations", "@container": "@list" },
"tool_receipts": { "@id": "jc:toolReceipts", "@container": "@list" },
"token_attributions": { "@id": "jc:tokenAttributions", "@container": "@list" },
"tool_id": { "@id": "jc:toolId", "@type": "xsd:string" },
"gateway_id": { "@id": "jc:gatewayId", "@type": "xsd:string" },
"hmac_sha256_hex": { "@id": "jc:hmacSha256Hex", "@type": "xsd:string" },
"source": { "@id": "jc:source", "@type": "@id" },
"trust_tier": { "@id": "jc:trustTier", "@type": "xsd:nonNegativeInteger" },
"intent": { "@id": "jc:intent" },
"classifier_id": { "@id": "jc:classifierId", "@type": "xsd:string" },
"confidence": { "@id": "jc:confidence", "@type": "xsd:double" },
"label": { "@id": "jc:label", "@type": "xsd:string" },
"engine_id": { "@id": "jc:engineId", "@type": "xsd:string" },
"audit_sequence": { "@id": "jc:auditSequence", "@type": "xsd:nonNegativeInteger" },
"policy_version": { "@id": "jc:policyVersion", "@type": "xsd:nonNegativeInteger" },
"action": { "@id": "jc:action" },
"decision": { "@id": "jc:decision" },
"rule": { "@id": "jc:rule", "@type": "xsd:string" },
"reason": { "@id": "jc:reason", "@type": "xsd:string" },
"sequence": { "@id": "jc:sequence", "@type": "xsd:nonNegativeInteger" },
"kind": { "@id": "jc:kind", "@type": "@vocab" },
"mode": { "@id": "jc:fsMode", "@type": "@vocab" },
"method": { "@id": "jc:netMethod", "@type": "@vocab" },
"host": { "@id": "jc:host", "@type": "xsd:string" },
"port": { "@id": "jc:port", "@type": "xsd:nonNegativeInteger" },
"path": { "@id": "jc:path", "@type": "xsd:string" },
"binary": { "@id": "jc:binary", "@type": "xsd:string" },
"argv": { "@id": "jc:argv", "@container": "@list" },
"owner": { "@id": "jc:owner" },
"entries": { "@id": "jc:entries", "@container": "@list" },
"handle": { "@id": "jc:handle", "@type": "@id" },
"public_key": { "@id": "jc:publicKey", "@type": "xsd:string" },
"attestation": { "@id": "jc:attestation" },
"size": { "@id": "jc:size", "@type": "xsd:nonNegativeInteger" },
"L0": "jc:Cache",
"L1": "jc:Lawful",
"L2": "jc:Embed",
"L3": "jc:Model",
"L4": "jc:Wire",
"HwShunt": "jc:HwShunt",
"ModelBased": "jc:ModelBased",
"Estimator": "jc:Estimator",
"filesystem": "jc:FsAction",
"network": "jc:NetAction",
"process": "jc:ProcAction",
"read": "jc:FsRead",
"write": "jc:FsWrite",
"execute": "jc:FsExecute",
"list": "jc:FsList",
"connect": "jc:NetConnect",
"listen": "jc:NetListen",
"resolve": "jc:NetResolve",
"allow": "jc:Allow",
"deny": "jc:Deny",
"no_matching_allow": "jc:NoMatchingAllow",
"explicit_deny": "jc:ExplicitDeny",
"blob": "jc:Blob",
"text": "jc:Text",
"structured": "jc:Structured",
"public": "jc:Public",
"internal": "jc:Internal",
"confidential": "jc:Confidential",
"restricted": "jc:Restricted",
"authored_by": { "@id": "jc:authoredBy", "@type": "xsd:string" },
"assertions": { "@id": "jc:assertions", "@container": "@list" },
"features": { "@id": "jc:features", "@container": "@list" },
"acceptance": { "@id": "jc:acceptance" },
"block_on_should_have": { "@id": "jc:blockOnShouldHave", "@type": "xsd:boolean" },
"assertion_id": { "@id": "jc:assertionId", "@type": "xsd:string" },
"feature_id": { "@id": "jc:featureId", "@type": "xsd:string" },
"title": { "@id": "jc:title", "@type": "xsd:string" },
"rationale": { "@id": "jc:rationale", "@type": "xsd:string" },
"description": { "@id": "jc:description", "@type": "xsd:string" },
"priority": { "@id": "jc:priority", "@type": "@vocab" },
"check": { "@id": "jc:check" },
"claim_ids": { "@id": "jc:claims", "@container": "@list" },
"tool": "jc:ToolCheck",
"artifact": "jc:ArtifactCheck",
"command": "jc:CommandCheck",
"checker": "jc:CheckerCheck",
"must_have": "jc:MustHave",
"should_have": "jc:ShouldHave",
"nice_to_have": "jc:NiceToHave",
"contract_hash": { "@id": "jc:contractHash", "@type": "xsd:string" },
"passed": { "@id": "jc:passed", "@type": "xsd:boolean" },
"summary": { "@id": "jc:summary", "@type": "xsd:string" },
"coverage": { "@id": "jc:coverage" },
"blocking_gaps": { "@id": "jc:blockingGaps", "@container": "@list" },
"should_have_gaps": { "@id": "jc:shouldHaveGaps", "@container": "@list" },
"verified": "jc:Verified",
"claimed_unverified": "jc:ClaimedUnverified",
"failed": "jc:Failed",
"unclaimed": "jc:Unclaimed",
"gap": "jc:Gap",
"worker": { "@id": "jc:worker", "@type": "xsd:string" },
"completed": { "@id": "jc:completed", "@container": "@list" },
"undone": { "@id": "jc:undone", "@container": "@list" },
"issues_found": { "@id": "jc:issuesFound", "@container": "@list" },
"procedures_followed": { "@id": "jc:proceduresFollowed", "@container": "@list" },
"commands": { "@id": "jc:commands", "@container": "@list" },
"command_hash": { "@id": "jc:commandHash", "@type": "xsd:string" },
"exit_code": { "@id": "jc:exitCode", "@type": "xsd:integer" }
}
}