Sylphx Observability

Product Contract · reference

One descriptor. Generated clients.

proto/sylphx/observability/v1/observability.proto is the only public request, response, error, effect, budget, and lifecycle model. TypeScript SDK, CLI, and Rust SDK are deterministic projections of that contract. Platform sylphx-sdk / sylphx-cli is not this product's SDK.

Published locators

Product id
observability
Contract version
2026-08-16.3
Release
0.1.0-target
Issuer / peel
https://api.observability.sylphx.com/v1
Envelope
Binding + Delegation. Header Sylphx-Project-Binding carries sylphx-project-binding+jwt. Authorization: Bearer carries sylphx-delegation+jwt.
Not accepted
Caller project headers, long-lived product credentials, product API keys, bootstrap secrets, or a handwritten second schema.

Capabilities

CapabilityJob
observability.project_binding_authority.applyAccept monotonic Platform-signed binding authority events.
observability.logs.ingest / .queryAtomic bounded logs; tenant-fenced query.
observability.metrics.ingest / .queryCardinality-bounded metric points; tenant-fenced query.
observability.traces.ingest / .queryValidated spans; tenant-fenced query.
observability.errors.ingest / .query / .lifecycleImmutable occurrences; deterministic groups; revision-fenced acknowledge/resolve/reopen.
observability.audit.append / .queryImmutable hash-chain evidence; tenant-fenced query.
observability.retention.read / .update / .enforceTyped policy; revision fence; lease-fenced deletion Operation.
observability.tenant.export / .deleteConservation receipt; terminal deletion after policy and hold checks.
observability.operations.readExact tenant-scoped Operation readback.

Field lists, budgets, and errors stay in the descriptor. This table does not re-author them.

HTTP projection (selected)

OperationHTTP
IngestLogs / QueryLogsPOST /v1/logs, POST /v1/logs:query
IngestMetrics / QueryMetricsPOST /v1/metrics, POST /v1/metrics:query
IngestTraces / QueryTracesPOST /v1/traces, POST /v1/traces:query
IngestErrorEvents / QueryErrorGroupsPOST /v1/error-events, POST /v1/error-groups:query
Error lifecyclePOST /v1/error-groups/{group_id}:acknowledge|resolve|reopen
AuditPOST /v1/audit-events, POST /v1/audit-events:query
RetentionGET|PUT /v1/retention-policy, POST /v1/retention:enforce
TenantPOST /v1/tenant:export, POST /v1/tenant:delete
GetOperationGET /v1/operations/{operation_id}