Skip to content

feat(web-foldkit): parity harness and foundations for the Foldkit web app - #1539

Open
Makisuo wants to merge 116 commits into
mainfrom
fk/parity-harness
Open

Makisuo wants to merge 116 commits into
mainfrom
fk/parity-harness

Conversation

@Makisuo

@Makisuo Makisuo commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Foundations for rebuilding the web app in Foldkit, plus the harness that proves a ported screen matches the React one pixel for pixel. Nothing user-facing changes: apps/web-foldkit is not deployed, and every apps/web change is a neutral refactor or lab-only.

What changed

  • packages/ui-parity: the acceptance test. Builds both apps statically against one fixture backend and compares screenshots, layout and styles, ARIA trees and the API calls each app sends.
    • The backend serves the real @maple/domain HttpApi groups. Warehouse queries run through the real query-engine on chDB, seeded deterministically.
    • It also serves Electric shapes, self-hosted and Clerk auth, and injected delays and failures for loading and error states.
    • 80 of 81 routes and every lab page have scenarios, 645 variants in all. A full selfcheck on legacy is deterministic, apart from one known app race (below).
  • apps/web-foldkit: the Foldkit app.
    • Routing for every route, both auth modes and the API clients.
    • The app shell and the full UI kit (56 of 56 gallery variants identical), plus /sign-in and /services identical.
    • Spikes for canvas charts, the virtualized logs table and the service map canvas, each identical to legacy.
  • Neutral apps/web refactors. Each was proven by legacy-vs-legacy parity, with byte-identical screenshots and call logs.
    • @maple/ui class composition moved into framework-free *.styles.ts modules (76 of them).
    • The warehouse query layer and collection schemas moved into the React-free @maple/web-data.
    • @maple/effect-db no longer depends on React.
  • Lab additions: /lab/kit/* component gallery pages, which are the parity targets for the kit.
  • Docs: docs/foldkit-migration.md (plan and status), docs/foldkit-decisions/s1–s8 (spike decision records), and docs/foldkit-agent-brief.md.

Verification

Check Result
Typecheck @maple/web, @maple/web-data, @maple/ui, @maple/effect-db, apps/web-foldkit, packages/ui-parity all pass
oxlint Clean on every package this branch touches
oxfmt Clean on every changed file
knip Clean for the new packages
Tests apps/web-foldkit 142 passing; packages/web-data 147; packages/ui-parity backend 19 and faults 4
Parity, Foldkit vs legacy Kit 56/56 identical, shell 12/12, /sign-in 2/2. Charts hover, logs bench and service map bench identical. /services passes at 0 perceptual px with 0 behavior diffs
Neutrality, legacy vs this branch's legacy Identical apart from the flake below
Logs table perf Scroll script time 316 ms against legacy's 429, heap 22 MB against 27, over 5 runs each

Startup bundle: 709.7 KB gzip against main's 705.9 KB. The budget is raised to 710 KB, with the reason recorded in check-bundle-budget.ts: the lab kit route shells and the web-data service layer.

Bugs on main found by the harness

  • /lab/alerts threw a SchemaError. feat(alerts): warning and critical tiers, recovery values and N-of-M on one rule #1509 made thresholds required in the alert preview, and the lab fixture was never updated. Fixed here.
  • The infra service lens fires workloadInfraTimeseries twice. The first call has an empty workload name, before the workload resolves. Not fixed here.
  • span-hierarchy.tsx scroll-to-selected stops early. It stops on estimated row heights, so the selected span is sometimes off screen. This is why lab-worst-case flakes. Not fixed here.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

…rols

Move the cva definitions and per-slot class strings of the button, field,
input and form-control primitives into sibling *.styles.ts files with no
React or Base UI imports, exported as @maple/ui/styles/ui/<name>. The .tsx
files import them back with the same cn arguments, so classes are unchanged.
…ickers

Dialogs, sheets, popovers, tooltips, menus, command, toast, select, combobox,
autocomplete and navigation menu get *.styles.ts siblings holding every static
class string. Multi-string cn calls spread an as-const array so cn receives the
same arguments in the same order.
…imitives

Card, panel, table, sidebar, page layout, badge, alert, empty, item, list rows,
meters, skeletons, tabs and the remaining display primitives move their cva and
class constants into *.styles.ts. Exported names the apps import (badgeVariants,
eyebrowVariants, listRowVariants, ROW_LANE, rowSelectedClass, ...) are
re-exported from the .tsx unchanged.
…styles/ui

Drop the cva and class lists S1 copied from the React kit; button.ts and
field.ts now import buttonVariants, spinner, field and input styles from the
shared framework-free modules. Sign-in parity stays identical.
Warehouse queries go through an Effect port of the execute batcher as a
runtime resource; results land in keyed AsyncData slots that drop superseded
answers; Electric collections are read through a liveQuery Subscription
re-keyed by org. /lab/data-probe proves it on the fixture backend with the
same execute-batch fingerprint as legacy /services. Decision record and atom
mapping guide in docs/foldkit-decisions/s6-data.md.
…ry definitions, deterministic seed, chDB close
…ixel parity

- apps/web-foldkit/src/service-map/xyflow: React Flow's DOM as Foldkit views, XYPanZoom,
  pane and node measurement in one Mount, the camera in the Model
- trace-flow: TraceFlowView as a Submodel (selection, edge hover, fits)
- static dashboard shell generated from the legacy capture for lab pages
- @maple/ui icons rendered to SVG data by scripts/generate-icons.ts
- service-map-db-style.ts: the React-free half of service-map-db.tsx, so
  service-map-utils/elk/declutter import without React; bench fixture split out
- interaction scenarios for both canvases
…orted

Charts run on the framework-free @tanstack/charts core: a ChartSpec (Schema)
on the plot box describes the definition, MountChart creates the renderer
adapter (lazy chart-host chunk) and follows the spec, and focus and tooltip
changes come back as Chart Submodel Messages. Tooltip bodies are Foldkit views
portaled into the library's tooltip shell. Ports PlotFrame, PlotLegend /
PlotStatsLegend, QueryBuilderPieChart, QueryBuilderHistogramChart and the pie
and histogram lab spikes; /lab/charts renders the gallery with those arms.
Hover a production pie slice and a production histogram bin, light and dark.
The chart is found by its img role and name; the hover is a mouse position
inside it, since a canvas plot has no element per datum.
# Conflicts:
#	packages/ui-parity/src/scenarios.ts
…an React

Ports /lab/bench/logs and /lab/logs onto a logs stream Submodel with
@tanstack/virtual-core in a Mount, adds logs-table parity scenarios
(scroll, row hover, chip card, keyboard focus, wrap/search, pins, reload)
and a perf runner that measures both static builds. Decision record in
docs/foldkit-decisions/s4-tables.md.
# Conflicts:
#	apps/web-foldkit/package.json
#	packages/ui-parity/src/scenarios.ts
…el parity

- ServiceMapFlowCanvas as a Submodel: declutter, ELK worker layout as a Command with
  the synchronous layout as the 2 s fallback, selection, camera fits
- node cards, tube edges, minimap, controls, background, namespace boxes, legend;
  toolbar and loading skeleton generated from the legacy capture
- particle canvas as a Mount fed by serialized edge geometry
- window.__smBench harness (readiness, idle/pan runs, camera pin and fit)
- bench fixture row types restated structurally so the Foldkit app can import it
Move apps/web/src/api/warehouse/* and the React-free lib modules they need
(cache-key, error-messages, chunk-reload, peer-reachability, v2-pagination,
session-replays, trace-time-window, tool-analytics) into packages/web-data.
Query functions now require plain services (WarehouseExecutor,
MapleInternalHttp, MapleApiV2Http, ApiReachability) instead of the atom
clients and registry; apps/web provides them from registry.ts (same module
batcher, atom clients' HttpApiClients, reachability clock), and the atom
families and widget fetches provide that layer. Time-range resolution core
(snapTimestamp, resolveTimeRangeAt) moves too.
Six lab pages render every @maple/ui primitive in isolation as parity targets
(buttons, forms, overlays via ?item=, display, content, navigation). The kit
area adds one scenario per page and per overlay item, plus hover and
keyboard focus-visible variants for buttons and inputs.
# Conflicts:
#	packages/ui-parity/src/scenarios.ts
#	packages/ui-parity/src/scenarios/lab.ts
…st pages

FilterSection/FilterSidebar/ActiveFilterChips ports with a FilterSections Submodel
(collapse remembered like useSectionCollapse), SegmentedSelect, ErrorState,
LatencyValue/ErrorRateValue/ServiceDot, a Sparkline chart spec, LoadFailure
(the displayError body), the alert_incidents collection, and Clock, History and
Sliders icons from the generator.
Pages are Submodels registered once in page/registry.ts: built on route entry,
kept across search changes (routeChanged), dropped on leave, and handed the root's
PageContext (org, namespace pin, time zone). Navigation and pin changes go back
as PageOutMessages. Kit: DashboardPage layout, time controls and picker,
SignalEmptyState with presence, PinnedNamespaceNotice.

/services reads the same queries under the same keys as apps/web (overview,
sparklines, facets, baseline, open anomalies, alert incidents, commit messages,
signal presence), with Scene tests for its update logic.
Grouping switch (the table has no sortable columns), an environment filter, an
exclusion that empties the table, a hovered row and a time range from the picker.
…nders

PlotFrame updates its adapter on every render of a ServiceRow, and React remounts
rows whose namespace/environment fragment changes. rowRevision and group-scoped
row keys reproduce both, which removes the canvas edge diffs after a time range
change and a regroup.
# Conflicts:
#	packages/web-data/src/collections/alerts.ts
Date.parse becomes parseWarehouseDateTime, widened dictionaries become satisfies or Maps,
call-log payloads are typed Schema.Json, no non-null assertions, conditional spreads, Effect.die,
Layer provides or try/catch outside the one serialized in-page canvas hash.
… and deps

ui-parity loads scenario and fixture areas through readdirSync + import(), so they are entries.
Unused exports in web-foldkit and ui-parity are deleted, five scaffold deps removed, playwright
listed for the service-map bench, and the http-api lint directive follows oxfmt's line break.
…d, real frames

- lab-flow-* interaction scenarios run on dataset default like the rest of the lab area (no 401s).
- Scenario.targets: run, selfcheck and capture skip a scenario unless every build is one of its
  targets; data-probe is foldkit-only.
- A missing --auth clerk flavor is built from the self-hosted build's stamp before capturing.
- Freeze only Date in installDeterminism instead of page.clock.setFixedTime: Playwright's clock
  also fakes requestAnimationFrame as a 16ms timer, so frame callbacks ran off rendering steps and
  raced ResizeObserver under load (lab-worst-case's virtualized waterfall settled at two offsets).
Dataset.faults and Scenario.faults (sent as x-parity-faults) delay or fail HttpApi endpoints by
tag prefix. settle: "held" waits until every in-flight API request is one the backend holds, then
settles visually, so loading skeletons are captured on purpose. Expected 5xx console lines of
injected failures do not fail the variant. New /services loading and error scenarios.
… every harness feature

Fixture areas, full-page growth, comma filters, pageCalls, Scenario.targets, faults and the held
settle, clerk auto-builds, the Date-only clock, and the service-map fit race.
Freezing only Date (real requestAnimationFrame) did not stop lab-worst-case flaking in the re-pin
run and made three service-map variants flaky. The worst-case flake is an app race in
span-hierarchy.tsx's scroll-to-selected loop; documented as a known gap.
legacy@0a7d4a9ef1 vs legacy-head over route,lab,kit: 195 identical, 5 pass at 0 perceptual px;
the 4 service-map/worst-case fails were the reverted clock experiment and came back identical
on recheck, lab-alerts is pixel-identical with the same fixture SchemaError in both builds.
/lab/alerts threw SchemaError (missing "thresholds") on main since the alert tiers change.
@maple-review-bot

maple-review-bot Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Maple review

🟡 Confidence 6/10 · needs attention
Held at 6 because 307 reviewed files were not read.
quality 100/100 · no findings · tests covered · risk medium · 307 files not read

Foundations for the Foldkit web app and its screenshot and call-log parity harness; apps/web-foldkit is not deployed and the apps/web hunks read are moves plus a documented 710 KB budget raise. The Foldkit UI kit, its labs and the ui-parity harness (most of the 899 files) were not read; no open HttpClientError, WarehouseInvalidInputError or McpQueryError issue is addressed.

  • Web warehouse queries move to the React-free @maple/web-data, each app providing its own client layer
  • @maple/ui class composition splits into framework-free *.styles.ts modules
  • apps/web-foldkit adds the Foldkit app; packages/ui-parity adds the parity harness
  • Startup bundle budget raised 706.5 KB to 710 KB

Before merge

Production impact

Open errors in the changed files
Issue Service Occurrences File
HttpClientError maple-web 48 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 18 apps/web/src/lib/services/common/atom-client.ts
@maple/mcp/errors/McpQueryError maple-chat 15 apps/web-foldkit/src/page/registry.ts
HttpClientError maple-web 13 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
@maple/web/errors/WarehouseInvalidInputError maple-web 9 apps/web/src/lib/services/atoms/warehouse-query-atoms.ts
HttpClientError maple-web 8 apps/web/src/lib/services/common/atom-client.ts

After this merges, Maple checks whether they stop.

Production traffic of the changed files (last 7 days)
File Calls/day Busiest operations
apps/web-foldkit/src/lab/entries/kit/forms.ts 742k POST /v1/traces 484k/day, 0.0% err
POST /v1/traces 252k/day, 0.0% err
POST /v1/traces 7.0k/day, 2.2% err
packages/ui-parity/src/scenarios/settings.ts 23k POST /mcp 11k/day, 0.0% err
POST /mcp 11k/day, 0.0% err
GET /mcp 707/day, 0.0% err
packages/ui-parity/src/backend/warehouse.ts 2.1k QueryEngineService.execute 1.8k/day, 0.1% err
QueryEngineService.execute 192/day, 0.1% err
QueryEngineService.execute 65/day, 2.2% err
packages/ui-parity/src/backend/testing.ts 1.9k POST 855/day, 3.9% err
GET 701/day, 3.0% err
POST 149/day, 0.5% err
packages/ui-parity/src/backend/http-api.ts 846 GET 701/day, 3.0% err
GET 145/day, 0.1% err
packages/ui-parity/src/backend/server.ts 846 GET 701/day, 3.0% err
GET 145/day, 0.1% err
packages/web-data/src/warehouse/effect-utils.ts 547 QueryEngine.execute 351/day, 0.3% err
QueryEngine.executeBatch 196/day, 1.0% err
packages/ui-parity/src/scenarios/kit.ts 418 navigation 418/day, 0.0% err
packages/web-data/src/warehouse/services.ts 212 serviceOverview 161/day, 0.9% err
serviceHealthSnapshot 36/day, 4.0% err
serviceHealthBaseline 15/day, 4.9% err
apps/web-foldkit/src/data/warehouse.ts 196 QueryEngine.executeBatch 196/day, 1.0% err
apps/web/src/lib/registry.ts 196 QueryEngine.executeBatch 196/day, 1.0% err
packages/web-data/src/warehouse/infra.ts 118 infraPresence 107/day, 6.0% err
podInfraTimeseries 5/day, 0.0% err
listHosts 3/day, 0.0% err
apps/web-foldkit/src/shell/data.ts 97 GET /api/auth/session 97/day, 0.0% err
packages/web-data/src/warehouse/web-analytics.ts 62 webAnalyticsLive 17/day, 0.8% err
webAnalyticsSummary 15/day, 0.0% err
webAnalyticsPageviews 10/day, 0.0% err
packages/web-data/src/warehouse/gcp-infra.ts 57 gcpInfraMetrics 24/day, 0.6% err
gcpInfraSparklines 11/day, 0.0% err
gcpInfraPresence 10/day, 0.0% err
Telemetry this change adds and removes (1)
  • ➕ attribute ingest.maple.dev · apps/web-foldkit/src/lab/entries/kit/forms.ts:277
What was checked
  • Warehouse move is a rename at 87-100% similarity; only effect-utils.ts content changed (git diff -M plus blob diff)
  • warehouseServicesLayer is provided at every apps/web warehouse call site read: warehouse-query-atoms.ts:279, use-widget-data.ts:371, registry.ts:99
  • apps/web hunks read are import-path moves; Foldkit's batcher settles every enqueued request (execute-batcher.ts:108)
Files not reviewed (307)

The review ended before it read these diffs, so nothing above vouches for them.

  • apps/web-foldkit/index.html
  • apps/web-foldkit/package.json
  • apps/web-foldkit/perf/service-map-bench.ts
  • apps/web-foldkit/src/charts/chart-host.ts
  • apps/web-foldkit/src/charts/chart-mounts.ts
  • apps/web-foldkit/src/charts/chart-runtime.ts
  • apps/web-foldkit/src/charts/chart-spec.ts
  • apps/web-foldkit/src/charts/chart.scene.test.ts
  • apps/web-foldkit/src/charts/chart.ts
  • apps/web-foldkit/src/charts/definitions/built-chart.ts
  • apps/web-foldkit/src/charts/definitions/histogram.ts
  • apps/web-foldkit/src/charts/definitions/pie.ts
  • apps/web-foldkit/src/charts/definitions/plot-constants.ts
  • apps/web-foldkit/src/charts/definitions/sparkline.ts
  • apps/web-foldkit/src/charts/histogram-chart.ts
  • apps/web-foldkit/src/charts/histogram-format.ts
  • apps/web-foldkit/src/charts/pie-chart.ts
  • apps/web-foldkit/src/charts/plot-frame.ts
  • apps/web-foldkit/src/charts/plot-legend.ts
  • apps/web-foldkit/src/charts/sparkline.ts
  • apps/web-foldkit/src/charts/theme-colors.ts
  • apps/web-foldkit/src/command.ts
  • apps/web-foldkit/src/data/collections/org-collections.ts
  • apps/web-foldkit/src/data/execute-batcher.test.ts
  • apps/web-foldkit/src/data/keyed.test.ts
  • apps/web-foldkit/src/data/load-failure.ts
  • apps/web-foldkit/src/data/request-key.ts
  • apps/web-foldkit/src/data/time-range.ts
  • apps/web-foldkit/src/data/warehouse-error.ts
  • apps/web-foldkit/src/entry.ts
  • and 277 more

0ac9c28 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@coderabbitai

coderabbitai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 899 files, which is 749 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4265ecc0-3a6d-4535-88c7-d848365f6058
📥 Commits

Reviewing files that changed from the base of the PR and between 3f2e6bd and b11d19c.

⛔ Files ignored due to path filters: 2
  • apps/web-foldkit/src/ui/icons.generated.ts is excluded by !**/*.generated.*
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing: 899
  • .oxlintrc.json
  • apps/web-foldkit/index.html
  • apps/web-foldkit/package.json
  • apps/web-foldkit/perf/service-map-bench.ts
  • apps/web-foldkit/scripts/generate-icons.tsx
  • apps/web-foldkit/src/charts/chart-host.ts
  • apps/web-foldkit/src/charts/chart-mounts.ts
  • apps/web-foldkit/src/charts/chart-runtime.ts
  • apps/web-foldkit/src/charts/chart-spec.ts
  • apps/web-foldkit/src/charts/chart.scene.test.ts
  • apps/web-foldkit/src/charts/chart.ts
  • apps/web-foldkit/src/charts/definitions/built-chart.ts
  • apps/web-foldkit/src/charts/definitions/histogram.ts
  • apps/web-foldkit/src/charts/definitions/pie.ts
  • apps/web-foldkit/src/charts/definitions/plot-constants.ts
  • apps/web-foldkit/src/charts/definitions/sparkline.ts
  • apps/web-foldkit/src/charts/histogram-chart.ts
  • apps/web-foldkit/src/charts/histogram-format.ts
  • apps/web-foldkit/src/charts/pie-chart.ts
  • apps/web-foldkit/src/charts/plot-frame.ts
  • apps/web-foldkit/src/charts/plot-legend.ts
  • apps/web-foldkit/src/charts/sparkline.ts
  • apps/web-foldkit/src/charts/theme-colors.ts
  • apps/web-foldkit/src/command.ts
  • apps/web-foldkit/src/data/collections/org-collections.ts
  • apps/web-foldkit/src/data/execute-batcher.test.ts
  • apps/web-foldkit/src/data/execute-batcher.ts
  • apps/web-foldkit/src/data/keyed.test.ts
  • apps/web-foldkit/src/data/keyed.ts
  • apps/web-foldkit/src/data/live-query.ts
  • apps/web-foldkit/src/data/load-failure.ts
  • apps/web-foldkit/src/data/request-key.ts
  • apps/web-foldkit/src/data/time-range.ts
  • apps/web-foldkit/src/data/warehouse-error.ts
  • apps/web-foldkit/src/data/warehouse.ts
  • apps/web-foldkit/src/entry.ts
  • apps/web-foldkit/src/lab/bench/logs-harness.ts
  • apps/web-foldkit/src/lab/boot.ts
  • apps/web-foldkit/src/lab/charts/arms.ts
  • apps/web-foldkit/src/lab/charts/spikes.ts
  • apps/web-foldkit/src/lab/data-probe/command.ts
  • apps/web-foldkit/src/lab/data-probe/data-probe.scene.test.ts
  • apps/web-foldkit/src/lab/data-probe/index.ts
  • apps/web-foldkit/src/lab/data-probe/model.ts
  • apps/web-foldkit/src/lab/data-probe/subscription.test.ts
  • apps/web-foldkit/src/lab/data-probe/subscription.ts
  • apps/web-foldkit/src/lab/data-probe/update.ts
  • apps/web-foldkit/src/lab/data-probe/view.ts
  • apps/web-foldkit/src/lab/define.ts
  • apps/web-foldkit/src/lab/entries/bench/logs.ts
  • apps/web-foldkit/src/lab/entries/bench/service-map.ts
  • apps/web-foldkit/src/lab/entries/charts.ts
  • apps/web-foldkit/src/lab/entries/data-probe.ts
  • apps/web-foldkit/src/lab/entries/flow.ts
  • apps/web-foldkit/src/lab/entries/kit/buttons.ts
  • apps/web-foldkit/src/lab/entries/kit/content.ts
  • apps/web-foldkit/src/lab/entries/kit/display.ts
  • apps/web-foldkit/src/lab/entries/kit/forms.ts
  • apps/web-foldkit/src/lab/entries/kit/navigation.ts
  • apps/web-foldkit/src/lab/entries/kit/overlays.ts
  • apps/web-foldkit/src/lab/entries/logs.ts
  • apps/web-foldkit/src/lab/kit/content-sections-more.ts
  • apps/web-foldkit/src/lab/kit/content-sections.ts
  • apps/web-foldkit/src/lab/kit/display-sections-more.ts
  • apps/web-foldkit/src/lab/kit/display-sections.ts
  • apps/web-foldkit/src/lab/kit/kit-layout.ts
  • apps/web-foldkit/src/lab/kit/navigation-sidebar.ts
  • apps/web-foldkit/src/lab/kit/overlays/cards.ts
  • apps/web-foldkit/src/lab/kit/overlays/command.ts
  • apps/web-foldkit/src/lab/kit/overlays/dialogs.ts
  • apps/web-foldkit/src/lab/kit/overlays/menus.ts
  • apps/web-foldkit/src/lab/kit/overlays/model.ts
  • apps/web-foldkit/src/lab/kit/overlays/overlays.scene.test.ts
  • apps/web-foldkit/src/lab/kit/overlays/update.ts
  • apps/web-foldkit/src/lab/kit/overlays/view.ts
  • apps/web-foldkit/src/lab/kit/pickers.ts
  • apps/web-foldkit/src/lab/logs-lab/model.ts
  • apps/web-foldkit/src/lab/logs-lab/update.ts
  • apps/web-foldkit/src/lab/logs-lab/view.ts
  • apps/web-foldkit/src/lab/shell.ts
  • apps/web-foldkit/src/lab/shell/dashboard-shell.ts
  • apps/web-foldkit/src/lab/shell/sidebar.ts
  • apps/web-foldkit/src/lab/shell/topbar.ts
  • apps/web-foldkit/src/lab/toasts.ts
  • apps/web-foldkit/src/layout/account-layout.ts
  • apps/web-foldkit/src/layout/boot-splash.ts
  • apps/web-foldkit/src/main.ts
  • apps/web-foldkit/src/message.ts
  • apps/web-foldkit/src/model.ts
  • apps/web-foldkit/src/page/chrome.ts
  • apps/web-foldkit/src/page/clerk-sign-in.ts
  • apps/web-foldkit/src/page/contract.ts
  • apps/web-foldkit/src/page/kit/dashboard-page.ts
  • apps/web-foldkit/src/page/kit/pinned-namespace-notice.ts
  • apps/web-foldkit/src/page/kit/signal-empty-state.ts
  • apps/web-foldkit/src/page/kit/signal-presence.ts
  • apps/web-foldkit/src/page/kit/time-controls.ts
  • apps/web-foldkit/src/page/kit/time-range-picker.ts
  • apps/web-foldkit/src/page/registry.ts
  • apps/web-foldkit/src/page/services/list/command.ts
  • apps/web-foldkit/src/page/services/list/derive.ts
  • apps/web-foldkit/src/page/services/list/index.ts
  • apps/web-foldkit/src/page/services/list/message.ts
  • apps/web-foldkit/src/page/services/list/model.ts
  • apps/web-foldkit/src/page/services/list/services.scene.test.ts
  • apps/web-foldkit/src/page/services/list/subscription.ts
  • apps/web-foldkit/src/page/services/list/update.ts
  • apps/web-foldkit/src/page/services/list/view-filters.ts
  • apps/web-foldkit/src/page/services/list/view-table.ts
  • apps/web-foldkit/src/page/services/list/view.ts
  • apps/web-foldkit/src/page/sign-in/index.ts
  • apps/web-foldkit/src/page/sign-in/sign-in.scene.test.ts
  • apps/web-foldkit/src/page/sign-in/sign-in.ts
  • apps/web-foldkit/src/page/sign-in/view.ts
  • apps/web-foldkit/src/platform/api-clients.ts
  • apps/web-foldkit/src/platform/auth-api.ts
  • apps/web-foldkit/src/platform/clerk.ts
  • apps/web-foldkit/src/platform/resources.ts
  • apps/web-foldkit/src/platform/session-bearer.ts
  • apps/web-foldkit/src/platform/time-zone.ts
  • apps/web-foldkit/src/react-css-properties.d.ts
  • apps/web-foldkit/src/route/app-route.ts
  • apps/web-foldkit/src/route/index.ts
  • apps/web-foldkit/src/route/redirect.ts
  • apps/web-foldkit/src/route/route.test.ts
  • apps/web-foldkit/src/route/routers.ts
  • apps/web-foldkit/src/route/search.ts
  • apps/web-foldkit/src/route/segment.ts
  • apps/web-foldkit/src/route/tanstack-search.ts
  • apps/web-foldkit/src/service-map/map/bench-harness.ts
  • apps/web-foldkit/src/service-map/map/edge.ts
  • apps/web-foldkit/src/service-map/map/graph.ts
  • apps/web-foldkit/src/service-map/map/layers.ts
  • apps/web-foldkit/src/service-map/map/legend.ts
  • apps/web-foldkit/src/service-map/map/loading.ts
  • apps/web-foldkit/src/service-map/map/namespace-group.ts
  • apps/web-foldkit/src/service-map/map/node-card.ts
  • apps/web-foldkit/src/service-map/map/nodes.ts
  • apps/web-foldkit/src/service-map/map/panels.ts
  • apps/web-foldkit/src/service-map/map/particle-tracks.ts
  • apps/web-foldkit/src/service-map/map/particles.ts
  • apps/web-foldkit/src/service-map/map/runtime.ts
  • apps/web-foldkit/src/service-map/map/service-map.scene.test.ts
  • apps/web-foldkit/src/service-map/map/service-map.ts
  • apps/web-foldkit/src/service-map/map/toolbar.ts
  • apps/web-foldkit/src/service-map/map/view.ts
  • apps/web-foldkit/src/service-map/trace-flow/cloud-platforms.ts
  • apps/web-foldkit/src/service-map/trace-flow/edge.ts
  • apps/web-foldkit/src/service-map/trace-flow/flow-graph.ts
  • apps/web-foldkit/src/service-map/trace-flow/legend.ts
  • apps/web-foldkit/src/service-map/trace-flow/node-card.ts
  • apps/web-foldkit/src/service-map/trace-flow/span-category.ts
  • apps/web-foldkit/src/service-map/trace-flow/trace-flow.scene.test.ts
  • apps/web-foldkit/src/service-map/trace-flow/trace-flow.ts
  • apps/web-foldkit/src/service-map/trace-flow/view.ts
  • apps/web-foldkit/src/service-map/xyflow/attach.ts
  • apps/web-foldkit/src/service-map/xyflow/canvas.ts
  • apps/web-foldkit/src/service-map/xyflow/geometry.ts
  • apps/web-foldkit/src/service-map/xyflow/panels.ts
  • apps/web-foldkit/src/service-map/xyflow/react-flow.css
  • apps/web-foldkit/src/service-map/xyflow/view.ts
  • apps/web-foldkit/src/service-map/xyflow/viewport.ts
  • apps/web-foldkit/src/shell/command.ts
  • apps/web-foldkit/src/shell/dashboards-shape.ts
  • apps/web-foldkit/src/shell/data.ts
  • apps/web-foldkit/src/shell/flags.ts
  • apps/web-foldkit/src/shell/index.ts
  • apps/web-foldkit/src/shell/menus.ts
  • apps/web-foldkit/src/shell/message.ts
  • apps/web-foldkit/src/shell/model.ts
  • apps/web-foldkit/src/shell/mounts.ts
  • apps/web-foldkit/src/shell/nav.ts
  • apps/web-foldkit/src/shell/shell.scene.test.ts
  • apps/web-foldkit/src/shell/subscription.ts
  • apps/web-foldkit/src/shell/update.ts
  • apps/web-foldkit/src/shell/version.ts
  • apps/web-foldkit/src/shell/view-menus.ts
  • apps/web-foldkit/src/shell/view-nav.ts
  • apps/web-foldkit/src/shell/view-sidebar.ts
  • apps/web-foldkit/src/shell/view-topbar.ts
  • apps/web-foldkit/src/shell/view.ts
  • apps/web-foldkit/src/styles.css
  • apps/web-foldkit/src/subscription.ts
  • apps/web-foldkit/src/ui/alert.ts
  • apps/web-foldkit/src/ui/anchor.test.ts
  • apps/web-foldkit/src/ui/anchor.ts
  • apps/web-foldkit/src/ui/autocomplete.ts
  • apps/web-foldkit/src/ui/breadcrumb.ts
  • apps/web-foldkit/src/ui/bubble.ts
  • apps/web-foldkit/src/ui/button.ts
  • apps/web-foldkit/src/ui/calendar-view.ts
  • apps/web-foldkit/src/ui/calendar.scene.test.ts
  • apps/web-foldkit/src/ui/calendar.ts
  • apps/web-foldkit/src/ui/card.ts
  • apps/web-foldkit/src/ui/checkbox.scene.test.ts
  • apps/web-foldkit/src/ui/checkbox.ts
  • apps/web-foldkit/src/ui/choice.ts
  • apps/web-foldkit/src/ui/combobox-view.ts
  • apps/web-foldkit/src/ui/combobox.scene.test.ts
  • apps/web-foldkit/src/ui/combobox.ts
  • apps/web-foldkit/src/ui/command.ts
  • apps/web-foldkit/src/ui/context-menu-view.ts
  • apps/web-foldkit/src/ui/context-menu.scene.test.ts
  • apps/web-foldkit/src/ui/context-menu.ts
  • apps/web-foldkit/src/ui/copy-button.ts
  • apps/web-foldkit/src/ui/delta.ts
  • apps/web-foldkit/src/ui/dialog-view.ts
  • apps/web-foldkit/src/ui/dialog.scene.test.ts
  • apps/web-foldkit/src/ui/dialog.ts
  • apps/web-foldkit/src/ui/display.ts
  • apps/web-foldkit/src/ui/dropdown-menu.ts
  • apps/web-foldkit/src/ui/empty.ts
  • apps/web-foldkit/src/ui/error-state.ts
  • apps/web-foldkit/src/ui/eyebrow.ts
  • apps/web-foldkit/src/ui/field.ts
  • apps/web-foldkit/src/ui/filter-chip.ts
  • apps/web-foldkit/src/ui/filters/active-filter-chips.ts
  • apps/web-foldkit/src/ui/filters/filter-section.ts
  • apps/web-foldkit/src/ui/filters/filter-sections.ts
  • apps/web-foldkit/src/ui/filters/filter-sidebar.ts
  • apps/web-foldkit/src/ui/hover-card.scene.test.ts
  • apps/web-foldkit/src/ui/hover-card.ts
  • apps/web-foldkit/src/ui/icon-button.ts
  • apps/web-foldkit/src/ui/icon.ts
  • apps/web-foldkit/src/ui/inline-code.ts
  • apps/web-foldkit/src/ui/input-group.ts
  • apps/web-foldkit/src/ui/input.ts
  • apps/web-foldkit/src/ui/item.ts
  • apps/web-foldkit/src/ui/key-value.ts
  • apps/web-foldkit/src/ui/label.ts
  • apps/web-foldkit/src/ui/list-row.ts
  • apps/web-foldkit/src/ui/logs/chip-card.ts
  • apps/web-foldkit/src/ui/logs/highlight.ts
  • apps/web-foldkit/src/ui/logs/log-row-view.ts
  • apps/web-foldkit/src/ui/logs/log-row.ts
  • apps/web-foldkit/src/ui/logs/logs-stream-message.ts
  • apps/web-foldkit/src/ui/logs/logs-stream-view.ts
  • apps/web-foldkit/src/ui/logs/logs-stream.scene.test.ts
  • apps/web-foldkit/src/ui/logs/logs-stream.test.ts
  • apps/web-foldkit/src/ui/logs/logs-stream.ts
  • apps/web-foldkit/src/ui/logs/styles.ts
  • apps/web-foldkit/src/ui/logs/viewer.ts
  • apps/web-foldkit/src/ui/logs/virtualize.ts
  • apps/web-foldkit/src/ui/marker.ts
  • apps/web-foldkit/src/ui/menu-view.ts
  • apps/web-foldkit/src/ui/menu.scene.test.ts
  • apps/web-foldkit/src/ui/menu.ts
  • apps/web-foldkit/src/ui/message.ts
  • apps/web-foldkit/src/ui/meter.ts
  • apps/web-foldkit/src/ui/middle-truncate.ts
  • apps/web-foldkit/src/ui/mini-bars.ts
  • apps/web-foldkit/src/ui/native-select.ts
  • apps/web-foldkit/src/ui/navigation-menu.scene.test.ts
  • apps/web-foldkit/src/ui/navigation-menu.ts
  • apps/web-foldkit/src/ui/otp-field.ts
  • apps/web-foldkit/src/ui/overlay/anchored.ts
  • apps/web-foldkit/src/ui/overlay/popup-state.ts
  • apps/web-foldkit/src/ui/overlay/portal.ts
  • apps/web-foldkit/src/ui/overlay/position.ts
  • apps/web-foldkit/src/ui/overlay/roving.ts
  • apps/web-foldkit/src/ui/overlay/select-align.ts
  • apps/web-foldkit/src/ui/overlay/transition.ts
  • apps/web-foldkit/src/ui/page-layout.ts
  • apps/web-foldkit/src/ui/panel.ts
  • apps/web-foldkit/src/ui/popover.scene.test.ts
  • apps/web-foldkit/src/ui/popover.ts
  • apps/web-foldkit/src/ui/radio-group.scene.test.ts
  • apps/web-foldkit/src/ui/radio-group.ts
  • apps/web-foldkit/src/ui/refresh-button.ts
  • apps/web-foldkit/src/ui/resizable.scene.test.ts
  • apps/web-foldkit/src/ui/resizable.ts
  • apps/web-foldkit/src/ui/scroll-area.ts
  • apps/web-foldkit/src/ui/segmented-select.ts
  • apps/web-foldkit/src/ui/select-view.ts
  • apps/web-foldkit/src/ui/select.scene.test.ts
  • apps/web-foldkit/src/ui/select.ts
  • apps/web-foldkit/src/ui/setting-row.ts
  • apps/web-foldkit/src/ui/sheet.ts
  • apps/web-foldkit/src/ui/sidebar.ts
  • apps/web-foldkit/src/ui/skeleton.ts
  • apps/web-foldkit/src/ui/spinner.ts
  • apps/web-foldkit/src/ui/stat-figure.ts
  • apps/web-foldkit/src/ui/status-dot.ts
  • apps/web-foldkit/src/ui/switch.scene.test.ts
  • apps/web-foldkit/src/ui/switch.ts
  • apps/web-foldkit/src/ui/table-skeleton.ts
  • apps/web-foldkit/src/ui/table.ts
  • apps/web-foldkit/src/ui/tabs-view.ts
  • apps/web-foldkit/src/ui/tabs.scene.test.ts
  • apps/web-foldkit/src/ui/tabs.ts
  • apps/web-foldkit/src/ui/textarea.ts
  • apps/web-foldkit/src/ui/toast-view.ts
  • apps/web-foldkit/src/ui/toast.scene.test.ts
  • apps/web-foldkit/src/ui/toast.ts
  • apps/web-foldkit/src/ui/toggle-group.scene.test.ts
  • apps/web-foldkit/src/ui/toggle-group.ts
  • apps/web-foldkit/src/ui/toggle.ts
  • apps/web-foldkit/src/ui/tooltip.scene.test.ts
  • apps/web-foldkit/src/ui/tooltip.ts
  • apps/web-foldkit/src/ui/trace.ts
  • apps/web-foldkit/src/ui/truncated-id.ts
  • apps/web-foldkit/src/ui/truncated-text.ts
  • apps/web-foldkit/src/ui/values.ts
  • apps/web-foldkit/src/update.ts
  • apps/web-foldkit/src/view.ts
  • apps/web-foldkit/src/vitest-setup.ts
  • apps/web-foldkit/tsconfig.json
  • apps/web-foldkit/vite.config.ts
  • apps/web-foldkit/vitest.config.ts
  • apps/web/package.json
  • apps/web/perf/check-bundle-budget.ts
  • apps/web/playwright.config.ts
  • apps/web/src/api/warehouse/query-set-executor.ts
  • apps/web/src/components/agent-sessions/session-detail/span-expansion.tsx
  • apps/web/src/components/agent-sessions/tools/agent-sessions-tabs.tsx
  • apps/web/src/components/agent-sessions/tools/agent-tools-view.browser.test.tsx
  • apps/web/src/components/agent-sessions/tools/agent-tools-view.tsx
  • apps/web/src/components/agent-sessions/tools/tool-breakdown-tables.tsx
  • apps/web/src/components/agent-sessions/tools/tool-detail-charts.tsx
  • apps/web/src/components/agent-sessions/tools/tool-detail-view.tsx
  • apps/web/src/components/agent-sessions/tools/tool-error-modal.tsx
  • apps/web/src/components/agent-sessions/tools/tool-error-parts.tsx
  • apps/web/src/components/agent-sessions/tools/tool-errors-table.tsx
  • apps/web/src/components/agent-sessions/tools/tool-metric-strip.tsx
  • apps/web/src/components/agent-sessions/tools/tool-series-chart.tsx
  • apps/web/src/components/alerts/destination-dialog.tsx
  • apps/web/src/components/alerts/incident-detail/incident-detail-view.tsx
  • apps/web/src/components/alerts/incident-detail/incident-rail.tsx
  • apps/web/src/components/alerts/rule-detail/rule-diagnosis-panel.tsx
  • apps/web/src/components/analytics/ai/ai-sections.tsx
  • apps/web/src/components/analytics/ai/ai-traffic-model.ts
  • apps/web/src/components/analytics/ai/analytics-ai-tab.tsx
  • apps/web/src/components/analytics/analytics-bot-notice.tsx
  • apps/web/src/components/analytics/analytics-breakdown-panel.tsx
  • apps/web/src/components/analytics/analytics-filter-sidebar.tsx
  • apps/web/src/components/analytics/metrics.ts
  • apps/web/src/components/app-error-boundary.tsx
  • apps/web/src/components/common/error-state.tsx
  • apps/web/src/components/dashboard-builder/data-source-registry.ts
  • apps/web/src/components/dashboard-builder/templates/use-template-readiness.ts
  • apps/web/src/components/dashboard-builder/toolbar/embed-widget-dialog.tsx
  • apps/web/src/components/dashboard-builder/toolbar/share-dashboard-dialog.tsx
  • apps/web/src/components/dashboard-builder/widgets/list-widget.test.ts
  • apps/web/src/components/dashboard/service-health-section.tsx
  • apps/web/src/components/dashboard/service-health.ts
  • apps/web/src/components/dashboard/service-usage-cards.tsx
  • apps/web/src/components/errors/errors-stat-strip.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-breakdown-panel.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-list-page.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-list-views.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-queue-table.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-summary-bands.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-worker-page.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-zone-rail.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-zone-signals.tsx
  • apps/web/src/components/infra/cloudflare/cloudflare-zone-table.tsx
  • apps/web/src/components/infra/cloudflare/list-model.test.ts
  • apps/web/src/components/infra/cloudflare/list-model.ts
  • apps/web/src/components/infra/cloudflare/worker-signals.ts
  • apps/web/src/components/infra/cloudflare/zone-signals.ts
  • apps/web/src/components/infra/container-detail-chart.tsx
  • apps/web/src/components/infra/container-table.tsx
  • apps/web/src/components/infra/host-detail-chart.tsx
  • apps/web/src/components/infra/infra-correlations.ts
  • apps/web/src/components/infra/k8s-detail-chart.tsx
  • apps/web/src/components/infra/kubernetes/pod-peek-sheet.tsx
  • apps/web/src/components/infra/overview/summaries.test.ts
  • apps/web/src/components/infra/overview/summaries.ts
  • apps/web/src/components/infra/planetscale/branch-selection.test.ts
  • apps/web/src/components/infra/planetscale/branch-selection.ts
  • apps/web/src/components/infra/planetscale/planetscale-activity-feed.tsx
  • apps/web/src/components/infra/planetscale/planetscale-chart.tsx
  • apps/web/src/components/infra/planetscale/planetscale-database-table.tsx
  • apps/web/src/components/infra/planetscale/planetscale-events.ts
  • apps/web/src/components/infra/pod-table.tsx
  • apps/web/src/components/infra/railway/list-model.test.ts
  • apps/web/src/components/infra/railway/list-model.ts
  • apps/web/src/components/infra/railway/railway-service-table.tsx
  • apps/web/src/components/infra/service-lens/bucket-domain.ts
  • apps/web/src/components/infra/workload-table.tsx
  • apps/web/src/components/integrations/gcp-usage.ts
  • apps/web/src/components/logs/log-attributes-panel.tsx
  • apps/web/src/components/logs/log-context-panel.tsx
  • apps/web/src/components/logs/log-detail-sheet.tsx
  • apps/web/src/components/logs/log-hero-header.tsx
  • apps/web/src/components/logs/log-meta-strip.tsx
  • apps/web/src/components/logs/log-raw-panel.tsx
  • apps/web/src/components/logs/log-row-expanded.tsx
  • apps/web/src/components/logs/log-trace-timeline.tsx
  • apps/web/src/components/logs/logs-table.browser.test.tsx
  • apps/web/src/components/logs/logs-table.tsx
  • apps/web/src/components/logs/logs-volume-chart.tsx
  • apps/web/src/components/metrics/metric-detail.tsx
  • apps/web/src/components/metrics/metric-preview-card.tsx
  • apps/web/src/components/metrics/metric-preview-grid.tsx
  • apps/web/src/components/metrics/metrics-browse.tsx
  • apps/web/src/components/metrics/metrics-table.tsx
  • apps/web/src/components/metrics/metrics-type-filter.tsx
  • apps/web/src/components/releases/release-issues-panel.tsx
  • apps/web/src/components/releases/release-model.test.ts
  • apps/web/src/components/releases/release-model.ts
  • apps/web/src/components/releases/releases-query-input.ts
  • apps/web/src/components/replays/replay-player.tsx
  • apps/web/src/components/replays/replays-filter-inputs.test.ts
  • apps/web/src/components/route-error.tsx
  • apps/web/src/components/service-map/service-map-view.tsx
  • apps/web/src/components/service-map/three/types.ts
  • apps/web/src/components/services/endpoint-grouping.test.ts
  • apps/web/src/components/services/endpoint-grouping.ts
  • apps/web/src/components/services/service-api-tab.tsx
  • apps/web/src/components/services/service-endpoints.ts
  • apps/web/src/components/services/service-operations-tab.tsx
  • apps/web/src/components/services/service-operations.ts
  • apps/web/src/components/services/service-top-operations-panel.tsx
  • apps/web/src/components/services/service-usage-panel.tsx
  • apps/web/src/components/services/service-workloads-panel.tsx
  • apps/web/src/components/services/services-table.tsx
  • apps/web/src/components/services/use-service-health-summary.ts
  • apps/web/src/components/traces/span-detail-panel.tsx
  • apps/web/src/components/traces/trace-peek-sheet.tsx
  • apps/web/src/components/traces/trace-product-events.tsx
  • apps/web/src/components/traces/traces-filter-sidebar.tsx
  • apps/web/src/components/traces/traces-table.tsx
  • apps/web/src/hooks/use-alert-rule-preview.ts
  • apps/web/src/hooks/use-alert-rule-states.ts
  • apps/web/src/hooks/use-alerts-list.ts
  • apps/web/src/hooks/use-api-keys.ts
  • apps/web/src/hooks/use-dashboard-store.browser.test.tsx
  • apps/web/src/hooks/use-effective-time-range.ts
  • apps/web/src/hooks/use-infinite-ai-sessions.ts
  • apps/web/src/hooks/use-infinite-logs.browser.test.tsx
  • apps/web/src/hooks/use-infinite-logs.ts
  • apps/web/src/hooks/use-infinite-replays.browser.test.tsx
  • apps/web/src/hooks/use-infinite-replays.ts
  • apps/web/src/hooks/use-infinite-traces.ts
  • apps/web/src/hooks/use-investigation.ts
  • apps/web/src/hooks/use-onboarding-checklist.ts
  • apps/web/src/hooks/use-session-spans.browser.test.tsx
  • apps/web/src/hooks/use-session-spans.ts
  • apps/web/src/hooks/use-widget-data.ts
  • apps/web/src/lab/agent-tools-fixture.ts
  • apps/web/src/lab/alerts-fixture.ts
  • apps/web/src/lab/bench/logs-table-bench-fixture.ts
  • apps/web/src/lab/bench/logs-table-bench.tsx
  • apps/web/src/lab/bench/service-map-bench-fixture.ts
  • apps/web/src/lab/bench/service-map-bench.tsx
  • apps/web/src/lab/cloudflare-fixture.ts
  • apps/web/src/lab/cloudflare-lab.tsx
  • apps/web/src/lab/infra-lab.tsx
  • apps/web/src/lab/kit/buttons.tsx
  • apps/web/src/lab/kit/content.tsx
  • apps/web/src/lab/kit/display.tsx
  • apps/web/src/lab/kit/forms.tsx
  • apps/web/src/lab/kit/kit-layout.tsx
  • apps/web/src/lab/kit/navigation.tsx
  • apps/web/src/lab/kit/overlay-items.ts
  • apps/web/src/lab/kit/overlays-dialogs.tsx
  • apps/web/src/lab/kit/overlays-menus.tsx
  • apps/web/src/lab/kit/overlays.tsx
  • apps/web/src/lab/kit/pickers.tsx
  • apps/web/src/lab/logs-fixture.ts
  • apps/web/src/lab/query-builder-lab.tsx
  • apps/web/src/lab/registry.ts
  • apps/web/src/lab/service-map-3d/fixture.ts
  • apps/web/src/lab/worst-case-docs.ts
  • apps/web/src/lab/worst-case-fixture.ts
  • apps/web/src/lib/agent-sessions/tool-search.ts
  • apps/web/src/lib/agent-sessions/use-tool-analytics.ts
  • apps/web/src/lib/alerts/diagnosis.test.ts
  • apps/web/src/lib/alerts/diagnosis.ts
  • apps/web/src/lib/alerts/headroom.test.ts
  • apps/web/src/lib/alerts/headroom.ts
  • apps/web/src/lib/alerts/rule-status.test.ts
  • apps/web/src/lib/alerts/rule-status.ts
  • apps/web/src/lib/collections/dashboards.ts
  • apps/web/src/lib/collections/investigation-collections.ts
  • apps/web/src/lib/collections/org-collections.test.ts
  • apps/web/src/lib/collections/org-collections.ts
  • apps/web/src/lib/collections/shape-fetch.ts
  • apps/web/src/lib/collections/synced-collections.ts
  • apps/web/src/lib/error-toast.ts
  • apps/web/src/lib/models/alerts-overview-model.test.ts
  • apps/web/src/lib/models/alerts-overview-model.ts
  • apps/web/src/lib/models/dashboards-list-model.test.ts
  • apps/web/src/lib/models/dashboards-list-model.ts
  • apps/web/src/lib/models/error-signal.ts
  • apps/web/src/lib/query-builder/widget-builder-shared.ts
  • apps/web/src/lib/registry.ts
  • apps/web/src/lib/sampling.ts
  • apps/web/src/lib/services/atoms/ingestion-atoms.ts
  • apps/web/src/lib/services/atoms/scrape-target-atoms.ts
  • apps/web/src/lib/services/atoms/warehouse-query-atoms.ts
  • apps/web/src/lib/services/common/atom-client.ts
  • apps/web/src/lib/services/common/http-client.ts
  • apps/web/src/lib/services/common/internal-atom-client.ts
  • apps/web/src/lib/services/common/telemetry.ts
  • apps/web/src/lib/services/common/v2-atom-client.ts
  • apps/web/src/lib/time-utils.ts
  • apps/web/src/main.tsx
  • apps/web/src/routeTree.gen.ts
  • apps/web/src/routes/agent-sessions/$sessionId.tsx
  • apps/web/src/routes/agent-sessions/tools/$toolName.tsx
  • apps/web/src/routes/agent-sessions/tools/index.tsx
  • apps/web/src/routes/analytics/index.tsx
  • apps/web/src/routes/anomalies/$incidentId.tsx
  • apps/web/src/routes/errors/issues/$issueId.tsx
  • apps/web/src/routes/index.tsx
  • apps/web/src/routes/infra/cloudflare/workers/$scriptName.tsx
  • apps/web/src/routes/infra/containers/$containerName.tsx
  • apps/web/src/routes/infra/containers/index.tsx
  • apps/web/src/routes/infra/kubernetes/nodes/$nodeName.tsx
  • apps/web/src/routes/infra/kubernetes/pods/$podName.tsx
  • apps/web/src/routes/infra/kubernetes/pods/index.tsx
  • apps/web/src/routes/infra/kubernetes/services/$serviceName.tsx
  • apps/web/src/routes/infra/kubernetes/workloads/$kind/$workloadName.tsx
  • apps/web/src/routes/infra/kubernetes/workloads/index.tsx
  • apps/web/src/routes/infra/planetscale/$dbName.tsx
  • apps/web/src/routes/infra/railway/$serviceId.tsx
  • apps/web/src/routes/infra/railway/index.tsx
  • apps/web/src/routes/lab/kit/buttons.tsx
  • apps/web/src/routes/lab/kit/content.tsx
  • apps/web/src/routes/lab/kit/display.tsx
  • apps/web/src/routes/lab/kit/forms.tsx
  • apps/web/src/routes/lab/kit/navigation.tsx
  • apps/web/src/routes/lab/kit/overlays.tsx
  • apps/web/src/routes/logs/$logId.tsx
  • apps/web/src/routes/services/$serviceName.tsx
  • apps/web/src/routes/traces/$traceId.tsx
  • apps/web/src/styles.css
  • docs/foldkit-agent-brief.md
  • docs/foldkit-area-brief.md
  • docs/foldkit-decisions/s1-skeleton.md
  • docs/foldkit-decisions/s2-bundle.md
  • docs/foldkit-decisions/s3-charts.md
  • docs/foldkit-decisions/s4-tables.md
  • docs/foldkit-decisions/s5-service-map.md
  • docs/foldkit-decisions/s6-data.md
  • docs/foldkit-decisions/s7-overlays.md
  • docs/foldkit-decisions/s8-pages.md
  • docs/foldkit-migration.md
  • knip.json
  • lib/effect-db/package.json
  • lib/effect-db/src/electric/collection.ts
  • packages/ui-parity/.parity/.gitignore
  • packages/ui-parity/README.md
  • packages/ui-parity/package.json
  • packages/ui-parity/src/backend/auth.ts
  • packages/ui-parity/src/backend/call-log.test.ts
  • packages/ui-parity/src/backend/call-log.ts
  • packages/ui-parity/src/backend/chdb.ts
  • packages/ui-parity/src/backend/defaults.ts
  • packages/ui-parity/src/backend/electric.ts
  • packages/ui-parity/src/backend/endpoints.test.ts
  • packages/ui-parity/src/backend/endpoints/error-issues.ts
  • packages/ui-parity/src/backend/endpoints/index.ts
  • packages/ui-parity/src/backend/endpoints/infra.ts
  • packages/ui-parity/src/backend/endpoints/operations.ts
  • packages/ui-parity/src/backend/endpoints/run.ts
  • packages/ui-parity/src/backend/endpoints/services.ts
  • packages/ui-parity/src/backend/endpoints/signal-presence.ts
  • packages/ui-parity/src/backend/endpoints/signals.ts
  • packages/ui-parity/src/backend/endpoints/traces.ts
  • packages/ui-parity/src/backend/faults.test.ts
  • packages/ui-parity/src/backend/faults.ts
  • packages/ui-parity/src/backend/http-api.ts
  • packages/ui-parity/src/backend/index.ts
  • packages/ui-parity/src/backend/main.ts
  • packages/ui-parity/src/backend/middleware.ts
  • packages/ui-parity/src/backend/server.test.ts
  • packages/ui-parity/src/backend/server.ts
  • packages/ui-parity/src/backend/testing.ts
  • packages/ui-parity/src/backend/warehouse.ts
  • packages/ui-parity/src/backend/workers-globals.d.ts
  • packages/ui-parity/src/behavior.test.ts
  • packages/ui-parity/src/behavior.ts
  • packages/ui-parity/src/bench/logs.ts
  • packages/ui-parity/src/build.ts
  • packages/ui-parity/src/capture.ts
  • packages/ui-parity/src/cli.ts
  • packages/ui-parity/src/codegen.ts
  • packages/ui-parity/src/compare.ts
  • packages/ui-parity/src/config.ts
  • packages/ui-parity/src/contract.ts
  • packages/ui-parity/src/coverage.ts
  • packages/ui-parity/src/fixtures/areas.ts
  • packages/ui-parity/src/fixtures/areas/.gitkeep
  • packages/ui-parity/src/fixtures/areas/agent-sessions.ts
  • packages/ui-parity/src/fixtures/areas/chat.ts
  • packages/ui-parity/src/fixtures/areas/code-review.ts
  • packages/ui-parity/src/fixtures/areas/infra-integrations-warehouse.ts
  • packages/ui-parity/src/fixtures/areas/infra-integrations.ts
  • packages/ui-parity/src/fixtures/areas/infra.ts
  • packages/ui-parity/src/fixtures/areas/integrations.ts
  • packages/ui-parity/src/fixtures/areas/onboarding.ts
  • packages/ui-parity/src/fixtures/areas/ops.ts
  • packages/ui-parity/src/fixtures/areas/ops/alerts.ts
  • packages/ui-parity/src/fixtures/areas/ops/anomalies.ts
  • packages/ui-parity/src/fixtures/areas/ops/dashboards.ts
  • packages/ui-parity/src/fixtures/areas/ops/investigations.ts
  • packages/ui-parity/src/fixtures/areas/ops/misc.ts
  • packages/ui-parity/src/fixtures/areas/ops/releases.ts
  • packages/ui-parity/src/fixtures/areas/ops/replays.ts
  • packages/ui-parity/src/fixtures/areas/ops/synthetic.ts
  • packages/ui-parity/src/fixtures/areas/ops/web-analytics.ts
  • packages/ui-parity/src/fixtures/areas/ops/web-recording.ts
  • packages/ui-parity/src/fixtures/areas/ops/web-seed.ts
  • packages/ui-parity/src/fixtures/areas/ops/web-sessions.ts
  • packages/ui-parity/src/fixtures/areas/settings-billing.ts
  • packages/ui-parity/src/fixtures/areas/settings-setup-audit.ts
  • packages/ui-parity/src/fixtures/areas/settings.ts
  • packages/ui-parity/src/fixtures/dataset.ts
  • packages/ui-parity/src/fixtures/datasets/acme-github.ts
  • packages/ui-parity/src/fixtures/datasets/default.ts
  • packages/ui-parity/src/fixtures/datasets/empty.ts
  • packages/ui-parity/src/fixtures/datasets/index.ts
  • packages/ui-parity/src/fixtures/datasets/signed-out.ts
  • packages/ui-parity/src/fixtures/identity.ts
  • packages/ui-parity/src/fixtures/prng.ts
  • packages/ui-parity/src/fixtures/telemetry/acme-shop.ts
  • packages/ui-parity/src/fixtures/telemetry/agent-sessions.ts
  • packages/ui-parity/src/fixtures/telemetry/code-review-ci-endpoints.ts
  • packages/ui-parity/src/fixtures/telemetry/code-review-ci.ts
  • packages/ui-parity/src/fixtures/telemetry/code-review-records.ts
  • packages/ui-parity/src/fixtures/telemetry/infra-integrations.ts
  • packages/ui-parity/src/fixtures/telemetry/infra-k8s.ts
  • packages/ui-parity/src/fixtures/telemetry/rows.ts
  • packages/ui-parity/src/report.ts
  • packages/ui-parity/src/runtime/clerk-stub.ts
  • packages/ui-parity/src/runtime/session.ts
  • packages/ui-parity/src/runtime/snapshot.ts
  • packages/ui-parity/src/runtime/stabilize.ts
  • packages/ui-parity/src/runtime/vite-wrapper.ts
  • packages/ui-parity/src/scenarios.ts
  • packages/ui-parity/src/scenarios/agent-sessions.ts
  • packages/ui-parity/src/scenarios/alerts.ts
  • packages/ui-parity/src/scenarios/analytics.ts
  • packages/ui-parity/src/scenarios/anomalies.ts
  • packages/ui-parity/src/scenarios/charts.ts
  • packages/ui-parity/src/scenarios/chat.ts
  • packages/ui-parity/src/scenarios/code-review.ts
  • packages/ui-parity/src/scenarios/dashboards.ts
  • packages/ui-parity/src/scenarios/data.ts
  • packages/ui-parity/src/scenarios/errors.ts
  • packages/ui-parity/src/scenarios/infra-integrations.ts
  • packages/ui-parity/src/scenarios/infra.ts
  • packages/ui-parity/src/scenarios/integrations.ts
  • packages/ui-parity/src/scenarios/investigations.ts
  • packages/ui-parity/src/scenarios/kit.ts
  • packages/ui-parity/src/scenarios/lab-canvas.ts
  • packages/ui-parity/src/scenarios/lab.ts
  • packages/ui-parity/src/scenarios/logs-table.ts
  • packages/ui-parity/src/scenarios/metrics.ts
  • packages/ui-parity/src/scenarios/onboarding.ts
  • packages/ui-parity/src/scenarios/ops-kit.ts
  • packages/ui-parity/src/scenarios/recommendations.ts
  • packages/ui-parity/src/scenarios/releases.ts
  • packages/ui-parity/src/scenarios/replays.ts
  • packages/ui-parity/src/scenarios/routes.ts
  • packages/ui-parity/src/scenarios/service-map.ts
  • packages/ui-parity/src/scenarios/services-page.ts
  • packages/ui-parity/src/scenarios/settings.ts
  • packages/ui-parity/src/scenarios/share.ts
  • packages/ui-parity/src/scenarios/shell.ts
  • packages/ui-parity/src/scenarios/traces.ts
  • packages/ui-parity/src/scenarios/types.ts
  • packages/ui-parity/src/selfcheck.ts
  • packages/ui-parity/src/serve.ts
  • packages/ui-parity/tsconfig.json
  • packages/ui/package.json
  • packages/ui/src/components/service-map/service-map-db-style.ts
  • packages/ui/src/components/service-map/service-map-db.tsx
  • packages/ui/src/components/service-map/service-map-utils.ts
  • packages/ui/src/components/ui/alert-dialog.styles.ts
  • packages/ui/src/components/ui/alert-dialog.tsx
  • packages/ui/src/components/ui/alert.styles.ts
  • packages/ui/src/components/ui/alert.tsx
  • packages/ui/src/components/ui/autocomplete.styles.ts
  • packages/ui/src/components/ui/autocomplete.tsx
  • packages/ui/src/components/ui/avatar.styles.ts
  • packages/ui/src/components/ui/avatar.tsx
  • packages/ui/src/components/ui/badge.styles.ts
  • packages/ui/src/components/ui/badge.tsx
  • packages/ui/src/components/ui/breadcrumb.styles.ts
  • packages/ui/src/components/ui/breadcrumb.tsx
  • packages/ui/src/components/ui/bubble.styles.ts
  • packages/ui/src/components/ui/bubble.tsx
  • packages/ui/src/components/ui/button.styles.ts
  • packages/ui/src/components/ui/button.tsx
  • packages/ui/src/components/ui/calendar.styles.ts
  • packages/ui/src/components/ui/calendar.tsx
  • packages/ui/src/components/ui/card.styles.ts
  • packages/ui/src/components/ui/card.tsx
  • packages/ui/src/components/ui/checkbox.styles.ts
  • packages/ui/src/components/ui/checkbox.tsx
  • packages/ui/src/components/ui/collapsible.styles.ts
  • packages/ui/src/components/ui/collapsible.tsx
  • packages/ui/src/components/ui/combobox.styles.ts
  • packages/ui/src/components/ui/combobox.tsx
  • packages/ui/src/components/ui/command.styles.ts
  • packages/ui/src/components/ui/command.tsx
  • packages/ui/src/components/ui/confirm-dialog.styles.ts
  • packages/ui/src/components/ui/confirm-dialog.tsx
  • packages/ui/src/components/ui/context-menu.styles.ts
  • packages/ui/src/components/ui/context-menu.tsx
  • packages/ui/src/components/ui/copy-button.styles.ts
  • packages/ui/src/components/ui/copy-button.tsx
  • packages/ui/src/components/ui/copyable-badge.styles.ts
  • packages/ui/src/components/ui/copyable-badge.tsx
  • packages/ui/src/components/ui/copyable-field.styles.ts
  • packages/ui/src/components/ui/copyable-field.tsx
  • packages/ui/src/components/ui/delta.styles.ts
  • packages/ui/src/components/ui/delta.tsx
  • packages/ui/src/components/ui/dialog.styles.ts
  • packages/ui/src/components/ui/dialog.tsx
  • packages/ui/src/components/ui/dropdown-menu.styles.ts
  • packages/ui/src/components/ui/dropdown-menu.tsx
  • packages/ui/src/components/ui/empty.styles.ts
  • packages/ui/src/components/ui/empty.tsx
  • packages/ui/src/components/ui/eyebrow.styles.ts
  • packages/ui/src/components/ui/eyebrow.tsx
  • packages/ui/src/components/ui/field.styles.ts
  • packages/ui/src/components/ui/field.tsx
  • packages/ui/src/components/ui/filter-chip.styles.ts
  • packages/ui/src/components/ui/filter-chip.tsx
  • packages/ui/src/components/ui/form-dialog.styles.ts
  • packages/ui/src/components/ui/form-dialog.tsx
  • packages/ui/src/components/ui/hover-card.styles.ts
  • packages/ui/src/components/ui/hover-card.tsx
  • packages/ui/src/components/ui/icon-button.styles.ts
  • packages/ui/src/components/ui/icon-button.tsx
  • packages/ui/src/components/ui/inline-code.styles.ts
  • packages/ui/src/components/ui/inline-code.tsx
  • packages/ui/src/components/ui/input-group.styles.ts
  • packages/ui/src/components/ui/input-group.tsx
  • packages/ui/src/components/ui/input.styles.ts
  • packages/ui/src/components/ui/input.tsx
  • packages/ui/src/components/ui/item.styles.ts
  • packages/ui/src/components/ui/item.tsx
  • packages/ui/src/components/ui/kbd.styles.ts
  • packages/ui/src/components/ui/kbd.tsx
  • packages/ui/src/components/ui/key-value.styles.ts
  • packages/ui/src/components/ui/key-value.tsx
  • packages/ui/src/components/ui/label.styles.ts
  • packages/ui/src/components/ui/label.tsx
  • packages/ui/src/components/ui/list-footer.styles.ts
  • packages/ui/src/components/ui/list-footer.tsx
  • packages/ui/src/components/ui/list-row.styles.ts
  • packages/ui/src/components/ui/list-row.tsx
  • packages/ui/src/components/ui/marker.styles.ts
  • packages/ui/src/components/ui/marker.tsx
  • packages/ui/src/components/ui/message-scroller.styles.ts
  • packages/ui/src/components/ui/message-scroller.tsx
  • packages/ui/src/components/ui/message.styles.ts
  • packages/ui/src/components/ui/message.tsx
  • packages/ui/src/components/ui/meter.styles.ts
  • packages/ui/src/components/ui/meter.tsx
  • packages/ui/src/components/ui/middle-truncate.styles.ts
  • packages/ui/src/components/ui/middle-truncate.tsx
  • packages/ui/src/components/ui/mini-bars.styles.ts
  • packages/ui/src/components/ui/mini-bars.tsx
  • packages/ui/src/components/ui/native-select.styles.ts
  • packages/ui/src/components/ui/native-select.tsx
  • packages/ui/src/components/ui/navigation-menu.styles.ts
  • packages/ui/src/components/ui/navigation-menu.tsx
  • packages/ui/src/components/ui/otp-field.styles.ts
  • packages/ui/src/components/ui/otp-field.tsx
  • packages/ui/src/components/ui/page-layout.styles.ts
  • packages/ui/src/components/ui/page-layout.tsx
  • packages/ui/src/components/ui/panel.styles.ts
  • packages/ui/src/components/ui/panel.tsx
  • packages/ui/src/components/ui/popover.styles.ts
  • packages/ui/src/components/ui/popover.tsx
  • packages/ui/src/components/ui/radio-group.styles.ts
  • packages/ui/src/components/ui/radio-group.tsx
  • packages/ui/src/components/ui/refresh-button.styles.ts
  • packages/ui/src/components/ui/refresh-button.tsx
  • packages/ui/src/components/ui/resizable.styles.ts
  • packages/ui/src/components/ui/resizable.tsx
  • packages/ui/src/components/ui/row-actions-menu.styles.ts
  • packages/ui/src/components/ui/row-actions-menu.tsx
  • packages/ui/src/components/ui/scroll-area.styles.ts
  • packages/ui/src/components/ui/scroll-area.tsx
  • packages/ui/src/components/ui/select.styles.ts
  • packages/ui/src/components/ui/select.tsx
  • packages/ui/src/components/ui/separator.styles.ts
  • packages/ui/src/components/ui/separator.tsx
  • packages/ui/src/components/ui/setting-row.styles.ts
  • packages/ui/src/components/ui/setting-row.tsx
  • packages/ui/src/components/ui/sheet.styles.ts
  • packages/ui/src/components/ui/sheet.tsx
  • packages/ui/src/components/ui/sidebar.styles.ts
  • packages/ui/src/components/ui/sidebar.tsx
  • packages/ui/src/components/ui/skeleton.styles.ts
  • packages/ui/src/components/ui/skeleton.tsx
  • packages/ui/src/components/ui/spinner.styles.ts
  • packages/ui/src/components/ui/spinner.tsx
  • packages/ui/src/components/ui/stat-figure.styles.ts
  • packages/ui/src/components/ui/stat-figure.tsx
  • packages/ui/src/components/ui/status-dot.styles.ts
  • packages/ui/src/components/ui/status-dot.tsx
  • packages/ui/src/components/ui/switch.styles.ts
  • packages/ui/src/components/ui/switch.tsx
  • packages/ui/src/components/ui/table-skeleton.styles.ts
  • packages/ui/src/components/ui/table-skeleton.tsx
  • packages/ui/src/components/ui/table.styles.ts
  • packages/ui/src/components/ui/table.tsx
  • packages/ui/src/components/ui/tabs.styles.ts
  • packages/ui/src/components/ui/tabs.tsx
  • packages/ui/src/components/ui/textarea.styles.ts
  • packages/ui/src/components/ui/textarea.tsx
  • packages/ui/src/components/ui/toast.styles.ts
  • packages/ui/src/components/ui/toast.tsx
  • packages/ui/src/components/ui/toggle-group.styles.ts
  • packages/ui/src/components/ui/toggle-group.tsx
  • packages/ui/src/components/ui/toggle.styles.ts
  • packages/ui/src/components/ui/toggle.tsx
  • packages/ui/src/components/ui/tooltip.styles.ts
  • packages/ui/src/components/ui/tooltip.tsx
  • packages/ui/src/components/ui/trace.styles.ts
  • packages/ui/src/components/ui/trace.tsx
  • packages/ui/src/components/ui/truncated-id.styles.ts
  • packages/ui/src/components/ui/truncated-id.tsx
  • packages/ui/src/components/ui/truncated-text.styles.ts
  • packages/ui/src/components/ui/truncated-text.tsx
  • packages/ui/src/lib/colors.ts
  • packages/web-data/package.json
  • packages/web-data/src/collections/alerts.test.ts
  • packages/web-data/src/collections/alerts.ts
  • packages/web-data/src/collections/api-keys.test.ts
  • packages/web-data/src/collections/api-keys.ts
  • packages/web-data/src/collections/dashboards.ts
  • packages/web-data/src/collections/index.ts
  • packages/web-data/src/collections/investigations.test.ts
  • packages/web-data/src/collections/investigations.ts
  • packages/web-data/src/collections/shape-parsers.ts
  • packages/web-data/src/index.ts
  • packages/web-data/src/lib/cache-key.test.ts
  • packages/web-data/src/lib/cache-key.ts
  • packages/web-data/src/lib/chunk-reload.test.ts
  • packages/web-data/src/lib/chunk-reload.ts
  • packages/web-data/src/lib/error-messages.test.ts
  • packages/web-data/src/lib/error-messages.ts
  • packages/web-data/src/lib/peer-reachability.test.ts
  • packages/web-data/src/lib/peer-reachability.ts
  • packages/web-data/src/lib/session-replays.ts
  • packages/web-data/src/lib/time-range.ts
  • packages/web-data/src/lib/tool-analytics.test.ts
  • packages/web-data/src/lib/tool-analytics.ts
  • packages/web-data/src/lib/trace-time-window.ts
  • packages/web-data/src/lib/v2-pagination.test.ts
  • packages/web-data/src/lib/v2-pagination.ts
  • packages/web-data/src/warehouse/ai-session-tools.test.ts
  • packages/web-data/src/warehouse/ai-session-tools.ts
  • packages/web-data/src/warehouse/ai-sessions.ts
  • packages/web-data/src/warehouse/cloudflare-infra.ts
  • packages/web-data/src/warehouse/custom-charts.test.ts
  • packages/web-data/src/warehouse/custom-charts.ts
  • packages/web-data/src/warehouse/effect-utils.test.ts
  • packages/web-data/src/warehouse/effect-utils.ts
  • packages/web-data/src/warehouse/error-rates.ts
  • packages/web-data/src/warehouse/errors.ts
  • packages/web-data/src/warehouse/execute-batcher.test.ts
  • packages/web-data/src/warehouse/execute-batcher.ts
  • packages/web-data/src/warehouse/gcp-infra.ts
  • packages/web-data/src/warehouse/infra.ts
  • packages/web-data/src/warehouse/logs.ts
  • packages/web-data/src/warehouse/metrics.ts
  • packages/web-data/src/warehouse/namespace-scope.ts
  • packages/web-data/src/warehouse/planetscale-infra.ts
  • packages/web-data/src/warehouse/product-events.ts
  • packages/web-data/src/warehouse/query-builder-breakdown.test.ts
  • packages/web-data/src/warehouse/query-builder-breakdown.ts
  • packages/web-data/src/warehouse/query-builder-list.ts
  • packages/web-data/src/warehouse/query-builder-timeseries.test.ts
  • packages/web-data/src/warehouse/query-builder-timeseries.ts
  • packages/web-data/src/warehouse/query-set-executor.ts
  • packages/web-data/src/warehouse/railway-infra.ts
  • packages/web-data/src/warehouse/raw-sql-chart.ts
  • packages/web-data/src/warehouse/releases.ts
  • packages/web-data/src/warehouse/replays.test.ts
  • packages/web-data/src/warehouse/replays.ts
  • packages/web-data/src/warehouse/service-endpoints.ts
  • packages/web-data/src/warehouse/service-external-edges.ts
  • packages/web-data/src/warehouse/service-infra.ts
  • packages/web-data/src/warehouse/service-map.ts
  • packages/web-data/src/warehouse/service-operations.ts
  • packages/web-data/src/warehouse/service-usage.ts
  • packages/web-data/src/warehouse/services.test.ts
  • packages/web-data/src/warehouse/services.ts
  • packages/web-data/src/warehouse/testing.ts
  • packages/web-data/src/warehouse/timeseries-adapters.test.ts
  • packages/web-data/src/warehouse/timeseries-utils.test.ts
  • packages/web-data/src/warehouse/timeseries-utils.ts
  • packages/web-data/src/warehouse/traces.test.ts
  • packages/web-data/src/warehouse/traces.ts
  • packages/web-data/src/warehouse/warehouse-services.ts
  • packages/web-data/src/warehouse/web-analytics.ts
  • packages/web-data/tsconfig.json
  • packages/web-data/vitest.config.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

