Skip to content

Tier 3: worked local-vs-hosted comparison across examples and the site - #121

Open
giordano-lucas wants to merge 2 commits into
promote/cloud-tier2-clifrom
promote/cloud-tier3-examples-docs
Open

Tier 3: worked local-vs-hosted comparison across examples and the site#121
giordano-lucas wants to merge 2 commits into
promote/cloud-tier2-clifrom
promote/cloud-tier3-examples-docs

Conversation

@giordano-lucas

Copy link
Copy Markdown
Member

Stack: 3 of 3. Based on #120, which is based on #119. Review in order; this PR's diff is against #120.

What

The content layer — the part that has to earn the click rather than just place a link.

examples/hosted/ — the same job done three ways (local capture, hosted over HTTP, hosted over MCP) with a comparison table and two dependency-free, standard-library scripts:

  • discover.py searches the public marketplace and needs no credentials at all — verified live against nfl.com (5 hits), instagram post comments (semantic), and jobs.ashbyhq.com (correctly 0).
  • run_hosted.py executes one hosted function with NOTTE_API_KEY. All error paths smoke-tested; the unauthorized path correctly returns HTTP 401 {"error":"Unauthorized"}.

Example README footers on all six existing examples.

/docs/cloud — when to use which, the pre-capture lookup, how to disable it, CLI search, MCP setup.

Home page — a "Run it, or don't." section, plus a docs-index card and an agent-mode callout.

Two honesty calls worth flagging

The footers don't claim a hosted equivalent exists. I checked every example's domain against the live marketplace: jobs.apple.com, uber.com, autoscout24.com, mintlify.com, ikea.com, and jobs.ashbyhq.com all return zero functions today. My original plan was "Hosted equivalent: " footers, which would have sent readers to empty result pages — the worst possible first impression. They're now phrased around maintenance, with a search command and a build link, both of which stay true whether or not coverage lands later.

The comparison is deliberately even. Both columns list what the other does better; offline, code review, and network-local execution stay firmly in the local column. Overselling the hosted side to an audience that just installed an MIT CLI reads as a bait-and-switch, and that costs more than it wins.

One inferred detail — please confirm

POST /api/functions/{id}/run is verified to exist and to require Bearer auth (401 without), but I could not verify its request body shape — it's authenticated, and the preview MCP server's marketplace is empty so spec returned nothing. run_hosted.py sends {"variables": {...}}, inferred from the MCP run tool contract ({function_id, variables}) with the id in the path. Worth a 30-second check by someone with a key. Everything else in these PRs is verified against the live API.

Verification

  • Website types:check, lint, and build all pass; /docs/cloud renders and is in the sitemap.
  • Rendered and screenshotted the new home section in light, dark, and mobile. Caught and fixed a real bug in the process: the rae card heading was hardcoded to #1f1f1f and disappeared against the dark card — now var(--color-ink).
  • Python suite still 926 passed, 1 skipped. ruff check clean on examples/hosted/.

🤖 Generated with Claude Code

giordano-lucas and others added 2 commits August 20, 2026 13:47
Rounds out the funnel with the content layer.

- examples/hosted: the same job three ways — local capture, hosted over HTTP,
  hosted over MCP — with a comparison table and two dependency-free scripts.
  `discover.py` searches the public marketplace and needs no credentials;
  `run_hosted.py` executes one function and needs an API key.
- Every existing example README gains a footer pointing at the hosted route,
  phrased around maintenance rather than claiming a hosted equivalent exists.
  None of those six sites are in the marketplace today, so the footers link to
  a search and to building one, which stays true either way.
- A /docs/cloud page covering when to use which, the pre-capture lookup, how
  to turn it off, CLI search, and the MCP endpoint.
- A "Run it, or don't." section on the home page, plus a card and a short
  section in the docs index and a callout in agent mode.

The comparison is deliberately even. Overselling the hosted side to an
audience that just installed an MIT CLI would read as a bait-and-switch, so
both columns list what the other does better — offline, code review, and
network-local execution stay firmly in the local column.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Follows the search endpoint gaining `base_url`. `discover.py` now scopes with
it instead of over-fetching and filtering by domain locally, and the docs drop
the "the endpoint ranks rather than filters" caveat, which no longer holds.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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