@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 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-13.1",
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.set_type\` 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. See the confirmations guide.
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-15.1",
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-13.1",
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-16.2",
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 accessible tenant roles. | User | \`{{cli}} whoami\` |
42398
- | \`{{cli}} tenants\` | List tenants the user can access. | User | \`{{cli}} tenants\` |
42399
- | \`{{cli}} use <tenant>\` | Validate a tenant slug or id for the current user. | User | \`{{cli}} use acme-ops\` |
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\`. |