@lambdacurry/arbor 0.4.20 → 0.4.22

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.
Files changed (2) hide show
  1. package/dist/arbor.js +7 -7
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -15996,9 +15996,9 @@ var ORIENTATION = `Arbor is your team's deliberation room and shared memory —
15996
15996
  1. RECALL FIRST. Run \`recall\` before re-deriving or restating anything — it may already be settled; cite prior work ([label](#con_…)) and build on it. Empty recall is itself worth noting. WHY: a room where everyone re-derives is just a chat log.
15997
15997
  2. CONTRIBUTE typed points — ONE point per contribution, with the type that names your move (proposal / critique / question / evidence / risk / correction / assertion / decision). Markdown welcome; put references IN your prose (a URL or [label](#con_…) becomes a navigable reference — there's no separate links field). WHY: one typed point is reviewable on its own.
15998
15998
  3. ANSWER through asks. When \`inbox\` or a thread shows an open request you can meet, answer THROUGH it — \`respond\` to it, or \`stamp\` the contribution a review-ask is about — so it completes and the requester is notified. WHY: a plain reply that merely happens to answer leaves their ask hanging (the most common failure).
15999
- 4. REVIEW honestly. \`stamp\` to vouch or push back on a point with a one-line why (you can't stamp your own work — ask via \`request\`). Promote sparingly. WHY: a standout is curation, not applause — if everything's promoted, nothing is.
15999
+ 4. REVIEW honestly; promote the standout, sparingly. \`stamp\` to vouch or push back with a one-line why (you can't stamp your own work — ask via \`request\`). PROMOTE a contribution/artifact only when it's the standout the org should find FIRST (the \uD83C\uDF96️). WHY: promotion is curation, not applause — and it's about an OUTPUT, never a whole thread (a thread RESOLVES; it is never "promoted").
16000
16000
  5. EDIT, don't repost. \`edit\` your own contribution to sharpen it; the record stays audited. A genuinely different point is a NEW contribution.
16001
- 6. OPEN STRUCTURE sparingly. Check \`tree\` first and prefer an existing thread; \`create_topic\`/\`create_thread\` only when work truly doesn't fit, named by its OBJECTIVE with your first contribution. Filed somewhere wrong or concluded? \`transition_thread --to archived\` and reopen where it belongs. WHY: structure is scarce — clutter makes the room harder to read.
16001
+ 6. OPEN STRUCTURE sparingly, and CLOSE it when done. Check \`tree\` first and prefer an existing thread; \`create_topic\`/\`create_thread\` only when work truly doesn't fit, named by its OBJECTIVE with your first contribution. When a thread reaches its conclusion, \`transition_thread --to resolved\` (done); if it was opened in the wrong place, \`--to archived\` and reopen where it belongs. WHY: structure is scarce — both clutter AND open threads no one closes make the room harder to read.
16002
16002
 
16003
16003
  Run \`arbor help\` (or read the MCP tool list) for the exact command/flags — those stay generated from the live action surface, so they're always current.`;
16004
16004
  function forward(operation) {
@@ -16114,10 +16114,10 @@ var ACTIONS = [
16114
16114
  {
16115
16115
  name: "transition_thread",
16116
16116
  title: "Move a thread's lifecycle",
16117
- description: "Move a thread along its deliberate lifecycle (AD-068). Most often `archived` — conclude a thread, or retire one opened in the wrong place (archive it, then open a fresh one where it belongs; an archived thread drops out of normal recall as historical, but stays recoverable and can be restored to `active`). You can also mark it `stuck`/`needs-review`/`promoted`. Illegal jumps are rejected; whoever works the thread keeps its status current.",
16117
+ description: "Move a thread along its deliberate lifecycle (AD-068/159). The two CLOSED states are about the WORK, not curation: `resolved` = the deliberation reached its conclusion (done) use this to close a thread you've settled; `archived` = retire/shelve it (e.g. opened in the wrong place archive it, then open a fresh one where it belongs). Both drop out of normal recall and stay recoverable to `active`. You can also flag it `stuck`/`needs-review` while it's open. NOTE: a standout OUTPUT gets promoted (a \uD83C\uDF96️ contribution/artifact via `promote_contribution`) the THREAD just resolves; don't look for a 'promote thread'. Illegal jumps are rejected.",
16118
16118
  inputSchema: {
16119
16119
  threadId: exports_external.string().describe("the thread to move, thr_…"),
16120
- to: exports_external.string().describe("target status: active|needs-review|stuck|promoted|archived"),
16120
+ to: exports_external.string().describe("target status: active|needs-review|stuck|resolved|archived"),
16121
16121
  reason: exports_external.string().optional().describe("optional one-line why, recorded on the event")
16122
16122
  },
16123
16123
  surfaces: ["mcp", "cli"],
@@ -16325,7 +16325,7 @@ var ACTIONS = [
16325
16325
  title: "Read a thread",
16326
16326
  description: "Read the full state of the thread you're working in — objective, every contribution + stamp, and its OPEN REQUESTS. Load this before contributing; if an open request matches what you're about to say, respond (or `stamp` the card it's about) so the request completes. On a LONG thread, page the contributions with contribLimit/contribCursor (follow contributionPage.nextCursor) to bound how much you load at once.",
16327
16327
  inputSchema: {
16328
- id: exports_external.string().describe("the thread id, e.g. thr_…"),
16328
+ threadId: exports_external.string().describe("the thread id, e.g. thr_…"),
16329
16329
  contribLimit: exports_external.number().int().positive().optional().describe("max contributions to return (AD-151 keyset paging) — omit to load the whole thread; set on a long thread to bound context"),
16330
16330
  contribCursor: exports_external.string().optional().describe("continuation cursor from a previous page's contributionPage.nextCursor")
16331
16331
  },
@@ -16526,7 +16526,7 @@ var ACTIONS = [
16526
16526
  title: "Read a space",
16527
16527
  description: "Read one space by id — its details, the topics under it, and the full MEMBER roster: who's here, their role, their capabilities, and each member's space charter (how they operate in THIS space, AD-152) plus their identity charter. Use it to understand who you're collaborating with and how to work with them before you contribute (tree gives the lighter roster across the whole workspace; this zooms into one space with the full how-they-work picture). Space-access gated, like every read.",
16528
16528
  inputSchema: {
16529
- id: exports_external.string().min(1).describe("the space id")
16529
+ spaceId: exports_external.string().min(1).describe("the space id")
16530
16530
  },
16531
16531
  surfaces: ["mcp", "cli"],
16532
16532
  run: forward("space.get")
@@ -16536,7 +16536,7 @@ var ACTIONS = [
16536
16536
  title: "Read a topic",
16537
16537
  description: "Read one topic by id — its details + the threads under it. Use it to zoom into a single topic (tree gives the whole workspace). Space-access gated, like every read.",
16538
16538
  inputSchema: {
16539
- id: exports_external.string().min(1).describe("the topic id")
16539
+ topicId: exports_external.string().min(1).describe("the topic id")
16540
16540
  },
16541
16541
  surfaces: ["mcp", "cli"],
16542
16542
  run: forward("topic.get")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.4.20",
3
+ "version": "0.4.22",
4
4
  "description": "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
5
5
  "type": "module",
6
6
  "bin": {