Skip to content

Frontend Capability Status Register

VerifiedOwner Frontend / productLast verified frontend@99f49dae6368414896bf2858cb848f5a7c7fcf98

This table consolidates every capability described across this section's nine pages, with the status token, the primary evidence anchor, and any caveat. Status tokens follow the register's fixed vocabulary: verified, production-record, private-test-stage, target-contract, upstream, extension, retired, quarantined, unverified. Every path below exists at frontend pin 99f49dae6368414896bf2858cb848f5a7c7fcf98. Full machine-readable claims with falsifiable_check commands are in the frontend evidence bundle (frontend-evidence.json, evidence/frontend/).

Product surfaces

Capability Status Evidence anchor Caveat
/dashboard primary trading workspace verified src/app/dashboard/page.tsx, src/app/dashboard/widgets.tsx
/workspace-v2 layout-document workspace verified src/workspace-v2/registry.ts 9 built-in widget types; omits watchlist/connections/screener present on /dashboard
/workspace legacy multi-pane console private-test-stage src/app/workspace/page.tsx, src/components/app-nav.tsx Nav labels it "Panels," a secondary tool
/lab engine-facts console private-test-stage src/app/lab/page.tsx Nav labels it "Console"
/admin integration-topology console private-test-stage src/app/admin/page.tsx Renders onix.integration_capability docs only
Same-origin gateway proxy verified src/app/api/engine/[...path]/route.ts Sole path from browser to backend

Chart and datafeed

Capability Status Evidence anchor Caveat
TradingView Advanced Charts integration verified src/components/chart/onix-advanced-chart.tsx Licensed vendor bytes, not reproduced here
lightweight-charts on /lab, /workspace verified src/renderer/lightweight-charts-renderer.ts Not used on /dashboard
Resolution roster from /v2/resolutions verified src/datafeed/resolution-contract.ts Replaced an earlier hardcoded, over-advertising roster
Bar-type grammar parsing/composition verified src/datafeed/resolution-map.ts Closed grammar; unrecognized suffix refused, not guessed
Backtest-path catalog bar-type re-spelling verified src/datafeed/resolution-map.ts (catalogBarTypeSuffix) Fixes a measured 0-order backtest defect
Cold-path bar history via /v2/bars verified src/datafeed/gateway-datafeed.ts Countback-priority + window planning, paginated
Live provisional current candle extension src/datafeed/gateway-datafeed.ts Built from trade ticks; backend has no partial-bar field
Reconnect-resubscribe-backfill verified src/datafeed/gateway-datafeed.ts Full cache reset retained only for undelivered "holes"
History-exhaustion (noData) signal target-contract src/datafeed/gateway-datafeed.ts Backend publishes no coverage/exhaustion fact yet
Exact-decimal boundary (Number() carve-out) verified src/datafeed/gateway-datafeed.ts (module doc) Only 2 functions in the datafeed may call Number()

Dashboard and workspaces

Capability Status Evidence anchor Caveat
Widget zone shell + resize/collapse verified src/components/dashboard/dashboard-shell.tsx No drag library; hand-rolled pointer/keyboard handling
Widget registry (/dashboard) verified src/components/dashboard/registry.ts Runtime registerWidget, side-effect import pattern
Widget catalog (/workspace-v2) verified src/workspace-v2/registry.ts Compile-time frozen; backend data can only toggle availability
/dashboard layout persistence verified src/components/dashboard/layout-store.ts Malformed stored layout falls back silently (UI pref, not an engine fact)
/workspace-v2 layout persistence verified src/workspace-v2/layout-storage.ts Malformed/oversized stored layout fails visibly, by design
Cross-widget instrument/resolution selection verified src/components/dashboard/dashboard-context.tsx Plain React context, bidirectional with chart
Cross-widget connection/account selection verified src/components/dashboard/connection-context.tsx Environment label (paper/live/sandbox) is backend-verbatim
Screener-to-chart overlay linking verified src/screener/overlay-slot.ts, src/screener/overlay-adapter.tsx One-way publish/subscribe, not a shared store
Order ticket widget (/dashboard) verified src/components/runtime/ticket.tsx Implemented, private-operator-gated UI submitting/cancelling POST /v2/orders//v2/orders/cancel; live backend execution not independently verified
Portfolio widget (/dashboard) verified src/components/runtime/portfolio.tsx Widget renders generically; GET /v2/portfolio unpublished on every gateway reachable at this pin, so it shows the neutral not-published state
Performance report widget (/dashboard) verified src/components/runtime/performance.tsx No standalone route exists at this pin; always renders not-published, pointing at a finished job's own reports/stats as the closest equivalent
Chart and per-widget automation bridges private-test-stage src/components/chart/chart-mcp-install.ts Enumerated, no-eval browser hooks for dev/support tooling; see chart-mcp-bridge.md — publication sign-off for that page is outstanding

Screener