… sampling.ts

The backend suites start the fixture backend (libchdb, apps/api source), so they run locally via
test:backend. The moved warehouse modules use the query-engine summarizeSampling, leaving
apps/web/src/lib/sampling.ts unused (knip).
@maple-review-bot

maple-review-bot Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 9/10 · safe to merge
The three files since the last review delete a dead re-export and rewire the parity package's CI test script; nothing in them changes runtime behavior.
quality 100/100 · no findings · tests not needed · risk low

The head commit deletes apps/web/src/lib/sampling.ts (now a dead re-export) and makes @maple/ui-parity run its pure suites in CI while the libchdb-backend suites move to test:backend. Nothing user-facing; safe to merge. The open HttpClientError, WarehouseInvalidInputError and McpQueryError issues live in files this commit does not touch and remain unaddressed.

  • apps/web/src/lib/sampling.ts deleted; no file imports it any more
  • @maple/ui-parity test excludes src/backend/server.test.ts and src/backend/endpoints.test.ts, added as test:backend

Before merge

Production impact

Open errors in the changed files
Issue Service Occurrences File
HttpClientError maple-web 48 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 18 apps/web/src/lib/services/common/atom-client.ts
@maple/mcp/errors/McpQueryError maple-chat 15 apps/web-foldkit/src/page/registry.ts
HttpClientError maple-web 13 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
@maple/web/errors/WarehouseInvalidInputError maple-web 9 apps/web/src/lib/services/atoms/warehouse-query-atoms.ts
HttpClientError maple-web 8 apps/web/src/lib/services/common/atom-client.ts

