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
| Capability | Job |
observability.project_binding_authority.apply | Accept monotonic Platform-signed binding authority events. |
observability.logs.ingest / .query | Atomic bounded logs; tenant-fenced query. |
observability.metrics.ingest / .query | Cardinality-bounded metric points; tenant-fenced query. |
observability.traces.ingest / .query | Validated spans; tenant-fenced query. |
observability.errors.ingest / .query / .lifecycle | Immutable occurrences; deterministic groups; revision-fenced acknowledge/resolve/reopen. |
observability.audit.append / .query | Immutable hash-chain evidence; tenant-fenced query. |
observability.retention.read / .update / .enforce | Typed policy; revision fence; lease-fenced deletion Operation. |
observability.tenant.export / .delete | Conservation receipt; terminal deletion after policy and hold checks. |
observability.operations.read | Exact tenant-scoped Operation readback. |
Field lists, budgets, and errors stay in the descriptor. This table does not re-author them.
HTTP projection (selected)
| Operation | HTTP |
IngestLogs / QueryLogs | POST /v1/logs, POST /v1/logs:query |
IngestMetrics / QueryMetrics | POST /v1/metrics, POST /v1/metrics:query |
IngestTraces / QueryTraces | POST /v1/traces, POST /v1/traces:query |
IngestErrorEvents / QueryErrorGroups | POST /v1/error-events, POST /v1/error-groups:query |
| Error lifecycle | POST /v1/error-groups/{group_id}:acknowledge|resolve|reopen |
| Audit | POST /v1/audit-events, POST /v1/audit-events:query |
| Retention | GET|PUT /v1/retention-policy, POST /v1/retention:enforce |
| Tenant | POST /v1/tenant:export, POST /v1/tenant:delete |
GetOperation | GET /v1/operations/{operation_id} |
Generated projections
Do not invent a second SDK identity beside OBS-CONTRACT. Do not vendor a mega-client that re-authors this contract.