@rosthq/cli 0.6.2 → 0.6.4
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/command-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,EAAE,SAAS,oBAAoB,
|
|
1
|
+
{"version":3,"file":"command-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/command-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,gBAAgB,EAAE,SAAS,oBAAoB,EAyL3D,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -42403,7 +42403,7 @@ External connectors are being rolled out provider by provider, conservatively (r
|
|
|
42403
42403
|
order: 48,
|
|
42404
42404
|
title: "CLI and MCP installation guide",
|
|
42405
42405
|
summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
|
|
42406
|
-
version: "2026-07-01.
|
|
42406
|
+
version: "2026-07-01.3",
|
|
42407
42407
|
public: true,
|
|
42408
42408
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
42409
42409
|
stages: ["company_setup", "staffing"],
|
|
@@ -43056,6 +43056,9 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
43056
43056
|
| \`rost_correct_signal_reading\` | \`signal.correct_reading\` | Overwrite a reading with a human-confirmed value. | Seat or tenant-admin | Manual correction; expect confirmation. |
|
|
43057
43057
|
| \`rost_add_a_measurable\` | \`measurable.create\` | Add a measurable a seat owns (name, unit, direction, target, cadence). | Seat or tenant-admin | Call with \`{"seat_id":"<id>","name":"...","unit":"...","direction":"up_good","target":0,"cadence":"weekly"}\`. |
|
|
43058
43058
|
| \`rost_import_signals_from_csv\` | \`signal.import\` | Bulk-import measurable definitions + trailing historical readings from a parsed scorecard export (e.g. a ninety CSV). Owners resolve to seats; readings are human-confirmed; re-import upserts by (measurable, period, cadence); a cross-cadence row is reported and skipped, not overwritten. | Tenant | Call with the parsed \`measurables\` array. |
|
|
43059
|
+
| \`rost_list_measurable_templates\` | \`measurable_template.list\` | List the measurable template catalog (Sales/Finance/Ops/Marketing/HR) with unit, direction, cadence, and a suggested target. | Seat or tenant-admin | Call with \`{}\` or \`{"function":"sales"}\`. |
|
|
43060
|
+
| \`rost_adopt_a_measurable_template\` | \`measurable_template.adopt\` | Create a seat measurable from a catalog template (unit/direction/cadence from the template; target optionally overridden). Adoption is a human act \u2014 source is human. | Seat or tenant-admin | Call with \`{"template_id":"sales.new_qualified_leads","seat_id":"<id>"}\`. |
|
|
43061
|
+
| \`rost_read_the_scorecard_grid\` | \`scorecard.grid\` | Read the leadership scorecard trailing grid (rows = measurables of a cadence, columns = trailing periods, colour-coded cells) plus the computed Org-Checkup system-health measurables. | Seat or tenant-admin | Call with \`{}\` or \`{"cadence":"monthly","trailing":6}\`. |
|
|
43059
43062
|
| \`rost_discover_a_connection_for_signals\` | \`integration.discover\` | Read-only introspection of a connected source: returns non-secret metadata and a recipe skeleton to author a signal pull against. | Tenant | No network; call with \`{"integration_id":"<id>"}\`. |
|
|
43060
43063
|
| \`rost_preview_a_signal_source\` | \`signal.preview\` | Run a candidate recipe live but read-only against an allowlisted HTTPS source; returns the extracted value and a short-lived \`preview_token\`. Never mutates; the credential is resolved from the connection at execution and never stored in the recipe. | Tenant | Call with \`{"measurable_id":"<id>","integration_id":"<id>","recipe":{...}}\`. |
|
|
43061
43064
|
| \`rost_bind_a_signal_source_draft\` | \`signal.bind\` | Persist the validated recipe as an inert \`draft\` binding; requires the \`preview_token\` from a preview of the same recipe, so nothing is bound that was not first seen working. | Tenant | Call with \`{"measurable_id":"<id>","integration_id":"<id>","recipe":{...},"cadence":"weekly","preview_token":"<token>"}\`. |
|
|
@@ -43068,6 +43071,9 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
|
|
|
43068
43071
|
| \`rost_update_cascade_goal\` | \`goal.update\` | Update a goal's title or definition of done. | Tenant | Call with \`goal_id\` and the changed fields. |
|
|
43069
43072
|
| \`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. |
|
|
43070
43073
|
| \`rost_set_cascade_goal_progress\` | \`goal.set_progress\` | Report a goal's quantified progress (0-100). An agent's progress is a proposal a human approves before the goal moves. | Seat or tenant-admin | Seats set only their own goals; expect confirmation. |
|
|
43074
|
+
| \`rost_bind_a_signal_to_a_cascade_goal\` | \`goal.bind_measurable\` | Bind a measurable to a childless leaf goal so a confirmed reading can drive its status (drives_status). Rejected on a company objective or a goal with children. Human-gated. | Seat or tenant-admin | Call with \`{"goal_id":"<id>","measurable_id":"<id>"}\`; expect confirmation. |
|
|
43075
|
+
| \`rost_unbind_a_signal_from_a_cascade_goal\` | \`goal.unbind_measurable\` | Remove a goal\u2194measurable binding. | Seat or tenant-admin | Call with \`{"goal_id":"<id>","measurable_id":"<id>"}\`. |
|
|
43076
|
+
| \`rost_toggle_signal_driven_auto_status\` | \`goal.set_auto_status\` | Per-goal steward opt-in (default OFF) that lets the bound measurable's latest confirmed reading compute the goal's status. Enabling applies the current signal immediately. Human-gated. | Seat or tenant-admin | Call with \`{"goal_id":"<id>","enabled":true}\`; expect confirmation. |
|
|
43071
43077
|
| \`rost_list_at_risk_cascade_goals\` | \`goal.list_at_risk\` | List goals projected off pace (at-risk or projected-miss) with days behind pace. Read-only; status-only goals excluded. | Tenant | Call with \`{}\`. |
|
|
43072
43078
|
| \`rost_reparent_cascade_goal\` | \`goal.reparent\` | Move a goal under a new parent. | Tenant | Authority change; expect confirmation. |
|
|
43073
43079
|
| \`rost_drop_cascade_goal\` | \`goal.drop\` | Drop (retire) a goal, retained for audit. | Tenant | Expect confirmation. |
|
|
@@ -43574,7 +43580,7 @@ Retrieve the narrowest relevant guide before making a setup recommendation. Pref
|
|
|
43574
43580
|
order: 60,
|
|
43575
43581
|
title: "Cascade guide",
|
|
43576
43582
|
summary: "How to connect company goals to seat-level work without turning {{brand}} into a project-management tool.",
|
|
43577
|
-
version: "2026-
|
|
43583
|
+
version: "2026-07-01.1",
|
|
43578
43584
|
public: true,
|
|
43579
43585
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
43580
43586
|
stages: ["operating_rhythm"],
|
|
@@ -43590,6 +43596,9 @@ Retrieve the narrowest relevant guide before making a setup recommendation. Pref
|
|
|
43590
43596
|
"goal.list_at_risk",
|
|
43591
43597
|
"goal.reparent",
|
|
43592
43598
|
"goal.drop",
|
|
43599
|
+
"goal.bind_measurable",
|
|
43600
|
+
"goal.unbind_measurable",
|
|
43601
|
+
"goal.set_auto_status",
|
|
43593
43602
|
"compass.alignment",
|
|
43594
43603
|
"confirmation.approve"
|
|
43595
43604
|
],
|
|
@@ -43647,6 +43656,12 @@ A goal can carry a quantified progress (0-100) distinct from its on/off/done sta
|
|
|
43647
43656
|
|
|
43648
43657
|
On human and function seat pages, goal visibility includes both direct goals and descendant seat goals from the Responsibility Graph subtree, so a manager can review team progress without double-owning the agent's work.
|
|
43649
43658
|
|
|
43659
|
+
## Drive a goal's status from a Signal
|
|
43660
|
+
|
|
43661
|
+
A leaf goal's status can be computed from a bound measurable instead of set by hand. Bind a Signal with \`goal.bind_measurable\` (the goal must be a childless seat goal or milestone \u2014 a company objective or a goal with children rolls up from its children, so binding one is rejected). A goal can have at most one driving Signal.
|
|
43662
|
+
|
|
43663
|
+
Binding starts as an indicator only: nothing changes until a steward opts in with \`goal.set_auto_status --enabled true\`. Once opted in, the goal's status is computed from the measurable's latest confirmed reading against its target and direction \u2014 on target reads on-track, below target reads off-track. Only confirmed readings drive status; an agent's draft reading never auto-flips a goal. A human who sets the status by hand pins it, and that pin wins over the computed value until they change it or re-run \`goal.set_auto_status\`. Remove a binding with \`goal.unbind_measurable\`; the goal keeps its last status. Until a binding is opted in, an off-track Signal never raises an at-risk alert on its own.
|
|
43664
|
+
|
|
43650
43665
|
## What does not belong
|
|
43651
43666
|
|
|
43652
43667
|
Do not put every task into Cascade. Small errands, private notes, and work with no strategic connection should stay out. Cascade should answer whether the company is moving toward its stated outcomes.
|
|
@@ -43660,7 +43675,7 @@ Do not put every task into Cascade. Small errands, private notes, and work with
|
|
|
43660
43675
|
|
|
43661
43676
|
## When to stop for confirmation
|
|
43662
43677
|
|
|
43663
|
-
\`goal.reparent\` and \`goal.drop\` are \`human_required\`; \`goal.create\`, \`goal.set_status\`, and \`goal.update\` are \`none\`, so a seat can add goals and update their status directly. Moving or dropping a goal changes how the company reads its own progress, so it returns a pending confirmation over MCP. An agent proposes the branch and surfaces the approve link; a human decides.
|
|
43678
|
+
\`goal.reparent\` and \`goal.drop\` are \`human_required\`; \`goal.create\`, \`goal.set_status\`, and \`goal.update\` are \`none\`, so a seat can add goals and update their status directly. Moving or dropping a goal changes how the company reads its own progress, so it returns a pending confirmation over MCP. \`goal.bind_measurable\` and \`goal.set_auto_status\` are also \`human_required\` \u2014 letting a Signal drive a goal's status is a deliberate steward act \u2014 while \`goal.unbind_measurable\` is \`none\`. An agent proposes the branch and surfaces the approve link; a human decides.
|
|
43664
43679
|
|
|
43665
43680
|
## Agent guidance
|
|
43666
43681
|
|
|
@@ -43671,7 +43686,7 @@ Agents can suggest commitments and report progress. They should not create a new
|
|
|
43671
43686
|
order: 61,
|
|
43672
43687
|
title: "Signal guide",
|
|
43673
43688
|
summary: "How to define and read measurables so the company runs on evidence instead of status theater.",
|
|
43674
|
-
version: "2026-07-01.
|
|
43689
|
+
version: "2026-07-01.2",
|
|
43675
43690
|
public: true,
|
|
43676
43691
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
43677
43692
|
stages: ["operating_rhythm"],
|
|
@@ -43685,6 +43700,9 @@ Agents can suggest commitments and report progress. They should not create a new
|
|
|
43685
43700
|
"signal.correct_reading",
|
|
43686
43701
|
"measurable.create",
|
|
43687
43702
|
"signal.import",
|
|
43703
|
+
"measurable_template.list",
|
|
43704
|
+
"measurable_template.adopt",
|
|
43705
|
+
"scorecard.grid",
|
|
43688
43706
|
"integration.discover",
|
|
43689
43707
|
"signal.preview",
|
|
43690
43708
|
"signal.bind",
|
|
@@ -43734,6 +43752,14 @@ A human can run the whole loop from the Signal page. Each measurable has a "Log
|
|
|
43734
43752
|
|
|
43735
43753
|
To move off a spreadsheet or another operating tool, upload a scorecard export from the Signal page "Import from CSV" panel (the \`signal.import\` command, also available on CLI/MCP). Each row becomes a measurable owned by the seat whose name matches the row's owner, with its target, unit, direction, cadence, and trailing readings. Import is idempotent \u2014 re-importing upserts by period \u2014 and a row whose cadence conflicts with an existing measurable is reported and skipped, not overwritten.
|
|
43736
43754
|
|
|
43755
|
+
## Adopt a measurable template
|
|
43756
|
+
|
|
43757
|
+
Not sure which measurables to track? \`measurable_template.list\` returns a starter catalog grouped by function (Sales, Finance, Operations, Marketing, HR), each with a unit, direction, cadence, and suggested target. \`measurable_template.adopt\` instantiates one against a seat \u2014 the same write path as \`measurable.create\`, so the created measurable is a plain human-owned Signal you log against afterward. Adoption is a human act; the suggested target is just a starting point you can override.
|
|
43758
|
+
|
|
43759
|
+
## The leadership scorecard grid
|
|
43760
|
+
|
|
43761
|
+
The default \`/signal\` view is exception-first \u2014 it surfaces what is off track, at risk, or pending, so the team never stares at a wall of green. For a leadership review or the familiar weekly scorecard grid, toggle the trailing-grid view (\`scorecard.grid\`): rows are the measurables for a cadence (the classic 13-week weekly view, plus monthly, quarterly, and annual), columns are the trailing periods, and each cell is colour-coded against its target and direction. An empty period reads "no data", never a fabricated zero. The grid also surfaces the Org-Checkup measurables \u2014 charter coverage, measurable freshness, aging open issues, and peak steward load \u2014 computed on read from the operating data, so the scorecard is never empty even before a single reading is logged.
|
|
43762
|
+
|
|
43737
43763
|
## Auto-fill Signal from a connected source
|
|
43738
43764
|
|
|
43739
43765
|
Once a measurable's number lives in a connected system, you can teach {{brand}} the exact deterministic pull once and let it keep the measurable current. The flow is \`discover -> preview -> bind -> bind_confirm\`:
|
|
@@ -45974,13 +46000,16 @@ var COMMAND_MANIFEST = [
|
|
|
45974
46000
|
{ "id": "friction.list", "namespace": "friction", "action": "list", "title": "List Friction issues", "description": "List Friction issues ranked by status, impact, and severity. Defaults to active (open + diagnosing).", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "status", "flag": "status", "type": "enum", "required": false, "enumValues": ["open", "diagnosing", "resolved", "dropped", "active", "all"] }], "hasComplexInput": false, "help": "List Friction issues ranked by impact and severity to find the issue id before updating or resolving it." },
|
|
45975
46001
|
{ "id": "friction.resolve", "namespace": "friction", "action": "resolve", "title": "Resolve Friction issue", "description": "Resolve an issue with a root cause and remediation task. This records a human decision (decided_by) and creates the follow-up task in one transaction.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "issue_id", "flag": "issue-id", "type": "string", "required": true }, { "name": "root_cause", "flag": "root-cause", "type": "string", "required": true }, { "name": "owner_seat_id", "flag": "owner-seat-id", "type": "string", "required": true }, { "name": "task_title", "flag": "task-title", "type": "string", "required": true }, { "name": "task_description", "flag": "task-description", "type": "string", "required": true }, { "name": "done_by", "flag": "done-by", "type": "string", "required": true }, { "name": "resolving_seat_id", "flag": "resolving-seat-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Resolve an issue with a root cause and remediation task; resolution is a human decision." },
|
|
45976
46002
|
{ "id": "friction.update_status", "namespace": "friction", "action": "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.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "issue_id", "flag": "issue-id", "type": "string", "required": true }, { "name": "status", "flag": "status", "type": "enum", "required": true, "enumValues": ["open", "diagnosing"] }], "hasComplexInput": false, "help": "Move a non-terminal issue between open and diagnosing while it is being worked." },
|
|
46003
|
+
{ "id": "goal.bind_measurable", "namespace": "goal", "action": "bind_measurable", "title": "Bind a Signal to a Cascade goal", "description": "Bind a measurable to a goal as its status driver (role drives_status). Rejects a company objective or a goal with child goals (rollup is authoritative there). Auto-status starts OFF \u2014 the binding is a signal indicator until a steward opts in with goal.set_auto_status. Binding is human-gated.", "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 }], "hasComplexInput": false, "help": "Bind a Signal to a childless leaf goal so its status can be computed from a real number; rejects a company objective or a goal with children. Auto-status starts OFF (indicator only) until a steward opts in." },
|
|
45977
46004
|
{ "id": "goal.create", "namespace": "goal", "action": "create", "title": "Create Cascade goal", "description": "Create a cycle goal under an existing objective. The parent chain must terminate at a Compass objective in the same cycle (enforced server-side).", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "cycle_id", "flag": "cycle-id", "type": "string", "required": true }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "parent_goal_id", "flag": "parent-goal-id", "type": "string", "required": true }, { "name": "title", "flag": "title", "type": "string", "required": true }, { "name": "definition_of_done", "flag": "definition-of-done", "type": "string", "required": true }, { "name": "status", "flag": "status", "type": "enum", "required": false, "enumValues": ["on", "off"] }], "hasComplexInput": false, "help": "Create cycle goals under an existing objective; the parent chain must terminate at a Compass objective." },
|
|
45978
46005
|
{ "id": "goal.drop", "namespace": "goal", "action": "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).", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Drop a goal to retire a commitment; the goal is retained for audit and dropping is human-gated." },
|
|
45979
46006
|
{ "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, "help": "List Cascade goals to find goal ids, parentage, and seat ownership before mutating the tree." },
|
|
45980
46007
|
{ "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." },
|
|
45981
46008
|
{ "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." },
|
|
46009
|
+
{ "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." },
|
|
45982
46010
|
{ "id": "goal.set_progress", "namespace": "goal", "action": "set_progress", "title": "Set Cascade goal progress", "description": "Set a goal's quantified progress (0\u2013100). Seat-scoped callers may set progress only for their own goals. An agent's progress is a proposal a human approves before it lands.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "progress_pct", "flag": "progress-pct", "type": "integer", "required": true }], "hasComplexInput": false, "help": "Report a goal's quantified progress (0-100). An agent's progress is a proposal a human approves before the goal moves." },
|
|
45983
46011
|
{ "id": "goal.set_status", "namespace": "goal", "action": "set_status", "title": "Set Cascade goal status", "description": "Set a goal's status (on/off/done). Seat-scoped callers may set status only for their own goals.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "status", "flag": "status", "type": "enum", "required": true, "enumValues": ["on", "off", "done"] }], "hasComplexInput": false, "help": "Set a goal's status; seat tokens may only set status for their own goals." },
|
|
46012
|
+
{ "id": "goal.unbind_measurable", "namespace": "goal", "action": "unbind_measurable", "title": "Unbind a Signal from a Cascade goal", "description": "Remove a measurable's drives_status binding from a goal. The goal keeps its last status; unbinding only stops future signal-driven updates.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "measurable_id", "flag": "measurable-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Remove a Signal's drives_status binding from a goal; the goal keeps its last status and stops receiving signal-driven updates." },
|
|
45984
46013
|
{ "id": "goal.update", "namespace": "goal", "action": "update", "title": "Update Cascade goal", "description": "Update a goal's title or definition of done. Topology (parent/seat) and status have dedicated commands.", "requiredScope": "tenant_admin", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "goal_id", "flag": "goal-id", "type": "string", "required": true }, { "name": "title", "flag": "title", "type": "string", "required": false }, { "name": "definition_of_done", "flag": "definition-of-done", "type": "string", "required": false }], "hasComplexInput": false, "help": "Update a goal's title or definition of done; topology and status have dedicated commands." },
|
|
45985
46014
|
{ "id": "graph.get", "namespace": "graph", "action": "get", "title": "Get Responsibility Graph", "description": "Return the tenant's Responsibility Graph: seats, edges, root, occupants, and status rollups.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read the Responsibility Graph to discover seat ids, parentage, occupants, and status before mutating or routing work." },
|
|
45986
46015
|
{ "id": "integration.discover", "namespace": "integration", "action": "discover", "title": "Discover a connection for signals", "description": "Read-only introspection of a connected source for signal binding. Returns non-secret adapter metadata and a rest-for-signals recipe skeleton to author against signal.preview. Exposes no secrets.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "integration_id", "flag": "integration-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Read-only introspection of a connected source: returns non-secret metadata + a recipe skeleton to author a signal pull against. No network." },
|
|
@@ -45991,6 +46020,8 @@ var COMMAND_MANIFEST = [
|
|
|
45991
46020
|
{ "id": "mcp_token.create", "namespace": "mcp_token", "action": "create", "title": "Create MCP token", "description": "Mint a tenant-admin or seat-scoped MCP token.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "scope", "flag": "scope", "type": "enum", "required": true, "enumValues": ["tenant_admin", "seat"] }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "expires_at", "flag": "expires-at", "type": "string", "required": false }, { "name": "expires_in_days", "flag": "expires-in-days", "type": "integer", "required": false }], "hasComplexInput": false, "help": "Create MCP tokens with the narrowest scope needed, and tell agents where to retrieve reference docs." },
|
|
45992
46021
|
{ "id": "mcp_token.list", "namespace": "mcp_token", "action": "list", "title": "List MCP tokens", "description": "List MCP token metadata (id, scope, seat, created/last-used/revoked). Never returns token material.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "include_revoked", "flag": "include-revoked", "type": "boolean", "required": false }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "List MCP token metadata (never token material) to audit which seats hold active sessions." },
|
|
45993
46022
|
{ "id": "mcp_token.revoke", "namespace": "mcp_token", "action": "revoke", "title": "Revoke MCP token", "description": "Revoke an MCP token immediately.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "token_id", "flag": "token-id", "type": "string", "required": true }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Revoke MCP access when a local session ends or seat authority changes." },
|
|
46023
|
+
{ "id": "measurable_template.adopt", "namespace": "measurable_template", "action": "adopt", "title": "Adopt a measurable template", "description": "Create a seat measurable from a catalog template (unit/direction/cadence from the template; target optionally overridden). The seat owns it; readings attach afterward.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "template_id", "flag": "template-id", "type": "string", "required": true }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "target", "flag": "target", "type": "number", "required": false }], "hasComplexInput": false, "help": "Create a seat measurable from a catalog template (unit/direction/cadence from the template; target optionally overridden). Adoption is a human act \u2014 source is human." },
|
|
46024
|
+
{ "id": "measurable_template.list", "namespace": "measurable_template", "action": "list", "title": "List measurable templates", "description": "List the measurable template catalog (Sales/Finance/Ops/Marketing/HR) with unit, direction, cadence, and a suggested target. Adopt one with measurable_template.adopt.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "function", "flag": "function", "type": "enum", "required": false, "enumValues": ["sales", "finance", "operations", "marketing", "hr"] }], "hasComplexInput": false, "help": "List the measurable template catalog by function (Sales/Finance/Ops/Marketing/HR); adopt one with measurable_template.adopt to create a seat measurable." },
|
|
45994
46025
|
{ "id": "measurable.create", "namespace": "measurable", "action": "create", "title": "Add a measurable", "description": "Create a measurable (a Signal a seat owns) with its target, unit, direction, and cadence. The seat owns it; readings attach to the measurable. Source is 'human' \u2014 a human-defined measurable a human logs.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "name", "flag": "name", "type": "string", "required": true }, { "name": "unit", "flag": "unit", "type": "string", "required": true }, { "name": "direction", "flag": "direction", "type": "enum", "required": true, "enumValues": ["up_good", "down_good"] }, { "name": "target", "flag": "target", "type": "number", "required": true }, { "name": "cadence", "flag": "cadence", "type": "enum", "required": true, "enumValues": ["daily", "weekly", "monthly", "quarterly", "annual"] }], "hasComplexInput": false, "help": "Add a measurable a seat owns (name, unit, direction, target, cadence) before recording readings against it." },
|
|
45995
46026
|
{ "id": "member.invite", "namespace": "member", "action": "invite", "title": "Invite member", "description": "Create a pending tenant invite for a human teammate. The acceptance link is delivered out of band, not in the command result.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "email", "flag": "email", "type": "string", "required": true }, { "name": "role", "flag": "role", "type": "enum", "required": true, "enumValues": ["owner", "steward", "member"] }, { "name": "byo_key", "flag": "byo-key", "type": "boolean", "required": false }], "hasComplexInput": false, "help": "Invite humans to the company by seat-aware role; the invite token is never returned over CLI or MCP." },
|
|
45996
46027
|
{ "id": "member.remove", "namespace": "member", "action": "remove", "title": "Remove member", "description": "Remove a tenant member. Blocked when it would orphan an agent steward chain.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "member_id", "flag": "member-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Remove a member; the no-orphan-agent guard blocks removing the only steward in an agent chain." },
|
|
@@ -46012,6 +46043,7 @@ var COMMAND_MANIFEST = [
|
|
|
46012
46043
|
{ "id": "runner.repair", "namespace": "runner", "action": "repair", "title": "Runner repair guidance", "description": "Returns actionable repair steps for a runner: restart, re-pair, revoke stale, or install missing CLI runtime. No secrets exposed.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "runner_id", "flag": "runner-id", "type": "string", "required": true }, { "name": "issue", "flag": "issue", "type": "enum", "required": false, "enumValues": ["restart", "re_pair", "revoke_stale", "missing_cli_runtime"] }], "hasComplexInput": false, "help": "Get focused repair steps for a runner: restart, re-pair, revoke a stale runner, or install missing CLI runtime." },
|
|
46013
46044
|
{ "id": "runner.revoke", "namespace": "runner", "action": "revoke", "title": "Revoke runner", "description": "Revoke a runner so it can no longer authenticate or claim work.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "runner_id", "flag": "runner-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Revoke a runner when a machine should no longer authenticate or claim work; this is a human-gated action." },
|
|
46014
46045
|
{ "id": "runner.status", "namespace": "runner", "action": "status", "title": "Runner status", "description": "Read a single runner's capability and online/offline/revoked state.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "runner_id", "flag": "runner-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Check a runner's capability and heartbeat state when diagnosing offline work." },
|
|
46046
|
+
{ "id": "scorecard.grid", "namespace": "scorecard", "action": "grid", "title": "Read the scorecard grid", "description": "Return the leadership scorecard trailing grid: rows are measurables of a cadence (default weekly), columns are the trailing N periods with a colour-coded cell per period, plus the computed Org-Checkup system-health measurables. Seat-scoped callers see only their own seat.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "cadence", "flag": "cadence", "type": "enum", "required": false, "enumValues": ["daily", "weekly", "monthly", "quarterly", "annual"] }, { "name": "trailing", "flag": "trailing", "type": "integer", "required": false }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "as_of", "flag": "as-of", "type": "string", "required": false }], "hasComplexInput": false, "help": "Read the leadership scorecard trailing grid (rows = measurables of a cadence, columns = trailing periods, colour-coded cells) plus the computed Org-Checkup system-health measurables. Keep exception-first as the default view." },
|
|
46015
46047
|
{ "id": "seat.create", "namespace": "seat", "action": "create", "title": "Create seat", "description": "Create a Responsibility Graph seat.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "name", "flag": "name", "type": "string", "required": true }, { "name": "parent_seat_id", "flag": "parent-seat-id", "type": "string", "required": false }, { "name": "seat_type", "flag": "seat-type", "type": "enum", "required": false, "enumValues": ["human", "agent", "hybrid"] }], "hasComplexInput": false, "help": "Create seats from functions before assigning people or agents." },
|
|
46016
46048
|
{ "id": "seat.decommission", "namespace": "seat", "action": "decommission", "title": "Decommission seat", "description": "Retire a seat: end occupancies, archive the active charter, revoke seat tokens/credentials, cancel schedules, and emit a tombstone event. Blocks if it would leave another live agent without a human steward chain.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Retiring a seat ends occupancies, archives the active Charter, revokes seat tokens and credentials, and emits a tombstone event. No-orphan guarded. To retire only the agent and keep the seat, use agent.decommission." },
|
|
46017
46049
|
{ "id": "seat.decommission_preview", "namespace": "seat", "action": "decommission_preview", "title": "Preview seat decommission", "description": "Show exactly what retiring a seat would end, revoke, archive, or expire without mutating state. The no-orphan steward guard is still checked when the real decommission executes.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Preview the occupancies, agents, Charter versions, tokens, credentials, work orders, and schedules that seat.decommission would affect without mutating state." },
|