Output Pipeline — Deep Reference (Gated)
Gated content notice. This page is part of the gated reference surface. Distribution restricted by NDA. Do not mirror to public channels.
At a glance
This page documents executor behavior limits, retry and timeout semantics, and the capability gating of step types beyond the public landing page.
Edition gate
Requires NextPDF Pro, installed via composer require nextpdf/premium. Get a license.
License feature flag
The executor is Pro. Three step types are capability-gated: redaction requires a Privacy Pack capability, extraction and OCR overlay require Intelligence Pack capabilities. Gated steps without the required capability fail manifest validation with a license error code rather than executing.
Behavior contract
PipelineExecutor::execute($manifest, $variables) builds a context, computes a topological order, and runs steps in that order. A step with no registered resolver yields a failed step result with an explicit message rather than aborting the run. PipelineOptions::$stopOnError halts on first failure; otherwise the run continues and the final status is failed if any step failed. The global timeout is evaluated before each step starts; a step already running is not interrupted mid-execution. Per-step retries are bounded by maxRetries + 1 attempts; only non-terminal failures are retried, and a runtime exception during a step is captured as a failed step. Resume-from-step skips steps until the named step is reached, then runs from there. The result reports overall status, per-step results, duration, and completed/failed counts.
Built-in step types: generate, merge, split, inspect, compress, sign, convert (no capability gate); redact, extract, ocr_overlay (capability-gated).
Public API surface
composer require nextpdf/premiumPublic types: PipelineExecutor, PipelineManifest, PipelineManifestBuilder, PipelineOptions, PipelineContext, PipelineResult, PipelineStep, PipelineStepType, PipelineStatus, StepResult, StepOutputType, StepResolverInterface, StepResolverRegistry.
Conformance
The executor performs no format conformance work; conformance depends on the registered step resolvers. The RAG corpus was unavailable at authoring time, so this page asserts no external clause identifiers.
Edge cases & FIPS-mode behavior
- Designed for asynchronous execution inside a job worker. Inline use blocks the caller for the full pipeline duration.
- The global timeout is a between-steps check, so a single long step can overrun the budget.
- A capability-gated step without its Pack capability fails validation; non-gated steps still run.
- The executor performs no cryptographic operations. FIPS posture for the signing step is governed by the signing module, not here.