Dashboard

Navigate the Cartographer dashboard — projects, crawls, agent runs, traces, exports, findings, demos, integrations, and settings.

Dashboard

The Cartographer dashboard is your command center for discovery, agent runs, exports, and integrations. Access it at app.molar.it/dashboard/cartographer (Molar Cloud) or http://localhost:3000/dashboard (local dev).

Trace viewer (session replay, Debugger chat) lives on a separate route tree: /traces and public /r/[shortId] — not nested under /dashboard.

Product page: cartographer.molar.it


Deployment modes

Cartographer ships in two dashboard modes with identical product pages — only org chrome and billing scope differ.

ModeWhoSign-inBilling
StandaloneCartographer-only SKUCartographer host or app.molar.itCartographer usage only
CombinedFull Molar bundleapp.molar.it shared sessionProduct usage here; org billing on central hub

Combined-mode chrome

When your org has multiple Molar products, the dashboard adds:

  • Org switcher and link to Molar home
  • App switcher (Guard | Cartographer | Clones | Trace)
  • Org billing link to the central combined view
  • Shared team/SSO identity from the platform

Product navigation (projects, runs, traces) is unchanged. Cross-product modules — Guard PR gating, Clones fleet, org scenario catalog — live on the central hub, not inside Cartographer.

Note:

Cartographer uses Agent runs and Traces as nav labels. Guard uses Checks; Clones uses Sessions — avoiding a generic "Runs" collision across products.


Global behavior

These apply on every page:

BehaviorDetail
AuthenticationAll pages except login, signup, and public trace share require a valid session
Project scopingData filtered to projects you can access — no cross-tenant leakage
Loading statesSkeleton loaders on fetch; actionable errors (not blank screens)
Empty statesEvery list includes a CTA to create the first item
BreadcrumbsProject → section → detail on nested pages
Real-timeRun and trace pages subscribe to WebSocket/SSE; reconnect banner on disconnect
NotificationsToasts for run complete, export ready, critical finding, extension approval
Deep linksCopyable URLs for every run, crawl, trace, export, finding, demo
Preflight healthMission Control shows API/worker/LLM status; degraded state may block actions in the UI

System health strip

Shown on Home and project hub. Must be green before destructive actions:

CheckBlocks when red
API /healthzAll actions
Planner API key / hosted routingStart run, discover flows, export
Google API key (if tier 1 enabled)Vision escalation, export healer
Hatchet reachableQueue crawl/run/export
Agent / crawl / export workersMatching job types
RedisLive stream
MinIO / S3Artifact viewing

Fix links point to Settings → AI & models, worker docs, or Troubleshooting.


Information architecture

Cartographer web has two UI stacks today:

