From 53dd50f474cc00599b315ccc4cf624fb44dcfcab Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Tue, 27 Oct 2026 22:56:28 -0700 Subject: [PATCH 1/4] docs: cut the walk-only lines in TASK-010 and TASK-011 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The logged-in walks were not done by the 10-26 14:00 PT deadline, and the launch claim rule is walked-only. Lily ruled "Cut the unwalked lines" (10-28 05:50Z). Removed: - README, Start on commonly.me: the sign-up and create-pod steps and the "says hello in a few seconds" timing. Step 1 is now Run it here. - README, Bring your own agent: "The page gives you four lines" and "The page shows is listening". The commands stay; they are checked against cli/ and install.sh. - docs-site/quickstart.mdx: the "Your pod is ready" card, the card's status sequence, the @ step, and the frontmatter's "ask it a question". - docs-site/introduction.mdx: the seat-request path (Agents → Bring your own agent → On my computer). The claim-table rows for these claims are CUT, with the code evidence kept. Not cut: the README screenshots. No claim-table row marks them unwalked, so they need a ruling. Co-Authored-By: Claude Haiku 5.5 Co-authored-by: quire Agent-Model: claude/claude-haiku-5-5/high --- README.md | 8 +++----- docs-site/introduction.mdx | 8 +++----- docs-site/quickstart.mdx | 7 +++---- docs/audits/claim-table.md | 14 +++++++------- 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 9f9a9f4298..0b813cb660 100644 --- a/README.md +++ b/README.md @@ -59,13 +59,11 @@ If Commonly looks useful for your team, a ⭐ helps other teams find it. On [commonly.me](https://commonly.me), with nothing to install: -1. Sign up (GitHub, Google or email). -2. Create a pod. -3. Press **Run it here**. The hosted agent says hello in a few seconds, and you can give it work in the pod. +1. Press **Run it here**. ## Bring your own agent -In your pod, open **Bring your own** → **Use my own agent** → **Get my connect command**. The page gives you four lines with your own token filled in. On a Mac, run them in a terminal: +In your pod, open **Bring your own** → **Use my own agent** → **Get my connect command**. On a Mac, run the lines below in a terminal: ```bash npm i -g @commonlyai/cli@latest @@ -74,7 +72,7 @@ export COMMONLY_AGENT_TOKEN= commonly agent run --adapter claude ``` -The page shows **is listening** once it's running. @mention your agent in the pod, and it answers in the pod. +@mention your agent in the pod, and it answers in the pod. - **Claude Code** answers @mentions on macOS. On Linux and Windows, the page connects your own Claude Code session over MCP instead: you can use the pod's tools from that session, but it won't answer @mentions. - **Codex** answers @mentions on macOS; Linux not yet tested. Use `--adapter codex`. diff --git a/docs-site/introduction.mdx b/docs-site/introduction.mdx index b430f52f38..bbe55cbe28 100644 --- a/docs-site/introduction.mdx +++ b/docs-site/introduction.mdx @@ -55,11 +55,9 @@ connectors. Agents use the same shell and can also use the runtime API to poll events, read pod context, post messages, manage tasks, and sync memory. The local daemon supervises seats requested for a machine. It owns the machine -credential and keeps each requested seat running across restarts. Request a -seat in the web app through Agents → Bring your own agent → On my computer, -then choose the registered computer and seat. The CLI's manual agent attach -flow remains available when you want to run one seat directly; it does not -request a seat for the daemon. +credential and keeps each requested seat running across restarts. The CLI's +manual agent attach flow remains available when you want to run one seat +directly; it does not request a seat for the daemon. ## Start here diff --git a/docs-site/quickstart.mdx b/docs-site/quickstart.mdx index 5316971429..b1787da3e4 100644 --- a/docs-site/quickstart.mdx +++ b/docs-site/quickstart.mdx @@ -1,14 +1,13 @@ --- title: Quickstart -description: Create an account and a pod, start a hosted agent with Run it here, and ask it a question. No install needed. +description: Create an account and a pod, then choose Run it here. No install needed. --- ## Start an agent 1. [Create an account at commonly.me](https://commonly.me/v2/register). -2. Create a pod. It opens with a **Your pod is ready** card. -3. On that card, choose **Run it here**. Commonly starts a hosted agent in the pod. The card shows **Adding agent…**, then **Starting agent…**, then **Agent running**. -4. In the pod's message box, type `@` and pick the agent. Ask it a question, then send. +2. Create a pod. +3. Choose **Run it here**. Commonly runs a hosted agent on DeepSeek V4 Flash. The [Run it here setup](https://commonly.me/v2/agents/byo?mode=hosted) shows the free plan's current agent and daily turn limits. [Bring your own agent](/bring-your-own/) if you want to use a runtime on your computer. diff --git a/docs/audits/claim-table.md b/docs/audits/claim-table.md index 3fa225c20f..57776ad53b 100644 --- a/docs/audits/claim-table.md +++ b/docs/audits/claim-table.md @@ -37,12 +37,12 @@ Owner: TASK-010. Source: `README.md`. | README | Agents claim work on the pod's board and post what they tried (L36) | TRUE | backend/routes/tasksApi.ts:616 (`POST /:podId/:taskId/claim`); backend/routes/tasksApi.ts:809 (`POST /:podId/:taskId/updates`) | 2026-10-26 | | README | Activity shows what needs you across every pod (L38) | TRUE | frontend/src/i18n/locales/en.json:160 ("what needs you, then what moved"), :175 ("All pods" filter), :811 ("Every open question, from every pod, lands in one place") | 2026-10-25 | | README | On commonly.me, with nothing to install (L60) | TRUE | Takes the verdict of the hosted-agent row above (en.json:619, V2AgentBYO.tsx:137). | 2026-10-26 | -| README | Sign up with GitHub, Google or email (L62) | TRUE | backend/controllers/authController.ts:615–625 (`registrationOpen`); backend/routes/auth.ts:237 (`/registration-policy`); live `https://api.commonly.me/api/auth/registration-policy` on 10-25 returned `inviteOnly:false, registrationOpen:true`. Invite-only is the production default when `REGISTRATION_INVITE_ONLY` is unset (authController.ts:36–40), so this depends on that env var being off. Providers: frontend/src/i18n/locales/en.json:116–117, :380 (Google, GitHub). | 2026-10-25 | +| README | Sign up with GitHub, Google or email (L62) | CUT | backend/controllers/authController.ts:615–625 (`registrationOpen`); backend/routes/auth.ts:237 (`/registration-policy`); live `https://api.commonly.me/api/auth/registration-policy` on 10-25 returned `inviteOnly:false, registrationOpen:true`. Invite-only is the production default when `REGISTRATION_INVITE_ONLY` is unset (authController.ts:36–40), so this depends on that env var being off. Providers: frontend/src/i18n/locales/en.json:116–117, :380 (Google, GitHub). Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | | README | Install the CLI with `npm i -g @commonlyai/cli@latest` (L71) | TRUE | cli/package.json:2 (name), :9 (bin `commonly`) | 2026-10-25 | | README | `commonly agent run --adapter claude` (L74) | TRUE | cli/src/commands/agent.js:295 (`agent run --adapter`), :361 | 2026-10-25 | | README | Bring your own → Use my own agent → Get my connect command (L68) | TRUE | frontend/src/i18n/locales/en.json:1620 ("Use my own agent"), :1469 ("Get my connect command") | 2026-10-25 | -| README | The connect page gives four lines with your token filled in (L68–75) | TRUE | frontend/src/v2/components/V2AgentBYO.tsx:980 (install, two exports, `commonly agent run`) | 2026-10-25 | -| README | The page shows **is listening** once running (L77) | TRUE | frontend/src/i18n/locales/en.json:1640 ("{{name}} is listening.") | 2026-10-25 | +| README | The connect page gives four lines with your token filled in (L68–75) | CUT | frontend/src/v2/components/V2AgentBYO.tsx:980 (install, two exports, `commonly agent run`) Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | +| README | The page shows **is listening** once running (L77) | CUT | frontend/src/i18n/locales/en.json:1640 ("{{name}} is listening.") Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | | README | Claude Code answers @mentions on macOS (L79) | TRUE | cli/src/lib/adapters/claude.js:760 (workspace trust refused under bwrap: "run on macOS only for now"). Linux support for invite-only pods is in review (#2820) and will change this row when it ships | 2026-10-25 | | README | On Linux and Windows, the page connects Claude Code over MCP (L79) | TRUE | frontend/src/v2/components/V2AgentBYO.tsx:957 (`claude mcp add … npx -y @commonlyai/mcp`), :964 (Windows `cmd /c commonly-mcp`) | 2026-10-25 | | README | Codex answers @mentions on macOS (L80, macOS half) | TRUE | cli/src/lib/adapters/codex.js:487 (Codex's permission-profile boundary runs on macOS). The adapter has no platform gate. The mention path was walked on prod 10-27 (Codex seat answered an @mention and claimed a task, messages 96834 and 96836). | 2026-10-26 | @@ -66,9 +66,9 @@ Owner: TASK-011. Source: `docs-site/quickstart.mdx` and `docs-site/introduction. | Page | Claim | Verdict | Evidence | Date | |---|---|---|---|---| | quickstart | Create an account at commonly.me/v2/register | TRUE | `frontend/src/v2/V2App.tsx:215` (`register` route) | 2026-10-26 | -| quickstart | Create a pod; it opens with a "Your pod is ready" card | TRUE (copy); walk pending | `frontend/src/i18n/locales/en.json:617` (`newPod.title`), rendered by `V2ThreadStarter.tsx`. GTM walk with 390 and 1440 shots still owed | 2026-10-26 | -| quickstart | On that card, "Run it here" starts a hosted agent | TRUE (copy); walk pending | `en.json:619` (`runHere`); starter states "Adding agent…", "Starting agent…", "Agent running" at `en.json:622-624`. Timing (about 8 s) is not on the page and needs a walk | 2026-10-26 | -| quickstart | Type `@` in the pod's message box to pick the agent | TRUE (copy); walk pending | `en.json:612` ("Use @ to mention an agent or teammate") | 2026-10-26 | +| quickstart | Create a pod; it opens with a "Your pod is ready" card | CUT | `frontend/src/i18n/locales/en.json:617` (`newPod.title`), rendered by `V2ThreadStarter.tsx`. GTM walk with 390 and 1440 shots still owed Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | +| quickstart | On that card, "Run it here" starts a hosted agent | CUT | `en.json:619` (`runHere`); starter states "Adding agent…", "Starting agent…", "Agent running" at `en.json:622-624`. Timing (about 8 s) is not on the page and needs a walk Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | +| quickstart | Type `@` in the pod's message box to pick the agent | CUT | `en.json:612` ("Use @ to mention an agent or teammate") Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | | quickstart | Commonly runs a hosted agent on DeepSeek V4 Flash | TRUE | `backend/services/nativeRuntimeService.ts:101` (`DEFAULT_MODEL`), `:224` (display name). Overridable by `LITELLM_CHAT_MODEL`, so re-check on prod | 2026-10-26 | | quickstart | The Run it here setup shows the free plan's agent and daily turn limits | TRUE | `frontend/src/v2/components/V2AgentBYO.tsx:1136-1139` renders `hosting.caps.turnsPerDay`; caps from `backend/services/hostedRuntimeService.ts:55-60`. No numbers are stated on the page | 2026-10-26 | | quickstart | "About a minute" (frontmatter description) | CUT | No walk of the full sign-up-to-answer time. Removed from the description | 2026-10-26 | @@ -77,7 +77,7 @@ Owner: TASK-011. Source: `docs-site/quickstart.mdx` and `docs-site/introduction. | introduction | Agents run on your own machine and connect with a runtime token | TRUE | `backend/middleware/agentRuntimeAuth.ts:52` (`cm_agent_` token); `cli/src/index.js:62` (`commonly agent attach`) | 2026-10-26 | | introduction | A pod holds conversation, files, tasks and context | TRUE | Conversation: `backend/models/Message.ts:43` (`podId`). Files: `backend/models/PodAsset.ts:40` (`podId`). Tasks: `backend/routes/tasksApi.ts:226-253` (`GET /:podId` filters `Task.find` by `podId`; mounted at `backend/server.ts:257`). Context: `backend/routes/contextApi.ts:80-91` (`/context/:podId`) | 2026-10-26 | | introduction | Each agent keeps its own identity and memory | TRUE | Agent memory routes: `backend/routes/agentMemoryView.ts`, `backend/routes/agentProfile.ts` | 2026-10-26 | -| introduction | Request a seat via Agents → Bring your own agent → On my computer, then pick the computer and seat | TRUE (copy); walk pending | `en.json:70` ("Agents"), `:1510` ("Bring your own agent"), `:1630` ("On my computer"). The click path needs a walk | 2026-10-26 | +| introduction | Request a seat via Agents → Bring your own agent → On my computer, then pick the computer and seat | CUT | `en.json:70` ("Agents"), `:1510` ("Bring your own agent"), `:1630` ("On my computer"). The click path needs a walk Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | | introduction | The local daemon supervises requested seats and owns the machine credential | TRUE | `cli/src/lib/daemon-supervisor.js` (machine heartbeat, D5); `cli/src/index.js:46` (daemon lifecycle) | 2026-10-26 | | introduction | The manual `commonly agent attach` flow remains available and does not request a seat for the daemon | TRUE (command); the "does not request" half is not yet cited | `cli/src/index.js:62` shows the command. Needs a `file:line` for the no-seat-request behaviour | 2026-10-26 | | introduction | Card links resolve (concepts, agents, deployment, runtime-protocol, openapi) | TRUE | Targets exist, including `docs/api/openapi.yaml` | 2026-10-26 | From eef2a64e40490d2c1fa978714be9189984e4434a Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Tue, 27 Oct 2026 23:10:02 -0700 Subject: [PATCH 2/4] docs(readme): drop the connectors screenshot per Lily's ruling The alt text repeated two CUT rows in the claim table (lines 147 and 151), and the connectors shots were already cut at line 157. The asset stays in docs/assets/readme because the landing copy pins it. Co-Authored-By: Claude Haiku 5.5 Co-authored-by: quire Agent-Model: claude/claude-haiku-5-5/high --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index 0b813cb660..420668f130 100644 --- a/README.md +++ b/README.md @@ -47,14 +47,6 @@ If Commonly looks useful for your team, a ⭐ helps other teams find it. **Trust: only the access you grant.** Connect a tool once, then choose which pods and which agents may use it. Agents get scoped access instead of your personal keys, and an agent with a read-only grant sees only that tool's read actions. [Connectors and grants →](https://docs.commonly.me/concepts/connectors) -
- -Commonly's Connectors page: Telegram is linked to the Launch pod and Slack to Support. Telegram is open, showing that Launch and Support reach it while Website and Growth are off. Below, GitHub is granted to Launch, where Wren, Kai and Vera may use it. - -Connectors: the pods you pick, the agents you grant - -
- ## Start on commonly.me On [commonly.me](https://commonly.me), with nothing to install: From 3d38a10755e9ecdf403cd03d593651de8780d62a Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Tue, 27 Oct 2026 23:20:52 -0700 Subject: [PATCH 3/4] docs(readme): move the cut connectors frame to landing-source The README no longer shows connectors-2x.png, and readmeFrames requires every frame in docs/assets/readme to be referenced. The landing copy still pins this capture byte for byte, so the file moves to landing-source (the directory for frames the README no longer shows) and the pin follows it. The design mock's path follows too. Co-Authored-By: Claude Haiku 5.5 Co-authored-by: quire Agent-Model: claude/claude-haiku-5-5/high --- .../{readme => landing-source}/connectors-2x.png | Bin docs/design/landing-demo/Landing390.dc.html | 2 +- .../src/v2/landing/__tests__/landingFrames.test.ts | 3 +-- 3 files changed, 2 insertions(+), 3 deletions(-) rename docs/assets/{readme => landing-source}/connectors-2x.png (100%) diff --git a/docs/assets/readme/connectors-2x.png b/docs/assets/landing-source/connectors-2x.png similarity index 100% rename from docs/assets/readme/connectors-2x.png rename to docs/assets/landing-source/connectors-2x.png diff --git a/docs/design/landing-demo/Landing390.dc.html b/docs/design/landing-demo/Landing390.dc.html index 69680eb67e..70c1c9b160 100644 --- a/docs/design/landing-demo/Landing390.dc.html +++ b/docs/design/landing-demo/Landing390.dc.html @@ -104,7 +104,7 @@
-
+
CONNECTORS
Your chat is the front door
diff --git a/frontend/src/v2/landing/__tests__/landingFrames.test.ts b/frontend/src/v2/landing/__tests__/landingFrames.test.ts index b5921710b1..86ca813f72 100644 --- a/frontend/src/v2/landing/__tests__/landingFrames.test.ts +++ b/frontend/src/v2/landing/__tests__/landingFrames.test.ts @@ -16,7 +16,6 @@ import path from 'path'; const REPO_ROOT = path.resolve(__dirname, '..', '..', '..', '..', '..'); const LANDING_ASSETS = path.join(REPO_ROOT, 'frontend/src/assets/landing'); -const README_FRAMES = path.join(REPO_ROOT, 'docs/assets/readme'); // Frames the README no longer shows keep their capture here, so the landing copy // still has a pinned source and docs/assets/readme/ holds no orphan. const LANDING_SOURCES = path.join(REPO_ROOT, 'docs/assets/landing-source'); @@ -25,7 +24,7 @@ const PAGE = fs.readFileSync(path.join(__dirname, '..', 'V2LandingPage.tsx'), 'u const FRAMES: Array<[landing: string, source: string, dir: string]> = [ ['activity.png', 'activity-2x.png', LANDING_SOURCES], ['team.png', 'team-2x.png', LANDING_SOURCES], - ['connectors.png', 'connectors-2x.png', README_FRAMES], + ['connectors.png', 'connectors-2x.png', LANDING_SOURCES], ]; // The README dropped its Bring-your-own frame (#2564) because the capture shows From a261be7045693d8fcde662942fcc522c775b18eb Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Wed, 28 Oct 2026 01:33:57 -0700 Subject: [PATCH 4/4] docs(introduction): cut the unwalked daemon paragraph Lily's ruling (10-28 08:33Z): the local daemon paragraph in the introduction is not walked, and the docs go live on merge, before HN. The paragraph is removed and claim-table rows for its two claims are marked CUT. Co-Authored-By: Claude Haiku 5.5 Co-authored-by: quire Agent-Model: claude/claude-haiku-5-5/high --- docs-site/introduction.mdx | 5 ----- docs/audits/claim-table.md | 4 ++-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/docs-site/introduction.mdx b/docs-site/introduction.mdx index bbe55cbe28..18f00a8723 100644 --- a/docs-site/introduction.mdx +++ b/docs-site/introduction.mdx @@ -54,11 +54,6 @@ Human users work in the Commonly shell: pods, chat, profiles, task boards, and connectors. Agents use the same shell and can also use the runtime API to poll events, read pod context, post messages, manage tasks, and sync memory. -The local daemon supervises seats requested for a machine. It owns the machine -credential and keeps each requested seat running across restarts. The CLI's -manual agent attach flow remains available when you want to run one seat -directly; it does not request a seat for the daemon. - ## Start here diff --git a/docs/audits/claim-table.md b/docs/audits/claim-table.md index 57776ad53b..fcba527b36 100644 --- a/docs/audits/claim-table.md +++ b/docs/audits/claim-table.md @@ -78,8 +78,8 @@ Owner: TASK-011. Source: `docs-site/quickstart.mdx` and `docs-site/introduction. | introduction | A pod holds conversation, files, tasks and context | TRUE | Conversation: `backend/models/Message.ts:43` (`podId`). Files: `backend/models/PodAsset.ts:40` (`podId`). Tasks: `backend/routes/tasksApi.ts:226-253` (`GET /:podId` filters `Task.find` by `podId`; mounted at `backend/server.ts:257`). Context: `backend/routes/contextApi.ts:80-91` (`/context/:podId`) | 2026-10-26 | | introduction | Each agent keeps its own identity and memory | TRUE | Agent memory routes: `backend/routes/agentMemoryView.ts`, `backend/routes/agentProfile.ts` | 2026-10-26 | | introduction | Request a seat via Agents → Bring your own agent → On my computer, then pick the computer and seat | CUT | `en.json:70` ("Agents"), `:1510` ("Bring your own agent"), `:1630` ("On my computer"). The click path needs a walk Removed in this PR: not walked in time, cut by Lily's ruling (10-28 05:50Z). | 2026-10-28 | -| introduction | The local daemon supervises requested seats and owns the machine credential | TRUE | `cli/src/lib/daemon-supervisor.js` (machine heartbeat, D5); `cli/src/index.js:46` (daemon lifecycle) | 2026-10-26 | -| introduction | The manual `commonly agent attach` flow remains available and does not request a seat for the daemon | TRUE (command); the "does not request" half is not yet cited | `cli/src/index.js:62` shows the command. Needs a `file:line` for the no-seat-request behaviour | 2026-10-26 | +| introduction | The local daemon supervises requested seats and owns the machine credential | CUT | `cli/src/lib/daemon-supervisor.js` (machine heartbeat, D5); `cli/src/index.js:46` (daemon lifecycle) Removed in this PR: not walked in time, cut by Lily's ruling (10-28 08:33Z). | 2026-10-28 | +| introduction | The manual `commonly agent attach` flow remains available and does not request a seat for the daemon | CUT | `cli/src/index.js:62` shows the command. Needs a `file:line` for the no-seat-request behaviour Removed in this PR: not walked in time, cut by Lily's ruling (10-28 08:33Z). | 2026-10-28 | | introduction | Card links resolve (concepts, agents, deployment, runtime-protocol, openapi) | TRUE | Targets exist, including `docs/api/openapi.yaml` | 2026-10-26 | | introduction | The pod can mix Claude Code, Codex, a hosted agent and your own program | TRUE | `frontend/src/v2/components/V2RuntimeControls.tsx:18` (runtime labels) | 2026-10-26 | | introduction | Each agent is a named member with an owner | TRUE | `backend/models/AgentRegistry.ts:261` (`installedBy`, required, on every installation) | 2026-10-27 |