Overview
The Bitfab web portal at bitfab.ai is where you view your traced AI workflows, inspect individual traces, review verdicts, and manage automated graders.Trace Functions
When you instrument your code with the SDK, eachgetFunction() or get_function() call registers a trace function - a named group of related spans. The main navigation lists all your trace functions with summary stats:
- Total traces captured
- Evaluation status - how traces are performing against your graders
- Recent activity - latest traces and their outcomes
Traces
Each execution of an instrumented function produces a trace - a tree of spans capturing the full call stack with inputs, outputs, timing, and errors.Trace List
The trace list for a function shows:
A trace written by
seedTrace / seed_trace shows a seeded marker once it has settled cleanly, so a corpus you loaded on purpose is distinguishable from traffic your app produced. While it is still running, or if it threw, it shows the running or error state instead, like any other trace. A replay of a seeded trace is its own run and shows the replay states.
Trace Detail
Click a trace to see the full span tree:Searching and Filtering
Filter traces by:- Status: Success or error
- Date range: Filter by time period
- Grader results: Pass or fail on specific graders
- Full-text search: Search across inputs, outputs, and error messages
- Name: The title
setName/set_nameorseedTrace/seed_tracerecorded. The Name box matches any part of a name, so type the fragment you remember - Caller metadata: The key and value pairs
setMetadata/set_metadatarecorded. Matched exactly, ignoring case, and you can stack up to 10 pairs - Environment: The environment the API key that recorded the trace belongs to
- Replays: Show only your code’s own runs, only replays, or both
- Tags: Filter by assigned tags
client.traces.search in the TypeScript, Python, Ruby, or Go reference.
Redirecting from your own records
Use/trace-redirect when your product knows its own record IDs but does not know Bitfab’s trace and span IDs. Each query parameter names an exact trace or span field. The redirect only searches your active organization.
For example, record your support ticket’s run ID while the traced function is active:
URLSearchParams handles URL encoding for you:
ticket_run_id value and redirects to its function-scoped Bitfab trace page. Your application never needs to store or discover the Bitfab trace ID.
trace.metadata.<key>, trace.name, trace.session_id, trace_function_key (also accepted as trace.function_key), trace.source_id, and trace.environment. Supported span selectors are span.metadata.<key>, span.name, span.type, and span.source_id. At least one trace selector is required. A span selector is optional. Every supplied filter must match exactly. Metadata keys and values are case insensitive; other fields are case sensitive. One result redirects to its function-scoped Bitfab URL. Zero results return 404. Multiple results ask you to add another filter.
Reviewing verdicts
Record pass/fail verdicts on traces to build evaluation datasets and track quality. See the Reviewing verdicts guide for details.Datasets, Graders, and Experiments
Beyond browsing traces and reviewing verdicts, the portal is where you manage Bitfab’s other primitives: datasets of curated traces, graders that score them automatically, and experiments that replay a dataset against your changed code. See the Primitives overview for how they fit together. These are created from your coding agent rather than from a form in the portal. The New buttons on each list show the prompt to use. Scripts and CI jobs that need to build or maintain a dataset without an agent in the loop can use theclient.datasets namespace in any of the four SDKs instead. See Datasets from the SDK.
Settings
Additional configuration is available in the user menu:API Keys
Manage API keys for SDK authentication
Integrations
Configure external service connections
Tags
Organize traces with tags
Organizations
Bitfab uses organizations to group resources:- Each user belongs to one or more organizations
- Trace functions, traces, and API keys are scoped to an organization
- Team members can be invited to collaborate