After this merges, Maple checks whether they stop.

Production traffic of the changed files (last 7 days)
File Calls/day Busiest operations
apps/web-foldkit/src/lab/entries/kit/forms.ts 743k POST /v1/traces 484k/day, 0.0% err
POST /v1/traces 252k/day, 0.0% err
POST /v1/traces 7.0k/day, 2.2% err
packages/ui-parity/src/scenarios/settings.ts 23k POST /mcp 11k/day, 0.0% err
POST /mcp 11k/day, 0.0% err
GET /mcp 707/day, 0.0% err
packages/ui-parity/src/backend/warehouse.ts 2.1k QueryEngineService.execute 1.8k/day, 0.1% err
QueryEngineService.execute 192/day, 0.1% err
QueryEngineService.execute 65/day, 2.2% err
packages/ui-parity/src/backend/testing.ts 1.9k POST 855/day, 3.9% err
GET 701/day, 3.0% err
POST 149/day, 0.5% err
packages/ui-parity/src/backend/http-api.ts 846 GET 701/day, 3.0% err
GET 145/day, 0.1% err
packages/ui-parity/src/backend/server.ts 846 GET 701/day, 3.0% err
GET 145/day, 0.1% err
packages/web-data/src/warehouse/effect-utils.ts 549 QueryEngine.execute 352/day, 0.3% err
QueryEngine.executeBatch 197/day, 1.0% err
packages/ui-parity/src/scenarios/kit.ts 418 navigation 418/day, 0.0% err
packages/web-data/src/warehouse/services.ts 212 serviceOverview 161/day, 0.9% err
serviceHealthSnapshot 36/day, 4.0% err
serviceHealthBaseline 15/day, 4.9% err
apps/web-foldkit/src/data/warehouse.ts 197 QueryEngine.executeBatch 197/day, 1.0% err
apps/web/src/lib/registry.ts 197 QueryEngine.executeBatch 197/day, 1.0% err
packages/web-data/src/warehouse/infra.ts 119 infraPresence 108/day, 6.0% err
podInfraTimeseries 5/day, 0.0% err
listHosts 3/day, 0.0% err
apps/web-foldkit/src/shell/data.ts 97 GET /api/auth/session 97/day, 0.0% err
packages/web-data/src/warehouse/web-analytics.ts 62 webAnalyticsLive 17/day, 0.8% err
webAnalyticsSummary 15/day, 0.0% err
webAnalyticsPageviews 10/day, 0.0% err
packages/web-data/src/warehouse/gcp-infra.ts 54 gcpInfraMetrics 24/day, 0.6% err
gcpInfraSparklines 11/day, 0.0% err
gcpInfraPresence 10/day, 0.0% err
Telemetry this change adds and removes (1)
  • ➕ attribute ingest.maple.dev · apps/web-foldkit/src/lab/entries/kit/forms.ts:277
