ops-01 reproduction
Public source retained with the related article. Generated results, dependency directories, runtime storage, secrets, and oversized binary artifacts are intentionally excluded.
README
# OPS-01 observability decision fixture
This fixture begins with one synthetic catalogue quote path and one stable
response contract. It compares a noisy uncorrelated bundle with a bounded
decision bundle, then retains exact correlation, cardinality, alert lifecycle,
and telemetry-pipeline failure controls.
The first checkpoint pins Node 24.12.0, Prometheus 3.12.0, and OpenTelemetry
Collector 0.155.0 by image digest. Run it with:
```sh
./run.sh
```
`results/profile.json` is checkpoint evidence. Drafting remains closed until
the source, disposition, mutation, provenance, exporter, real alert-state, and
clean-export gates in the OPS-01 evidence brief also pass.
The runner also retains the real `promtool` rule-test result and successful
OpenTelemetry Collector configuration validation. The profile's alert states
are checked again through a real Prometheus server: an isolated condition
reaches pending and clears without paging, while a sustained condition reaches
firing and resolves after the same user-visible symptom clears. Its 250 ms
evaluation interval and one-second hold exist only to exercise the local state
machine quickly; they are not production alert recommendations.
The runner fetches and hashes thirteen primary sources, audits the locked npm
tree, and retains eight operator-question rows plus explicit retain, aggregate,
sample, demote, redact, and discard decisions. These remain checkpoint
evidence until the mutation, provenance, exporter-failure, and clean-export
gates pass.
Twenty isolated mutations now protect response identity, symptom paging,
bounded labels, cardinality visibility, redaction, cross-signal correlation,
span usefulness, telemetry-pipeline distinctions, recovery, alternatives, and
runbook decisions. The runner retains each non-empty diff, validates the full
bundle semantically, and records a source manifest. Exporter behavior and clean
committed-tree reproduction still keep drafting closed.
The exporter control submits OTLP/HTTP JSON spans to the real Collector, which
accepts them while its declared downstream endpoint remains unreachable. The
fixture retains accepted, send-failed, and queue-backpressure counters. A
separate invalid configuration must fail Collector validation. These controls
keep application-request success, collector acceptance, downstream export,
backpressure, and configuration validity distinct.
The bounded aggregate now contains an exact request counter and duration
histogram over all nine scenarios. A two-span successful trace controls the
three-span failed trace, and the structured event's span identifier must
resolve to the failed dependency span rather than merely sharing a trace.
After committing the fixture, reproduce it without untracked workspace input:
```sh
./bin/run-clean-export.sh <commit>
```
Retained files
- .dockerignore
- bin/run-clean-export.sh
- collector-failure.yaml
- collector-invalid.yaml
- collector.yaml
- disposition-record.mjs
- Dockerfile
- exercise-export-failure.mjs
- lib/manifest.mjs
- lib/validate-evidence.mjs
- metric-source.mjs
- mutate.mjs
- observe-alerts.mjs
- package-lock.json
- package.json
- primary-sources.json
- profile.mjs
- prometheus-integration-rules.yaml
- prometheus-integration.yaml
- prometheus-rules.test.yaml
- prometheus-rules.yaml
- README.md
- run.sh
- source-evidence.mjs
- source-manifest.mjs
- verify-profile.mjs
- verify-results.mjs