Glossary
Short definitions for the terms that appear across this documentation. Each term links to the primary concept page where it's explained in context.
Author-time vs request-time
The invariant that all case-file lookup happens in the SDK, at authoring time, and that the runtime never walks traces[] on the inject hot path. See Capture & replay — replay mode and Rules & policy.
Capture
A session mode that records every ingress and egress HTTP hop as OTLP spans, which are flushed into a .case.json file when the session closes. See Capture & replay.
Case
One JSON document containing metadata, an OTLP-shaped traces[] array, and optional embedded rules[] and fixtures[]. The on-disk artifact a capture session produces and a replay session consumes. See Sessions & cases and Case file schema.
capture_only
A then.action that records live traffic for a hop without mocking it — the proxy still forwards the request upstream and captures what happens. Useful for observing traffic patterns without changing behavior. See Mock an external dependency — observe-only.
Egress / egress proxy
The outbound hop where the app calls a dependency. The egress proxy listener (port 8084 in the reference topology) is where /v1/inject is consulted to decide mock vs. forward. See Architecture.
Extract
The proxy's call to POST /v1/traces after observing actual traffic (usually on passthrough) so the runtime can record the real request/response as an OTLP span. See Proxy OTLP API — /v1/traces.
findInCase
An SDK method that does a synchronous, in-memory lookup against a case file loaded via loadCaseFromFile. Throws if zero or more than one spans match. See the SDK reference for TypeScript, Python, Java, or Go.
Fixture
Non-HTTP authentication material (tokens, cookies, OAuth artifacts) carried in a case's fixtures[] or installed via POST /v1/sessions/{id}/fixtures/auth. See Auth fixtures.
Hook
User-defined code — TypeScript/JavaScript in the CLI v1, native code in SDK tests — that customizes matching, mocking, or assertions beyond the built-in rule grammar. See Write a hook.
Ingress / ingress proxy
The inbound hop between the test client and the app. The ingress proxy listener (port 8082 in the reference topology) tags requests with x-softprobe-session-id for session correlation. See Architecture.
Inject
The proxy's call to POST /v1/inject on each intercepted hop. The runtime either returns 200 with a synthesized response (hit → mock) or 404 (miss → forward upstream). See Proxy OTLP API — /v1/inject.
mockOutbound
An SDK method that registers a mock rule with a concrete response on the runtime. SDKs merge rule payloads client-side across consecutive calls; the runtime itself replaces the full rules document per POST. See the SDK reference for TypeScript, Python, Java, or Go.
Passthrough
A then.action (and the default behavior on /v1/inject miss) where the proxy forwards the request to the real upstream. Captures still happen; the response is not synthesized. See Rules & policy.
Policy
Session-level defaults applied via POST /v1/sessions/{id}/policy, notably externalHttp: strict which blocks unmatched outbound calls. See Rules & policy.
Replay
A session mode that drives the app through the proxy with /v1/inject consulting pre-loaded cases and rules instead of live upstreams. See Capture & replay.
Rule
A when matcher paired with a then action (mock, error, passthrough, or capture_only). Applied at the session level via POST /v1/sessions/{id}/rules, embedded in case files, or registered through an SDK. See Rule schema.
Session
A bounded test-run context holding mode, policy, loaded case bytes, session rules, and fixtures. Identified by sessionId returned from POST /v1/sessions. See Sessions & cases.
sessionRevision
A monotonically increasing counter on each session that bumps whenever the session's rules, policy, case, or fixtures change. Used by the optional proxy inject cache for invalidation. See Architecture — proxy inject cache.
sp_backend_url
The WASM plugin config field telling the proxy where to POST /v1/inject and /v1/traces. In OSS deployments this is the same URL as SOFTPROBE_RUNTIME_URL. See Standalone Envoy deployment.
Strict / strict policy
A session policy (externalHttp: strict) that fails unmatched outbound calls with HTTP 599 plus the x-softprobe-strict-miss: 1 header, preventing silent passthroughs. See Debug a strict-policy miss.
Suite
A declarative suite.yaml description of many cases to replay, driven by softprobe suite run. See Suite YAML reference.
Trace context / traceparent / tracestate
The W3C HTTP headers (traceparent, tracestate) that propagate the session ID across hops. If your app drops these headers between ingress and egress, session correlation breaks — see Architecture — trace context propagation.
x-softprobe-session-id
The HTTP header the ingress proxy stamps on every request to identify the session for downstream hops. See Session headers reference.
Missing a term? Open a PR against docs-site/glossary.md — small, definition-sized entries are always welcome.