Skip to content

docs: Noosphere section — protocol guide, agent operations, hello-world tutorial - #26

Merged
hayarobi merged 15 commits into
mainfrom
feat/noosphere-docs
Aug 11, 2026
Merged

docs: Noosphere section — protocol guide, agent operations, hello-world tutorial#26
hayarobi merged 15 commits into
mainfrom
feat/noosphere-docs

Conversation

@nolnol3

@nolnol3 nolnol3 commented Aug 3, 2026

Copy link
Copy Markdown
Member

Adds a Noosphere documentation section (new docs instance at /noosphere, navbar entry).

Contents

  • Overview & How it works — roles, request lifecycle, payments and escrow, verification, NoosphereVRF; comparison with the x402 per-call rail
  • Tutorial — hello-world end to end: run an agent in Docker, sell per-call via x402, serve an on-chain compute request
  • Run an agent — node setup, serving the compute network, dashboard guide
  • Request on-chain compute — consumer contract guide
  • Reference — container contract, registry & deployed addresses, configuration
  • x402 section: adds Sell from a Noosphere agent and cross-links between the two products

Commands, outputs, and screenshots come from a real run on HPP Sepolia; code samples and addresses were verified against the deployed contracts. docusaurus build (including the broken-link check) passes.

nolnol3 added 15 commits July 31, 2026 13:28
A standalone docs instance (same pattern as /x402) covering both what
Noosphere is and how to use each side of it:

- Overview — the verifiable off-chain compute network, its two revenue
  rails (on-chain subscriptions, x402 per-call selling), role-based paths
- How it works — consumers, Router/Coordinator/Billing, agents and
  containers, transient vs scheduled subscriptions, compute wallets,
  verification levels, VRF, with a request-lifecycle sequence diagram
- Quickstart: run an agent — install → config → keystore → run, dashboard,
  Docker deployment, the on-chain worker rail
- Sell compute (x402) — free HF model to first payment in 10 minutes,
  buyer guarantees, execution receipts, HTTP/MCP/Explorer reach, pricing
- Buy compute — find services on the explorer, pay from code or an AI
  agent, buyer protections
- Request compute on-chain — TransientComputeClient walk-through with the
  real _receiveCompute signature, subscription parameters, trust levels
- Reference — the POST /computation container contract (with a complete
  FastAPI example) and the full config.json reference

Registers the docs plugin instance, sidebar, navbar entry, and search
scope; links the main-docs Noosphere intro to the manual. Build passes
with Docusaurus link checking.
Corrected model after review: Noosphere and x402 are independent products
that happen to share the agent/containers. Core Noosphere = BOTH request
and settlement on-chain (subscriptions, Router/Coordinator, Billing +
compute-wallet escrow); x402 = per-call HTTP selling with off-protocol
stablecoin settlement, documented at /x402 only.

- Remove the x402 pages from this section (sell-compute, buy-compute);
  x402 appears only as a one-paragraph cross-reference for operators.
- Overview + How it works rewritten protocol-first: Router/Coordinator/
  Billing/WalletFactory roles, commitment lifecycle, transient vs
  scheduled, compute-wallet escrow, verification as a dial
  (redundancy → registry verifiers), brief NoosphereVRF section.
- NEW Registry & deployments page: live contract addresses for Mainnet
  (190415) and Sepolia (181228) from noosphere-registry, the container
  catalog (hello-world/llm/freqtrade/vrng), verifiers, RegistryManager
  usage (API checked against the SDK source), contribution flow.
- Run an agent rewritten as a protocol-worker guide (delivery gas,
  participation levels: worker / verified compute / VRF operator).
- Configuration rewritten protocol-first; x402Seller is one row pointing
  to /x402. Container contract page de-x402'd.
- Grounded in a review of the full repo family: noosphere-evm README +
  contracts, noosphere-sdk packages, noosphere-registry network files,
  agent-js. Legacy Java services (hub/gateway/scheduler) excluded.

Build passes with link checking.
The agent-operator's x402 selling guide lives where it belongs — in the
x402 product docs, next to the SDK seller quickstart — keeping the
/noosphere section protocol-pure while still serving operators who want
the per-call rail:

- no-code path: container -> config.json (x402Seller block) -> paid
  routes + MCP tools, with the 10-minute HuggingFace walk-through
- buyer guarantees (schema-gated 400 before payment, no charge on
  failure, non-custodial), execution receipts
- reach: HTTP / MCP bridge / explorer listing (register-before-first-sale,
  pending-until-approved), pricing, operating tips
