# OPS008-LAB1 — Cross-signal correlation without invented links

Everything is local and synthetic. No account, network target, credential, customer data, production telemetry system, or live backend is used.

For each case, produce eight states: `signal_identity_state`, `resource_identity_state`, `trace_topology_state`, `propagation_state`, `log_correlation_state`, `metric_exemplar_state`, `instrumentation_gap_state`, and `diagnostic_decision`.

Rules:
1. Use the complete trace/span context; do not correlate by timestamp or Span ID alone.
2. Preserve parent/child topology. A new Trace ID or missing parent leaves the edge unproven.
3. Treat resource identity as separate evidence, even when trace context matches.
4. Link a log directly only when its TraceId/SpanId match an observed span.
5. Distinguish aggregate metrics from exemplar-linked observations.
6. A healthy collector does not prove missing application telemetry exists.
7. Keep every unsupported path as an explicit instrumentation gap.
8. Rebuild the transfer topology from its own identifiers.