What was checked
  • git grep at the head finds no importer of lib/sampling or summarizeSampling in apps/web
  • Every workspace:* dependency of packages/ui-parity names a package in packages/ or lib/, and playwright/vitest/effect/tooling exist in the root catalogs
  • The excluded suites are the two that need libchdb and apps/api; the remaining src/backend tests are pure (call-log.test.ts, faults.test.ts, behavior.test.ts)

97d5212 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

…e imports need

CI installs a test lane's workspaces only; apps/web's own dependencies were missing for the
modules web-foldkit imports from it (http client, lab fixtures).
@maple-review-bot

maple-review-bot Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 10/10 · safe to merge
The only change since 97d5212 is one correct workspace dependency line, mirrored in bun.lock.
quality 100/100 · no findings · tests not needed · risk low

Adds "@maple/web": "workspace:*" to apps/web-foldkit, declaring the workspace package its 30+ deep imports already resolve through tsconfig. Correct and safe; nothing here touches the open error stacks, which stay unfixed.

  • apps/web-foldkit declares @maple/web as a workspace dependency

Before merge

Production impact

Open errors in the changed files
Issue Service Occurrences File
HttpClientError maple-web 48 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 18 apps/web/src/lib/services/common/atom-client.ts
@maple/mcp/errors/McpQueryError maple-chat 15 apps/web-foldkit/src/page/registry.ts
HttpClientError maple-web 13 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
@maple/web/errors/WarehouseInvalidInputError maple-web 9 apps/web/src/lib/services/atoms/warehouse-query-atoms.ts
HttpClientError maple-web 8 apps/web/src/lib/services/common/atom-client.ts

