changedInput schema / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "action=\"create\": Create a named workspace — a scoped overlay on the project's trunk (shared truth). Knowledge written while it's active scopes to it; collaborators off that workspace never see it. permanent = a domain/team overlay that never graduates (promote per-item); experimental = ephemeral, expected to merge or be archived. Prefer OFFERING before creating unless the user asked. Does NOT activate it — call workspace(action=\"activate\") to scope this session to it.",
- "properties": {
- "action": {
- "const": "create",
- "type": "string"
- },
- "auto_activate_hint": {
- "description": "(create/update only) Plain-language 'when should this auto-activate' hint, read by the agent at session start. Globs/paths welcome; no rules DSL.",
- "type": "string"
- },
- "branches": {
- "description": "(create only) Branch associations (0..N). Exact match auto-activates; a glob is offered. Omit for a pure domain overlay with no branch.",
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "description": "(create/update only) One-line description of what this overlay is for.",
- "type": "string"
- },
- "kind": {
- "description": "REQUIRED for create — permanent = standing domain/team overlay (never graduates); experimental = ephemeral, expected to merge or be archived.",
- "enum": [
- "permanent",
- "experimental"
- ],
- "type": "string"
- },
- "name": {
- "description": "REQUIRED for create — workspace name, shown in scope tags (e.g. \"Billing\").",
- "minLength": 1,
- "type": "string"
- },
- "privacy_bypass": {
- "description": "true writes despite a privacy flag on a public project. Only meaningful after a flag; the user decides whether the content can be public.",
- "type": "boolean"
- },
- "privacy_false_positive": {
- "description": "With privacy_bypass: true reports the privacy flag as wrong.",
- "type": "boolean"
- },
- "privacy_judgement_id": {
- "description": "With privacy_bypass: the judgement_id the privacy flag returned.",
- "type": "string"
- },
- "privacy_note": {
- "description": "With privacy_bypass: an optional short reason, kept with the bypass.",
- "maxLength": 500,
- "type": "string"
- },
- "project_slug": {
- "description": "Project slug, e.g. \"acme-app\" — list(what=\"projects\") returns yours.",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "action",
- "project_slug",
- "name",
- "kind"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "action=\"update\": Update a workspace's editable fields (name, kind, description, auto-activation hint) and/or ADD branch associations. Only the fields you pass change. Does NOT promote knowledge or change scope — merge/archive have dedicated tools.",
- "properties": {
- "action": {
- "const": "update",
- "type": "string"
- },
- "add_branches": {
- "description": "(update only) Branch associations to ADD (existing ones are kept).",
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "auto_activate_hint": {
- "description": "New plain-language auto-activation hint.",
- "type": "string"
- },
- "description": {
- "description": "New one-line description.",
- "type": "string"
- },
- "kind": {
- "description": "Change the workspace kind.",
- "enum": [
- "permanent",
- "experimental"
- ],
- "type": "string"
- },
- "name": {
- "description": "New name.",
- "minLength": 1,
- "type": "string"
- },
- "privacy_bypass": {
- "description": "true writes despite a privacy flag on a public project. Only meaningful after a flag; the user decides whether the content can be public.",
- "type": "boolean"
- },
- "privacy_false_positive": {
- "description": "With privacy_bypass: true reports the privacy flag as wrong.",
- "type": "boolean"
- },
- "privacy_judgement_id": {
- "description": "With privacy_bypass: the judgement_id the privacy flag returned.",
- "type": "string"
- },
- "privacy_note": {
- "description": "With privacy_bypass: an optional short reason, kept with the bypass.",
- "maxLength": 500,
- "type": "string"
- },
- "project_slug": {
- "description": "Project slug, e.g. \"acme-app\" — list(what=\"projects\") returns yours.",
- "minLength": 1,
- "type": "string"
- },
- "workspace": {
- "description": "REQUIRED for update/activate/deactivate — the workspace to act on — its NAME (e.g. \"Billing\") or its uuid. NOT a short-id (workspaces aren't nodes).",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "action",
- "project_slug",
- "workspace"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "action=\"create\": Create a named workspace — a scoped overlay on the project's trunk (shared truth). Knowledge written while it's active scopes to it; collaborators off that workspace never see it. permanent = a domain/team overlay that never graduates (promote per-item); experimental = ephemeral, expected to merge or be archived. Prefer OFFERING before creating unless the user asked. Does NOT activate it — call workspace(action=\"activate\") to scope this session to it.",
+ "properties": {
+ "action": {
+ "const": "create",
+ "type": "string"
+ },
+ "auto_activate_hint": {
+ "description": "(create/update only) Plain-language 'when should this auto-activate' hint, read by the agent at session start. Globs/paths welcome; no rules DSL.",
+ "type": "string"
+ },
+ "branches": {
+ "description": "(create only) Branch associations (0..N). Exact match auto-activates; a glob is offered. Omit for a pure domain overlay with no branch.",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "description": "(create/update only) One-line description of what this overlay is for.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "REQUIRED for create — permanent = standing domain/team overlay (never graduates); experimental = ephemeral, expected to merge or be archived.",
+ "enum": [
+ "permanent",
+ "experimental"
+ ],
+ "type": "string"
+ },
+ "name": {
+ "description": "REQUIRED for create — workspace name, shown in scope tags (e.g. \"Billing\").",
+ "minLength": 1,
+ "type": "string"
+ },
+ "privacy_bypass": {
+ "description": "true writes despite a privacy flag. Only meaningful after a flag; the user decides whether the content can be written.",
+ "type": "boolean"
+ },
+ "privacy_false_positive": {
+ "description": "With privacy_bypass: true reports the privacy flag as wrong.",
+ "type": "boolean"
+ },
+ "privacy_judgement_id": {
+ "description": "With privacy_bypass: the judgement_id the privacy flag returned.",
+ "type": "string"
+ },
+ "privacy_note": {
+ "description": "With privacy_bypass: an optional short reason, kept with the bypass.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "project_slug": {
+ "description": "Project slug, e.g. \"acme-app\" — list(what=\"projects\") returns yours.",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "project_slug",
+ "name",
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "action=\"update\": Update a workspace's editable fields (name, kind, description, auto-activation hint) and/or ADD branch associations. Only the fields you pass change. Does NOT promote knowledge or change scope — merge/archive have dedicated tools.",
+ "properties": {
+ "action": {
+ "const": "update",
+ "type": "string"
+ },
+ "add_branches": {
+ "description": "(update only) Branch associations to ADD (existing ones are kept).",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "auto_activate_hint": {
+ "description": "New plain-language auto-activation hint.",
+ "type": "string"
+ },
+ "description": {
+ "description": "New one-line description.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "Change the workspace kind.",
+ "enum": [
+ "permanent",
+ "experimental"
+ ],
+ "type": "string"
+ },
+ "name": {
+ "description": "New name.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "privacy_bypass": {
+ "description": "true writes despite a privacy flag. Only meaningful after a flag; the user decides whether the content can be written.",
+ "type": "boolean"
+ },
+ "privacy_false_positive": {
+ "description": "With privacy_bypass: true reports the privacy flag as wrong.",
+ "type": "boolean"
+ },
+ "privacy_judgement_id": {
+ "description": "With privacy_bypass: the judgement_id the privacy flag returned.",
+ "type": "string"
+ },
+ "privacy_note": {
+ "description": "With privacy_bypass: an optional short reason, kept with the bypass.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "project_slug": {
+ "description": "Project slug, e.g. \"acme-app\" — list(what=\"projects\") returns yours.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "workspace": {
+ "description": "REQUIRED for update/activate/deactivate — the workspace to act on — its NAME (e.g. \"Billing\") or its uuid. NOT a short-id (workspaces aren't nodes).",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "project_slug",
+ "workspace"
+ ],
+ "type": "object"
+ }
+]