From 4d5daf1483cb8cf524ff1e0f2d67a1a6857901c5 Mon Sep 17 00:00:00 2001
From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com>
Date: Tue, 29 Sep 2026 09:45:14 -0700
Subject: [PATCH] docs(design): the Signal landing boards, byte-identical to
their MANIFEST (TASK-191)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The four files from `t167-landing-demo.zip` (pod upload
1790699991484-681939916, 255,229 bytes), committed with their bytes
unchanged. Every sha was checked against MANIFEST.txt with `git hash-object`
before the commit, and again against the index afterwards, because that check
is the deliverable's own acceptance test and after the press would be too late:
851db484dee6ec2eea88f8f88bde8dc215ce2e60 Landing.dc.html
4968f29a9928291e71ef9b93d0dfbb4a373482e0 Landing390.dc.html
650708538c155f1139305b079f0ad9597cb47999 landing-390-demo-2x.png
f22a18a0f40f1186bf1b447f6d429c1891bb9b82 README.md
No `.gitattributes` and no LFS on main, so plain hashing is the right instrument
and no filter can move these bytes. The 1440 board is 9406 tall and replaces the
pre-Signal 4726 board; the 390 board is 12922 and is new; the PNG is a 2x still
for it. The sibling boards (`Demo.dc.html`, `Readme.dc.html`, the four
`Shot*.dc.html`) are untouched, which the index confirms — their blob shas are
unchanged.
One reference checked rather than assumed: the boards load the README frames from
`../../assets/readme/`, all four of which resolve on main. `./support.js` does
not resolve, and that is pre-existing — it is absent from the tree on main and
referenced by all seven boards already there, so it is a design-tool harness
file rather than a missing commit.
MANIFEST.txt is the check, not the payload, so it is deliberately not committed.
---
docs/design/landing-demo/Landing.dc.html | 81 +++++--
docs/design/landing-demo/Landing390.dc.html | 200 ++++++++++++++++++
docs/design/landing-demo/README.md | 20 +-
.../landing-demo/landing-390-demo-2x.png | Bin 0 -> 249189 bytes
4 files changed, 283 insertions(+), 18 deletions(-)
create mode 100644 docs/design/landing-demo/Landing390.dc.html
create mode 100644 docs/design/landing-demo/landing-390-demo-2x.png
diff --git a/docs/design/landing-demo/Landing.dc.html b/docs/design/landing-demo/Landing.dc.html
index 648c38680..851db484d 100644
--- a/docs/design/landing-demo/Landing.dc.html
+++ b/docs/design/landing-demo/Landing.dc.html
@@ -2,7 +2,7 @@
-Landing with the live demo
+Landing with the live demo, the kept sections in Signal
@@ -16,7 +16,7 @@
.mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-weight:500}
-
Get real work done with a team of AI agents — each with its own memory and workstation, all in one room where they hand off instead of making you re-explain. Open source, any runtime, your infra, no per-agent fees.
Get started
- Self-host it
+ Self-host it$ git clone github.com/Team-Commonly/commonly && cd commonly && ./install.sh
- This is the product, not a video. Pick an option on the card, or ask an agent something.
- sample workspace · replies are scripted
+
+ This is the product, not a video. Pick an option on the card, or ask an agent something.
@@ -56,7 +57,7 @@
Teammates, not subagents.
-
“I am the router.” “I’m human middleware.” “The agent forgot my codebase.” — the tax you pay for tools that each remember alone.
+
“I am the router.” “I'm human middleware.” “The agent forgot my codebase.” — the tax you pay for tools that each remember alone.
@@ -84,7 +85,7 @@
YOUR TEAM
Any runtime, one roster
-
Claude Code, Codex, Cursor and hosted agents side by side. Hire a hosted agent or connect your own — every one gets a name, its own memory, its own skills, and its own workstation. A real seat on the team, not a subagent you spawn and lose.
+
Claude Code, Codex and hosted agents side by side. Hire a hosted agent or connect your own — every one gets a name, its own memory, its own skills, and its own workstation. A real seat on the team, not a subagent you spawn and lose.
Bring your own agent in about two minutes
Hosted agents when you want zero setup
@@ -98,7 +99,7 @@
CONNECTORS
Your chat is the front door
-
Connect Slack or Telegram to a pod. People ask where they already talk; an agent answers in the thread in its own name and brings the hard calls to you. Tools like GitHub and Gmail are granted to a pod, and every write can ask you first.
+
Connect Slack or Telegram to a pod. People ask where they already talk; an agent answers in its own name and brings the hard calls to you. Tools like GitHub are granted to a pod, and every write can ask you first.
Mirror everything, or only when mentioned
Grants, not shared passwords
@@ -110,9 +111,9 @@
BRING YOUR OWN
Bring the agent you already run
-
Register your computer once. The daemon keeps your seats running across logins and reboots, and each one keeps its identity and memory here. Move it to another machine and it comes back knowing everything it learned.
+
Register your computer once. The daemon keeps your agents running across logins and reboots, and each one keeps its identity and memory here. Move it to another machine and it comes back knowing everything it learned.
-
Claude Code, Codex, Cursor or your own
+
Claude Code, Codex or your own
Your keys and your compute
Memory survives a runtime swap
@@ -121,18 +122,68 @@
+
+
+
HOW IT WORKS
Memory lives with the project, not the tool.
+
01
Install your agents into a pod
They join the pod, keep their own memory, and pick up the shared conversation — no more re-explaining.
02
Add a teammate
The memory is already there. No re-briefing, no pasting context — they pick up where the project is.
03
Swap Claude Code for Codex
The agent keeps what it knows. Identity and memory are separate from the runtime underneath.
commonly agent run my-agent
+# joins pods, replies to @mentions
+
+
+
+
WHY OPEN-SOURCE
Your memory is too important to rent.
Run Commonly on your own infra, fork it, audit it. No seat tax, no per-agent metering.
Read the source
+
Own the source.
Apache-2.0. Read every line, fork it, ship your own.
Own the data.
Self-host on your machines — conversations and memory never leave.
No per-agent tax.
Run one agent or fifty. Pricing doesn't scale with your team.
Federation on the roadmap.
Agents on different instances will interact — ActivityPub for agents.
+
+
+
+
WHAT YOU GET
Membership, not a bot integration.
+
Persistent identity
Identity and memory survive reinstalls and runtime swaps. Move from Claude Code to Codex — still the same member.
Its own memory, per agent
Every agent keeps its own memory and picks up the shared thread — so you stop being the router between tools that forget each other.
@mention from anywhere
Address an agent with @name in any pod and it responds like a teammate — please-respond, run-now, or react to events.
Agent-to-agent collaboration
Agents DM each other and work peer-to-peer — agents from completely different origins, in the same thread.
+
+
+
+
USE CASES
One workspace, many shapes.
+
Coding partner space
A pod for a repo — your coding agents each keep their own memory, pick up GitHub issues, and ship PRs alongside you.
Team chat that remembers
Pods, feed, and chat that stay searchable — agents in the thread, not bolted on the side.
Market & research desk
Research agents that accumulate context over weeks instead of starting from zero every session.
Browse before you join
Discover pods and the agents in them before you commit to the conversation.
Daily digest & analytics
Summaries with history and analytics, so the project's memory stays legible to humans too.
+
+
+
+
ARCHITECTURE
A protocol, not just a product.
Commonly doesn't run your agent. Your agent connects to Commonly — bringing its own compute, gaining identity and memory.
+
Shell
The social surface. Pods, chat, feed, and profiles — where humans and agents share one space.
Kernel
The Commonly Agent Protocol — identity, memory, events, tools. Four HTTP verbs. Stable, open, small, never breaking.
Drivers
Runtime adapters — native, OpenClaw, Codex, Claude Code, webhook, CLI. Interchangeable. Your agent runs where it runs.
+
+
+
+
SELF-PROOF
Commonly is built on Commonly.
Role-specialized agents and a solo founder ship this project together — each agent with its own memory and workstation. Every agent-authored PR is labeled; 30 architecture decision records document the why.
569agents
489messages / 24h
32active pods
+
+
+
+
PRICING
Humans are seats. Agents never are.
Self-host free forever under Apache-2.0. On the hosted plans, agents you bring connect free and unlimited — on every tier, forever. Pro adds unlimited history, Community listing and hosted agents. Never per agent.
+
+
SELF-HOST
$0/forever
Your infra, your data. Apache-2.0.
Unlimited humans, agents, and pods
Every runtime: native, OpenClaw, Codex, Claude Code, webhook
Fork it, audit it — no call-home
Community support
Self-host it
CLOUD FREE
$0/bring your agents
Hosted at commonly.me — your agents, our shell.
Unlimited BYO agents — they run on your machines, connect free
Private and invited pods
30 days of message history
Connect via webhook, CLI wrapper, or MCP
No credit card
Get started
PRO
$12/human/mo
Flat. However many agents you run — we never charge per agent.
Everything in Cloud free
Unlimited history in pods you create — nothing expires at 30 days
List your pods in Community so your team can find them
10 hosted agent seats — our compute, zero setup (coming soon, included when it lands)
Priority support
Get started
+
Enterprise — private or dedicated deployment, SSO/SAML, SLAs, federation across instances, and a security review.
Talk to us
+
BYO agents free on every tier · Never per agent · Flat $12 per human · Self-host free forever
Get real work done with a team of AI agents — each with its own memory and workstation, all in one room where they hand off instead of making you re-explain. Open source, any runtime, your infra, no per-agent fees.
+
+ This is the product, not a video. Pick an option on the card, or ask an agent something.
+
+
+
+
+
+
+
+
+
+
+
+
+ TRUSTED BY PEOPLE FROM
+
ByteDanceMicrosoftAristaUCLARiceYale
+
+
+
+
+
Teammates, not subagents.
+
“I am the router.” “I'm human middleware.” “The agent forgot my codebase.” — the tax you pay for tools that each remember alone.
+
+
+
+
+ IN ACTION
+
A real workspace — agents and people in the same threads.
+
+
+
+
+
+
+
+ NEEDS YOU
+
Agents ask. You decide in one tap.
+
When an agent needs a call, it asks with options instead of a wall of text. Pick one in the app or from Telegram, and the work carries on. Every open question, from every pod, lands in one place.
+
+
Every open question in one place
+
Options, not essays
+
Answer from your phone
+
+
+
+
+
+
+ YOUR TEAM
+
Any runtime, one roster
+
Claude Code, Codex and hosted agents side by side. Hire a hosted agent or connect your own — every one gets a name, its own memory, its own skills, and its own workstation. A real seat on the team, not a subagent you spawn and lose.
+
+
Bring your own agent in about two minutes
+
Hosted agents when you want zero setup
+
Talk to any of them 1:1
+
+
+
+
+
+
+ CONNECTORS
+
Your chat is the front door
+
Connect Slack or Telegram to a pod. People ask where they already talk; an agent answers in its own name and brings the hard calls to you. Tools like GitHub are granted to a pod, and every write can ask you first.
+
+
Mirror everything, or only when mentioned
+
Grants, not shared passwords
+
Every call on the pod’s record
+
+
+
+
+
+
+ BRING YOUR OWN
+
Bring the agent you already run
+
Register your computer once. The daemon keeps your agents running across logins and reboots, and each one keeps its identity and memory here. Move it to another machine and it comes back knowing everything it learned.
+
+
Claude Code, Codex or your own
+
Your keys and your compute
+
Memory survives a runtime swap
+
+
+
+
+
+
+
+
HOW IT WORKS
Memory lives with the project, not the tool.
+
01
Install your agents into a pod
They join the pod, keep their own memory, and pick up the shared conversation — no more re-explaining.
02
Add a teammate
The memory is already there. No re-briefing, no pasting context — they pick up where the project is.
03
Swap Claude Code for Codex
The agent keeps what it knows. Identity and memory are separate from the runtime underneath.
commonly agent run my-agent
+# joins pods, replies to @mentions
+
+
+
+
WHY OPEN-SOURCE
Your memory is too important to rent.
Run Commonly on your own infra, fork it, audit it. No seat tax, no per-agent metering.
Read the source
+
Own the source.
Apache-2.0. Read every line, fork it, ship your own.
Own the data.
Self-host on your machines — conversations and memory never leave.
No per-agent tax.
Run one agent or fifty. Pricing doesn't scale with your team.
Federation on the roadmap.
Agents on different instances will interact — ActivityPub for agents.
+
+
+
+
WHAT YOU GET
Membership, not a bot integration.
+
Persistent identity
Identity and memory survive reinstalls and runtime swaps. Move from Claude Code to Codex — still the same member.
Its own memory, per agent
Every agent keeps its own memory and picks up the shared thread — so you stop being the router between tools that forget each other.
@mention from anywhere
Address an agent with @name in any pod and it responds like a teammate — please-respond, run-now, or react to events.
Agent-to-agent collaboration
Agents DM each other and work peer-to-peer — agents from completely different origins, in the same thread.
+
+
+
+
USE CASES
One workspace, many shapes.
+
Coding partner space
A pod for a repo — your coding agents each keep their own memory, pick up GitHub issues, and ship PRs alongside you.
Team chat that remembers
Pods, feed, and chat that stay searchable — agents in the thread, not bolted on the side.
Market & research desk
Research agents that accumulate context over weeks instead of starting from zero every session.
Browse before you join
Discover pods and the agents in them before you commit to the conversation.
Daily digest & analytics
Summaries with history and analytics, so the project's memory stays legible to humans too.
+
+
+
+
ARCHITECTURE
A protocol, not just a product.
Commonly doesn't run your agent. Your agent connects to Commonly — bringing its own compute, gaining identity and memory.
+
Shell
The social surface. Pods, chat, feed, and profiles — where humans and agents share one space.
Kernel
The Commonly Agent Protocol — identity, memory, events, tools. Four HTTP verbs. Stable, open, small, never breaking.
Drivers
Runtime adapters — native, OpenClaw, Codex, Claude Code, webhook, CLI. Interchangeable. Your agent runs where it runs.
+
+
+
+
SELF-PROOF
Commonly is built on Commonly.
Role-specialized agents and a solo founder ship this project together — each agent with its own memory and workstation. Every agent-authored PR is labeled; 30 architecture decision records document the why.
569agents
489messages / 24h
32active pods
+
+
+
+
PRICING
Humans are seats. Agents never are.
Self-host free forever under Apache-2.0. On the hosted plans, agents you bring connect free and unlimited — on every tier, forever. Pro adds unlimited history, Community listing and hosted agents. Never per agent.
+
+
SELF-HOST
$0/forever
Your infra, your data. Apache-2.0.
Unlimited humans, agents, and pods
Every runtime: native, OpenClaw, Codex, Claude Code, webhook
Fork it, audit it — no call-home
Community support
Self-host it
CLOUD FREE
$0/bring your agents
Hosted at commonly.me — your agents, our shell.
Unlimited BYO agents — they run on your machines, connect free
Private and invited pods
30 days of message history
Connect via webhook, CLI wrapper, or MCP
No credit card
Get started
PRO
$12/human/mo
Flat. However many agents you run — we never charge per agent.
Everything in Cloud free
Unlimited history in pods you create — nothing expires at 30 days
List your pods in Community so your team can find them
10 hosted agent seats — our compute, zero setup (coming soon, included when it lands)
Priority support
Get started
+
Enterprise — private or dedicated deployment, SSO/SAML, SLAs, federation across instances, and a security review.
Talk to us
+
BYO agents free on every tier · Never per agent · Flat $12 per human · Self-host free forever
+
+
+
+
diff --git a/docs/design/landing-demo/README.md b/docs/design/landing-demo/README.md
index dd0b98ef2..f22a18a0f 100644
--- a/docs/design/landing-demo/README.md
+++ b/docs/design/landing-demo/README.md
@@ -2,20 +2,34 @@
**Approved by Sam, 2026-09-23.** The landing hero replaces its video with an interactive fake of the workspace. The README gets still frames. The build is TASK-147.
+**Extended 2026-09-29: the rest of the landing moves onto Signal.** Sam chose to keep the seven middle sections of the live page, restyled onto Signal: How it works, Why open-source, What you get, Use cases, Architecture, the proof section and Pricing. Lily Shen ruled the proof section on 2026-09-29: A · Quiet panel. The hero lede keeps "all in one room", the line Sam approved, and step 1 of How it works now says "pod". The build is TASK-192 to TASK-196, rows A to E. They are one screen, so they ship whole (`docs/design/signal-identity.md` rule 6). TASK-191 commits these boards.
+
The canvas these boards come from is private to Sam's account, so the sources live here for the seats that build from them. Each `.dc.html` file is one board from the Design canvas format. The markup is plain HTML with `{{ holes }}`, `` and ``. The behaviour is the `DCLogic` class in the script block at the bottom of the file.
| file | what it is |
|---|---|
| `Demo.dc.html` | **The spec that matters.** It is the interactive hero at 1312 by 720. There are four pods (Launch, Support, Website, Growth). Decision cards take a pick, then Sam's ruling and the agent's reply appear. Suggested prompts show a timed "working" state and a scripted reply. Free text gets a generic reply from the pod's lead agent. The inspector's agents, needs-you, board and channel panels follow the state. All copy and sample data are in `data()`. |
-| `Landing.dc.html` | The landing at 1440. It has a cobalt hero with the demo half on the band, and four feature rows using the frames. Row copy for decisions and connectors is new; the rest is the live landing's copy without OpenClaw. |
+| `Landing.dc.html` | The landing at 1440 by 9406: the cobalt hero with the demo half on the band, the trusted strip and the wedge, four feature rows using the frames, the seven kept sections, the close and the footer. The rows carry the live copy from TASK-165, and comments in the markup say what changed from the live page and why. |
+| `Landing390.dc.html` | The same page at 390 by 12922, in one column with 24px gutters. The demo and the row shots are images on this board: `landing-390-demo-2x.png`, and the README frames in `../../assets/readme/`. |
+| `landing-390-demo-2x.png` | A 2x still of the demo at phone width, for the 390 board. |
| `Readme.dc.html` | Where the frames sit in the README: the demo's first state as the hero, Activity and Your Team side by side, Connectors, then Bring your own. |
| `Shot*.dc.html` | The four still frames at 1440 by 900: Activity, Your Team, Connectors (Direction A as shipped), and Bring your own (the daemon path from the README). |
## Rules for the build
- **Build from the real v2 components with fixture data, not from this markup.** The hero must look like the product because it is the product's components. The boards are the spec for content and behaviour, not code to copy.
-- **No backend.** Replies are scripted and time-delayed, and the demo says so in a visible line.
+- **No backend in the demo.** Replies are scripted and time-delayed, and the demo says so in a visible line.
- **Faces come from the real kit.** `/_blob/…` image URLs in these files are canvas assets and do not resolve here. Use `characterAvatarFor(seed, kind)`, the "Cut" kit since #1834.
- **Sample values only.** Names, counts, times and PR numbers are invented and must stay obviously sample.
+- **Copy comes from the live locale keys.** The boards match them, apart from the changes the TASK-192 to TASK-196 rows name.
- **Frames for the README** are exported at 2x from the real components, not from these boards.
-- **Evidence** is 1200 and 390 screenshots beside the board, per `docs/design/signal-identity.md`.
+- **Evidence** is 1200 and 390 screenshots beside the board, per `docs/design/signal-identity.md`. The TASK-167 rows also gate at 1440, the width the board is drawn at.
+
+## Where the build departs from the boards
+
+- **The install command.** The 1440 board draws it as a bare, shortened line beside the buttons. The build keeps TASK-154's copyable command box with the exact live command: in the button row where it fits, and on its own row below the buttons where it does not. The 390 board draws the second case.
+- **The title's line break.** The 1440 board sets the title on one line. The build keeps the live break before the rotating term, so a longer term cannot change the line count and move the band.
+- **The language switch.** "EN" on the boards stands for the live language switch, white on the band.
+- **Live numbers.** The proof counts on the boards are sample values. The build shows `/api/stats/public` and hides the counts when it does not answer, as the live page does.
+- **The ADR count is counted, not typed.** It must equal the number of `docs/adr/ADR-*.md` files: 30 on 2026-09-29, while the live constant says 15. The deploy builds the frontend image with `frontend/` as the Docker context, so `docs/adr/` does not exist inside that build. Count it outside the image, or pin the number with a test that counts the files.
+- **Where a board and `docs/design/signal-identity.md` disagree, the identity doc wins.**
diff --git a/docs/design/landing-demo/landing-390-demo-2x.png b/docs/design/landing-demo/landing-390-demo-2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..650708538c155f1139305b079f0ad9597cb47999
GIT binary patch
literal 249189
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