After this merges, Maple checks whether they stop.

Production traffic of the changed files (last 7 days)
File Calls/day Busiest operations
apps/web-foldkit/src/lab/entries/kit/forms.ts 743k POST /v1/traces 484k/day, 0.0% err
POST /v1/traces 252k/day, 0.0% err
POST /v1/traces 7.0k/day, 2.2% err
packages/ui-parity/src/scenarios/settings.ts 23k POST /mcp 11k/day, 0.0% err
POST /mcp 11k/day, 0.0% err
GET /mcp 707/day, 0.0% err
packages/ui-parity/src/backend/warehouse.ts 2.1k QueryEngineService.execute 1.8k/day, 0.1% err
QueryEngineService.execute 192/day, 0.1% err
QueryEngineService.execute 65/day, 2.2% err
packages/ui-parity/src/backend/testing.ts 1.9k POST 855/day, 3.9% err
GET 701/day, 3.0% err
POST 149/day, 0.5% err
packages/ui-parity/src/backend/http-api.ts 846 GET 701/day, 3.0% err
GET 145/day, 0.1% err
packages/ui-parity/src/backend/server.ts 846 GET 701/day, 3.0% err
GET 145/day, 0.1% err
packages/web-data/src/warehouse/effect-utils.ts 549 QueryEngine.execute 352/day, 0.3% err
QueryEngine.executeBatch 197/day, 1.0% err
packages/ui-parity/src/scenarios/kit.ts 419 navigation 419/day, 0.0% err
packages/web-data/src/warehouse/services.ts 212 serviceOverview 161/day, 0.9% err
serviceHealthSnapshot 36/day, 4.0% err
serviceHealthBaseline 15/day, 4.9% err
apps/web-foldkit/src/data/warehouse.ts 197 QueryEngine.executeBatch 197/day, 1.0% err
apps/web/src/lib/registry.ts 197 QueryEngine.executeBatch 197/day, 1.0% err
packages/web-data/src/warehouse/infra.ts 119 infraPresence 108/day, 6.0% err
podInfraTimeseries 5/day, 0.0% err
listHosts 3/day, 0.0% err
apps/web-foldkit/src/shell/data.ts 98 GET /api/auth/session 98/day, 0.0% err
packages/web-data/src/warehouse/web-analytics.ts 62 webAnalyticsLive 17/day, 0.8% err
webAnalyticsSummary 15/day, 0.0% err
webAnalyticsPageviews 10/day, 0.0% err
packages/web-data/src/warehouse/gcp-infra.ts 54 gcpInfraMetrics 24/day, 0.6% err
gcpInfraSparklines 11/day, 0.0% err
gcpInfraPresence 10/day, 0.0% err
Telemetry this change adds and removes (1)
  • ➕ attribute ingest.maple.dev · apps/web-foldkit/src/lab/entries/kit/forms.ts:277
