@rosthq/cli 0.7.169 → 0.7.171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generator/groups.d.ts.map +1 -1
- package/dist/index.js +89 -20
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/generator/groups.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAM1D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKhF,CAAC;
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/generator/groups.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAM1D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKhF,CAAC;AA65CF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAyQjD,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13350,7 +13350,7 @@ var init_command_discovery = __esm({
|
|
|
13350
13350
|
{ "id": "deliverable.reject", "title": "Reject deliverable value", "description": "Record a human-confirmed rejection on a deliverable. Humans decide; agents cannot self-reject. Re-rejecting records a correction as a new event; prior events are never mutated.", "required_scope": "tenant_admin", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": ["admin"], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "deliverable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "reason": { "type": "string", "maxLength": 500 } }, "required": ["deliverable_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "deliverable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "acceptance_status": { "type": "string", "const": "rejected" }, "rejected_by": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "rejected_at": { "type": "string" }, "reason": { "anyOf": [{ "type": "string" }, { "type": "null" }] } }, "required": ["deliverable_id", "acceptance_status", "rejected_by", "rejected_at", "reason"], "additionalProperties": false }, "help": "Record a human-confirmed rejection on a deliverable; owner-only and human-gated. Humans decide \u2014 agents cannot self-reject. Re-rejecting records a correction as a new event.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work", "security-model-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent_setup.get", "agent_setup.start", "agent_setup.update", "agent_template.list", "agent.configure_tools", "agent.create_custom", "agent.create_from_template", "agent.fleet_digest", "agent.get_run", "agent.go_live", "agent.list_fleet", "agent.list_runs", "agent.list_tool_calls", "agent.run_dry_run", "agent.status", "charter.approve", "charter.draft", "compass.set", "confirmation.approve", "confirmation.reject", "deliverable.accept", "deliverable.attach", "deliverable.create", "deliverable.get", "deliverable.list", "device.pairing.list", "error_log.list", "error_log.resolve", "error_log.supersede", "escalation.get", "escalation.list", "escalation.reject", "escalation.resolve", "implementation_access.abandon", "implementation_access.complete", "implementation_access.status", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.attach_reference", "onboarding.rehearse", "onboarding.resume", "onboarding.status", "onboarding.upload_context", "runner.diagnose", "runner.repair", "seat.create", "seat.create_complete", "skill.assign_to_seat", "skill.assigned.list", "skill.catalog", "skill.check_dependencies", "skill.create", "skill.enable_catalog", "skill.file.get", "skill.get", "skill.import_github", "skill.import_upload", "skill.install_local", "skill.list", "skill.publish", "skill.revoke_from_seat", "skill.sync_local", "skill.update_draft", "staffing.assign", "system.health", "tenant.anthropic_key.disable", "tenant.rename", "tool_grants.tenant.update", "usage.report", "usage.snapshot", "user.tenants", "user.use_tenant", "user.whoami"] },
|
|
13351
13351
|
{ "id": "device.pairing.list", "title": "List pending device pairings", "description": "List this tenant's live device pairing intents (pending code / awaiting approval) with each anchored device row and its one-click-approvable flag. Never returns the pairing code and never surfaces an unanchored device authorization.", "required_scope": "tenant_admin", "confirmation": "none", "trusted_execution": { "mode": "always_human", "risk_flags": ["admin"], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": {}, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "intents": { "type": "array", "items": { "type": "object", "properties": { "intent_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "purpose": { "type": "string", "enum": ["user_session", "implementation_bootstrap"] }, "status": { "type": "string", "enum": ["pending", "consumed"] }, "created_by": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "created_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "expires_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "expires_in_seconds": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "device_authorization_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "device_status": { "anyOf": [{ "type": "string", "enum": ["pending", "approved", "denied", "expired", "consumed"] }, { "type": "null" }] }, "approvable": { "type": "boolean" } }, "required": ["intent_id", "purpose", "status", "created_by", "created_at", "expires_at", "expires_in_seconds", "device_authorization_id", "device_status", "approvable"], "additionalProperties": false } } }, "required": ["intents"], "additionalProperties": false }, "help": "List this tenant's live device pairing intents (pending code / awaiting approval) and which anchored device rows are one-click-approvable. Owner/admin only; never returns the pairing code.", "guide_slugs": ["mcp-and-cli-guide", "security-model-guide"], "stages": ["staffing"], "related_command_ids": ["agent_setup.get", "agent_setup.start", "agent_setup.update", "agent_template.list", "agent.configure_tools", "agent.create_custom", "agent.create_from_template", "agent.fleet_digest", "agent.get_run", "agent.go_live", "agent.list_fleet", "agent.list_runs", "agent.list_tool_calls", "agent.run_dry_run", "agent.status", "charter.approve", "charter.draft", "compass.set", "confirmation.approve", "confirmation.reject", "deliverable.accept", "deliverable.attach", "deliverable.create", "deliverable.get", "deliverable.list", "deliverable.reject", "error_log.list", "error_log.resolve", "error_log.supersede", "escalation.get", "escalation.list", "escalation.reject", "escalation.resolve", "implementation_access.abandon", "implementation_access.complete", "implementation_access.status", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.attach_reference", "onboarding.rehearse", "onboarding.resume", "onboarding.status", "onboarding.upload_context", "runner.diagnose", "runner.repair", "seat.create", "seat.create_complete", "skill.assign_to_seat", "skill.assigned.list", "skill.catalog", "skill.check_dependencies", "skill.create", "skill.enable_catalog", "skill.file.get", "skill.get", "skill.import_github", "skill.import_upload", "skill.install_local", "skill.list", "skill.publish", "skill.revoke_from_seat", "skill.sync_local", "skill.update_draft", "staffing.assign", "system.health", "tenant.anthropic_key.disable", "tenant.rename", "tool_grants.tenant.update", "usage.report", "usage.snapshot", "user.tenants", "user.use_tenant", "user.whoami"] },
|
|
13352
13352
|
{ "id": "error_log.bulk_resolve", "title": "Bulk resolve error logs", "description": "Acknowledge or resolve a batch of stale error logs in one human-confirmed action, with a required reason. Each error log is resolved independently (partial success) and writes its own resolution event; already-resolved or missing ids are skipped.", "required_scope": "tenant", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": [], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "error_log_ids": { "minItems": 1, "maxItems": 200, "type": "array", "items": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "reason": { "type": "string", "minLength": 1 }, "disposition": { "default": "resolved", "type": "string", "enum": ["acknowledged", "resolved"] } }, "required": ["error_log_ids", "reason"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "resolved": { "type": "array", "items": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "skipped": { "type": "array", "items": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "reason": { "type": "string" } }, "required": ["error_log_id", "reason"], "additionalProperties": false } }, "failed": { "type": "array", "items": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "reason": { "type": "string" } }, "required": ["error_log_id", "reason"], "additionalProperties": false } }, "resolved_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "skipped_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "failed_count": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "total": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, "required": ["resolved", "skipped", "failed", "resolved_count", "skipped_count", "failed_count", "total"], "additionalProperties": false }, "help": "Acknowledge or resolve a batch of stale error logs in one human-confirmed action with a required reason; each is resolved independently (partial success) and already-resolved or missing ids are skipped.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work", "troubleshooting-guide"], "stages": ["operating_rhythm"], "related_command_ids": [] },
|
|
13353
|
-
{ "id": "error_log.list", "title": "List error logs", "description": "List tenant error logs with optional filtering by seat, source, severity, and resolved state.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "source": { "type": "string", "enum": ["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"] }, "severity": { "type": "string", "enum": ["warning", "error", "critical"] }, "resolved": { "default": "active", "type": "string", "enum": ["active", "acknowledged", "resolved", "all"] }, "limit": { "default": 50, "type": "integer", "minimum": 1, "maximum": 200 } }, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "source": { "type": "string", "enum": ["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"] }, "severity": { "type": "string", "enum": ["warning", "error", "critical"] }, "code": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "message": { "type": "string" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "agent_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "run_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "disposition": { "type": "string", "enum": ["active", "acknowledged", "resolved", "superseded"] }, "resolved_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] }, "resolved_by": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "resolution_reason": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "linked_task_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "linked_issue_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "linked_pr_ref": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "superseded_by_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "created_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" } }, "required": ["error_log_id", "source", "severity", "code", "message", "seat_id", "agent_id", "run_id", "disposition", "resolved_at", "resolved_by", "resolution_reason", "linked_task_id", "linked_issue_id", "linked_pr_ref", "superseded_by_id", "created_at"], "additionalProperties": false } }, "total": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, "required": ["errors", "total"], "additionalProperties": false }, "help": "List product-visible error logs by source, severity, seat, and active/resolved disposition before closing stale failures.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work", "troubleshooting-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent_setup.get", "agent_setup.start", "agent_setup.update", "agent_template.list", "agent.configure_tools", "agent.create_custom", "agent.create_from_template", "agent.fleet_digest", "agent.get_run", "agent.go_live", "agent.list_fleet", "agent.list_runs", "agent.list_tool_calls", "agent.run_dry_run", "agent.status", "charter.approve", "charter.draft", "compass.set", "confirmation.approve", "confirmation.reject", "deliverable.accept", "deliverable.attach", "deliverable.create", "deliverable.get", "deliverable.list", "deliverable.reject", "device.pairing.list", "error_log.resolve", "error_log.supersede", "escalation.get", "escalation.list", "escalation.reject", "escalation.resolve", "implementation_access.abandon", "implementation_access.complete", "implementation_access.status", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.attach_reference", "onboarding.rehearse", "onboarding.resume", "onboarding.status", "onboarding.upload_context", "runner.diagnose", "runner.repair", "seat.create", "seat.create_complete", "skill.assign_to_seat", "skill.assigned.list", "skill.catalog", "skill.check_dependencies", "skill.create", "skill.enable_catalog", "skill.file.get", "skill.get", "skill.import_github", "skill.import_upload", "skill.install_local", "skill.list", "skill.publish", "skill.revoke_from_seat", "skill.sync_local", "skill.update_draft", "staffing.assign", "system.health", "tenant.anthropic_key.disable", "tenant.rename", "tool_grants.tenant.update", "usage.report", "usage.snapshot", "user.tenants", "user.use_tenant", "user.whoami"] },
|
|
13353
|
+
{ "id": "error_log.list", "title": "List error logs", "description": "List tenant error logs with optional filtering by seat, source, severity, and resolved state. Omitting order means triage: a severity top-N for display that does not paginate. order=chronological walks (created_at, id) and returns next_cursor for the next page (pass it back as cursor, which implies chronological even without repeating order=chronological).", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "source": { "type": "string", "enum": ["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"] }, "severity": { "type": "string", "enum": ["warning", "error", "critical"] }, "resolved": { "default": "active", "type": "string", "enum": ["active", "acknowledged", "resolved", "all"] }, "limit": { "default": 50, "type": "integer", "minimum": 1, "maximum": 200 }, "order": { "type": "string", "enum": ["triage", "chronological"] }, "cursor": { "type": "string", "minLength": 1, "maxLength": 200 } }, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "source": { "type": "string", "enum": ["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"] }, "severity": { "type": "string", "enum": ["warning", "error", "critical"] }, "code": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "message": { "type": "string" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "agent_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "run_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "disposition": { "type": "string", "enum": ["active", "acknowledged", "resolved", "superseded"] }, "resolved_at": { "anyOf": [{ "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, { "type": "null" }] }, "resolved_by": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "resolution_reason": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "linked_task_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "linked_issue_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "linked_pr_ref": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "superseded_by_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "created_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "occurrence_count": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["error_log_id", "source", "severity", "code", "message", "seat_id", "agent_id", "run_id", "disposition", "resolved_at", "resolved_by", "resolution_reason", "linked_task_id", "linked_issue_id", "linked_pr_ref", "superseded_by_id", "created_at", "occurrence_count"], "additionalProperties": false } }, "total": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "next_cursor": { "anyOf": [{ "type": "string" }, { "type": "null" }] } }, "required": ["errors", "total", "next_cursor"], "additionalProperties": false }, "help": "List product-visible error logs by source, severity, seat, and active/resolved disposition before closing stale failures. The default triage order ranks a severity top-N and does not paginate; pass order=chronological to walk the whole log by (created_at, id), following next_cursor until it is null. total is always the full filtered count, not the page size.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work", "troubleshooting-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent_setup.get", "agent_setup.start", "agent_setup.update", "agent_template.list", "agent.configure_tools", "agent.create_custom", "agent.create_from_template", "agent.fleet_digest", "agent.get_run", "agent.go_live", "agent.list_fleet", "agent.list_runs", "agent.list_tool_calls", "agent.run_dry_run", "agent.status", "charter.approve", "charter.draft", "compass.set", "confirmation.approve", "confirmation.reject", "deliverable.accept", "deliverable.attach", "deliverable.create", "deliverable.get", "deliverable.list", "deliverable.reject", "device.pairing.list", "error_log.resolve", "error_log.supersede", "escalation.get", "escalation.list", "escalation.reject", "escalation.resolve", "implementation_access.abandon", "implementation_access.complete", "implementation_access.status", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.attach_reference", "onboarding.rehearse", "onboarding.resume", "onboarding.status", "onboarding.upload_context", "runner.diagnose", "runner.repair", "seat.create", "seat.create_complete", "skill.assign_to_seat", "skill.assigned.list", "skill.catalog", "skill.check_dependencies", "skill.create", "skill.enable_catalog", "skill.file.get", "skill.get", "skill.import_github", "skill.import_upload", "skill.install_local", "skill.list", "skill.publish", "skill.revoke_from_seat", "skill.sync_local", "skill.update_draft", "staffing.assign", "system.health", "tenant.anthropic_key.disable", "tenant.rename", "tool_grants.tenant.update", "usage.report", "usage.snapshot", "user.tenants", "user.use_tenant", "user.whoami"] },
|
|
13354
13354
|
{ "id": "error_log.resolve", "title": "Resolve error log", "description": "Acknowledge or resolve an error log with a required reason and optional linked task, Friction issue, or PR reference.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "reason": { "type": "string", "minLength": 1 }, "disposition": { "default": "acknowledged", "type": "string", "enum": ["acknowledged", "resolved"] }, "linked_task_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "linked_issue_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "linked_pr_ref": { "type": "string", "minLength": 1 } }, "required": ["error_log_id", "reason"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "disposition": { "type": "string", "enum": ["acknowledged", "resolved"] }, "resolved_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" } }, "required": ["error_log_id", "disposition", "resolved_at"], "additionalProperties": false }, "help": "Acknowledge or resolve a stale error log with a required human reason and optional task, issue, or PR evidence.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work", "troubleshooting-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent_setup.get", "agent_setup.start", "agent_setup.update", "agent_template.list", "agent.configure_tools", "agent.create_custom", "agent.create_from_template", "agent.fleet_digest", "agent.get_run", "agent.go_live", "agent.list_fleet", "agent.list_runs", "agent.list_tool_calls", "agent.run_dry_run", "agent.status", "charter.approve", "charter.draft", "compass.set", "confirmation.approve", "confirmation.reject", "deliverable.accept", "deliverable.attach", "deliverable.create", "deliverable.get", "deliverable.list", "deliverable.reject", "device.pairing.list", "error_log.list", "error_log.supersede", "escalation.get", "escalation.list", "escalation.reject", "escalation.resolve", "implementation_access.abandon", "implementation_access.complete", "implementation_access.status", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.attach_reference", "onboarding.rehearse", "onboarding.resume", "onboarding.status", "onboarding.upload_context", "runner.diagnose", "runner.repair", "seat.create", "seat.create_complete", "skill.assign_to_seat", "skill.assigned.list", "skill.catalog", "skill.check_dependencies", "skill.create", "skill.enable_catalog", "skill.file.get", "skill.get", "skill.import_github", "skill.import_upload", "skill.install_local", "skill.list", "skill.publish", "skill.revoke_from_seat", "skill.sync_local", "skill.update_draft", "staffing.assign", "system.health", "tenant.anthropic_key.disable", "tenant.rename", "tool_grants.tenant.update", "usage.report", "usage.snapshot", "user.tenants", "user.use_tenant", "user.whoami"] },
|
|
13355
13355
|
{ "id": "error_log.stale_candidates", "title": "Find stale error logs", "description": "List unresolved error logs that have gone flat (no new occurrences) and are candidates for bulk resolution, with a per-row confidence tier and human-readable evidence. Read-only \u2014 it never resolves anything.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "stale_after_days": { "default": 14, "type": "integer", "minimum": 1, "maximum": 365 }, "limit": { "default": 50, "type": "integer", "minimum": 1, "maximum": 200 } }, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "candidates": { "type": "array", "items": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "source": { "type": "string", "enum": ["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"] }, "severity": { "type": "string", "enum": ["warning", "error", "critical"] }, "code": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "message": { "type": "string" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "occurrence_count": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "last_seen_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "created_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "days_stale": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "linked_issue_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "linked_issue_resolved": { "type": "boolean" }, "confidence": { "type": "string", "enum": ["low", "medium", "high"] }, "evidence": { "type": "array", "items": { "type": "string" } } }, "required": ["error_log_id", "source", "severity", "code", "message", "seat_id", "occurrence_count", "last_seen_at", "created_at", "days_stale", "linked_issue_id", "linked_issue_resolved", "confidence", "evidence"], "additionalProperties": false } }, "total": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, "required": ["candidates", "total"], "additionalProperties": false }, "help": "List unresolved error logs that have gone flat, with a confidence tier and evidence, to triage a bulk close-the-loop pass. Read-only.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work", "troubleshooting-guide"], "stages": ["operating_rhythm"], "related_command_ids": [] },
|
|
13356
13356
|
{ "id": "error_log.supersede", "title": "Supersede error log", "description": "Links the old error to the new one and records the reason.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "new_error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "reason": { "type": "string", "minLength": 1 }, "linked_task_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "linked_issue_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "linked_pr_ref": { "type": "string", "minLength": 1 } }, "required": ["error_log_id", "new_error_log_id", "reason"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "error_log_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "superseded_by_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "disposition": { "type": "string", "const": "superseded" }, "resolved_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" } }, "required": ["error_log_id", "superseded_by_id", "disposition", "resolved_at"], "additionalProperties": false }, "help": "Mark an older error log as superseded by a newer same-tenant error log while preserving history.", "guide_slugs": ["mcp-and-cli-guide", "how-agents-work", "troubleshooting-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent_setup.get", "agent_setup.start", "agent_setup.update", "agent_template.list", "agent.configure_tools", "agent.create_custom", "agent.create_from_template", "agent.fleet_digest", "agent.get_run", "agent.go_live", "agent.list_fleet", "agent.list_runs", "agent.list_tool_calls", "agent.run_dry_run", "agent.status", "charter.approve", "charter.draft", "compass.set", "confirmation.approve", "confirmation.reject", "deliverable.accept", "deliverable.attach", "deliverable.create", "deliverable.get", "deliverable.list", "deliverable.reject", "device.pairing.list", "error_log.list", "error_log.resolve", "escalation.get", "escalation.list", "escalation.reject", "escalation.resolve", "implementation_access.abandon", "implementation_access.complete", "implementation_access.status", "integration.list", "integration.readiness", "integration.status", "integration.test", "mcp_token.create", "mcp_token.list", "mcp_token.revoke", "onboarding.attach_reference", "onboarding.rehearse", "onboarding.resume", "onboarding.status", "onboarding.upload_context", "runner.diagnose", "runner.repair", "seat.create", "seat.create_complete", "skill.assign_to_seat", "skill.assigned.list", "skill.catalog", "skill.check_dependencies", "skill.create", "skill.enable_catalog", "skill.file.get", "skill.get", "skill.import_github", "skill.import_upload", "skill.install_local", "skill.list", "skill.publish", "skill.revoke_from_seat", "skill.sync_local", "skill.update_draft", "staffing.assign", "system.health", "tenant.anthropic_key.disable", "tenant.rename", "tool_grants.tenant.update", "usage.report", "usage.snapshot", "user.tenants", "user.use_tenant", "user.whoami"] },
|
|
@@ -13372,13 +13372,13 @@ var init_command_discovery = __esm({
|
|
|
13372
13372
|
{ "id": "friction.stale_candidates", "title": "Find stale friction", "description": "List open or diagnosing Friction issues whose linked remediation task has already shipped, making them high-confidence candidates for bulk resolution, with per-row evidence. Read-only \u2014 it never resolves anything.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "stale_after_days": { "default": 14, "type": "integer", "minimum": 1, "maximum": 365 }, "limit": { "default": 50, "type": "integer", "minimum": 1, "maximum": 200 } }, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "candidates": { "type": "array", "items": { "type": "object", "properties": { "issue_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "summary": { "type": "string" }, "severity": { "type": "string", "enum": ["low", "med", "high", "critical"] }, "status": { "type": "string", "enum": ["open", "diagnosing"] }, "created_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "updated_at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "days_stale": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "action_task_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "action_task_status": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "action_task_done": { "type": "boolean" }, "confidence": { "type": "string", "enum": ["low", "medium", "high"] }, "evidence": { "type": "array", "items": { "type": "string" } } }, "required": ["issue_id", "summary", "severity", "status", "created_at", "updated_at", "days_stale", "action_task_id", "action_task_status", "action_task_done", "confidence", "evidence"], "additionalProperties": false } }, "total": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, "required": ["candidates", "total"], "additionalProperties": false }, "help": "List open or diagnosing issues whose remediation task already shipped \u2014 high-confidence candidates for a bulk close-the-loop pass. Read-only.", "guide_slugs": ["friction-guide"], "stages": ["operating_rhythm"], "related_command_ids": [] },
|
|
13373
13373
|
{ "id": "friction.update_status", "title": "Update Friction issue status", "description": "Move a non-terminal issue between open and diagnosing. Terminal issues (resolved/dropped) cannot be reopened here.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "eligible", "risk_flags": [], "rationale": "Eligible for Trusted execution only when the signed Charter manifest, tenant policy, budget, and command guard allow it." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "issue_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "status": { "type": "string", "enum": ["open", "diagnosing"] } }, "required": ["issue_id", "status"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "issue_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "status": { "type": "string", "enum": ["open", "diagnosing"] }, "event_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["issue_id", "status", "event_id"], "additionalProperties": false }, "help": "Move a non-terminal issue between open and diagnosing while it is being worked.", "guide_slugs": ["friction-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["compass.answer_gap", "confirmation.approve", "escalation.raise", "friction.assist", "friction.file_issue", "friction.get", "friction.link_task", "friction.list", "friction.resolve", "onboarding.finish", "task.accept", "task.complete", "task.confirm_proposal", "task.create", "task.decline", "task.decline_proposal", "task.list"] },
|
|
13374
13374
|
{ "id": "gate.decide", "title": "Decide a conversational gate", "description": "A human approves or rejects a conversational gate bound to an artifact digest (a prototype URL, deliverable, or artifact). The agent drafts the decision and the human confirms it; the resolver is always a human. On approval the artifact must be unchanged since the gate was drafted \u2014 a stale digest re-blocks. Requires confirmation.", "required_scope": "tenant", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": [], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "subject_kind": { "type": "string", "enum": ["prototype", "deliverable", "artifact"] }, "subject_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "artifact_ref": { "type": "object", "properties": { "href": { "type": "string", "minLength": 1, "maxLength": 2048 }, "label": { "type": "string", "minLength": 1, "maxLength": 200 } }, "required": ["href", "label"], "additionalProperties": false }, "artifact_digest": { "type": "string", "minLength": 1, "maxLength": 200 }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "ask": { "type": "string", "minLength": 1, "maxLength": 400 }, "consequence": { "type": "string", "minLength": 1, "maxLength": 600 }, "unblocked_targets": { "default": [], "maxItems": 20, "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 200 } }, "rationale": { "type": "string", "maxLength": 4e3 } }, "required": ["subject_kind", "subject_id", "artifact_ref", "artifact_digest", "decision", "ask", "consequence"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "decision_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "subject_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "artifact_digest": { "type": "string" }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "decided_by": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "gate_status": { "type": "string", "enum": ["approved", "rejected"] } }, "required": ["decision_id", "subject_id", "artifact_digest", "decision", "decided_by", "gate_status"] }, "help": "A human approves or rejects a conversational gate bound to an artifact digest; the agent drafts, the human confirms (invariant #7).", "guide_slugs": ["agent-reference-map", "mcp-and-cli-guide"], "stages": ["operating_rhythm"], "related_command_ids": [] },
|
|
13375
|
-
{ "id": "goal.bind_measurable", "title": "Bind a Signal to a Cascade goal", "description": "Role defaults to 'informs' \u2014 a conservative informative indicator allowed at any goal level (many per goal) that never changes goal status. Role 'drives_status' makes it the goal's status driver: allowed only on a childless seat goal or milestone, at most one per goal, requires a second_anchor (a prior closed period + expected value confirming the Signal matched the books). This signal will set the goal's status from confirmed readings. You can turn this off later. Explicit auto_status_enabled: false opts out at bind time; goal.set_auto_status changes it after the fact. Binding a driver over an existing informs binding of the same Signal promotes it. Binding is human-gated.", "required_scope": "seat", "confirmation": "human_required", "trusted_execution": { "mode": "eligible_bounded", "risk_flags": [], "rationale": "Binding an informs-level Signal never changes goal status, so it is a bounded worker action safe to auto-apply under a standing Trusted grant." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "role": { "default": "informs", "type": "string", "enum": ["drives_status", "informs"] }, "auto_status_enabled": { "type": "boolean" }, "second_anchor": { "type": "object", "properties": { "period_start": { "type": "string", "minLength": 1 }, "expected_value": { "type": "number" } }, "required": ["period_start", "expected_value"], "additionalProperties": false } }, "required": ["goal_id", "measurable_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "role": { "type": "string", "enum": ["drives_status", "informs"] }, "auto_status_enabled": { "type": "boolean" }, "signal_state": { "type": "string", "enum": ["ok", "risk", "crit", "pending"] }, "computed_status": { "anyOf": [{ "type": "string", "enum": ["on", "off", "done", "dropped"] }, { "type": "null" }] }, "pinned_divergence": { "type": "boolean" }, "already_bound": { "type": "boolean" }, "driver_anchor": { "anyOf": [{ "type": "object", "properties": { "period_start": { "type": "string", "minLength": 1 }, "expected_value": { "type": "number" } }, "required": ["period_start", "expected_value"], "additionalProperties": false }, { "type": "null" }] } }, "required": ["goal_id", "measurable_id", "role", "auto_status_enabled", "signal_state", "computed_status", "pinned_divergence", "already_bound", "driver_anchor"], "additionalProperties": false }, "help": "Bind a Signal to a goal. Defaults to role informs (a conservative indicator at any level that never changes status); pass role drives_status with a second_anchor (a prior closed period + expected value confirming the Signal matched the books) to make it a childless leaf goal's status driver \u2014 this promotes an existing informs binding. A new drives_status binding defaults auto_status_enabled to true (pass auto_status_enabled:false to opt out at bind time).", "guide_slugs": ["cascade-guide", "signal-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent.run_now", "agent.trust.create", "agent.update_schedule", "command.describe", "command.list", "compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "friction.resolve", "goal.create", "goal.drop", "goal.get", "goal.list", "goal.list_at_risk", "goal.reassign_owner", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish", "skill.assign_to_seat"] },
|
|
13375
|
+
{ "id": "goal.bind_measurable", "title": "Bind a Signal to a Cascade goal", "description": "Role defaults to 'informs' \u2014 a conservative informative indicator allowed at any goal level (many per goal) that never changes goal status. Role 'drives_status' makes it the goal's status driver: allowed only on a childless seat goal or milestone, at most one per goal, requires a second_anchor (a prior closed period + expected value confirming the Signal matched the books). This signal will set the goal's status from confirmed readings. You can turn this off later. Explicit auto_status_enabled: false opts out at bind time; goal.set_auto_status changes it after the fact. Binding a driver over an existing informs binding of the same Signal promotes it. Binding is human-gated.", "required_scope": "seat", "confirmation": "human_required", "trusted_execution": { "mode": "eligible_bounded", "risk_flags": [], "rationale": "Binding an informs-level Signal never changes goal status, so it is a bounded worker action safe to auto-apply under a standing Trusted grant." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "role": { "default": "informs", "type": "string", "enum": ["drives_status", "informs"] }, "auto_status_enabled": { "type": "boolean" }, "second_anchor": { "type": "object", "properties": { "period_start": { "type": "string", "minLength": 1 }, "expected_value": { "type": "number" } }, "required": ["period_start", "expected_value"], "additionalProperties": false } }, "required": ["goal_id", "measurable_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "role": { "type": "string", "enum": ["drives_status", "informs"] }, "auto_status_enabled": { "type": "boolean" }, "signal_state": { "type": "string", "enum": ["ok", "risk", "crit", "pending"] }, "computed_status": { "anyOf": [{ "type": "string", "enum": ["on", "off", "done", "dropped"] }, { "type": "null" }] }, "pinned_divergence": { "type": "boolean" }, "already_bound": { "type": "boolean" }, "driver_anchor": { "anyOf": [{ "type": "object", "properties": { "period_start": { "type": "string", "minLength": 1 }, "expected_value": { "type": "number" } }, "required": ["period_start", "expected_value"], "additionalProperties": false }, { "type": "null" }] }, "warnings": { "type": "array", "items": { "type": "string" } } }, "required": ["goal_id", "measurable_id", "role", "auto_status_enabled", "signal_state", "computed_status", "pinned_divergence", "already_bound", "driver_anchor"], "additionalProperties": false }, "help": "Bind a Signal to a goal. Defaults to role informs (a conservative indicator at any level that never changes status); pass role drives_status with a second_anchor (a prior closed period + expected value confirming the Signal matched the books) to make it a childless leaf goal's status driver \u2014 this promotes an existing informs binding. A new drives_status binding defaults auto_status_enabled to true (pass auto_status_enabled:false to opt out at bind time).", "guide_slugs": ["cascade-guide", "signal-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent.run_now", "agent.trust.create", "agent.update_schedule", "command.describe", "command.list", "compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "friction.resolve", "goal.create", "goal.drop", "goal.get", "goal.list", "goal.list_at_risk", "goal.reassign_owner", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish", "skill.assign_to_seat"] },
|
|
13376
13376
|
{ "id": "goal.create", "title": "Create Cascade goal", "description": "Create a Cascade goal. Defaults to a seat goal: pass seat_id and parent_goal_id, and the parent chain must terminate at a company objective in the same cycle (enforced server-side). Pass kind 'company_objective' to author a company objective \u2014 the Cascade root \u2014 with no seat and no parent; it anchors on the tenant's active Compass, which must already carry a one_year horizon goal, and requires an owner membership (a seat-scoped caller may create seat goals beneath one).", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "kind": { "type": "string", "enum": ["company_objective", "seat_goal"] }, "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "parent_goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "title": { "type": "string", "minLength": 1 }, "definition_of_done": { "type": "string", "minLength": 1 }, "status": { "type": "string", "enum": ["on", "off"] }, "target_date": { "type": "string", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$" } }, "required": ["cycle_id", "title", "definition_of_done"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "parent_goal_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "title": { "type": "string" }, "status": { "type": "string", "enum": ["on", "off", "done", "dropped"] }, "status_source": { "type": "string", "enum": ["human", "agent", "rollup", "signal"] }, "target_date": { "anyOf": [{ "type": "string", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$" }, { "type": "null" }] }, "warnings": { "type": "array", "items": { "type": "string" } } }, "required": ["goal_id", "cycle_id", "seat_id", "parent_goal_id", "title", "status", "status_source", "target_date"], "additionalProperties": false }, "help": "Create a seat goal under an existing objective (the default), or pass kind 'company_objective' to author the Cascade root itself against the active Compass (owner authority).", "guide_slugs": ["cascade-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "goal.bind_measurable", "goal.drop", "goal.get", "goal.list", "goal.list_at_risk", "goal.reassign_owner", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish"] },
|
|
13377
13377
|
{ "id": "goal.drop", "title": "Drop Cascade goal", "description": "Drop (retire) a goal by setting status to dropped. Dropping retires the commitment, so it is human-gated. The row is retained for audit (never deleted).", "required_scope": "tenant_admin", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": ["admin", "destructive"], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["goal_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "parent_goal_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "title": { "type": "string" }, "status": { "type": "string", "enum": ["on", "off", "done", "dropped"] }, "status_source": { "type": "string", "enum": ["human", "agent", "rollup", "signal"] }, "target_date": { "anyOf": [{ "type": "string", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$" }, { "type": "null" }] }, "warnings": { "type": "array", "items": { "type": "string" } } }, "required": ["goal_id", "cycle_id", "seat_id", "parent_goal_id", "title", "status", "status_source", "target_date"], "additionalProperties": false }, "help": "Drop a goal to retire a commitment; the goal is retained for audit and dropping is human-gated.", "guide_slugs": ["cascade-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "goal.bind_measurable", "goal.create", "goal.get", "goal.list", "goal.list_at_risk", "goal.reassign_owner", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish"] },
|
|
13378
13378
|
{ "id": "goal.get", "title": "Get Cascade goal", "description": "Get one goal's core detail and status by id. Seat-scoped callers may only read their own seat's goals.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["goal_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "title": { "type": "string" }, "kind": { "type": "string", "enum": ["objective", "cycle_goal", "company_objective", "seat_goal", "milestone"] }, "status": { "type": "string", "enum": ["on", "off", "done", "dropped"] }, "status_source": { "type": "string", "enum": ["human", "agent", "rollup", "signal"] }, "progress_pct": { "anyOf": [{ "type": "integer", "minimum": 0, "maximum": 100 }, { "type": "null" }] }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "parent_goal_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "definition_of_done": { "type": "string" }, "target_date": { "anyOf": [{ "type": "string", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$" }, { "type": "null" }] } }, "required": ["id", "title", "kind", "status", "status_source", "progress_pct", "seat_id", "parent_goal_id", "definition_of_done", "target_date"], "additionalProperties": false } }, "required": ["goal"], "additionalProperties": false }, "help": "Get one goal's core detail and status by id; seat tokens may only read their own goals.", "guide_slugs": ["cascade-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "goal.bind_measurable", "goal.create", "goal.drop", "goal.list", "goal.list_at_risk", "goal.reassign_owner", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish"] },
|
|
13379
13379
|
{ "id": "goal.list", "title": "List Cascade goals", "description": "List goals in the tenant, optionally filtered by cycle or seat. Seat-scoped callers see only their own seat's goals.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goals": { "type": "array", "items": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "kind": { "type": "string", "enum": ["objective", "cycle_goal", "company_objective", "seat_goal", "milestone"] }, "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "parent_goal_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "title": { "type": "string" }, "status": { "type": "string", "enum": ["on", "off", "done", "dropped"] }, "status_source": { "type": "string", "enum": ["human", "agent", "rollup", "signal"] } }, "required": ["goal_id", "kind", "cycle_id", "seat_id", "parent_goal_id", "title", "status", "status_source"], "additionalProperties": false } } }, "required": ["goals"], "additionalProperties": false }, "help": "List Cascade goals to find goal ids, parentage, and seat ownership before mutating the tree.", "guide_slugs": ["cascade-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "goal.bind_measurable", "goal.create", "goal.drop", "goal.get", "goal.list_at_risk", "goal.reassign_owner", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish"] },
|
|
13380
13380
|
{ "id": "goal.list_at_risk", "title": "List at-risk Cascade goals", "description": "List goals projected to miss their cycle pace (at-risk or projected-miss), with how many days behind pace. Read-only; status-only goals (no progress) are excluded.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": {}, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goals": { "type": "array", "items": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "title": { "type": "string" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "progress_pct": { "type": "integer", "minimum": 0, "maximum": 100 }, "classification": { "type": "string", "enum": ["on_track", "at_risk", "projected_miss", "untracked"] }, "expected_pct": { "anyOf": [{ "type": "number" }, { "type": "null" }] }, "behind_days": { "anyOf": [{ "type": "number" }, { "type": "null" }] } }, "required": ["goal_id", "title", "seat_id", "cycle_id", "progress_pct", "classification", "expected_pct", "behind_days"], "additionalProperties": false } } }, "required": ["goals"], "additionalProperties": false }, "help": "List goals projected off pace (at-risk or projected-miss), with how many days behind pace. Read-only; status-only goals are excluded.", "guide_slugs": ["cascade-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "goal.bind_measurable", "goal.create", "goal.drop", "goal.get", "goal.list", "goal.reassign_owner", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish"] },
|
|
13381
|
-
{ "id": "goal.list_measurables", "title": "List a Cascade goal's Signals", "description": "List the status-driver Signal
|
|
13381
|
+
{ "id": "goal.list_measurables", "title": "List a Cascade goal's Signals", "description": "List a Cascade goal's Signal bindings, split by role. `bindings` is the status-driver Signal (role drives_status, at most one per goal, childless leaf only) with its current signal indicator and latest confirmed reading. `informs_bindings` is the informative indicators (role informs, any goal level, many per goal) \u2014 these never drive the goal's status, including on a company_objective, which is structurally barred from a driver and takes its status from its children's roll-up or from a human. Read-only.", "required_scope": "tenant", "confirmation": "none", "trusted_execution": { "mode": "not_applicable", "risk_flags": [], "rationale": "This command is not part of the Trusted positive allowlist." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["goal_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "bindings": { "type": "array", "items": { "type": "object", "properties": { "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "name": { "type": "string" }, "unit": { "type": "string" }, "role": { "type": "string", "const": "drives_status" }, "auto_status_enabled": { "type": "boolean" }, "signal_state": { "type": "string", "enum": ["ok", "risk", "crit", "pending"] }, "computed_status": { "anyOf": [{ "type": "string", "enum": ["on", "off", "done", "dropped"] }, { "type": "null" }] }, "last_reading_value": { "anyOf": [{ "type": "number" }, { "type": "null" }] }, "driver_anchor": { "anyOf": [{ "type": "object", "properties": { "period_start": { "type": "string", "minLength": 1 }, "expected_value": { "type": "number" } }, "required": ["period_start", "expected_value"], "additionalProperties": false }, { "type": "null" }] } }, "required": ["measurable_id", "name", "unit", "role", "auto_status_enabled", "signal_state", "computed_status", "last_reading_value", "driver_anchor"], "additionalProperties": false } }, "informs_bindings": { "type": "array", "items": { "type": "object", "properties": { "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "name": { "type": "string" }, "unit": { "type": "string" }, "role": { "type": "string", "const": "informs" }, "signal_state": { "type": "string", "enum": ["ok", "risk", "crit", "pending"] }, "computed_status": { "anyOf": [{ "type": "string", "enum": ["on", "off", "done", "dropped"] }, { "type": "null" }] }, "last_reading_value": { "anyOf": [{ "type": "number" }, { "type": "null" }] } }, "required": ["measurable_id", "name", "unit", "role", "signal_state", "computed_status", "last_reading_value"], "additionalProperties": false } } }, "required": ["goal_id", "bindings", "informs_bindings"], "additionalProperties": false }, "help": "List a goal's Signal bindings, split by role: `bindings` is the status driver (role drives_status, at most one), `informs_bindings` the informative indicators (role informs, many) that never drive status. A Signal on a company objective is always informs.", "guide_slugs": ["cascade-guide"], "stages": ["operating_rhythm"], "related_command_ids": [] },
|
|
13382
13382
|
{ "id": "goal.reassign_owner", "title": "Reassign Cascade goal owner seat", "description": "Reassign a seat goal's owner seat to a different seat in the same tenant. The goal's cycle and parent (ancestry chain) are unchanged \u2014 only the owning seat changes. Reassigning accountable ownership is human-gated. Emits a status event naming the previous and new seat.", "required_scope": "tenant_admin", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": ["admin"], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["goal_id", "seat_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "previous_seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "seat_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "title": { "type": "string" }, "status": { "type": "string", "enum": ["on", "off", "done", "dropped"] } }, "required": ["goal_id", "cycle_id", "previous_seat_id", "seat_id", "title", "status"], "additionalProperties": false }, "help": "Reassign a seat goal's owner seat to a different seat in the same tenant; cycle and parent ancestry are unchanged. Reassigning accountable ownership is human-gated.", "guide_slugs": ["cascade-guide", "confirmations-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent_grant_intervention.decide", "agent.activation_sign", "agent.go_live", "agent.trust.create", "agent.trust.expire", "agent.trust.revoke", "agent.trust.supersede", "charter.approve", "compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "confirmation.dismiss", "confirmation.dismiss_stale", "confirmation.list", "confirmation.reject", "confirmation.remint", "credential.ingress", "friction.resolve", "goal.bind_measurable", "goal.create", "goal.drop", "goal.get", "goal.list", "goal.list_at_risk", "goal.reparent", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "mcp_token.create", "onboarding.activate", "onboarding.finish", "onboarding.setup", "seat.create_complete", "staffing.assign_user", "task.confirm_proposal", "task.decline_proposal"] },
|
|
13383
13383
|
{ "id": "goal.reparent", "title": "Reparent Cascade goal", "description": "Move a goal under a different parent. Reparenting changes accountable structure, so it is human-gated. One-root and no-cycle are enforced server-side.", "required_scope": "tenant_admin", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": ["admin"], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "parent_goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "required": ["goal_id", "parent_goal_id"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "cycle_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "seat_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "parent_goal_id": { "anyOf": [{ "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, { "type": "null" }] }, "title": { "type": "string" }, "status": { "type": "string", "enum": ["on", "off", "done", "dropped"] }, "status_source": { "type": "string", "enum": ["human", "agent", "rollup", "signal"] }, "target_date": { "anyOf": [{ "type": "string", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$" }, { "type": "null" }] }, "warnings": { "type": "array", "items": { "type": "string" } } }, "required": ["goal_id", "cycle_id", "seat_id", "parent_goal_id", "title", "status", "status_source", "target_date"], "additionalProperties": false }, "help": "Reparent a goal only when it clarifies accountable structure; reparenting changes authority and is human-gated.", "guide_slugs": ["cascade-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["agent_grant_intervention.decide", "agent.activation_sign", "agent.go_live", "agent.trust.create", "agent.trust.expire", "agent.trust.revoke", "agent.trust.supersede", "charter.approve", "compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "confirmation.dismiss", "confirmation.dismiss_stale", "confirmation.list", "confirmation.reject", "confirmation.remint", "credential.ingress", "friction.resolve", "goal.bind_measurable", "goal.create", "goal.drop", "goal.get", "goal.list", "goal.list_at_risk", "goal.reassign_owner", "goal.set_auto_status", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "mcp_token.create", "onboarding.activate", "onboarding.finish", "onboarding.setup", "seat.create_complete", "staffing.assign_user", "task.confirm_proposal", "task.decline_proposal"] },
|
|
13384
13384
|
{ "id": "goal.set_auto_status", "title": "Toggle Signal-driven auto-status", "description": "Opt a goal's drives_status binding into (or out of) auto-status. Default OFF. Enabling lets confirmed readings drive the goal's status; a human status pin still wins. Human-gated opt-in.", "required_scope": "seat", "confirmation": "human_required", "trusted_execution": { "mode": "always_human", "risk_flags": [], "rationale": "Trusted mode cannot bypass this command's human confirmation or high-risk boundary." }, "expose_over_mcp": true, "input_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "enabled": { "type": "boolean" } }, "required": ["goal_id", "measurable_id", "enabled"], "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "goal_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "measurable_id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "auto_status_enabled": { "type": "boolean" }, "status": { "type": "string", "enum": ["on", "off", "done", "dropped"] }, "status_source": { "type": "string", "enum": ["human", "agent", "rollup", "signal"] }, "applied_from_signal": { "type": "boolean" } }, "required": ["goal_id", "measurable_id", "auto_status_enabled", "status", "status_source", "applied_from_signal"], "additionalProperties": false }, "help": "Opt a goal's Signal binding into (or out of) auto-status. Default OFF. Enabling lets confirmed readings drive the status; a human status pin still wins.", "guide_slugs": ["cascade-guide", "signal-guide"], "stages": ["operating_rhythm"], "related_command_ids": ["compass.alignment", "compass.approve_version", "compass.set", "confirmation.approve", "goal.bind_measurable", "goal.create", "goal.drop", "goal.get", "goal.list", "goal.list_at_risk", "goal.reassign_owner", "goal.reparent", "goal.set_progress", "goal.set_status", "goal.unbind_measurable", "goal.update", "onboarding.finish"] },
|
|
@@ -34840,7 +34840,12 @@ var goalBindMeasurableOutputSchema = external_exports.object({
|
|
|
34840
34840
|
// DER-1126: the second anchor recorded when this binding was promoted to (or created
|
|
34841
34841
|
// as) the status driver. Null for an 'informs' binding (no anchor) and for a legacy
|
|
34842
34842
|
// driver bound before the anchor gate existed.
|
|
34843
|
-
driver_anchor: goalDriverAnchorSchema.nullable()
|
|
34843
|
+
driver_anchor: goalDriverAnchorSchema.nullable(),
|
|
34844
|
+
// DER-3763: present only when the command has a non-blocking explanatory note to
|
|
34845
|
+
// surface (matches the `goalMutationOutputSchema.warnings` convention, :616). Set for
|
|
34846
|
+
// an 'informs' bind — pointing the caller at the read-back surface a company-objective
|
|
34847
|
+
// Signal has no other way to reach — and omitted entirely for 'drives_status'.
|
|
34848
|
+
warnings: external_exports.array(external_exports.string()).optional()
|
|
34844
34849
|
}).strict();
|
|
34845
34850
|
var goalUnbindMeasurableInputSchema = external_exports.object({
|
|
34846
34851
|
goal_id: uuidSchema14,
|
|
@@ -34887,12 +34892,28 @@ var goalMeasurableBindingSchema = external_exports.object({
|
|
|
34887
34892
|
// <period>: expected <value>".
|
|
34888
34893
|
driver_anchor: goalDriverAnchorSchema.nullable()
|
|
34889
34894
|
}).strict();
|
|
34895
|
+
var goalInformsBindingSchema = external_exports.object({
|
|
34896
|
+
measurable_id: uuidSchema14,
|
|
34897
|
+
name: external_exports.string(),
|
|
34898
|
+
unit: external_exports.string(),
|
|
34899
|
+
role: external_exports.literal("informs"),
|
|
34900
|
+
signal_state: goalSignalStateSchema,
|
|
34901
|
+
computed_status: goalStatusSchema.nullable(),
|
|
34902
|
+
last_reading_value: external_exports.number().nullable()
|
|
34903
|
+
}).strict();
|
|
34890
34904
|
var goalListMeasurablesInputSchema = external_exports.object({
|
|
34891
34905
|
goal_id: uuidSchema14
|
|
34892
34906
|
}).strict();
|
|
34893
34907
|
var goalListMeasurablesOutputSchema = external_exports.object({
|
|
34894
34908
|
goal_id: uuidSchema14,
|
|
34895
|
-
bindings: external_exports.array(goalMeasurableBindingSchema)
|
|
34909
|
+
bindings: external_exports.array(goalMeasurableBindingSchema),
|
|
34910
|
+
// DER-3763: the separate informative-list — never merged into `bindings`. Before this
|
|
34911
|
+
// field existed, `listGoalInformsBindings` (packages/db/src/goal-measurables.ts) had zero
|
|
34912
|
+
// command/CLI/MCP consumers: every `informs` bind (the default role, and the ONLY role a
|
|
34913
|
+
// company_objective can carry — SIGNAL_DRIVABLE_KINDS structurally bars it from
|
|
34914
|
+
// drives_status) was persisted but unreadable through this, the only read command for
|
|
34915
|
+
// bindings.
|
|
34916
|
+
informs_bindings: external_exports.array(goalInformsBindingSchema)
|
|
34896
34917
|
}).strict();
|
|
34897
34918
|
var goalCoreSchema = external_exports.object({
|
|
34898
34919
|
id: uuidSchema14,
|
|
@@ -40201,8 +40222,31 @@ var errorLogListInputSchema = external_exports.object({
|
|
|
40201
40222
|
source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).optional(),
|
|
40202
40223
|
severity: external_exports.enum(["warning", "error", "critical"]).optional(),
|
|
40203
40224
|
resolved: external_exports.enum(["active", "acknowledged", "resolved", "all"]).default("active"),
|
|
40204
|
-
limit: external_exports.number().int().min(1).max(200).default(50)
|
|
40205
|
-
|
|
40225
|
+
limit: external_exports.number().int().min(1).max(200).default(50),
|
|
40226
|
+
// Enumeration order. `triage` ranks a top-N by severity for display and has no
|
|
40227
|
+
// stable position to page from; `chronological` walks the immutable
|
|
40228
|
+
// (created_at, id) pair. Supplying `cursor` implies `chronological`.
|
|
40229
|
+
//
|
|
40230
|
+
// DER-3761: deliberately `.optional()`, NOT `.default("triage")`. A Zod
|
|
40231
|
+
// default is indistinguishable from an explicit value once parsed, so
|
|
40232
|
+
// `listErrorLogs`'s guard against `order:"triage"` + `cursor` (an explicit
|
|
40233
|
+
// opt-out, which must still be rejected) could not tell "defaulted triage"
|
|
40234
|
+
// from "the caller explicitly asked for triage" — which broke the
|
|
40235
|
+
// documented cursor-implies-chronological contract for every production
|
|
40236
|
+
// caller (they all parse through this schema first). Omitting `order`
|
|
40237
|
+
// means triage — the effective default lives in listErrorLogs, not here.
|
|
40238
|
+
order: external_exports.enum(["triage", "chronological"]).optional(),
|
|
40239
|
+
// Opaque keyset cursor from a previous page's next_cursor.
|
|
40240
|
+
cursor: external_exports.string().min(1).max(200).optional()
|
|
40241
|
+
}).strict().superRefine((value, ctx) => {
|
|
40242
|
+
if (value.order === "triage" && value.cursor !== void 0) {
|
|
40243
|
+
ctx.addIssue({
|
|
40244
|
+
code: external_exports.ZodIssueCode.custom,
|
|
40245
|
+
path: ["cursor"],
|
|
40246
|
+
message: 'A cursor is only valid with order=chronological. Omit order (or pass order="chronological") when supplying a cursor.'
|
|
40247
|
+
});
|
|
40248
|
+
}
|
|
40249
|
+
});
|
|
40206
40250
|
var errorLogListItemSchema = external_exports.object({
|
|
40207
40251
|
error_log_id: uuidSchema24,
|
|
40208
40252
|
source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
|
|
@@ -40220,11 +40264,13 @@ var errorLogListItemSchema = external_exports.object({
|
|
|
40220
40264
|
linked_issue_id: uuidSchema24.nullable(),
|
|
40221
40265
|
linked_pr_ref: external_exports.string().nullable(),
|
|
40222
40266
|
superseded_by_id: uuidSchema24.nullable(),
|
|
40223
|
-
created_at: isoDateTime8
|
|
40267
|
+
created_at: isoDateTime8,
|
|
40268
|
+
occurrence_count: external_exports.number().int().positive()
|
|
40224
40269
|
}).strict();
|
|
40225
40270
|
var errorLogListOutputSchema = external_exports.object({
|
|
40226
40271
|
errors: external_exports.array(errorLogListItemSchema),
|
|
40227
|
-
total: external_exports.number().int().nonnegative()
|
|
40272
|
+
total: external_exports.number().int().nonnegative(),
|
|
40273
|
+
next_cursor: external_exports.string().nullable()
|
|
40228
40274
|
}).strict();
|
|
40229
40275
|
var errorLogResolveInputSchema = external_exports.object({
|
|
40230
40276
|
error_log_id: uuidSchema24,
|
|
@@ -54724,7 +54770,7 @@ var COMMAND_MANIFEST = [
|
|
|
54724
54770
|
{ "id": "deliverable.reject", "namespace": "deliverable", "action": "reject", "title": "Reject deliverable value", "description": "Record a human-confirmed rejection on a deliverable. Humans decide; agents cannot self-reject. Re-rejecting records a correction as a new event; prior events are never mutated.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "deliverable_id", "flag": "deliverable-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Record a human-confirmed rejection on a deliverable; owner-only and human-gated. Humans decide \u2014 agents cannot self-reject. Re-rejecting records a correction as a new event." },
|
|
54725
54771
|
{ "id": "device.pairing.list", "namespace": "device", "action": "pairing.list", "title": "List pending device pairings", "description": "List this tenant's live device pairing intents (pending code / awaiting approval) with each anchored device row and its one-click-approvable flag. Never returns the pairing code and never surfaces an unanchored device authorization.", "requiredScope": "tenant_admin", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "List this tenant's live device pairing intents (pending code / awaiting approval) and which anchored device rows are one-click-approvable. Owner/admin only; never returns the pairing code." },
|
|
54726
54772
|
{ "id": "error_log.bulk_resolve", "namespace": "error_log", "action": "bulk_resolve", "title": "Bulk resolve error logs", "description": "Acknowledge or resolve a batch of stale error logs in one human-confirmed action, with a required reason. Each error log is resolved independently (partial success) and writes its own resolution event; already-resolved or missing ids are skipped.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "error_log_ids", "flag": "error-log-ids", "type": "array", "required": true, "itemType": "string" }, { "name": "reason", "flag": "reason", "type": "string", "required": true }, { "name": "disposition", "flag": "disposition", "type": "enum", "required": false, "enumValues": ["acknowledged", "resolved"] }], "hasComplexInput": false, "help": "Acknowledge or resolve a batch of stale error logs in one human-confirmed action with a required reason; each is resolved independently (partial success) and already-resolved or missing ids are skipped." },
|
|
54727
|
-
{ "id": "error_log.list", "namespace": "error_log", "action": "list", "title": "List error logs", "description": "List tenant error logs with optional filtering by seat, source, severity, and resolved state.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "source", "flag": "source", "type": "enum", "required": false, "enumValues": ["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"] }, { "name": "severity", "flag": "severity", "type": "enum", "required": false, "enumValues": ["warning", "error", "critical"] }, { "name": "resolved", "flag": "resolved", "type": "enum", "required": false, "enumValues": ["active", "acknowledged", "resolved", "all"] }, { "name": "limit", "flag": "limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "List product-visible error logs by source, severity, seat, and active/resolved disposition before closing stale failures." },
|
|
54773
|
+
{ "id": "error_log.list", "namespace": "error_log", "action": "list", "title": "List error logs", "description": "List tenant error logs with optional filtering by seat, source, severity, and resolved state. Omitting order means triage: a severity top-N for display that does not paginate. order=chronological walks (created_at, id) and returns next_cursor for the next page (pass it back as cursor, which implies chronological even without repeating order=chronological).", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "source", "flag": "source", "type": "enum", "required": false, "enumValues": ["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"] }, { "name": "severity", "flag": "severity", "type": "enum", "required": false, "enumValues": ["warning", "error", "critical"] }, { "name": "resolved", "flag": "resolved", "type": "enum", "required": false, "enumValues": ["active", "acknowledged", "resolved", "all"] }, { "name": "limit", "flag": "limit", "type": "integer", "required": false }, { "name": "order", "flag": "order", "type": "enum", "required": false, "enumValues": ["triage", "chronological"] }, { "name": "cursor", "flag": "cursor", "type": "string", "required": false }], "hasComplexInput": false, "help": "List product-visible error logs by source, severity, seat, and active/resolved disposition before closing stale failures. The default triage order ranks a severity top-N and does not paginate; pass order=chronological to walk the whole log by (created_at, id), following next_cursor until it is null. total is always the full filtered count, not the page size." },
|
|
54728
54774
|
{ "id": "error_log.resolve", "namespace": "error_log", "action": "resolve", "title": "Resolve error log", "description": "Acknowledge or resolve an error log with a required reason and optional linked task, Friction issue, or PR reference.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "error_log_id", "flag": "error-log-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": true }, { "name": "disposition", "flag": "disposition", "type": "enum", "required": false, "enumValues": ["acknowledged", "resolved"] }, { "name": "linked_task_id", "flag": "linked-task-id", "type": "string", "required": false }, { "name": "linked_issue_id", "flag": "linked-issue-id", "type": "string", "required": false }, { "name": "linked_pr_ref", "flag": "linked-pr-ref", "type": "string", "required": false }], "hasComplexInput": false, "help": "Acknowledge or resolve a stale error log with a required human reason and optional task, issue, or PR evidence." },
|
|
54729
54775
|
{ "id": "error_log.stale_candidates", "namespace": "error_log", "action": "stale_candidates", "title": "Find stale error logs", "description": "List unresolved error logs that have gone flat (no new occurrences) and are candidates for bulk resolution, with a per-row confidence tier and human-readable evidence. Read-only \u2014 it never resolves anything.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "stale_after_days", "flag": "stale-after-days", "type": "integer", "required": false }, { "name": "limit", "flag": "limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "List unresolved error logs that have gone flat, with a confidence tier and evidence, to triage a bulk close-the-loop pass. Read-only." },
|
|
54730
54776
|
{ "id": "error_log.supersede", "namespace": "error_log", "action": "supersede", "title": "Supersede error log", "description": "Links the old error to the new one and records the reason.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "error_log_id", "flag": "error-log-id", "type": "string", "required": true }, { "name": "new_error_log_id", "flag": "new-error-log-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": true }, { "name": "linked_task_id", "flag": "linked-task-id", "type": "string", "required": false }, { "name": "linked_issue_id", "flag": "linked-issue-id", "type": "string", "required": false }, { "name": "linked_pr_ref", "flag": "linked-pr-ref", "type": "string", "required": false }], "hasComplexInput": false, "help": "Mark an older error log as superseded by a newer same-tenant error log while preserving history." },
|
|
@@ -54752,7 +54798,7 @@ var COMMAND_MANIFEST = [
|
|
|
54752
54798
|
{ "id": "goal.get", "namespace": "goal", "action": "get", "title": "Get Cascade goal", "description": "Get one goal's core detail and status by id. Seat-scoped callers may only read their own seat's goals.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Get one goal's core detail and status by id; seat tokens may only read their own goals." },
|
|
54753
54799
|
{ "id": "goal.list", "namespace": "goal", "action": "list", "title": "List Cascade goals", "description": "List goals in the tenant, optionally filtered by cycle or seat. Seat-scoped callers see only their own seat's goals.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "cycle_id", "flag": "cycle-id", "type": "string", "required": false }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }], "hasComplexInput": false, "bootstrapClass": "read", "help": "List Cascade goals to find goal ids, parentage, and seat ownership before mutating the tree." },
|
|
54754
54800
|
{ "id": "goal.list_at_risk", "namespace": "goal", "action": "list_at_risk", "title": "List at-risk Cascade goals", "description": "List goals projected to miss their cycle pace (at-risk or projected-miss), with how many days behind pace. Read-only; status-only goals (no progress) are excluded.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "List goals projected off pace (at-risk or projected-miss), with how many days behind pace. Read-only; status-only goals are excluded." },
|
|
54755
|
-
{ "id": "goal.list_measurables", "namespace": "goal", "action": "list_measurables", "title": "List a Cascade goal's Signals", "description": "List the status-driver Signal
|
|
54801
|
+
{ "id": "goal.list_measurables", "namespace": "goal", "action": "list_measurables", "title": "List a Cascade goal's Signals", "description": "List a Cascade goal's Signal bindings, split by role. `bindings` is the status-driver Signal (role drives_status, at most one per goal, childless leaf only) with its current signal indicator and latest confirmed reading. `informs_bindings` is the informative indicators (role informs, any goal level, many per goal) \u2014 these never drive the goal's status, including on a company_objective, which is structurally barred from a driver and takes its status from its children's roll-up or from a human. Read-only.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "List a goal's Signal bindings, split by role: `bindings` is the status driver (role drives_status, at most one), `informs_bindings` the informative indicators (role informs, many) that never drive status. A Signal on a company objective is always informs." },
|
|
54756
54802
|
{ "id": "goal.reassign_owner", "namespace": "goal", "action": "reassign_owner", "title": "Reassign Cascade goal owner seat", "description": "Reassign a seat goal's owner seat to a different seat in the same tenant. The goal's cycle and parent (ancestry chain) are unchanged \u2014 only the owning seat changes. Reassigning accountable ownership is human-gated. Emits a status event naming the previous and new seat.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Reassign a seat goal's owner seat to a different seat in the same tenant; cycle and parent ancestry are unchanged. Reassigning accountable ownership is human-gated." },
|
|
54757
54803
|
{ "id": "goal.reparent", "namespace": "goal", "action": "reparent", "title": "Reparent Cascade goal", "description": "Move a goal under a different parent. Reparenting changes accountable structure, so it is human-gated. One-root and no-cycle are enforced server-side.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "parent_goal_id", "flag": "parent-goal-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Reparent a goal only when it clarifies accountable structure; reparenting changes authority and is human-gated." },
|
|
54758
54804
|
{ "id": "goal.set_auto_status", "namespace": "goal", "action": "set_auto_status", "title": "Toggle Signal-driven auto-status", "description": "Opt a goal's drives_status binding into (or out of) auto-status. Default OFF. Enabling lets confirmed readings drive the goal's status; a human status pin still wins. Human-gated opt-in.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "measurable_id", "flag": "measurable-id", "type": "string", "required": true }, { "name": "enabled", "flag": "enabled", "type": "boolean", "required": true }], "hasComplexInput": false, "help": "Opt a goal's Signal binding into (or out of) auto-status. Default OFF. Enabling lets confirmed readings drive the status; a human status pin still wins." },
|
|
@@ -57239,7 +57285,23 @@ External connectors are being rolled out provider by provider, conservatively (r
|
|
|
57239
57285
|
// pre-DER-3341 stored row without re-consulting that rule and persists a
|
|
57240
57286
|
// genuinely new row. Either way it resolves to the general `/approvals`
|
|
57241
57287
|
// queue, which is where the table row below says it lands.
|
|
57242
|
-
|
|
57288
|
+
// DER-3761: error_log.list gained keyset pagination — `order` (default
|
|
57289
|
+
// `triage`, no pagination) vs `chronological` (walks (created_at, id) and
|
|
57290
|
+
// returns `next_cursor`), plus `cursor` and `occurrence_count`. Updated the
|
|
57291
|
+
// `{{cli}} error list|resolve|supersede` and `rost_list_error_logs` rows to
|
|
57292
|
+
// describe the drain past the top-N.
|
|
57293
|
+
//
|
|
57294
|
+
// DER-3761 (P2 review fix): the drain examples above claimed "full log" /
|
|
57295
|
+
// "every error" but omitted `resolved`, which defaults to `"active"` — so
|
|
57296
|
+
// a tenant with acknowledged/resolved/superseded rows following those
|
|
57297
|
+
// instructions verbatim got only the active ones. Both drain examples now
|
|
57298
|
+
// pass `--resolved all` / `"resolved":"all"` so the copy matches what the
|
|
57299
|
+
// example actually does.
|
|
57300
|
+
// DER-3763: the `goal.list_measurables` row said "Driver-only — informs
|
|
57301
|
+
// bindings (direct indicators) are not returned", which this issue makes
|
|
57302
|
+
// false: the command now also returns `informs_bindings`. That row was the
|
|
57303
|
+
// only agent-facing copy asserting the old shape.
|
|
57304
|
+
version: "2026-08-13.3",
|
|
57243
57305
|
public: true,
|
|
57244
57306
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
57245
57307
|
stages: ["company_setup", "staffing"],
|
|
@@ -57883,7 +57945,7 @@ The signed-in app exposes the same Skill command surface at **Skills**, linked f
|
|
|
57883
57945
|
| \`{{cli}} goal list|create|update|status|reparent|reassign-owner|drop\` | \`goal.list\`, \`goal.create\`, \`goal.update\`, \`goal.set_status\`, \`goal.reparent\`, \`goal.reassign_owner\`, \`goal.drop\` | Manage Cascade goals. Scope varies by verb: \`status\` is seat-scoped, \`list\`/\`create\` need a tenant token, and \`update\`/\`reparent\`/\`reassign-owner\`/\`drop\` require tenant-admin. \`create\` with \`--kind company_objective\` authors the Cascade root and additionally requires an owner membership. | Seat to tenant-admin | \`{{cli}} goal list --json\` |
|
|
57884
57946
|
| \`{{cli}} friction list|file|resolve|link\` | \`friction.list\`, \`friction.file_issue\`, \`friction.resolve\`, \`friction.link_task\` | File and resolve Friction issues. | Seat | \`{{cli}} friction list --status open --json\` |
|
|
57885
57947
|
| \`{{cli}} escalation list|get|resolve|reject\` | \`escalation.list\`, \`escalation.get\`, \`escalation.resolve\`, \`escalation.reject\` | Work the steward escalation queue. | Steward | \`{{cli}} escalation list --json\` |
|
|
57886
|
-
| \`{{cli}} error list|resolve|supersede\` | \`error_log.list\`, \`error_log.resolve\`, \`error_log.supersede\` | List active, acknowledged, resolved, or superseded product error logs and let a human acknowledge, resolve, or supersede stale errors with evidence links. | Tenant | \`{{cli}} error list --resolved active --json\`; \`{{cli}} error resolve --error-log-id <id> --reason "Fixed in PR #123"\` |
|
|
57948
|
+
| \`{{cli}} error list|resolve|supersede\` | \`error_log.list\`, \`error_log.resolve\`, \`error_log.supersede\` | List active, acknowledged, resolved, or superseded product error logs and let a human acknowledge, resolve, or supersede stale errors with evidence links. Default \`--order triage\` ranks a severity top-N for display and never paginates (\`next_cursor\` is always null); to enumerate the full log past the top-N, pass \`--order chronological\` and follow \`--cursor\` until \`next_cursor\` comes back null \u2014 \`total\` is always the full filtered count, not the page size. | Tenant | \`{{cli}} error list --resolved active --json\`; \`{{cli}} error resolve --error-log-id <id> --reason "Fixed in PR #123"\`; drain the full log (all dispositions, not just active): \`{{cli}} error list --order chronological --resolved all --json\`, then repeat \`{{cli}} error list --order chronological --resolved all --cursor <next_cursor> --json\` until \`next_cursor\` is \`null\` |
|
|
57887
57949
|
| \`{{cli}} sync brief|compile|complete\` | \`sync.brief.get\`, \`sync.brief.compile\`, \`sync.run.complete\` | Compile, read, and complete a weekly Sync. | Tenant | \`{{cli}} sync brief --json\` |
|
|
57888
57950
|
| \`{{cli}} runner list|status|diagnose|repair|work-orders|revoke|serve|login|setup\` | \`runner.list\`, \`runner.status\`, \`runner.diagnose\`, \`runner.repair\`, \`work_order.list\`, \`runner.revoke\`, runner endpoint APIs | Inspect heartbeat and execute-readiness evidence, inspect work orders, diagnose offline runners, explain claimability gates, get repair guidance, revoke a runner, run the headless local runner loop, or run the interactive setup orchestrator. | Tenant | \`{{cli}} runner diagnose --runner-id <id> --json\`; \`{{cli}} runner serve --once\`; \`{{cli}} runner setup start --runtime claude\` |
|
|
57889
57951
|
| \`{{cli}} runner install-service|start|stop|restart|status|logs|uninstall --name <name> [--user-code <code>]\` | launchd/service manager (macOS today) + \`{{cli}} runner serve\` | Install and manage an always-on local runner service that keeps the runner online across reboots. The service runs the runner under the absolute Node binary with an explicit PATH (so it works under nvm/Homebrew) and bootstraps into whichever launchd domain the session supports. Pass \`--user-code\` to pair the service at install; otherwise install prints the exact command to pair it. No secret is stored in the service definition, its arguments, or logs. Non-macOS emits an explicit unsupported message. | Tenant (local machine) | \`{{cli}} runner install-service --name mac-mini --execute --user-code ABCD-EFGH\`; \`{{cli}} runner logs --name mac-mini\` |
|
|
@@ -58086,7 +58148,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
58086
58148
|
| \`rost_update_notification_settings\` | \`notification.settings.update\` | Update tenant notification preferences. | Tenant | Call with the fields to change. |
|
|
58087
58149
|
| \`rost_send_test_notification\` | \`notification.test\` | Emit an in-app test notification to the acting human. | Tenant | Call with \`{}\`. |
|
|
58088
58150
|
| \`rost_list_notification_errors\` | \`notification.list_errors\` | List recent failed notification deliveries with linked \`error_log_id\`, source, seat id, and run id when available. | Tenant | Call with optional \`limit\`; \`source=run\` rows can be followed with \`agent.get_run\`. |
|
|
58089
|
-
| \`rost_list_error_logs\` | \`error_log.list\` | List product error logs by seat, source, severity, and active/resolved state. | Tenant | Call with \`{"resolved":"active"}\` before acknowledging stale failures
|
|
58151
|
+
| \`rost_list_error_logs\` | \`error_log.list\` | List product error logs by seat, source, severity, and active/resolved state. \`order\` defaults to \`"triage"\` (a severity-ranked top-N for display; \`next_cursor\` is always null there). To enumerate every error regardless of disposition, not just the top-N, call with \`order:"chronological"\` and \`resolved:"all"\` (resolved defaults to \`"active"\`, which would silently skip acknowledged/resolved/superseded rows), and follow the returned \`next_cursor\` as the next call's \`cursor\` until it comes back null; \`total\` is the full filtered count regardless of page size. | Tenant | Call with \`{"resolved":"active"}\` before acknowledging stale failures; to enumerate every error past the first page, call with \`{"order":"chronological","resolved":"all"}\` and keep calling with \`{"order":"chronological","resolved":"all","cursor":"<next_cursor>"}\` until \`next_cursor\` is \`null\`. |
|
|
58090
58152
|
| \`rost_resolve_error_log\` | \`error_log.resolve\` | Acknowledge or resolve an error log with a required human reason and optional task, issue, or PR link. | Tenant | Call with \`error_log_id\`, \`reason\`, and \`disposition\` \`acknowledged\` or \`resolved\`. |
|
|
58091
58153
|
| \`rost_supersede_error_log\` | \`error_log.supersede\` | Mark an older error log as superseded by a newer in-tenant error log. | Tenant | Call with \`error_log_id\`, \`new_error_log_id\`, and \`reason\`. |
|
|
58092
58154
|
| \`rost_find_stale_error_logs\` | \`error_log.stale_candidates\` | List unresolved error logs that have gone flat (no new occurrences) and are candidates for bulk resolution, with a per-row confidence tier and evidence. Read-only. | Tenant | Call with optional \`stale_after_days\` and \`limit\`; feed the returned ids to \`error_log.bulk_resolve\`. |
|
|
@@ -58136,7 +58198,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
58136
58198
|
| \`rost_import_a_ninety_v_to_into_a_compass_draft\` | \`compass.import\` | AI-draft a Compass from a ninety V/TO (Core Values \u2192 principles, 10/3/1-Year \u2192 horizon goals, Rocks \u2192 cycle objectives), landed as a draft a human confirms by supersession \u2014 never an accepted Compass. Idempotent by document content (a re-upload of the same V/TO short-circuits without re-drafting). | Tenant | Call with the extracted V/TO \`text\` (and optional \`source_name\`). |
|
|
58137
58199
|
| \`rost_list_cascade_goals\` | \`goal.list\` | List Cascade goals, optionally by cycle or seat. | Seat or tenant-admin | Call with \`{}\` or \`{"cycle_id":"<id>"}\`. |
|
|
58138
58200
|
| \`rost_get_cascade_goal\` | \`goal.get\` | Get one goal's core detail and status by id. Seat-scoped callers may only read their own seat's goals. | Seat or tenant-admin | Call with \`{"goal_id":"<id>"}\`. |
|
|
58139
|
-
| \`rost_list_a_cascade_goals_signals\` | \`goal.list_measurables\` | List
|
|
58201
|
+
| \`rost_list_a_cascade_goals_signals\` | \`goal.list_measurables\` | List a goal's Signal bindings, split by role. \`bindings\` is the status-driving Signal (role drives_status; 0-or-1 per goal) with its current indicator and latest confirmed reading; \`informs_bindings\` is the informative indicators (role informs; many per goal), which never drive status. A Signal bound to a company objective is always informs, so it appears under \`informs_bindings\`. Read-only. | Seat or tenant-admin | Call with \`{"goal_id":"<id>"}\`. |
|
|
58140
58202
|
| \`rost_create_cascade_goal\` | \`goal.create\` | Create a Cascade goal. Default (no \`kind\`, or \`kind: "seat_goal"\`): a seat goal under an existing objective. \`kind: "company_objective"\` instead authors the Cascade ROOT. | Tenant; a company objective additionally requires an owner membership | Seat goal: call with cycle, seat, parent, title, definition of done, and an optional target date. Company objective: \`{"kind":"company_objective","cycle_id":"<id>","title":"\u2026","definition_of_done":"\u2026"}\` \u2014 pass NO \`seat_id\` and NO \`parent_goal_id\` (the root has neither; supplying either is rejected, not ignored). The anchor is resolved server-side, so there is no id to pass, and the tenant's active one_year horizon goal must already be set or the call fails with a precondition error. |
|
|
58141
58203
|
| \`rost_update_cascade_goal\` | \`goal.update\` | Update a goal's title or definition of done. | Tenant | Call with \`goal_id\` and the changed fields (title, definition of done, or target date). |
|
|
58142
58204
|
| \`rost_set_cascade_goal_status\` | \`goal.set_status\` | Set a goal's status (on/off/done). | Seat or tenant-admin | Seats may set only their own goals. |
|
|
@@ -64538,17 +64600,24 @@ ${lines.join("\n")}`;
|
|
|
64538
64600
|
function renderErrorList(output) {
|
|
64539
64601
|
const record2 = asRecord3(output);
|
|
64540
64602
|
const errors = asArray(record2.errors);
|
|
64603
|
+
const total = typeof record2.total === "number" ? record2.total : 0;
|
|
64541
64604
|
if (errors.length === 0) {
|
|
64542
|
-
return "No error logs matching the filter.";
|
|
64605
|
+
return total > 0 ? `No error logs on this page (showing 0 of ${total}).` : "No error logs matching the filter.";
|
|
64543
64606
|
}
|
|
64544
|
-
|
|
64607
|
+
const lines = errors.map((entry) => {
|
|
64545
64608
|
const r = asRecord3(entry);
|
|
64546
64609
|
const disposition = field2(r, "disposition");
|
|
64547
64610
|
const marker = disposition === "active" ? "*" : " ";
|
|
64548
64611
|
const severityLabel = field2(r, "severity").charAt(0).toUpperCase();
|
|
64549
|
-
|
|
64550
|
-
|
|
64551
|
-
|
|
64612
|
+
const occurrenceCount = r.occurrence_count;
|
|
64613
|
+
const occurrenceSuffix = typeof occurrenceCount === "number" && occurrenceCount > 1 ? ` x${occurrenceCount}` : "";
|
|
64614
|
+
return `${marker} ${field2(r, "error_log_id")} [${severityLabel}] ${field2(r, "source")} ${disposition} ${field2(r, "code")} ${field2(r, "message")} ${field2(r, "created_at")}${occurrenceSuffix}`;
|
|
64615
|
+
});
|
|
64616
|
+
const nextCursor = record2.next_cursor;
|
|
64617
|
+
const continuation = typeof nextCursor === "string" && nextCursor.length > 0 ? `
|
|
64618
|
+
More: rerun the same command with --cursor ${nextCursor} added` : "";
|
|
64619
|
+
return `${lines.join("\n")}
|
|
64620
|
+
Showing ${errors.length} of ${total}${continuation}`;
|
|
64552
64621
|
}
|
|
64553
64622
|
function renderErrorResolve(output) {
|
|
64554
64623
|
const record2 = asRecord3(output);
|