Routing and usage evidence
Lasso keeps the default response compatible with JSON-RPC. Evidence comes from baseline response headers, opt-in metadata, the dashboard, and server-side telemetry; those surfaces have different retention and audience boundaries.Baseline headers
Operational fallback between system profiles preserves the authorized service
profile’s
x-lasso-profile identity. Internal routing metadata can separately
describe the attempt that served the request.
Opt-in metadata
Use?include_meta=headers or X-Lasso-Include-Meta: headers to preserve the
JSON-RPC body and receive:
x-lasso-request-id;x-lasso-meta, a base64url-encoded JSON routing record when it fits within the header limit.
include_meta=body only when the client accepts a changed response shape.
That mode adds a top-level lasso_meta object; it does not add x-lasso-meta.
The metadata record exposes the request ID, strategy, chain, transport,
candidate and selected providers, selection/upstream/end-to-end latency,
Lasso overhead, retry count, and circuit state when those fields are available.
service_profile_id identifies the original service profile; profile_id
identifies the effective route, including configured fallback. executed_channel
is present only when an upstream served the request. With Block regression
protection On, provider-backed block choices include head_policy.policy=local,
the application generation, captured floor and recovery evidence. Existing strict
configurations can return retained block choices with head_policy.policy=global
and no executing provider. Client metadata
does not include per-attempt error details. Treat the live OpenAPI response and actual record as
authoritative because optional fields depend on the request path and outcome.
WebSocket callers can add "lasso_meta":"notify" to a JSON-RPC request to ask
for a follow-up lasso_meta notification.
Block protection metadata
These optional fields help diagnose Block regression protection. They are not required to enable protection or read several values at one block. Whenhead_policy.policy is local, a protected latest-block response can include:
Compare nonoverlapping requests within the same service profile, chain, instance
and generation to assess local protection. These fields do not prove that a
particular number of peers received an update or predict recovery time.
Existing strict policies report
policy=global and can include attributed
chain-change observations. Their retained number/header responses have no
executing upstream provider.
Explicit-number/hash requests can legitimately have no head_policy object.
State-read results do not independently attest which block the provider used
to execute them. For correlation, use x-lasso-request-id, or x-request-id
when no routing context was created. Both profile identity fields are opaque.
HTTP batch headers expose only one item’s routing context. Oversized metadata
can be omitted. If complete per-request diagnostics are required, use individual
HTTP requests and record missing metadata explicitly; this is a diagnostics
choice, not a requirement for consistent reads.
Operational workflow
- Capture the request ID at the client boundary.
- Compare the requested route with
x-lasso-profileand, when present,x-lasso-effective-strategy. - Decode opt-in metadata to identify the serving provider, transport, latency, and retry count.
- Check the dashboard’s regional provider state and recent activity.
- Correlate the request ID with application and service telemetry for a durable incident record.