Capability Status Evidence anchor Caveat
spine.v2 screener route client verified src/screener/gateway-v2.ts Route shapes recorded as live-probed in module doc
Multi-output feature-to-column model verified src/screener/columns.ts One column per declared output, never a guessed label
Client-side screen validation/evaluation verified src/screener/screen.ts Used for local feedback and the automation bridge; backend owns canonical POST /v2/screener/screen
Row warmup/freshness/ABSENT-with-reason verified src/screener/contract.ts Mirrors onix.feature_row wire contract
Poll + live delta stream refresh verified src/screener/gateway-v2.ts, src/screener/resolution-clock.tsx Same DTO shape on both paths
Backend screener engine internals upstream (documented in the backend section) Not duplicated here — see the backend screener page

Strategies and backtesting

Capability Status Evidence anchor Caveat
CodeMirror Python strategy editor verified src/strategy/studio/studio.tsx Editor-first layout; draft vs. immutable revision distinguished by type
Authoring completions/diagnostics from backend verified src/strategy/authoring/registry.ts Never hardcodes Nautilus symbol/diagnostic content
Revision-based backtest submission verified src/strategy/runs/run-config.tsx One instrument per job; multi-instrument = client-side batch of jobs
Execution controls (capital/fee/fill/seed) on submit target-contract src/strategy/runs/run-config.tsx Not in wire shape; shown inert with reason; see CR-026
Same controls on a finished job's execution block verified src/strategy/runs/backtests.tsx Typed on the answer only
No progress/ETA on running jobs verified src/strategy/runs/backtests.tsx Backend publishes no percentage/counter/ETA fact
Sandbox start/stop against a saved revision verified src/strategy/runs/sandbox-panel.tsx Gated to private-operator deployments only; at the reviewed backend pin, sandbox_start/sandbox_stop/sandbox_status are deferred/unavailable server-side, so a submitted start/stop reaches a not-yet-implemented backend route, not a working sandbox lane
Real-money execution claim quarantined Not claimed anywhere at this pin; environment label is backend-verbatim, unverified beyond that

Gateway and realtime

Capability Status Evidence anchor Caveat
Same-origin proxy, two backend surfaces verified src/app/api/engine/[...path]/route.ts v1 fixture/runtime gateway + spine.v2 gateway
v1 SSE transport (cursor-resumable) verified src/gateway/sse.ts Custom fetch-based framing, not EventSource
spine.v2 transport (named events, no cursor) verified src/gateway/v2.ts Shares reconnect backoff with v1 client
Capability registry gate (/v2/registry) verified src/gateway/capabilities.ts 7-value status vocabulary, never collapsed
Deployment-mode trust boundary verified src/gateway/deployment-mode.ts Server-side env var; fails closed to public-readonly
Public-edge pre-emptive withholding verified src/gateway/public-edge.ts Stops steady-state 403 polling on public hosts
User login / session / auth system unverified No such surface found at this pin; see the frontend open-questions log
Backend contract pin (58 schemas) verified scripts/engine-pin.mjs, contracts/vendor/onix-engine/contract-manifest.json Hash 28fdebfb...; see the frontend contract-pin evidence note

Client state and cache

Capability Status Evidence anchor Caveat
No global state-management library verified package.json No Redux/Zustand/Jotai/React Query/SWR dependency
React-context cross-widget selection verified src/components/dashboard/dashboard-context.tsx Plain useState, no reducer library
Module-level singleton stores (useSyncExternalStore) verified src/components/market/tick-store.ts Animation-frame batched flush
Durable-vs-ephemeral backtest store split verified src/strategy/runs/store.ts Only lightweight summaries persisted; details always re-fetched
One-shot memoized backend-fact reads verified src/datafeed/resolution-contract.ts Failed reads are not memoized
Runtime ajv schema validation, compiled once per schema verified src/contracts/validate.ts Ordered check sequence is itself part of the contract
Trading facts (orders/fills/positions/bars) persisted to browser storage unverified No such persistence was found anywhere at this pin (only UI preference, saved screens, and the lightweight backtest-job roster are persisted); this is an absence, not a documented deliberate removal, so it is not labeled retired

Notes on this table

Rows marked private-test-stage describe consoles that exist and are reachable in the build but are explicitly treated by the project's own navigation as secondary, not the product surface. Rows marked target-contract name a gap the project has itself already filed as an open contract request against the backend (see the linked contract-request documents referenced on the corresponding page, under docs/contract-requests/ in the frontend repository). No row in this table claims real-money trade execution, completed multi-user identity, or resurrects a legacy trading-engine claim; where the code path was insufficient to fully resolve a question, the row is marked unverified and detailed in the frontend evidence bundle's open-questions log rather than asserted.

Evidence and source pins for this page

Verified. Current behaviour, confirmed in source at the pinned commit.

Verified on against the following immutable sources:

  • frontend@99f49dae:AGENTS.md
  • frontend@99f49dae:src/gateway/capabilities.ts
  • frontend@99f49dae:contracts/vendor/onix-engine/contract-manifest.json
  • frontend@99f49dae:src/components/runtime/ticket.tsx
  • frontend@99f49dae:src/components/chart/chart-mcp-install.ts

Status tokens are defined on the documentation and status model page. Every pin on this site is listed under versions and source pins.