Skip to content

fix(onramp): correct the install commands agents copy - #460

Draft
LamaSu wants to merge 4 commits into
masterfrom
fix/aeo-honest-install-commands
Draft

LamaSu wants to merge 4 commits into
masterfrom
fix/aeo-honest-install-commands

Conversation

@LamaSu

@LamaSu LamaSu commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner

Why

The 9/29 install-path audit found that our public install instructions don't work: agents that read llms.txt, pcc.json or the landing page are told to run commands that fail. The ADK and hackathon track depends on agents being able to connect. The steward's list for this lane (from the audit and rehearsal R0) covers the stale docs outside the agent pack: install.html, root AGENTS.md, MCP_INSTALL.md and the Claude Code quickstart. The agent pack and the pcc skill belong to adk (#452).

Advertised What happens This PR
pip install pcc-node Fails today: 0.1.0 is yanked (it ships the N66 shell executor), and 0.1.1 isn't on PyPI yet. pip install "pcc-node[crypto]>=0.1.1", the form #452 uses. 0.1.1 is due by 10-01 (board ADK item 1).
npx -y @pcc/mcp-server, npm install -g @pcc/operator-agent-runtime, pnpm add @pcc/operator-agent-runtime npm E404. No @pcc package is published, and the operator runtime isn't in the repo either. Removed. Replaced with the hosted MCP server and the job-offers API calls that work today.
/skills install https://capability.network/skills/pcc.md No such command. In Claude Code 2.1.285, /skills only lists skills. mkdir -p ~/.claude/skills/pcc, then curl the skill into it.

Merge order

The pip lines assume 0.1.1 is on PyPI. Merge this after item 1 publishes it. Nothing merges before Oct 5 anyway, and the target is 10-01. If 0.1.1 slips past then, hold this PR: until then, the floored command fails with "No matching distribution found for pcc-node>=0.1.1".

The hosted MCP lines also need a prod setting. Today https://capability.network/mcp answers initialize, then fails tools/list with -32600 PCC_API_BASE_URL is not set — the MCP proxy is disabled. #271's fail-closed guard shipped, and the variable was never set on prod, so every MCP client gets zero tools. That is a live hole, and it is on master already: llms.txt, the skill and the MCP Registry listing all point there. The fix is one Railway variable, PCC_API_BASE_URL=https://capability.network, and it's the operator's. This PR's claude mcp add lines are right once it's set.

What changes

  • pcc-node: these files install with pip install "pcc-node[crypto]>=0.1.1":

    • llms.txt and pcc.json (onboarding.one_command);
    • PCC-NETWORK.md, README.md and AGENTS.md;
    • docs/AGENT_INTEGRATION.md;
    • the landing page (its three CTAs, the terminal demo and step 1).

    The floor keeps everyone off the yanked 0.1.0. The crypto extra is what the node needs to sign. Double quotes make the command work in bash, zsh, PowerShell and cmd.exe.

  • Landing page: its three "GitHub" links pointed back to capability.network. They now point to the repo.

  • @pcc on npm:

    • PCC-NETWORK.md and the quickstart no longer install @pcc/operator-agent-runtime.
    • pcc.json marks that runtime not built.
    • The quickstart shows what works now: GET /api/job-offers/open?capabilityType=… (public), then POST /api/job-offers/:id/claim with a key and the kernelId body the route requires.
  • docs/MCP_INSTALL.md is now a short pointer to the one public copy, apps/dashboard/public/MCP_INSTALL.md, which fix(docs,gateway): install calls to action that work, and no local paths (N26) #414 rewrites and the gateway serves at /MCP_INSTALL.md. It was a second copy that had drifted and still said npx -y @pcc/mcp-server (and a personal C:/Users/… path). The pointer keeps the one-line hosted-MCP command.

  • /skills install: the /start page (start_here in pcc.json) and the quickstart now show the download that works.

    • The quickstart's manual install ran curl -o into a directory before creating it; the order is fixed.
    • The quickstart offers claude mcp add --transport http pcc https://capability.network/mcp as the alternative that needs no install.
  • install.html:

    • It says "250+ tools", not "230+" (the pack has 253).
    • It drops the "~207 KB" size (the pack is 265 KB).
    • The hand-off prompt now provisions the key before the template call that needs it (/api/sdk/adapter-template/* returns 401 without one).
    • It says @pcc/kernel is not on npm, so the agent works in a clone.
    • It names MachineAdapter's real methods, getStatus, execute, getProgress, onEvidence and dispose, which the served templates also implement. It used to list connect, getHealth and executeJob, which exist nowhere.
  • Guard test apps/dashboard/src/__tests__/agent-facing-install-honesty.test.ts (8 tests) pins the install matcher with a table of forms it must flag (including python -m pip, ==0.1.0, a floor without the extra, a line continuation and uvx) and forms it must pass. It checks that:

    pcc.json is in the checked set, so a later sync from LamaSu/pcc-network-kit that brings back an old command fails CI.

Verification

Not in this PR

Ledger rows: R36, R43.

🤖 Generated with Claude Code

LamaSu and others added 2 commits September 29, 2026 16:24
Every install command an agent or a person can copy from our agent-facing
surfaces now works today, and a test keeps it that way.

- pcc-node: its only PyPI release (0.1.0) is yanked and 0.1.1 is pending, so
  `pip install pcc-node` fails. llms.txt, pcc.json, PCC-NETWORK.md, README,
  AGENTS.md, CLAUDE.md, both copies of the pcc skill, AGENT_INTEGRATION.md and
  the landing page now say it is pending and point to the API flow or the MCP
  server. The landing page's three install CTAs show the verified
  `claude mcp add --transport http pcc https://capability.network/mcp`, and
  its GitHub links point to the repo instead of back to capability.network.
- @pcc on npm: no @pcc package is published (npx and npm give E404).
  PCC-NETWORK.md and the Claude Code quickstart stop installing
  @pcc/operator-agent-runtime, pcc.json marks that runtime as not built, and
  the quickstart shows the job-offers poll-and-claim calls that work now.
- Claude Code has no `/skills install <url>` (in 2.1.285, `/skills` only
  lists skills). The /start page and the quickstart now show the download
  that works: mkdir -p ~/.claude/skills/pcc, then curl the skill into it.

apps/dashboard/src/__tests__/agent-facing-install-honesty.test.ts: 4 of its
7 tests fail against master's files and all 7 pass here. It pins: no pip
install of pcc-node and no PyPI link (flip PCC_NODE_ON_PYPI when 0.1.1
ships), no npm @pcc install, no `/skills install`, and one `claude mcp add`
form. whitepaper.md is allowlisted for pcc-launch, with a ratchet test that
fails once it is fixed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…AUDE.md to #452

Realigns this PR with the status board (v3.131) and adk's #452.

- adk is the single writer of the agent pack and the pcc skill (steward
  #3992), and #452 already fixes CLAUDE.md's counts and pip lines. So the two
  skill copies and CLAUDE.md go back to master's text here.
- pcc-node installs now use #452's form, pip install "pcc-node[crypto]>=0.1.1",
  instead of "not installable right now". 0.1.1 is due on PyPI by 10-01
  (board ADK item 1), and nothing merges before Oct 5, so the command is right
  whenever this text is read. The floor also keeps everyone off the yanked
  0.1.0, which ships the N66 shell executor. The command uses double quotes, so
  it works in cmd.exe too. The landing page's pip CTAs and PyPI links come
  back with the floor; its GitHub links still point to the repo.
- install.html (on the steward's list): it says 250+ tools instead of 230+,
  and drops the stale "~207 KB" size (the pack is 265 KB). Its hand-off prompt
  now provisions the key before the template call that needs it, says
  @pcc/kernel is not on npm (so work in a clone), and names MachineAdapter's
  real methods.
- docs/MCP_INSTALL.md becomes a pointer to the one public copy, which #414
  fixes, instead of a second copy that drifts and still says
  npx @pcc/mcp-server.

The guard test now pins #452's floor rule instead of "no pip install". It also
catches quoted installs, uvx and JSON-escaped newlines, covers
docs/MCP_INSTALL.md, and accepts `claude mcp add` with trailing options. 5 of
its 7 tests fail against master's files, and all 7 pass here.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@LamaSu LamaSu changed the title fix(onramp): stop advertising install commands that fail fix(onramp): correct the install commands agents copy Sep 29, 2026
LamaSu and others added 2 commits September 29, 2026 16:49
… requires

POST /api/job-offers/:id/claim answers 400 missing_field unless the JSON body
names the claiming kernel (job-offers.ts:268-270). The quickstart's example
sent no body, so it could never succeed. It now sends
{"kernelId": "<your kernel id>"} with a JSON Content-Type, and
PCC-NETWORK.md says the claim needs the key and that body.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…line continuations

A `pip install \` continuation put pcc-node on the next line, where the
per-line match never saw it, so the guard missed that form. Continuations are
now joined before matching.

A table-driven case pins the helper. It must flag seven unfloored forms,
including python -m pip, --user, ==0.1.0, a floor without the crypto extra,
a continuation and uvx. It must pass the floored forms and a sentence that
merely says "pip-installable".

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant