@rosthq/cli 0.5.0 → 0.5.1
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/index.js +30 -11
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
- package/prompts/how-tos/human-confirmations.md +1 -0
package/dist/index.js
CHANGED
|
@@ -41585,11 +41585,11 @@ The Compass is drafted, then activated by a human through supersession.
|
|
|
41585
41585
|
order: 20,
|
|
41586
41586
|
title: "Responsibility Graph playbook",
|
|
41587
41587
|
summary: "How to build a functions-first graph with seats, owners, Stewards, vacancies, and clean authority.",
|
|
41588
|
-
version: "2026-06-
|
|
41588
|
+
version: "2026-06-17.1",
|
|
41589
41589
|
public: true,
|
|
41590
41590
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
41591
41591
|
stages: ["graph_design", "staffing"],
|
|
41592
|
-
relatedCommandIds: ["seat.create", "seat.rename", "seat.reparent", "seat.set_type", "staffing.assign_user", "graph.get", "seat.get", "confirmation.approve", "confirmation.reject"],
|
|
41592
|
+
relatedCommandIds: ["seat.create", "seat.rename", "seat.reparent", "seat.set_type", "seat.decommission", "staffing.assign_user", "graph.get", "seat.get", "confirmation.approve", "confirmation.reject"],
|
|
41593
41593
|
legal: {
|
|
41594
41594
|
publicRisk: "low",
|
|
41595
41595
|
notes: [
|
|
@@ -41628,6 +41628,10 @@ Agent creation is a first-class graph action. From a seat in the Responsibility
|
|
|
41628
41628
|
|
|
41629
41629
|
Each entry opens the same conservative setup flow \u2014 seat placement, Steward, draft Charter, manifest sign-off, sandbox dry run, and human go-live \u2014 with the graph seat prefilled as the parent and its Steward chain offered as the default Steward. In the public read-only demo the control is omitted; it never starts a write you cannot finish.
|
|
41630
41630
|
|
|
41631
|
+
## Read the graph in the app
|
|
41632
|
+
|
|
41633
|
+
The graph canvas fits the whole structure into the frame when it opens and refits whenever the frame changes \u2014 opening a side panel, resizing the window, or rotating a phone. Zoom moves between three altitudes: a constellation of seat dots when zoomed out, seat cards at the working zoom, and charter detail when zoomed in. Seat cards stay legible on small screens, and the canvas is the one always-dark surface in the otherwise light app. Search the toolbar to fly to any seat by name.
|
|
41634
|
+
|
|
41631
41635
|
## First-pass structure
|
|
41632
41636
|
|
|
41633
41637
|
Start with the operating root, then major functions, then the few seats that own the most important recurring work. Do not over-model. A graph with eight clear seats is better than a graph with thirty vague boxes.
|
|
@@ -41666,9 +41670,19 @@ Then mutate with the smallest change. Create returns the new \`seat_id\`:
|
|
|
41666
41670
|
|
|
41667
41671
|
Rename, reparent, and set-type take an existing \`seat_id\`. The MCP aliases are \`rost_create_seat\`, \`rost_rename_seat\`, \`rost_reparent_seat\`, \`rost_set_seat_type\`.
|
|
41668
41672
|
|
|
41673
|
+
## Decommission a seat
|
|
41674
|
+
|
|
41675
|
+
Retiring a seat is a single audited action. In the app it is the \`Let go\` control on the seat page; on the CLI/MCP path it is the \`seat.decommission\` command:
|
|
41676
|
+
|
|
41677
|
+
\`\`\`bash
|
|
41678
|
+
{{cli}} command seat.decommission --json '{"seat_id":"<seat-id>"}'
|
|
41679
|
+
\`\`\`
|
|
41680
|
+
|
|
41681
|
+
It ends every occupancy, archives the seat's active Charter, revokes the seat's MCP tokens and credentials, cancels any agent schedules, and marks the agent and seat decommissioned with a tombstone event \u2014 one transaction, one audit row. It is \`human_required\` and no-orphan guarded: an interactive human runs it directly; an agent or non-interactive caller is deferred to a human confirmation, and if retiring the seat would leave another live agent without a human Steward chain, the whole change rolls back. To retire only the agent and keep the seat available for re-staffing, use \`agent.decommission\` (the seat-page agent operations panel) instead.
|
|
41682
|
+
|
|
41669
41683
|
## When to stop for confirmation
|
|
41670
41684
|
|
|
41671
|
-
\`seat.create\`, \`seat.rename\`, \`seat.reparent\`, and \`seat.
|
|
41685
|
+
\`seat.create\`, \`seat.rename\`, \`seat.reparent\`, \`seat.set_type\`, and \`seat.decommission\` are \`human_required\`. Over MCP they return a pending confirmation with an approve link instead of mutating; the human approves with \`confirmation.approve\`. Never approve your own structural change from an agent session \u2014 surface the pending confirmation to a human. When a seat-targeted command does execute, its audit row is scoped to that seat (queryable by \`seat_id\`); on the deferred MCP path the executed audit is recorded against the human's \`confirmation.approve\`. See the confirmations guide.
|
|
41672
41686
|
|
|
41673
41687
|
## Agent guidance
|
|
41674
41688
|
|
|
@@ -41880,6 +41894,8 @@ Every mode ends at the same conservative gates, shown at each step:
|
|
|
41880
41894
|
|
|
41881
41895
|
After creation and after go-live, the flow returns you to the graph with the new agent selected.
|
|
41882
41896
|
|
|
41897
|
+
Reopening the builder for a seat whose agent is already live shows its live state \u2014 the same active Charter and passed dry run the CLI and MCP report (\`agent.status\`, \`charter.get\`) \u2014 rather than a disabled draft go-live. If you have started a new revision, the builder shows "live charter vN active; draft vN+1 in progress" so the live agent and the amendment-in-flight are both visible. The web, CLI, and MCP surfaces always read the same charter for a seat.
|
|
41898
|
+
|
|
41883
41899
|
## If something blocks you
|
|
41884
41900
|
|
|
41885
41901
|
- No valid Steward: the draft is created, but occupancy and go-live stay blocked until a human Steward exists. Add one and continue. Naming a brand-new seat and adding an agent to it works even before you choose a Steward \u2014 a tenant owner can create the draft, and the Steward step comes next; go-live stays blocked until the Steward chain resolves to a real person.
|
|
@@ -41893,7 +41909,7 @@ In read-only or demo mode the **Add agent** affordance is disabled or routes to
|
|
|
41893
41909
|
order: 42,
|
|
41894
41910
|
title: "Design a custom agent",
|
|
41895
41911
|
summary: "How to build a custom agent from operational questions through the Charter Builder, tools, dry run, and go-live without writing prompts.",
|
|
41896
|
-
version: "2026-06-
|
|
41912
|
+
version: "2026-06-17.1",
|
|
41897
41913
|
public: true,
|
|
41898
41914
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
41899
41915
|
stages: ["staffing", "charter_design"],
|
|
@@ -41935,7 +41951,7 @@ Lane and schedule stay advanced unless the work needs them.
|
|
|
41935
41951
|
|
|
41936
41952
|
## Configure tools and credentials
|
|
41937
41953
|
|
|
41938
|
-
Propose tools, then connect or decline each one. Declining updates the permission manifest and the dry-run task so the agent still operates safely or clearly explains the blocker. Credentials are entered through write-only credential ingress and stored as vault references; raw secrets never appear in prompts, logs, or tool arguments.
|
|
41954
|
+
Propose tools, then connect or decline each one. Declining updates the permission manifest and the dry-run task so the agent still operates safely or clearly explains the blocker. Credentials are entered through write-only credential ingress and stored as vault references; raw secrets never appear in prompts, logs, or tool arguments. When a connected tool needs a credential, you stage a request with a short credential *name* \u2014 a label only. The name and its scope are validated to reject pasted secret material, so a key can never reach the append-only event log; you provide the secret itself later through the vault-backed ingress flow.
|
|
41939
41955
|
|
|
41940
41956
|
## From CLI or MCP
|
|
41941
41957
|
|
|
@@ -41949,7 +41965,7 @@ The same path is command-backed:
|
|
|
41949
41965
|
|
|
41950
41966
|
## Dry run and go-live
|
|
41951
41967
|
|
|
41952
|
-
The agent rehearses a representative task in a sandbox and is expected to escalate where the Charter requires it. A failed dry run keeps the draft and shows the reason so you can edit and rerun. When the dry run passes, a human promotes the agent live.
|
|
41968
|
+
The agent rehearses a representative task in a sandbox and is expected to escalate where the Charter requires it. A failed dry run keeps the draft and shows the reason so you can edit and rerun. When the dry run passes, a human promotes the agent live. The dry run rehearses the specific model tier you chose, so once it passes the model is locked \u2014 changing the model requires re-running the dry run on the new model before go-live.
|
|
41953
41969
|
|
|
41954
41970
|
## When to stop for confirmation
|
|
41955
41971
|
|
|
@@ -41960,7 +41976,7 @@ The agent rehearses a representative task in a sandbox and is expected to escala
|
|
|
41960
41976
|
order: 80,
|
|
41961
41977
|
title: "Sync rhythm playbook",
|
|
41962
41978
|
summary: "How Signal, Friction, Cascade, and Sync Briefs turn weekly meetings into decision time.",
|
|
41963
|
-
version: "2026-06-
|
|
41979
|
+
version: "2026-06-17.1",
|
|
41964
41980
|
public: true,
|
|
41965
41981
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
41966
41982
|
stages: ["operating_rhythm"],
|
|
@@ -42005,6 +42021,8 @@ The Sync Brief should answer:
|
|
|
42005
42021
|
- Which agent escalations are aging?
|
|
42006
42022
|
- Which goals lack current evidence?
|
|
42007
42023
|
|
|
42024
|
+
On screen the brief reads in plain terms: Signal exceptions, goal progress, task review, ranked Friction, and agent activity. Where a section has no source data, it lists gaps to confirm \u2014 the missing inputs a human should know about before the meeting \u2014 rather than a blank section.
|
|
42025
|
+
|
|
42008
42026
|
## During Sync
|
|
42009
42027
|
|
|
42010
42028
|
Start with the exceptions, not a tour of every seat. Resolve the highest-value Friction first. Convert decisions into handoffs with owners and dates. Clarify Charters when ownership is ambiguous.
|
|
@@ -42215,7 +42233,7 @@ Agents should explain the job, the required tool category, the minimum permissio
|
|
|
42215
42233
|
order: 48,
|
|
42216
42234
|
title: "CLI and MCP installation guide",
|
|
42217
42235
|
summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
|
|
42218
|
-
version: "2026-06-
|
|
42236
|
+
version: "2026-06-17.2",
|
|
42219
42237
|
public: true,
|
|
42220
42238
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
42221
42239
|
stages: ["company_setup", "staffing"],
|
|
@@ -42394,9 +42412,9 @@ Tenant-admin tokens can run onboarding and tenant setup commands. Seat-scoped to
|
|
|
42394
42412
|
| \`{{cli}} login --device\` | Device-code login for a headless agent: prints a short code + URL, a human approves in any browser, the CLI polls until authorized \u2014 no browser session needed on the agent's machine. | User session | \`{{cli}} login --device\` |
|
|
42395
42413
|
| \`{{cli}} logout\` | Clear the local CLI session. | Local session | \`{{cli}} logout\` |
|
|
42396
42414
|
| \`{{cli}} signup [--company "<name>"]\` | With no flag, open/print the web signup page. With \`--company\`, create the company headlessly for the logged-in session (no browser step) \u2014 it becomes your active tenant. | Public (\`--company\` needs a login session) | \`{{cli}} signup --company "Acme"\` |
|
|
42397
|
-
| \`{{cli}} whoami\` | Show the authenticated user and
|
|
42398
|
-
| \`{{cli}} tenants\` | List tenants the user can access
|
|
42399
|
-
| \`{{cli}} use <tenant>\` |
|
|
42415
|
+
| \`{{cli}} whoami\` | Show the authenticated user, accessible tenant roles, and the active tenant (\`current_tenant_id\`). | User | \`{{cli}} whoami\` |
|
|
42416
|
+
| \`{{cli}} tenants\` | List tenants the user can access; the active one is marked \`current\`. | User | \`{{cli}} tenants\` |
|
|
42417
|
+
| \`{{cli}} use <tenant>\` | Select a tenant slug or id as the active tenant for the session. It persists, so a following \`{{cli}} whoami\` reports it as \`current_tenant_id\`. | User | \`{{cli}} use acme-ops\` |
|
|
42400
42418
|
|
|
42401
42419
|
### Reference and docs
|
|
42402
42420
|
|
|
@@ -42505,6 +42523,7 @@ These names are available to tenant-admin MCP tokens. They are aliases over the
|
|
|
42505
42523
|
| \`rost_rename_seat\` | \`seat.rename\` | Rename a seat. | Seat or tenant-admin | Call with \`seat_id\` and \`name\`. |
|
|
42506
42524
|
| \`rost_reparent_seat\` | \`seat.reparent\` | Move a seat under a new parent. | Seat or tenant-admin | Call with \`seat_id\` and \`parent_seat_id\`. |
|
|
42507
42525
|
| \`rost_set_seat_type\` | \`seat.set_type\` | Set a seat type. | Seat or tenant-admin | Call with \`seat_id\` and \`seat_type\`. |
|
|
42526
|
+
| \`rost_decommission_seat\` | \`seat.decommission\` | Retire a seat: end occupancies, archive the Charter, revoke tokens/credentials, cancel schedules, tombstone event. No-orphan guarded. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>"}\`; expect confirmation. |
|
|
42508
42527
|
| \`rost_draft_charter\` | \`charter.draft\` | Create or fetch a draft Charter. | Seat or tenant-admin | Call with \`{"seat_id":"<seat-id>"}\`. |
|
|
42509
42528
|
| \`rost_draft_all_charters\` | \`charter.draft_all\` | Draft Charters for every eligible seat. | Tenant | Call after initial graph creation. |
|
|
42510
42529
|
| \`rost_update_charter_draft\` | \`charter.update_draft\` | Update a draft Charter document. | Seat or tenant-admin | Call with \`charter_version_id\` and the full \`doc\`. |
|