- wired into the x402 sidebar + intro seller table; /noosphere
  cross-links (intro, run-an-agent, configuration) now point at it

Build passes with link checking.
…l in /x402

Full exclusion had erased half of an operator's revenue picture from the
Noosphere docs. Applied the junction rule — each product surfaces the
junction from its own perspective; the concept owner keeps the detail:

- Overview gains 'One agent, two markets': a parallel-markets comparison
  table (buyers, request path, settlement, funds-to-start, verification)
  that states the boundary explicitly — this docs = on-chain protocol,
  per-call selling detail = /x402. Path table gains the per-call seller
  row; the redundant footer info-box is dropped.
- Run an agent: the tail tip becomes a real section — what the x402 rail
  is, a which-rail-when decision table, the one config switch
  (x402Seller.enabled), then a single deep link to /x402/sell-from-an-agent
  for pricing/schemas/receipts/explorer listing.

No step-by-step or config-field duplication: how-to detail stays solely
in /x402/sell-from-an-agent. Build passes with link checking.
…ts, dashboard page, first-request tutorial, real screenshots

Reviewed as a newcomer who just found Noosphere and wants to run an agent:
the old pages gave four commands and stopped. Now:

- Run an agent: full walk-through with the REAL terminal transcripts
  (generate:config's interactive session, init's keystore output, healthy
  startup logs), a what-you'll-need/what-you'll-have frame, and an
  'Is it working?' checklist mapping each check to a dashboard panel.
- NEW Dashboard page: panel-by-panel reference for the agent home,
  x402 Seller tab, and Computing History — illustrated with screenshots
  captured from a live production agent — plus 'reading it like an
  operator' (am I healthy / earning / about to stop earning / was that
  job worth it).
- NEW Tutorial: your first compute request — end to end on Sepolia:
  forge-deploy the sample MyTransientClient against the live Router,
  npm run send:request (real transcript: payment wallet -> subscription
  -> request), watch the delivery land, cast-read the result back.
  No-funds path via the repo's anvil e2e script. Grounded in the actual
  scripts (send-request.ts, e2e-test.sh, generate-config.ts).
- Sidebar: concepts -> tutorial -> operator (agent + dashboard) ->
  contract developers -> reference; intro's path table leads with the
  tutorial.

Build passes with link checking; screenshots in static/img/noosphere/.
…side

A second sequence diagram right after the on-chain lifecycle — same agent,
none of the protocol contracts: 402 terms -> signed USDC.e authorization ->
verify -> run container -> settle -> response. Plus a four-row contrast
table (who asks / contracts involved / payment / how results return) and
the single deep link to /x402/sell-from-an-agent. Seeing both flows next
to each other is the clearest statement of what 'separate rail' means.
A public manual must not link readers into a 404. noosphere-starter-app is
currently PRIVATE on GitHub; removed its row from the pieces table (restore
it if/when the repo goes public). Verified no other page in noosphere/,
x402/, or docs/ links a private hpp-io repo.
… get a real path

Two structural fixes from review:
- 'Run an agent' category contained a doc of the same name — now the
  category holds distinctly-named steps: 'Set up the node' (the setup
  shared by both rails, ending in an explicit Choose-your-rail fork) and
  'Serve the compute network' (the on-chain rail: funding, the earning
  loop, participation levels, earning-loop troubleshooting).
- Operators who only want per-call selling had no path — the category now
  carries a 'Sell per-call (x402) ↗' sidebar link straight to
  /x402/sell-from-an-agent (detail stays owned there; no duplication),
  and node-setup's fork table sends each rail to its guide.
- Tutorial relabeled 'first on-chain request' (honest scope) and its
  next-steps table names /x402/sell-from-an-agent as the x402 counterpart
  tutorial. Inbound links updated (intro, x402 guide).

Build passes with link checking.
…— Docker install to both rails, with screenshots and a flow GIF

Rebuilt the tutorial from an actual zero-to-finish run on HPP Sepolia
(fresh clone -> Docker agent -> first x402 sale -> first on-chain
delivery). Every command, transcript, address, tx hash, and screenshot in
the page happened:

- Part 1: Docker install — cast wallet new -> init (keystore import) ->
  the real minimal config.docker.json -> docker up -> real startup logs ->
  fresh-dashboard + seller-zero screenshots
- Part 2: x402 — the buyer example paid the tutorial agent /bin/zsh.001 USDC.e
  (settle tx 0x304020…); response receipt shown verbatim; seller-tab
  screenshot with the job
