Skip to content

Commit a36e163

Browse files
bloveclaude
andauthored
docs: remove competitor references; retire the mention assertion (#929)
Per Brian's direction: reword every prose reference to the upstream package's chat-frontend mount generically — blog post, runtimes docs, cockpit guide, service README and comment, and two internal planning docs. Lockfile occurrences are upstream's machine-generated dependency tree and stay. The never-executed competitor assertion in mit-cutover.spec.mjs is deleted — no allowlist or CI enforcement wanted for this; it is an editorial rule applied at writing time. With that block gone and the stray licensing artifact removed (#917), the spec's remaining MIT assertions pass, so it re-enters the scripts test suite and runs in CI for the first time. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent 9fc6a17 commit a36e163

8 files changed

Lines changed: 16 additions & 14 deletions

File tree

apps/website/content/blog/2026-08-31-we-measured-the-runtime-swap.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The short version is that the contract held where it mattered and broke in two p
2929
Each runtime got a server standing on its upstream AG-UI integration, not on anything we wrote to make the numbers look good.
3030
Microsoft Agent Framework runs behind `agent-framework-ag-ui`.
3131
Strands runs behind the community `ag-ui-strands` bridge, pinned to a git reference because the published release crashes on multi-agent routes.
32-
Mastra needed about two hundred lines of Node hosting code, because the upstream package ships an in-process bridge and a CopilotKit mount rather than a plain HTTP endpoint.
32+
Mastra needed about two hundred lines of Node hosting code, because the upstream package ships an in-process bridge and a mount for its own chat frontend, rather than a plain HTTP endpoint.
3333

3434
Every server was driven with live model calls until it produced each surface we cared about: streaming text, a tool call, shared state, and a human approval.
3535
The raw event stream from each of those runs was saved.

apps/website/content/docs/runtimes/mastra/how-it-connects.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This page records the AG-UI wire behavior measured for Mastra on 2026-08-31. It
99

1010
## Transport is Threadplane's, not upstream's
1111

12-
`@ag-ui/mastra` ships an in-process `MastraAgent` bridge and a CopilotKit runtime mount, and no plain AG-UI HTTP endpoint. The service in [`deployments/ag-ui-mastra`](https://github.com/cacheplane/angular-agent-framework/tree/main/deployments/ag-ui-mastra) supplies the missing endpoint.
12+
`@ag-ui/mastra` ships an in-process `MastraAgent` bridge and a mount for its own chat frontend runtime, and no plain AG-UI HTTP endpoint. The service in [`deployments/ag-ui-mastra`](https://github.com/cacheplane/angular-agent-framework/tree/main/deployments/ag-ui-mastra) supplies the missing endpoint.
1313

1414
| Route | Method | Auth | Notes |
1515
|---|---|---|---|

apps/website/content/docs/runtimes/mastra/overview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ The hosted example runs at [examples.threadplane.ai/runtimes/mastra](https://exa
2525

2626
## Upstream ships no HTTP endpoint
2727

28-
`@ag-ui/mastra` provides an in-process `MastraAgent` bridge and a CopilotKit runtime mount. It does not provide a plain AG-UI HTTP endpoint, which is what `@threadplane/ag-ui` connects to.
28+
`@ag-ui/mastra` provides an in-process `MastraAgent` bridge and a mount for its own chat frontend runtime. It does not provide a plain AG-UI HTTP endpoint, which is what `@threadplane/ag-ui` connects to.
2929

3030
Threadplane therefore maintains a small hosting service, [`deployments/ag-ui-mastra`](https://github.com/cacheplane/angular-agent-framework/tree/main/deployments/ag-ui-mastra). It accepts `POST /agent/<topic>`, calls `MastraAgent.run(input)`, and writes one Server-Sent Events frame per AG-UI event. It is deliberately hand-written rather than generated: the Python generator targets one aggregated FastAPI process, and Mastra is a different language on a different hosting lane.
3131

cockpit/runtimes/mastra/angular/docs/guide.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ store would orphan every pending approval across HTTP requests.
2929
## The hosting service (Node lane)
3030

3131
Upstream `@ag-ui/mastra` ships no plain AG-UI HTTP endpoint — only the
32-
in-process `MastraAgent` bridge and a CopilotKit runtime mount. The backend
33-
is therefore the hand-written Node service `deployments/ag-ui-mastra/`:
32+
in-process `MastraAgent` bridge and a mount for its own chat frontend
33+
runtime. The backend is therefore the hand-written Node service
34+
`deployments/ag-ui-mastra/`:
3435
`server.mjs` subscribes to `MastraAgent.run(input)` (the raw AG-UI event
3536
Observable) and encodes each event as one SSE `data:` frame — exactly what
3637
`@ag-ui/client`'s `HttpAgent` consumes. It mirrors the Python lane's

deployments/ag-ui-mastra/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ Hand-written Node hosting service for the **Mastra** AG-UI runtime — Lane B of
44
the runtime-portability matrix (`docs/superpowers/plans/2026-08-31-runtime-portability-matrix.md`).
55

66
Upstream `@ag-ui/mastra` ships **no** plain AG-UI HTTP endpoint (only the
7-
in-process `MastraAgent` bridge and a CopilotKit runtime mount). This service
8-
is that missing endpoint: `POST /agent/<topic>``MastraAgent.run(input)`
9-
one SSE `data:` frame per AG-UI event. It is deliberately hand-written, not
10-
generated: the Python generator (`scripts/generate-ag-ui-deployment-config.ts`)
7+
in-process `MastraAgent` bridge and a mount for its own chat frontend
8+
runtime). This service is that missing endpoint: `POST /agent/<topic>`
9+
`MastraAgent.run(input)` → one SSE `data:` frame per AG-UI event. It is
10+
deliberately hand-written, not generated: the Python generator
11+
(`scripts/generate-ag-ui-deployment-config.ts`)
1112
targets one aggregated FastAPI process, and Mastra is a different language and
1213
hosting lane.
1314

deployments/ag-ui-mastra/server.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// AG-UI HTTP/SSE hosting service for Mastra agents (Lane B).
33
//
44
// Upstream @ag-ui/mastra ships NO plain AG-UI HTTP endpoint — only the
5-
// in-process `MastraAgent` bridge and a CopilotKit runtime mount. This
6-
// hand-written service is the missing piece: it subscribes to
5+
// in-process `MastraAgent` bridge and a mount for its own chat frontend
6+
// runtime. This hand-written service is the missing piece: it subscribes to
77
// `MastraAgent.run(input)` (the raw AG-UI event Observable) and encodes each
88
// event as an SSE `data: {json}` frame — exactly what @ag-ui/client's
99
// HttpAgent consumes, and exactly what the Python lane's FastAPI bridges

docs/superpowers/plans/2026-08-31-runtime-portability-matrix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ our own demo-backend convention; no third party emits it.
136136
| runtime | cost | notes |
137137
|---|---|---|
138138
| Microsoft | ~30 min | `agent-framework-ag-ui` is the real bridge, not the upstream dojo shim. **Azure creds NOT required** — plain `OPENAI_API_KEY`. Deps co-resolve with the existing lane. |
139-
| Mastra | ~15 min | Upstream ships **no** plain AG-UI HTTP endpoint — only in-process `MastraAgent` + a CopilotKit runtime mount. A ~200-line Node shim was wire-correct first try. |
139+
| Mastra | ~15 min | Upstream ships **no** plain AG-UI HTTP endpoint — only an in-process `MastraAgent` and a mount for its own chat frontend runtime. A ~200-line Node shim was wire-correct first try. |
140140
| Strands | ~5 min | ⚠️ **PyPI `ag-ui-strands` 0.3.0 is stale and crashes on multi-agent routes** — install from a git ref, not the release. |
141141

142142
## Phase 2 sequencing (approved 2026-08-31)

docs/superpowers/specs/2026-08-27-basecamp-homepage-design.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ committed. Three corrections to the design content:
162162
("most packages MIT, chat commercially licensed") — it is now an unqualified
163163
yes: *"Can I use every package commercially without a license fee?" → Yes,
164164
MIT.* The old licensing FAQ item is gone from main; do not resurrect it.
165-
- **The CopilotKit migration question no longer exists.** #881 scrubbed
166-
CopilotKit from the entire site (FAQ item, logo, differentiator copy). The
165+
- **The competitor-migration question no longer exists.** #881 scrubbed the
166+
competitor's name from the entire site (FAQ item, logo, differentiator copy). The
167167
surviving-FAQ list above reflects that; reintroducing the comparison would
168168
run against a deliberate decision on main.
169169
- **The telemetry Yes-wall row strengthens.** Main's language is now "package

0 commit comments

Comments
 (0)