changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "answered": {
+ "description": "True when the user responded at all. Answered but not ratified means they declined, so ask what scope they want rather than proceeding.",
+ "type": "boolean"
+ },
+ "contract": {
+ "additionalProperties": false,
+ "description": "The scope exactly as it was put to the user, echoed back so the agent and the human are holding the same contract.",
+ "properties": {
+ "allowedPaths": {
+ "description": "Globs the run may change. Empty means no path restriction was proposed, which the user was told plainly.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "doneWhen": {
+ "description": "What finished means for this run, as the user saw it.",
+ "type": "string"
+ },
+ "offLimitsPaths": {
+ "description": "Globs the run promised not to touch. These win wherever they overlap allowedPaths.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "allowedPaths",
+ "offLimitsPaths",
+ "doneWhen"
+ ],
+ "type": "object"
+ },
+ "note": {
+ "description": "Present only when the scope is not in force, saying what to do instead of proceeding.",
+ "type": "string"
+ },
+ "ratified": {
+ "description": "True only on an explicit yes. The contract is in force for this session only when this is true; anything else means proceed as if no scope was agreed.",
+ "type": "boolean"
+ },
+ "value": {
+ "description": "The raw answer behind ratified, \"yes\" or \"no\".",
+ "type": "string"
+ }
+ },
+ "required": [
+ "ratified",
+ "answered",
+ "contract"
+ ],
+ "type": "object"
+}