- Part 3: on-chain — setup:wallet (discovered REQUIRED: deliveries revert
  InvalidWallet without a factory-made payment wallet), consumer deploy,
  the four-tx cast ceremony (wallet -> approve -> subscribe -> request),
  agent delivery in 12ms at block 295109, Events/History screenshots,
  on-chain outputHash readback; honest notes on delivery races (a prod
  agent won an earlier request) and on compiling the consumer against the
  deployed protocol version
- A 3-frame GIF shows the dashboard progressing fresh -> first sale ->
  first delivery
- Accuracy fixes fed back into Set-up-the-node (init imports a key, not
  generates) and Serve-the-compute-network (new one-time setup:wallet
  step with the InvalidWallet explanation)

Build passes with link checking.
…e zero-setup entry point

A hosted browser dApp on HPP Sepolia now exists that exercises the
protocol end to end — on-chain LLM chat (create a compute subscription,
ask, receive the callback answer) and NoosphereVRF raffle/dice. Wired it
in as the first rung of the ladder:

- Overview: 'Try it in your browser first' section with a screenshot,
  and a zero-setup row leading the Choose-your-path table
- Tutorial: a want-a-feel-first tip up top
- Request compute on-chain: 'see it live' note — the playground's chat
  is exactly this client pattern behind a UI
- How it works: VRF section points at the live raffle/dice

Site link only (the app's repository is private).
… earns its place

Review caught the page showing near-identical screens repeatedly: the
header GIF cycled the same three dashboards that then reappeared as
statics, the delivered-state dashboard was visually identical to the
fresh one (only the Events numbers differ), the seller-zero shot carried
almost no information, and the history capture was half whitespace.

- Dropped the GIF and the seller-zero screenshot (text covers it)
- The delivery moment is now a tight crop of just the Scheduler/Events
  cards (Completed: 1) instead of a third full-dashboard shot
- Computing History cropped to the table
- Honest caption for the Failed/Skipped leftovers from the capture
  session (one being the delivery race explained in 3.5)

Four images remain, each showing something the previous ones don't:
fresh dashboard -> seller tab with the paid job -> events completing ->
history table.
- how-it-works: lifecycle diagram corrected — inputs stay stored on the
  client (requestCompute note + sendRequest(subId, interval)), agents pull
  via getComputeInputs; payment section = first valid delivery wins,
  budget feeAmount x executions
- request-onchain-compute: minimal client rewritten to the deployed
  interface — 7-arg createSubscription (no redundancy, real routeId) and
  era _receiveCompute with PayloadData payloads; params table and trust
  levels updated; note that repo main targets the next protocol version
- intro / serve-compute-network: dropped redundancy wording (deployed
  protocol has single-delivery, first-valid-wins semantics)
Compile-verified the minimal client verbatim against the deployed v1.0.0
sources — the ComputeClient base declares typeAndVersion() abstract, so
the example did not compile without it.
Fact-check against noosphere-agent-js source, deployed contracts, the
registry, and a live agent run:

- configuration: chain block now matches the real AgentConfig
  (routerAddress/coordinatorAddress/deploymentBlock/processingInterval),
  keystorePath is a file path, paymentAddress semantics corrected
  (generator writes zero address; setup:wallet fills it — nothing
  defaults to the agent EOA); added scheduler/retry/containerExecution;
  payload defaults (ipfs, 1024); no-schema-validation warning
- node-setup: generate:config transcript and startup logs replaced with
  real captured output (previous blocks were paraphrased)
- registry-and-deployments: removed non-existent RegistryManager
  .getDeployment(); routeId guidance inverted — bytes32(0) has no
  default route, sendRequest reverts CoordinatorNotFound
- how-it-works: callback is invoked by the Router (not Coordinator);
  protocol fee comes out of feeAmount, not on top
- first-request: buyer part rebuilt on public packages (sample repo is
  private); faucet + USDC.e funding path in prereqs; noosphere-evm clone
  pinned to the deployed protocol commit 80bce17; $WALLET and $SUB now
  extracted from receipts (verified live); compute-wallet terminology
- sell-from-an-agent: payTo requirement stated (keystore EOA is never a
  payout fallback); discovery signing comment corrected
@nolnol3
nolnol3 requested a review from hayarobi August 10, 2026 01:30

@hayarobi hayarobi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good job

@hayarobi
hayarobi merged commit db8edae into main Aug 11, 2026
1 check passed
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.

2 participants