Skip to content

Add the operator/publishing layer — deployed apps, /apps, deploy tokens#5

Open
adamsoffer wants to merge 1 commit into
mainfrom
claude/peaceful-cohen-ca3e31-apps
Open

Add the operator/publishing layer — deployed apps, /apps, deploy tokens#5
adamsoffer wants to merge 1 commit into
mainfrom
claude/peaceful-cohen-ca3e31-apps

Conversation

@adamsoffer

@adamsoffer adamsoffer commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Adds the operator/publishing layer — the actor who deploys apps — on top of the consumer base merged in #4. The consumer ICP (the actor who calls apps) shipped in #4; this PR completes the second ICP so the two were reviewed and shipped independently.

Based on main (#4 is merged). The diff here is exactly the operator surface.

What this adds

  • Home — the Deployed-apps health panel, plus the command-bar deployments readout and the erroring/building attention line (names the single most urgent app the instant you land).
  • Onboarding — the deploy-flavored "Get started" (push a hello-world pipeline) alongside the consumer loop.
  • Nav — the Apps list route (/apps) and its sidebar entry.
  • Settings — the Deploy tokens tab + its settings-rail item.
  • API keys — the "to deploy your own apps, use Deploy tokens" pointer.
  • App detail — owner/operator chrome (Settings/manage tab, publish controls) re-enabled via OWNER_MODE_ENABLED.

pnpm typecheck, pnpm lint (0 warnings), and pnpm build all pass.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dashboard Ready Ready Preview, Comment Jun 17, 2026 10:53pm

Request Review

adamsoffer added a commit that referenced this pull request Jun 17, 2026
…rence consumer (#4)

## What & why

Reworks the developer dashboard's information architecture for the **consumer** ICP — the actor who *calls* inference apps on the network. The organizing axis is the organization's relationship to the network, framed by **direction** — apps you **consume** from the network (which orchestrators serve). Everything stays mock-data-only.

> **Split note.** The **operator/publishing** layer — the actor who *deploys* apps — is stacked on top of this PR in **#5** (Deployed-apps panel, the deploy onboarding, the `/apps` list, Deploy tokens, owner app-detail chrome). This PR is the consumer base; #5 re-adds the operator surface. Review and merge this one first.

## Vocabulary (grounded in the Runner SDK + gateway)
- **model / capability → "app"** — the deployed, callable unit; the SDK wraps an authored *pipeline* into an app (`make_app(pipeline)`).
- **Workspace → Organization** — with public `/orgs/[slug]` profiles (GitHub-style).
- **runs / jobs → "calls"** — the SDK uses *request* (batch) and *session* (live); "calls" is the consumer-facing umbrella that covers both. (Verified against `runner-sdk.md` + the gateway client.)

## Routes & navigation
- `models/[id]` → `apps/[id]` — view-only app detail (Overview, Logs, etc.). Owner/operator chrome lives in #5.
- `/jobs` → **`/calls`** — promoted to a real nav item; removed the stale "Jobs" naming/copy and rebound the `g c` shortcut.
- **Environment** (Production / Development) as a per-page facet + switcher.
- **Default to Home when signed in** — root `/` redirects logged-in users to `/home`; signed-out visitors keep the Explore catalog at `/` (the public landing). Explore gets its own **`/explore`** route so signed-in users can still browse it.
- Sidebar rebuilt into `home / network / environment / organization` zones.

## Home — the consumer console
- **Command bar**: org readout + greeting.
- **Onboarding** ("Get started"): the consumer's first loop in three auto-detecting steps — **create your account → get your API key → call an app**.
- **Two even-height panels**: **Usage** (your spend on the apps you call across the network) beside **Recent activity** — your organization's own calls, a live preview of `/calls`.

## Calls view
- **Batch / Live** segmented filter; the metric column adapts — *latency* for batch, *session duration* for live, *Elapsed* when mixed.
- **In-progress live sessions** get a pulsing dot + **ticking elapsed** and sort to the top (new `active` status on `AccountActivityRow`).
- Clicking a row opens a URL-addressable **call inspector** drawer (`/calls?request=<id>`) — batch shows request/response JSON, live shows a session summary.

## Reviewer notes
- Mock-data-only throughout (`lib/dashboard/`); single-source helper `org-consumption.ts` keeps headline numbers consistent across surfaces.
- An `active` call deep-links to the request inspector; a dedicated live inspector is a follow-up.

✅ `pnpm typecheck`, `pnpm lint` (0 warnings), and `pnpm build` all pass.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Base automatically changed from claude/peaceful-cohen-ca3e31 to main June 17, 2026 20:13
@adamsoffer adamsoffer force-pushed the claude/peaceful-cohen-ca3e31-apps branch from b2b663f to f7bc084 Compare June 17, 2026 20:16
@adamsoffer adamsoffer changed the title Add the operator/publishing layer — deployed apps, /apps, deploy tokens (stacked on #4) Add the operator/publishing layer — deployed apps, /apps, deploy tokens Jun 17, 2026
Layers the operator/publishing surfaces — the actor who *deploys* apps —
on top of the consumer base. Adds, on top of main:

- Home: the Deployed-apps health panel, plus the command-bar deployments
  readout and the erroring/building "attention line".
- Onboarding: the deploy-flavored "Get started" (push a hello-world
  pipeline) alongside the consumer loop.
- Nav: the Apps list route (/apps) and its sidebar entry.
- Settings: the Deploy tokens tab + its settings-rail item.
- API keys: the "to deploy your own apps, use Deploy tokens" pointer.
- App detail: owner/operator chrome (Settings/manage tab, publish
  controls) re-enabled.

Rebased onto main after the App/Pipeline unification (#6) merged: the
operator surfaces (AppsHealthPanel, AppsView, LogsView, HomeCommandBar
attention line) were migrated to the unified app type — manifest reads
now go through `app.deployment`, and the operator fleet is sourced from
`OWNED_APPS` / `appsInEnvironment`.

Co-Authored-By: Claude Opus 4.8 (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