Open source · API & Integration

Third-Party Outage Replay

Replay dependency failures to verify timeout, fallback and operator paths.

v0.1.0 · Node.js 22+ · MIT

Browse the public repository · View releases

TOOLID=third-party-outage-replay. A zero-dependency Node 22+ offline reporter for exported local dependency-failure mock traces and observed application behavior. It does not call, slow, disrupt, or retry an external dependency. The export is evidence supplied by a separate local harness; this tool checks it against bounded retry, timeout, fallback, latency and operator-signal policy.

This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+; inspect the source before using it on your own files.

Run the checked-in example

node bin/third-party-outage-replay.mjs --root examples/passing --policy policy.json --export export.json
node bin/third-party-outage-replay.mjs --root examples/failing --policy policy.json --export export.json

Read the result

The first example exits 0 after three captured failed attempts and matching cached fallback. The second exits 1 with retry-limit-exceeded at /scenarios/0. @export and @policy are logical source roles, not host paths; pointers locate records in the exact input file named at invocation. Reports never echo scenario IDs, mock payloads or source file paths.

Where this check stops

Export 1,048,576 bytes; policy 65,536 bytes; JSON depth 16; 1,000 scenarios; 5,000 total attempts; 5,000 ms evaluation time with injected clock. Limits are inclusive; N+1 is incomplete for export evidence or invalid configuration for policy. Inputs are strict UTF-8 and realpath-confined inside --root. The tool writes nothing and makes no network calls. There is no mock server, live HTTP probe, retry scheduler, outage injector, production fallback execution, or assertion that a captured trace proves behavior outside the export. The library exports TOOLID, LIMITS, RULES, validPolicy and replayOutages(exportDoc,policy,{now,deadline}).

Before adapting the command to your own workflow, review the accepted inputs, exit codes and safety boundaries in the README.

Compiled with AI assistance from checked-in public documentation and example scripts. Run the example and review the repository's current documentation before relying on its result.