You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[docs] Reconcile runtime docs with relay-only pags up #208
Runtime documentation disagrees with the current CLI/runtime implementation.
The implemented path is relay-only from the user perspective: pags up starts one multiplexed runner and runner connect connects via WebSocket relay. The CLI exposes pags up --headless, --instance, and --force; there is no pags up --tunnel option in the code.
Evidence
Current CLI options: platform/packages/cli/src/commands/up.ts
Closing as implemented on main. Runtime docs now agree on relay-only pags up: README, packages/browser-runner/README.md, platform-docs/browser-runtime.md, store/llms.txt, and store/llms-full.txt all say outbound WebSocket relay, no cloudflared/current tunnel path, and no --tunnel flag.
Implementation links: no associated PR was found for the docs cleanup; the relay-only docs are present on main, with related docs commits 444d4f9, 58e2ab4, and 3d99390.
Re-verified rather than assumed, since commit messages in this repo have been citing wrong issue numbers. The relay-only claim held up: no doc mentions cloudflared, a --tunnel flag, or FAGS as current behaviour, and docs/coder-cloud-vs-local-placement.md is clean too.
One claim was stale though, and it was the operationally misleading kind, so 291fbd7 fixes it. Every runtime doc said pags up serves "the active runtime-capable agents it discovered when it started".
It no longer does. up.ts passes --watch-instances for any unscoped run, and relay.ts polls /v1/instances/my/instances every 20s to attach newly eligible instances and detach ones that stopped being eligible (CLI ≥ 0.4.30, #229). So the workaround the old wording implied — subscribe to a coding agent, then restart your runner — is now busywork. A scoped pags up --instance <id> deliberately does not watch.
Two things stated that were not before:
Eligibility has a rule:capabilities.runtime non-null. Cloud-only chat/RAG/connector agents are skipped and never need a runner at all. The docs described the behaviour without ever giving the predicate.
/v1/relay/:instanceId/connect accepts only the short-lived relay token, never the 30-day account JWT. That is why a leaked relay URL is not account takeover, and it belongs in the doc rather than only in a code comment.
Also documented --force's real scope (same-hostname takeover; different machines coexist and routing follows the live socket) and pointed packages/browser-runner/README.md at pags up rather than the low-level runner connect.
Activity
fix(coding): one driver per engine — a session can only be driven once (
fix(coding): the single-flight claim covered 1 of 3 paths that start …
fix(coding): a dead workflow permanently locked the session — claims …
serge-ivo commentedon Aug 6, 2026
Closing as implemented on main. Runtime docs now agree on relay-only pags up: README, packages/browser-runner/README.md, platform-docs/browser-runtime.md, store/llms.txt, and store/llms-full.txt all say outbound WebSocket relay, no cloudflared/current tunnel path, and no --tunnel flag.
serge-ivo commentedon Aug 6, 2026
Implementation links: no associated PR was found for the docs cleanup; the relay-only docs are present on main, with related docs commits 444d4f9, 58e2ab4, and 3d99390.
docs(runtime): `pags up` membership is live, not a startup snapshot (#…
docs(catalog): say where the catalog lives, and stop listing agents t…
serge-ivo commentedon Aug 6, 2026
Re-verified rather than assumed, since commit messages in this repo have been citing wrong issue numbers. The relay-only claim held up: no doc mentions cloudflared, a
--tunnelflag, or FAGS as current behaviour, anddocs/coder-cloud-vs-local-placement.mdis clean too.One claim was stale though, and it was the operationally misleading kind, so 291fbd7 fixes it. Every runtime doc said
pags upserves "the active runtime-capable agents it discovered when it started".It no longer does.
up.tspasses--watch-instancesfor any unscoped run, andrelay.tspolls/v1/instances/my/instancesevery 20s to attach newly eligible instances and detach ones that stopped being eligible (CLI ≥ 0.4.30, #229). So the workaround the old wording implied — subscribe to a coding agent, then restart your runner — is now busywork. A scopedpags up --instance <id>deliberately does not watch.Two things stated that were not before:
capabilities.runtimenon-null. Cloud-only chat/RAG/connector agents are skipped and never need a runner at all. The docs described the behaviour without ever giving the predicate./v1/relay/:instanceId/connectaccepts only the short-lived relay token, never the 30-day account JWT. That is why a leaked relay URL is not account takeover, and it belongs in the doc rather than only in a code comment.Also documented
--force's real scope (same-hostname takeover; different machines coexist and routing follows the live socket) and pointedpackages/browser-runner/README.mdatpags uprather than the low-levelrunner connect.Files touched:
README.md,platform-docs/browser-runtime.md,platform-docs/index.md,packages/browser-runner/README.md,store/llms.txt,store/llms-full.txt. Leaving this closed.fix(coder): the Coding tab's Loop stops being the loop, and starts on…
fix(budget): every autonomous coding entry point opens a pool, and MC…