StackBase pathWhat it covers
Product dashboard/dashboard/*Projects, crawls, runs, exports, findings, integrations
Trace viewer/traces/*, /r/*Trace list, detail, share, embed

Legacy routes /projects, /runs still exist for early flows; new work should use /dashboard.

Product dashboard routes (/dashboard)

/dashboard                                    Mission Control (home)
/dashboard/projects                           Projects list
/dashboard/integrations                     MCP, extension, GitHub
/dashboard/ai-settings                        AI & models (org)
/dashboard/org                                Organization
/dashboard/projects/{projectId}               Project overview
/dashboard/projects/{projectId}/explore         Crawls & route maps
/dashboard/projects/{projectId}/flows           Discovered flows
/dashboard/projects/{projectId}/runs            Agent runs (project)
/dashboard/projects/{projectId}/runs/{runId}    Run detail (flagship)
/dashboard/projects/{projectId}/findings        Findings inbox
/dashboard/projects/{projectId}/exports         Exports
/dashboard/projects/{projectId}/recordings      Demo recordings
/dashboard/projects/{projectId}/credentials   Credential aliases
/dashboard/projects/{projectId}/settings        Project settings

Trace viewer routes (separate stack)

/traces                     Trace list
/traces/{id}                Trace detail
/r/{shortId}                Public trace share (no login)
/r/{shortId}/embed          iframe embed
/runs                       Legacy global agent-run list (links to /traces)

Home (/dashboard)

Purpose: Entry after login — status, recent work, quick actions.

SectionContent
System statusAPI, workers, LLM keys — Mission Control card
Quick actionsNew project, start crawl, start run, MCP install link
Recent activityRuns, crawls, exports, findings
Usage cardsRuns, pages crawled, exports, LLM spend estimate

Note:

Use Mission Control quick actions and the onboarding flow on Home, or follow Quick start.


Projects

Projects list (/projects)

ColumnDescription
NameProject display name
Primary seed URLDefault entry point
Env tagstaging / prod / custom
Last crawlDate and status
Last runDate and status
Open findingsCritical + serious count
Default grounding tier0–2
CreatedTimestamp

Actions: Create, archive, open hub, duplicate settings to new project.

Filters: Environment, has failures, has open findings, search by name/URL.

Project hub (/projects/[id])

Command center for one application.

Header: Name, env badge, primary URL, edit settings, base URL selector (multi-seed projects).

Action bar:

ActionKey options
Start crawlDepth (4), max pages (500), scope, anti-bot, resume crashed
Start runGoal, max steps (50), grounding tier, credentials, browser adapter, record demo, headless, human preset
Discover flowsBatch enqueue from latest route map

Summary cards:

CardLinks to
Route mapLast crawl stats; start crawl if none
Runs tablePaginated agent runs with export/trace actions
FindingsSeverity counts → filtered inbox
DemosCount and last recorded
IntegrationsGitHub, MCP sessions, extension status

Project settings (/projects/[id]/settings)

TabSettings
GeneralName, seed URLs, env tags, scope allowlist, robots.txt override
Grounding & browserDefault/max tier, browser adapter, human preset, headless, anti-bot, fingerprint seed (read-only per run)
Passive UXVLM budget, sampling rate, axe/odiff/vlm toggles
ExtensionOrigin allowlist, PII redaction fields, data-cartographer-ignore docs
RetentionTrace hot/warm/cold days, artifact TTL, auto-pin on failure
Danger zoneArchive project, delete all crawls

Crawls and route maps

Crawls and route maps live under /dashboard/projects/{id}/explore (not a separate /crawls URL).

All crawls for the project appear in the Explore section: id, seed URL, status, page count, timestamps.

Actions: Open route map, re-crawl with same params, compare two crawls (when available).

Route map detail (within Explore)

PanelContent
HeaderStatus, throughput, page/edge counts, anti-bot flag, cancel (if running)
Page explorerPaginated table: URL, pattern, depth, status, DOM hash, screenshot/HAR flags
Page drawerMarkdown preview, a11y tree, screenshot, HAR download, start run from this page
Route graphInteractive graph — zoom, pan, click node → drawer
Compare modeSecond crawl → added/removed/changed patterns

Agent runs

Project runs (/dashboard/projects/{id}/runs)

Agent runs for one project. Global legacy list: /runs.

ColumnExamples
Project, goal, status
Steps, tier 0/1/2 counts
Duration, cost estimate
Trace link, export link
Created by, created at

Filters: Project, status, date range, env, created by, failed only, has export, has findings.

Bulk actions: Cancel selected (running), export selected (completed).

Saved views: "Failed this week", "Running now", "No export yet" — plus custom saved views.

Run detail (/dashboard/projects/{id}/runs/{runId}) — flagship screen

Three regions: trajectory graph (left), live execution + step list (center), step inspector (right).

RegionFeatures
HeaderGoal, status, duration, steps, tier 0%, LLM cost — Cancel, Export, Open trace, Compare
Live panelWebSocket stream: steps, tier escalations, planner thoughts, progress bar
Trajectory graphreact-flow nodes per step; color by ok/fail; border by tier
Step listidx, action type, target, duration, tier badge
Step inspectorAction detail, screenshots before/after, selector candidates, locator used, HAR snippet, linked finding
Tier chartDistribution + escalation reason table
Findings inlineSeverity badges with links
Artifactstrace, video, har, screenshots, export_zip downloads
HITL panelWhen pending_human — message, take over (extension), approve/deny, resume
Audit stripAdapter, fingerprint seed, credentials alias name (not secret), headless, anti_bot

Post-completion: edit & regenerate export with hint; promote finding to export assertion.


Traces

Separate nav from agent runs — session replay and debugging.

Trace list (/traces)

ColumnDescription
Trace id, linked run
Project, status
Failure summary, step count
Pinned, retention tier

Actions: Pin/unpin, share, download NDJSON, download report.md, Layer 2 replay, delete (with retention confirm).

Trace detail (/traces/[id])

|------|---------------|-------------| | Left | Steps sidebar — click to scrub | — | | Center | Events log; Video tab when recording exists | DOM (rrweb) default; Playwright Source iframe | | Right | Debugger chat; Diff when child replay exists | Network, Console, Clones synced panels | | Share | Share modal — URL + visibility | Slack unfurl | | Keyboard | — | J/K/F/Space scrubber — see Trace keyboard shortcuts |

Layer 2 diff appears in the Diff tab when a replay child trace exists — not a separate /replay/{id} route today.

Public share: /r/[shortId] and /r/[shortId]/embed — read-only, no login.

See the Trace product docs for API and ingestion workflows.


Exports

Exports are per-project at /dashboard/projects/{id}/exports.

Columns: export id, run id, status, lint/verify flags, testid coverage %, timestamps.

Export detail (within project exports)

SectionContent
Pipeline statuspending → pruning → ranking → clustering → generating → linting → verifying → healing → complete
Spec previewSyntax-highlighted per file
Page object updatesFile list with preview
Warnings / lint / verifyFull output when failed
Coveragetestid_coverage_pct — warning below 30%

Actions: Download zip, open GitHub PR (.


Findings

Project findings (/dashboard/projects/{id}/findings)

Grouped by severity (critical first), then route pattern.

ColumnDescription
Severity, rule_id, sourceaxe / odiff / vlm
Route pattern, description
Run link, dismissed flag

Bulk actions: Dismiss selected, create baseline from selected.

Passive UX cost panel: VLM calls vs monthly budget, $/page average, alerts when over budget.

Finding detail (/findings/[id])

Full evidence screenshot, selector pattern, linked run step, dedupe hash.

Actions: Dismiss, undismiss, update visual baseline, add to export assertions, copy share link.


Demos (recordings)

Project recordings (/dashboard/projects/{id}/recordings)

Recorded demonstrations from the browser extension (unpacked dev build from the Cartographer repo).

ColumnDescription
Title, project, seed URL
Chunk count, duration, status
Skill hit ratePlanner cache hits when available

Actions: Open detail, delete, replay (creates agent run via API).


Integrations

MCP (/dashboard/integrations)

StepAction
1Choose IDE client
2Copy stdio or HTTP config snippet (https://mcp.molar.cloud or http://localhost:8000/mcp)
3OAuth authorize (api.molar.it) on cloud
4Test cartographer_list_projects

Sessions table: Revoke active MCP sessions.

Quotas: MCP calls remaining, rate limit reset.

Full reference: MCP tools.

Extension (/dashboard/integrations)

PanelContent
Approval queuePending navigation/payment/password/scope
Record modeToggle per project → recordings library

See Browser extension.

GitHub (/integrations/github)

GitHub App install, default export repo per project, webhook delivery log for export PR events.


Settings

Org- and project-level settings live inside the dashboard shell:

PagePathPurpose
AI & models/dashboard/ai-settingsHosted vs BYOK, per-capability routing
Organization/dashboard/orgProfile, team, billing link
Project settings/dashboard/projects/{id}/settingsSeed URLs, scope, grounding, extension allowlist
Credentials/dashboard/projects/{id}/credentialsCRUD aliases — secrets never shown after save

API tokens for cartog mcp and PAT auth: configure via API keys endpoint / org settings (dashboard UI.

Outbound webhooks (run.completed, export.ready, …) —.

Configuration detail: Configuration.


Help & ops (/help)

ResourceLink
DocumentationThis docs site
E2E verify commandsmake verify-e2e
Hatchet dashboardJob queue (local :8080)
Langfuse / JaegerLLM and infra traces
Worker statusagent, crawl, export, trace workers — heartbeat + version
Reset onboardingClears home checklist

Typical user journeys

PersonaDashboard path
First-time userHome checklist → project → crawl → run → trace → export
Daily QA engineerProject hub → discover flows → review failures in trace → findings → export → GitHub PR
IDE userIntegrations MCP → trigger run from IDE → watch same run live in dashboard
Authenticated-site testingCredentials → run with alias → extension approval queue → HITL panel
Record & replayExtension record → demos library → replay as run
Debug failureFailed run → /traces/{id} → Debugger chat → Layer 2 diff → regenerate export

PageTopic
Quick startFirst crawl and export
Core conceptsCrawls vs runs, grounding, export pipeline
Browser extensionRecord mode and relay
MCP toolsIDE integration
TroubleshootingHealth strip and worker issues