@rosthq/cli 0.7.168 → 0.7.170
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 +71 -27
- package/dist/index.js.map +3 -3
- 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"] },
|
|
@@ -31630,6 +31630,15 @@ var toolPolicyGetOutputSchema = external_exports.object({
|
|
|
31630
31630
|
tool_policy: storedTenantToolPolicySchema
|
|
31631
31631
|
}).strict();
|
|
31632
31632
|
|
|
31633
|
+
// ../../packages/protocol/src/credential-identity.ts
|
|
31634
|
+
var CREDENTIAL_IDENTITY_STATUSES = [
|
|
31635
|
+
"unverified",
|
|
31636
|
+
"verified",
|
|
31637
|
+
"mismatch",
|
|
31638
|
+
"unresolvable"
|
|
31639
|
+
];
|
|
31640
|
+
var credentialIdentityStatusSchema = external_exports.enum(CREDENTIAL_IDENTITY_STATUSES);
|
|
31641
|
+
|
|
31633
31642
|
// ../../packages/protocol/src/agent-capability-enforcement.ts
|
|
31634
31643
|
var capabilityClassSchema = external_exports.enum([
|
|
31635
31644
|
"connector",
|
|
@@ -33809,15 +33818,6 @@ var integrationReadinessOutputSchema = external_exports.object({
|
|
|
33809
33818
|
connectors: external_exports.array(integrationReadinessConnectorSchema)
|
|
33810
33819
|
}).strict();
|
|
33811
33820
|
|
|
33812
|
-
// ../../packages/protocol/src/credential-identity.ts
|
|
33813
|
-
var CREDENTIAL_IDENTITY_STATUSES = [
|
|
33814
|
-
"unverified",
|
|
33815
|
-
"verified",
|
|
33816
|
-
"mismatch",
|
|
33817
|
-
"unresolvable"
|
|
33818
|
-
];
|
|
33819
|
-
var credentialIdentityStatusSchema = external_exports.enum(CREDENTIAL_IDENTITY_STATUSES);
|
|
33820
|
-
|
|
33821
33821
|
// ../../packages/protocol/src/display-label.ts
|
|
33822
33822
|
var tenantIdSchema = external_exports.uuid();
|
|
33823
33823
|
var seatIdSchema = external_exports.uuid();
|
|
@@ -40201,8 +40201,31 @@ var errorLogListInputSchema = external_exports.object({
|
|
|
40201
40201
|
source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).optional(),
|
|
40202
40202
|
severity: external_exports.enum(["warning", "error", "critical"]).optional(),
|
|
40203
40203
|
resolved: external_exports.enum(["active", "acknowledged", "resolved", "all"]).default("active"),
|
|
40204
|
-
limit: external_exports.number().int().min(1).max(200).default(50)
|
|
40205
|
-
|
|
40204
|
+
limit: external_exports.number().int().min(1).max(200).default(50),
|
|
40205
|
+
// Enumeration order. `triage` ranks a top-N by severity for display and has no
|
|
40206
|
+
// stable position to page from; `chronological` walks the immutable
|
|
40207
|
+
// (created_at, id) pair. Supplying `cursor` implies `chronological`.
|
|
40208
|
+
//
|
|
40209
|
+
// DER-3761: deliberately `.optional()`, NOT `.default("triage")`. A Zod
|
|
40210
|
+
// default is indistinguishable from an explicit value once parsed, so
|
|
40211
|
+
// `listErrorLogs`'s guard against `order:"triage"` + `cursor` (an explicit
|
|
40212
|
+
// opt-out, which must still be rejected) could not tell "defaulted triage"
|
|
40213
|
+
// from "the caller explicitly asked for triage" — which broke the
|
|
40214
|
+
// documented cursor-implies-chronological contract for every production
|
|
40215
|
+
// caller (they all parse through this schema first). Omitting `order`
|
|
40216
|
+
// means triage — the effective default lives in listErrorLogs, not here.
|
|
40217
|
+
order: external_exports.enum(["triage", "chronological"]).optional(),
|
|
40218
|
+
// Opaque keyset cursor from a previous page's next_cursor.
|
|
40219
|
+
cursor: external_exports.string().min(1).max(200).optional()
|
|
40220
|
+
}).strict().superRefine((value, ctx) => {
|
|
40221
|
+
if (value.order === "triage" && value.cursor !== void 0) {
|
|
40222
|
+
ctx.addIssue({
|
|
40223
|
+
code: external_exports.ZodIssueCode.custom,
|
|
40224
|
+
path: ["cursor"],
|
|
40225
|
+
message: 'A cursor is only valid with order=chronological. Omit order (or pass order="chronological") when supplying a cursor.'
|
|
40226
|
+
});
|
|
40227
|
+
}
|
|
40228
|
+
});
|
|
40206
40229
|
var errorLogListItemSchema = external_exports.object({
|
|
40207
40230
|
error_log_id: uuidSchema24,
|
|
40208
40231
|
source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
|
|
@@ -40220,11 +40243,13 @@ var errorLogListItemSchema = external_exports.object({
|
|
|
40220
40243
|
linked_issue_id: uuidSchema24.nullable(),
|
|
40221
40244
|
linked_pr_ref: external_exports.string().nullable(),
|
|
40222
40245
|
superseded_by_id: uuidSchema24.nullable(),
|
|
40223
|
-
created_at: isoDateTime8
|
|
40246
|
+
created_at: isoDateTime8,
|
|
40247
|
+
occurrence_count: external_exports.number().int().positive()
|
|
40224
40248
|
}).strict();
|
|
40225
40249
|
var errorLogListOutputSchema = external_exports.object({
|
|
40226
40250
|
errors: external_exports.array(errorLogListItemSchema),
|
|
40227
|
-
total: external_exports.number().int().nonnegative()
|
|
40251
|
+
total: external_exports.number().int().nonnegative(),
|
|
40252
|
+
next_cursor: external_exports.string().nullable()
|
|
40228
40253
|
}).strict();
|
|
40229
40254
|
var errorLogResolveInputSchema = external_exports.object({
|
|
40230
40255
|
error_log_id: uuidSchema24,
|
|
@@ -54724,7 +54749,7 @@ var COMMAND_MANIFEST = [
|
|
|
54724
54749
|
{ "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
54750
|
{ "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
54751
|
{ "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." },
|
|
54752
|
+
{ "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
54753
|
{ "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
54754
|
{ "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
54755
|
{ "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." },
|
|
@@ -57239,7 +57264,19 @@ External connectors are being rolled out provider by provider, conservatively (r
|
|
|
57239
57264
|
// pre-DER-3341 stored row without re-consulting that rule and persists a
|
|
57240
57265
|
// genuinely new row. Either way it resolves to the general `/approvals`
|
|
57241
57266
|
// queue, which is where the table row below says it lands.
|
|
57242
|
-
|
|
57267
|
+
// DER-3761: error_log.list gained keyset pagination — `order` (default
|
|
57268
|
+
// `triage`, no pagination) vs `chronological` (walks (created_at, id) and
|
|
57269
|
+
// returns `next_cursor`), plus `cursor` and `occurrence_count`. Updated the
|
|
57270
|
+
// `{{cli}} error list|resolve|supersede` and `rost_list_error_logs` rows to
|
|
57271
|
+
// describe the drain past the top-N.
|
|
57272
|
+
//
|
|
57273
|
+
// DER-3761 (P2 review fix): the drain examples above claimed "full log" /
|
|
57274
|
+
// "every error" but omitted `resolved`, which defaults to `"active"` — so
|
|
57275
|
+
// a tenant with acknowledged/resolved/superseded rows following those
|
|
57276
|
+
// instructions verbatim got only the active ones. Both drain examples now
|
|
57277
|
+
// pass `--resolved all` / `"resolved":"all"` so the copy matches what the
|
|
57278
|
+
// example actually does.
|
|
57279
|
+
version: "2026-08-13.2",
|
|
57243
57280
|
public: true,
|
|
57244
57281
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
57245
57282
|
stages: ["company_setup", "staffing"],
|
|
@@ -57883,7 +57920,7 @@ The signed-in app exposes the same Skill command surface at **Skills**, linked f
|
|
|
57883
57920
|
| \`{{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
57921
|
| \`{{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
57922
|
| \`{{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"\` |
|
|
57923
|
+
| \`{{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
57924
|
| \`{{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
57925
|
| \`{{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
57926
|
| \`{{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 +58123,7 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
58086
58123
|
| \`rost_update_notification_settings\` | \`notification.settings.update\` | Update tenant notification preferences. | Tenant | Call with the fields to change. |
|
|
58087
58124
|
| \`rost_send_test_notification\` | \`notification.test\` | Emit an in-app test notification to the acting human. | Tenant | Call with \`{}\`. |
|
|
58088
58125
|
| \`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
|
|
58126
|
+
| \`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
58127
|
| \`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
58128
|
| \`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
58129
|
| \`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\`. |
|
|
@@ -59451,7 +59488,7 @@ A command carrying any of these risk categories always asks a human, even under
|
|
|
59451
59488
|
order: 72,
|
|
59452
59489
|
title: "Settings guide",
|
|
59453
59490
|
summary: "How to use Settings as the control plane for company access, channels, providers, tokens, and operating defaults.",
|
|
59454
|
-
version: "2026-08-
|
|
59491
|
+
version: "2026-08-13.1",
|
|
59455
59492
|
public: true,
|
|
59456
59493
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
59457
59494
|
stages: ["company_setup", "staffing"],
|
|
@@ -59504,7 +59541,7 @@ Google production verification is a roadmap item planned after the first 100 use
|
|
|
59504
59541
|
|
|
59505
59542
|
Reconnects keep historical rows for audit, but provider status in Settings, CLI, and MCP prefers the current connected row first, then the latest error or disconnected row.
|
|
59506
59543
|
|
|
59507
|
-
When a connection's credential authenticates as an account that does not match the one on record, the Settings card's description text warns that the connection authenticated as the wrong account; the connected/needs attention badge above it does not change, because the badge reflects connection
|
|
59544
|
+
When a connection's credential authenticates as an account that does not match the one on record, the Settings card's description text warns that the connection authenticated as the wrong account; the connected/needs attention badge above it does not change for that reason, because the badge reflects connection and credential presence and never reads identity state. The remedy the description offers is to reconnect as the account the connection is recorded against: testing a stable mismatch again only records the same mismatch, and accepting the newly reported account is not yet offered from the card. Once the identity is verified again \u2014 because a later check resolves the recorded account, or because the newly reported account is accepted \u2014 the description drops that warning and, matching the connection's test history, either reports that identity was verified and asks for a fresh test or simply asks you to test the connection to confirm access; it never treats the verification alone as proof the connection works, because establishing who a credential belongs to is not evidence that it does. For the same reason, a passing test older than the most recent identity verification stops counting as current, and the description asks you to test again rather than reporting the stale pass. An identity the provider contradicts, or one it declined to report, keeps the description's warning even when an earlier test passed. The agent-setup card's Google connection readiness badge works differently from the Settings badge: it folds connection, credential presence, test, and identity state together, so any row whose active credential is gone reads **Credential missing \u2014 reconnect** \u2014 whether the row reads connected or needs attention, and checked ahead of every other state, because nothing can execute without a credential \u2014 with its Test connection action disabled until you reconnect; the same identity risk that leaves the Settings badge untouched can turn that badge to **Needs attention**, and once the risk clears without a current passing test it can read **Connected, not tested**. Note that \`integration.readiness\` does not read identity state yet: its connection-test check reports the stored test result on its own, so a connection with an identity warning on Settings, or a **Needs attention** agent-setup readiness badge, can still report as tested to CLI and MCP until it is tested again.
|
|
59508
59545
|
|
|
59509
59546
|
## Sync Brief scope
|
|
59510
59547
|
|
|
@@ -60667,7 +60704,7 @@ This worked document **omits** \`unanswered_boundaries\` and \`seat_type_recomme
|
|
|
60667
60704
|
order: 43,
|
|
60668
60705
|
title: "Agent builder guide",
|
|
60669
60706
|
summary: "The full agent setup sequence on the CLI/MCP path \u2014 seat, steward, job, boundaries, tools, credentials, model, schedule, dry-run, go-live \u2014 with the structured model config and access tiers.",
|
|
60670
|
-
version: "2026-
|
|
60707
|
+
version: "2026-08-13.1",
|
|
60671
60708
|
public: true,
|
|
60672
60709
|
audiences: ["cli", "mcp", "in_app_agent"],
|
|
60673
60710
|
stages: ["staffing"],
|
|
@@ -60715,7 +60752,7 @@ Building teams of controlled agent workers is the product's core differentiator.
|
|
|
60715
60752
|
3. **Job** \u2014 what the seat owns. On \`agent.create_custom\` this is the operational answers (what it owns, what success looks like, what it must never do alone); for a strong contract, submit the full Charter directly via \`charter.update_draft\` (see the charter-authoring deep-dive).
|
|
60716
60753
|
4. **Boundaries** \u2014 the Charter's \`decision_authority\` (can-do / must-ask / never / escalate), \`escalation_rules\`, and \`budget\`. Conservative by default: send/spend/irreversible actions are approval-gated or escalated.
|
|
60717
60754
|
5. **Tools** \u2014 pick from the discoverable catalog (\`{{cli}} tools list\`); each tool has a default scope tier and access policy. Connect or decline via \`agent.configure_tools\`. Selecting a tool records permission; live handlers execute later only behind the signed manifest, server guard, required credential or binding, and connector-specific approval boundary.
|
|
60718
|
-
6. **Credentials and provider readiness** \u2014 a tool that needs access declares a credential-ingress request (provider, scope, secret name). The secret itself flows through the vault-backed ingress command as a vault ref \u2014 never paste a secret into a builder command. For Google-backed tools, inspect the provider readiness shown in Settings or the builder: not connected, connected but untested, connected and tested, or failed. Use \`integration.test\` / \`rost_test_integration_connection\` or the builder Test connection action to refresh the same safe status facts;
|
|
60755
|
+
6. **Credentials and provider readiness** \u2014 a tool that needs access declares a credential-ingress request (provider, scope, secret name). The secret itself flows through the vault-backed ingress command as a vault ref \u2014 never paste a secret into a builder command. For Google-backed tools, inspect the provider readiness shown in Settings or the builder: not connected, missing a credential (reported for a connected or a failing row alike), connected but untested, connected and tested, or failed. Use \`integration.test\` / \`rost_test_integration_connection\` or the builder Test connection action to refresh the same safe status facts; the builder's Test connection action is disabled with an explanatory note while the credential is missing, since there is nothing to test until you reconnect. Do not infer authorization from a connected credential.
|
|
60719
60756
|
7. **Operating instructions** \u2014 the runtime composes the agent's context from its Charter; you do not write a system prompt.
|
|
60720
60757
|
8. **Model** \u2014 select the structured model config (see below). Read \`{{cli}} model list\` / \`model.catalog\` first when you are unsure; it returns the recommended default, effort, token price estimates, cost band, and best-fit work for each tier. If \`agent.create_custom\` omits \`model_config\`, {{brand}} recommends a tier from the supplied responsibility answers.
|
|
60721
60758
|
9. **Heartbeat** \u2014 set the schedule (\`schedule_cron\`) for a recurring agent; a live scheduled agent must keep a steward chain.
|
|
@@ -64538,17 +64575,24 @@ ${lines.join("\n")}`;
|
|
|
64538
64575
|
function renderErrorList(output) {
|
|
64539
64576
|
const record2 = asRecord3(output);
|
|
64540
64577
|
const errors = asArray(record2.errors);
|
|
64578
|
+
const total = typeof record2.total === "number" ? record2.total : 0;
|
|
64541
64579
|
if (errors.length === 0) {
|
|
64542
|
-
return "No error logs matching the filter.";
|
|
64580
|
+
return total > 0 ? `No error logs on this page (showing 0 of ${total}).` : "No error logs matching the filter.";
|
|
64543
64581
|
}
|
|
64544
|
-
|
|
64582
|
+
const lines = errors.map((entry) => {
|
|
64545
64583
|
const r = asRecord3(entry);
|
|
64546
64584
|
const disposition = field2(r, "disposition");
|
|
64547
64585
|
const marker = disposition === "active" ? "*" : " ";
|
|
64548
64586
|
const severityLabel = field2(r, "severity").charAt(0).toUpperCase();
|
|
64549
|
-
|
|
64550
|
-
|
|
64551
|
-
|
|
64587
|
+
const occurrenceCount = r.occurrence_count;
|
|
64588
|
+
const occurrenceSuffix = typeof occurrenceCount === "number" && occurrenceCount > 1 ? ` x${occurrenceCount}` : "";
|
|
64589
|
+
return `${marker} ${field2(r, "error_log_id")} [${severityLabel}] ${field2(r, "source")} ${disposition} ${field2(r, "code")} ${field2(r, "message")} ${field2(r, "created_at")}${occurrenceSuffix}`;
|
|
64590
|
+
});
|
|
64591
|
+
const nextCursor = record2.next_cursor;
|
|
64592
|
+
const continuation = typeof nextCursor === "string" && nextCursor.length > 0 ? `
|
|
64593
|
+
More: rerun the same command with --cursor ${nextCursor} added` : "";
|
|
64594
|
+
return `${lines.join("\n")}
|
|
64595
|
+
Showing ${errors.length} of ${total}${continuation}`;
|
|
64552
64596
|
}
|
|
64553
64597
|
function renderErrorResolve(output) {
|
|
64554
64598
|
const record2 = asRecord3(output);
|