What was checked
  • Same one-line entry in bun.lock keeps it in sync (diff vs 97d5212)
  • No package depends on @maple/web-foldkit, so the added edge creates no cycle
  • tsconfig.json maps @maple/web/* to ../web/src/*, matching the imports (tsrs matches the repo convention)

2be6912 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@Makisuo Makisuo added the preview Deploy a full PR preview stack (Cloudflare + AWS ingest); removing it tears it down label Oct 17, 2026
@Makisuo
Makisuo deployed to pr-preview October 17, 2026 20:07 — with GitHub Actions Active
@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

🍁 Maple PR preview

The preview is ready:

Service Preview URL
Web app-pr-1539.maple.dev
API api-pr-1539.maple.dev
Electric Sync sync-pr-1539.maple.dev
Ingest (OTLP) ingest-pr-1539.maple.dev

Smoke test: passed

Sign in with the PR preview form on the sign-in page and the preview access key (PREVIEW_SIGNIN_KEY in Infisical), or run bun run preview:signin 1539 for a signed-in link.

Deployed from b11d19c · View workflow run

@Makisuo
Makisuo deployed to pr-preview October 17, 2026 20:37 — with GitHub Actions Active
@maple-review-bot

maple-review-bot Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Maple review

Nothing to review

Foldkit web-app foundations plus the parity harness; this pass only covers docs/foldkit-area-brief.md, added since the previous review at 2be6912. It is documentation, so there is nothing reviewable in the delta and no code verdict is implied for the rest.

Before merge

Production impact

Open errors in the changed files
Issue Service Occurrences File
HttpClientError maple-web 50 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 18 apps/web/src/lib/services/common/atom-client.ts
@maple/mcp/errors/McpQueryError maple-chat 15 apps/web-foldkit/src/page/registry.ts
HttpClientError maple-web 13 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 12 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 11 apps/web/src/lib/services/common/atom-client.ts
HttpClientError maple-web 10 apps/web/src/lib/services/common/atom-client.ts
@maple/web/errors/WarehouseInvalidInputError maple-web 9 apps/web/src/lib/services/atoms/warehouse-query-atoms.ts

After this merges, Maple checks whether they stop.

Production traffic of the changed files (last 7 days)
File Calls/day Busiest operations
apps/web-foldkit/src/lab/entries/kit/forms.ts 743k POST /v1/traces 484k/day, 0.0% err
POST /v1/traces 251k/day, 0.0% err
POST /v1/traces 7.0k/day, 2.2% err
packages/ui-parity/src/scenarios/settings.ts 23k POST /mcp 11k/day, 0.0% err
POST /mcp 11k/day, 0.0% err
GET /mcp 696/day, 0.0% err
packages/ui-parity/src/backend/warehouse.ts 2.1k QueryEngineService.execute 1.8k/day, 0.1% err
QueryEngineService.execute 192/day, 0.1% err
QueryEngineService.execute 67/day, 2.1% err
packages/ui-parity/src/backend/testing.ts 1.8k POST 844/day, 3.9% err
GET 701/day, 3.0% err
POST 147/day, 0.5% err
packages/ui-parity/src/backend/http-api.ts 845 GET 701/day, 3.0% err
GET 144/day, 0.1% err
packages/ui-parity/src/backend/server.ts 845 GET 701/day, 3.0% err
GET 144/day, 0.1% err
packages/web-data/src/warehouse/effect-utils.ts 550 QueryEngine.execute 353/day, 0.3% err
QueryEngine.executeBatch 197/day, 1.0% err
packages/ui-parity/src/scenarios/kit.ts 422 navigation 422/day, 0.0% err
packages/web-data/src/warehouse/services.ts 212 serviceOverview 161/day, 0.9% err
serviceHealthSnapshot 36/day, 4.0% err
serviceHealthBaseline 15/day, 4.9% err
apps/web-foldkit/src/data/warehouse.ts 197 QueryEngine.executeBatch 197/day, 1.0% err
apps/web/src/lib/registry.ts 197 QueryEngine.executeBatch 197/day, 1.0% err
packages/web-data/src/warehouse/infra.ts 120 infraPresence 109/day, 6.0% err
podInfraTimeseries 5/day, 0.0% err
listHosts 3/day, 0.0% err
apps/web-foldkit/src/shell/data.ts 99 GET /api/auth/session 99/day, 0.0% err
packages/web-data/src/warehouse/web-analytics.ts 62 webAnalyticsLive 17/day, 0.8% err
webAnalyticsSummary 15/day, 0.0% err
webAnalyticsPageviews 10/day, 0.0% err
packages/web-data/src/warehouse/gcp-infra.ts 57 gcpInfraMetrics 24/day, 0.6% err
gcpInfraSparklines 11/day, 0.0% err
gcpInfraPresence 10/day, 0.0% err
Telemetry this change adds and removes (1)
  • ➕ attribute ingest.maple.dev · apps/web-foldkit/src/lab/entries/kit/forms.ts:277

b11d19c · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

This branch was successfully deployed

1 active deployment
pr-preview — b11d19c6 Deployed Oct 17, 2026 by Makisuo via deploy-pr-preview #5484
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview Deploy a full PR preview stack (Cloudflare + AWS ingest); removing it tears it down

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant