# Observability / Auditability / Traceability

> Every principle in this category is listed as a record.

Page: Ontology · Principles
Canonical: https://banes-lab.com/ontology#arch-category-observability-auditability-traceability

Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.

Relations diagram

The relations inside this category.

```mermaid
flowchart LR
n_observability["Observability"]
n_logging["Logging"]
n_monitoring["Monitoring"]
n_alerting["Alerting"]
n_auditability["Auditability"]
n_audit_logging["Audit Logging"]
n_traceability["Traceability"]
n_correlation_id["Correlation ID"]
n_causation_id["Causation ID"]
n_distributed_tracing["Distributed Tracing"]
n_slo_sli["SLO/SLI"]
n_dashboards["Dashboards"]
n_logging --> n_traceability
n_alerting --> n_monitoring
n_auditability --> n_audit_logging
n_auditability --> n_traceability
n_audit_logging --> n_auditability
n_audit_logging --> n_traceability
n_traceability --> n_correlation_id
n_traceability --> n_auditability
n_correlation_id --> n_distributed_tracing
n_distributed_tracing --> n_observability
n_slo_sli --> n_monitoring
n_slo_sli --> n_observability
n_slo_sli --> n_alerting
n_dashboards --> n_monitoring
n_dashboards --> n_observability
n_dashboards --> n_traceability
```

### Observability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Severity: mandatory for production systems
- Scope: service, system, runtime
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Logs](https://banes-lab.com/records/lex/logs.md), [Metrics](https://banes-lab.com/records/lex/metrics.md), [Traces](https://banes-lab.com/records/lex/traces.md)

Reinforces
[Resilience](https://banes-lab.com/records/arch/resilience.md), [Debuggability](https://banes-lab.com/records/lex/debuggability.md)

Enables
[Incident Diagnosis](https://banes-lab.com/records/lex/incident-diagnosis.md)

In tension with
[Cost/Noise](https://banes-lab.com/records/lex/cost-noise.md)

Conflicts with
[Opaque System](https://banes-lab.com/records/lex/opaque-system.md), [Unobservable Failure](https://banes-lab.com/records/arch/unobservable-failure.md)

Referenced by
[Centralized Logging](https://banes-lab.com/records/arch/centralized-logging.md), [Information Hiding](https://banes-lab.com/records/arch/information-hiding.md), [Fail Fast](https://banes-lab.com/records/arch/fail-fast.md), [Resilience](https://banes-lab.com/records/arch/resilience.md), [Error Handling](https://banes-lab.com/records/arch/error-handling.md), [Dead-Letter Queue](https://banes-lab.com/records/arch/dead-letter-queue.md), [Model Drift Monitoring](https://banes-lab.com/records/arch/model-drift-monitoring.md), [Distributed Tracing](https://banes-lab.com/records/arch/distributed-tracing.md), [SLO/SLI](https://banes-lab.com/records/arch/slo-sli.md), [Dashboards](https://banes-lab.com/records/arch/dashboards.md), [Self-Healing Architecture](https://banes-lab.com/records/arch/self-healing-architecture.md), [Canary Deployment](https://banes-lab.com/records/arch/canary-deployment.md), [Chaos Engineering](https://banes-lab.com/records/arch/chaos-engineering.md)

Tensions
[Observability Cost/Noise](https://banes-lab.com/records/tension/cost-noise-observability.md)

Violated by
production behavior cannot be inferred

Detected by
missing telemetry around critical paths

Measured by
telemetry coverage, MTTR

Refactored by
Add Logs/Metrics/Traces

Enforced by
observability standards

Before

```typescript
async function processFoo(foo: Foo) {
await fooStore.save(foo);
}
```

After

```typescript
async function processFoo(foo: Foo, telemetry: Telemetry) {
return telemetry.trace("foo.process", { fooId: foo.id }, async span => {
await fooStore.save(foo);
span.event("foo.saved");
telemetry.count("foo.processed", 1);
});
}
```

### Logging

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: mandatory
- Scope: application, service
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Structured Events](https://banes-lab.com/records/lex/structured-events.md), [Context](https://banes-lab.com/records/lex/context.md)

Reinforces
[Traceability](https://banes-lab.com/records/arch/traceability.md), [Debugging](https://banes-lab.com/records/lex/debugging.md)

Enables
[Incident Analysis](https://banes-lab.com/records/lex/incident-analysis.md)

In tension with
[Noise/Personal Data Leakage](https://banes-lab.com/records/lex/noise-personal-data-leakage.md)

Conflicts with
[Silent Failure](https://banes-lab.com/records/lex/silent-failure.md), [Log-as-Control-Flow](https://banes-lab.com/records/arch/log-as-control-flow.md)

Tensions
[Logging Noise/Personal Data Leakage](https://banes-lab.com/records/tension/logging-noise-personal-data-leakage.md)

Violated by
missing or unstructured critical logs

Detected by
absence of logs on error/business events

Measured by
log coverage, signal/noise ratio

Refactored by
Add Structured Logs, Add Context

Enforced by
logging policy, linting

Before

```typescript
console.log("saved", foo);
```

After

```typescript
logger.info("foo.saved", { fooId: foo.id, version: foo.version });
```

### Monitoring

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: mandatory
- Scope: service, infrastructure
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Metrics](https://banes-lab.com/records/lex/metrics.md), [Thresholds](https://banes-lab.com/records/lex/thresholds.md)

Reinforces
[Reliability](https://banes-lab.com/records/lex/reliability.md)

Enables
[Failure Detection](https://banes-lab.com/records/lex/failure-detection.md)

In tension with
[Alert Noise](https://banes-lab.com/records/lex/alert-noise.md)

Conflicts with
[Blind Operation](https://banes-lab.com/records/lex/blind-operation.md)

Referenced by
[Model Safety](https://banes-lab.com/records/arch/model-safety.md), [Alerting](https://banes-lab.com/records/arch/alerting.md), [SLO/SLI](https://banes-lab.com/records/arch/slo-sli.md), [Dashboards](https://banes-lab.com/records/arch/dashboards.md), [Resource Utilization](https://banes-lab.com/records/arch/resource-utilization.md)

Tensions
[Monitoring Alert Noise](https://banes-lab.com/records/tension/alert-noise-monitoring.md)

Violated by
no metrics for critical resources/SLIs

Detected by
missing dashboards/SLI metrics

Measured by
metric coverage, detection latency

Refactored by
Add Metrics, Define SLIs

Enforced by
production readiness checklist

Before

```typescript
setInterval(() => report(fooQueue.length), 60_000);
```

After

```typescript
metrics.gauge("foo.queue.depth", () => fooQueue.length);
metrics.histogram("foo.processing.duration_ms", fooProcessingDuration);
```

### Alerting

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: mandatory
- Scope: operations, service
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Monitoring](https://banes-lab.com/records/arch/monitoring.md), [Thresholds](https://banes-lab.com/records/lex/thresholds.md)

Reinforces
[Incident Response](https://banes-lab.com/records/lex/incident-response.md)

Enables
[Timely Intervention](https://banes-lab.com/records/lex/timely-intervention.md)

In tension with
[Alert Fatigue](https://banes-lab.com/records/lex/alert-fatigue.md)

Conflicts with
[Silent Failure](https://banes-lab.com/records/lex/silent-failure.md), [Observability Noise](https://banes-lab.com/records/arch/observability-noise.md)

Referenced by
[SLO/SLI](https://banes-lab.com/records/arch/slo-sli.md)

Tensions
[Alerting Alert Fatigue](https://banes-lab.com/records/tension/alert-fatigue-alerting.md)

Violated by
critical failures without alert

Detected by
incident reported by customers before monitoring caught it

Measured by
MTTD, alert precision

Refactored by
Add Alert, Tune Thresholds

Enforced by
on-call policy

Before

```typescript
if (errorRate > 0.05) notify("foo errors");
```

After

```typescript
alerts.define("FooErrorBudgetBurn", {
condition: rate("foo.errors", "5m") > 0.05,
for: "10m",
severity: "critical",
});
```

### Auditability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Severity: mandatory for regulated/sensitive systems
- Scope: system, data, security
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Audit Logging](https://banes-lab.com/records/arch/audit-logging.md), [Traceability](https://banes-lab.com/records/arch/traceability.md)

Reinforces
[Compliance](https://banes-lab.com/records/arch/compliance.md)

Enables
[Accountability](https://banes-lab.com/records/lex/accountability.md)

In tension with
[Storage/Privacy](https://banes-lab.com/records/lex/storage-privacy.md)

Conflicts with
[Opaque Mutation](https://banes-lab.com/records/lex/opaque-mutation.md)

Referenced by
[Centralized Logging](https://banes-lab.com/records/arch/centralized-logging.md), [Reproducibility](https://banes-lab.com/records/arch/reproducibility.md), [Event Sourcing](https://banes-lab.com/records/arch/event-sourcing.md), [Append-Only Log](https://banes-lab.com/records/arch/append-only-log.md), [Audit Logging](https://banes-lab.com/records/arch/audit-logging.md), [Traceability](https://banes-lab.com/records/arch/traceability.md), [Compliance](https://banes-lab.com/records/arch/compliance.md), [Continuous Compliance](https://banes-lab.com/records/arch/continuous-compliance.md)

Tensions
[Auditability Storage/Privacy](https://banes-lab.com/records/tension/auditability-storage-privacy.md)

Violated by
critical action without audit record

Detected by
missing audit event for sensitive operation

Measured by
audit event coverage

Refactored by
Add Audit Log, Add Actor/Reason Metadata

Enforced by
compliance gates

Before

```typescript
function renameFoo(foo: Foo, name: string) { foo.name = name; }
```

After

```typescript
function renameFoo(foo: Foo, name: string, actor: Actor) {
const previous = foo.name;
foo.rename(name);
audit.append({ action: "FooRenamed", fooId: foo.id, actorId: actor.id, previous, next: name });
}
```

### Audit Logging

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: mandatory for sensitive systems
- Scope: security, compliance, data mutation
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Actor](https://banes-lab.com/records/lex/actor.md), [Action](https://banes-lab.com/records/lex/action.md), [Timestamp](https://banes-lab.com/records/lex/timestamp.md), [Target](https://banes-lab.com/records/lex/target.md)

Reinforces
[Auditability](https://banes-lab.com/records/arch/auditability.md), [Traceability](https://banes-lab.com/records/arch/traceability.md)

Enables
[Forensics](https://banes-lab.com/records/lex/forensics.md)

In tension with
[Privacy](https://banes-lab.com/records/lex/privacy.md)

Conflicts with
[Untracked Mutation](https://banes-lab.com/records/lex/untracked-mutation.md)

Referenced by
[Auditability](https://banes-lab.com/records/arch/auditability.md)

Tensions
[Audit Logging Privacy](https://banes-lab.com/records/tension/audit-logging-privacy.md)

Violated by
sensitive operation without immutable record

Detected by
missing audit instrumentation

Measured by
audit coverage

Refactored by
Add Audit Event, Protect Audit Store

Enforced by
[policy-as-code](https://banes-lab.com/records/arch/policy-as-code.md), [tests](https://banes-lab.com/records/lex/tests.md)

Before

```typescript
logger.info(`user ${user.id} changed foo ${foo.id}`);
```

After

```typescript
auditLog.append({
eventId: eventId(),
action: "FOO_UPDATE",
actorId: user.id,
resourceId: foo.id,
occurredAt: clock.now().toISOString(),
});
```

### Traceability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Severity: mandatory
- Scope: request, workflow, change
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Correlation ID](https://banes-lab.com/records/arch/correlation-id.md), [Logs/Traces](https://banes-lab.com/records/lex/logs-traces.md)

Reinforces
[Debuggability](https://banes-lab.com/records/lex/debuggability.md), [Auditability](https://banes-lab.com/records/arch/auditability.md)

Enables
[End-to-End Causality](https://banes-lab.com/records/lex/end-to-end-causality.md)

In tension with
[Metadata Propagation Overhead](https://banes-lab.com/records/lex/metadata-propagation-overhead.md)

Conflicts with
[Anonymous Flow](https://banes-lab.com/records/lex/anonymous-flow.md)

Referenced by
[Architecture Decision Records (ADR)](https://banes-lab.com/records/arch/architecture-decision-records.md), [Chain of Responsibility Pattern](https://banes-lab.com/records/arch/chain-of-responsibility-pattern.md), [Causality](https://banes-lab.com/records/arch/causality.md), [Causal Dependency](https://banes-lab.com/records/arch/causal-dependency.md), [Choreography](https://banes-lab.com/records/arch/choreography.md), [Explainability](https://banes-lab.com/records/arch/explainability.md), [Logging](https://banes-lab.com/records/arch/logging.md), [Auditability](https://banes-lab.com/records/arch/auditability.md), [Audit Logging](https://banes-lab.com/records/arch/audit-logging.md), [Dashboards](https://banes-lab.com/records/arch/dashboards.md), [Inversion of Control (IoC)](https://banes-lab.com/records/arch/inversion-of-control.md), [Dynamic Dispatch](https://banes-lab.com/records/arch/dynamic-dispatch.md), [Polymorphism](https://banes-lab.com/records/arch/polymorphism.md)

Tensions
[Traceability Metadata Propagation Overhead](https://banes-lab.com/records/tension/metadata-propagation-overhead-traceability.md)

Violated by
uncorrelated logs/events

Detected by
missing correlation propagation

Measured by
trace completeness

Refactored by
Add Correlation ID, Propagate Context

Enforced by
middleware, tracing policy

Before

```typescript
await processFoo(foo);
```

After

```typescript
const trace = traceContext.start({ operation: "processFoo", fooId: foo.id });
await processFoo(foo, trace);
trace.finish();
```

### Correlation ID

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: mandatory for distributed systems
- Scope: request, message, workflow
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Context Propagation](https://banes-lab.com/records/lex/context-propagation.md)

Reinforces
[Distributed Tracing](https://banes-lab.com/records/arch/distributed-tracing.md)

Enables
[Request-Level Traceability](https://banes-lab.com/records/lex/request-level-traceability.md)

In tension with
[Header/Metadata Management](https://banes-lab.com/records/lex/header-metadata-management.md)

Conflicts with
[Uncorrelated Events](https://banes-lab.com/records/lex/uncorrelated-events.md)

Referenced by
[Traceability](https://banes-lab.com/records/arch/traceability.md)

Tensions
[Correlation ID Header/Metadata Management](https://banes-lab.com/records/tension/correlation-id-header-metadata-management.md)

Violated by
logs/events without correlation identifier

Detected by
missing correlation field

Measured by
correlation coverage

Refactored by
Add Middleware, Propagate Header

Enforced by
logging/tracing standards

Before

```typescript
await http.post("/bar", { fooId: foo.id });
```

After

```typescript
const correlationId = request.headers.get("X-Correlation-ID") ?? idSource.next();
await http.post("/bar", { fooId: foo.id }, { headers: { "X-Correlation-ID": correlationId } });
```

### Causation ID

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: recommended
- Scope: event, message, workflow
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Event Metadata](https://banes-lab.com/records/lex/event-metadata.md)

Reinforces
[Causality](https://banes-lab.com/records/arch/causality.md), [Audit Trail](https://banes-lab.com/records/lex/audit-trail.md)

Enables
[Cause-Effect Reconstruction](https://banes-lab.com/records/lex/cause-effect-reconstruction.md)

In tension with
[Metadata Verbosity](https://banes-lab.com/records/lex/metadata-verbosity.md)

Conflicts with
[Unlinked Events](https://banes-lab.com/records/lex/unlinked-events.md)

Tensions
[Causation ID Metadata Verbosity](https://banes-lab.com/records/tension/causation-id-metadata-verbosity.md)

Violated by
event chains without parent cause

Detected by
missing causation field in event metadata

Measured by
causation coverage

Refactored by
Add Causation Metadata

Enforced by
event schema rules

Before

```typescript
events.publish({ id: eventId(), type: "BarCreated", fooId: event.fooId });
```

After

```typescript
events.publish({
id: eventId(),
type: "BarCreated",
fooId: event.fooId,
correlationId: event.correlationId,
causationId: event.id,
});
```

### Distributed Tracing

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: mandatory for distributed systems
- Scope: distributed system, service mesh
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Trace Context Propagation](https://banes-lab.com/records/lex/trace-context-propagation.md)

Reinforces
[Observability](https://banes-lab.com/records/arch/observability.md), [Causality](https://banes-lab.com/records/arch/causality.md)

Enables
[Latency/Failure Root Cause Analysis](https://banes-lab.com/records/lex/latency-failure-root-cause-analysis.md)

In tension with
[Overhead/Sampling](https://banes-lab.com/records/lex/overhead-sampling.md)

Conflicts with
[Opaque Distributed Calls](https://banes-lab.com/records/lex/opaque-distributed-calls.md)

Referenced by
[Correlation ID](https://banes-lab.com/records/arch/correlation-id.md)

Tensions
[Distributed Tracing Overhead/Sampling](https://banes-lab.com/records/tension/distributed-tracing-overhead-sampling.md)

Violated by
service calls without trace propagation

Detected by
broken traces, missing spans

Measured by
trace completeness, span coverage

Refactored by
Add Tracing Middleware, Propagate Context

Enforced by
observability policy

Before

```typescript
await fooService.call();
await barService.call();
```

After

```typescript
await tracer.span("foo.request", async span => {
await fooService.call({ traceparent: span.traceparent });
await barService.call({ traceparent: span.traceparent });
});
```

### SLO/SLI

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Severity: mandatory for production systems
- Scope: service, reliability, operations
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Monitoring](https://banes-lab.com/records/arch/monitoring.md)

Reinforces
[Observability](https://banes-lab.com/records/arch/observability.md), [Alerting](https://banes-lab.com/records/arch/alerting.md)

Enables
[Objective Reliability Targets](https://banes-lab.com/records/lex/objective-reliability-targets.md), [Error-Budget Decisions](https://banes-lab.com/records/lex/error-budget-decisions.md)

In tension with
[Feature Velocity](https://banes-lab.com/records/lex/feature-velocity.md)

Conflicts with
[Vague Reliability Goals](https://banes-lab.com/records/lex/vague-reliability-goals.md)

Tensions
[SLO/SLI Feature Velocity](https://banes-lab.com/records/tension/feature-velocity-slo-sli.md)

Violated by
reliability judged by subjective feel

Detected by
no measured indicator behind reliability claims

Measured by
SLO attainment vs error budget

Refactored by
Define SLIs and SLOs

Enforced by
reliability review

Before

```typescript
alert.when(latency > 1000);
```

After

```typescript
const fooLatencySli = ratio("foo.requests.fast", "foo.requests.total");
defineSLO("foo-latency", { sli: fooLatencySli, objective: 0.99, window: "30d", errorBudget: 0.01 });
```

### Dashboards

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Severity: recommended
- Scope: service, operations, visibility
- Layer: [Observability](https://banes-lab.com/records/layer/observability.md)

Details

Requires
[Monitoring](https://banes-lab.com/records/arch/monitoring.md)

Reinforces
[Observability](https://banes-lab.com/records/arch/observability.md), [Traceability](https://banes-lab.com/records/arch/traceability.md)

Enables
[At-a-Glance System Health](https://banes-lab.com/records/lex/at-a-glance-system-health.md), [Trend Visibility](https://banes-lab.com/records/lex/trend-visibility.md)

In tension with
[Dashboard Sprawl](https://banes-lab.com/records/lex/dashboard-sprawl.md)

Conflicts with
[Log-Grep-Only Diagnosis](https://banes-lab.com/records/lex/log-grep-only-diagnosis.md)

Tensions
[Dashboards Dashboard Sprawl](https://banes-lab.com/records/tension/dashboard-sprawl-dashboards.md)

Violated by
operators grepping raw logs to judge health

Detected by
no curated view of key signals

Measured by
time-to-diagnose during incidents

Refactored by
Build Signal Dashboards

Enforced by
operations review

Before

```typescript
grepLogsForFooErrors();
```

After

```typescript
const fooDashboard = dashboard("foo-health", {
panels: [rate("foo.errors"), histogram("foo.latency"), gauge("foo.queue.depth")],
});
```

## Links to

- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Observability](https://banes-lab.com/records/layer/observability.md)
- [Logs](https://banes-lab.com/records/lex/logs.md)
- [Metrics](https://banes-lab.com/records/lex/metrics.md)
- [Traces](https://banes-lab.com/records/lex/traces.md)
- [Resilience](https://banes-lab.com/records/arch/resilience.md)
- [Debuggability](https://banes-lab.com/records/lex/debuggability.md)
- [Incident Diagnosis](https://banes-lab.com/records/lex/incident-diagnosis.md)
- [Cost/Noise](https://banes-lab.com/records/lex/cost-noise.md)
- [Opaque System](https://banes-lab.com/records/lex/opaque-system.md)
- [Unobservable Failure](https://banes-lab.com/records/arch/unobservable-failure.md)
- [Centralized Logging](https://banes-lab.com/records/arch/centralized-logging.md)
- [Information Hiding](https://banes-lab.com/records/arch/information-hiding.md)
- [Fail Fast](https://banes-lab.com/records/arch/fail-fast.md)
- [Error Handling](https://banes-lab.com/records/arch/error-handling.md)
- [Dead-Letter Queue](https://banes-lab.com/records/arch/dead-letter-queue.md)
- [Model Drift Monitoring](https://banes-lab.com/records/arch/model-drift-monitoring.md)
- [Distributed Tracing](https://banes-lab.com/records/arch/distributed-tracing.md)
- [SLO/SLI](https://banes-lab.com/records/arch/slo-sli.md)
- [Dashboards](https://banes-lab.com/records/arch/dashboards.md)
- [Self-Healing Architecture](https://banes-lab.com/records/arch/self-healing-architecture.md)
- [Canary Deployment](https://banes-lab.com/records/arch/canary-deployment.md)
- [Chaos Engineering](https://banes-lab.com/records/arch/chaos-engineering.md)
- [Observability / Cost/Noise](https://banes-lab.com/records/tension/cost-noise-observability.md)
- [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- [Structured Events](https://banes-lab.com/records/lex/structured-events.md)
- [Context](https://banes-lab.com/records/lex/context.md)
- [Traceability](https://banes-lab.com/records/arch/traceability.md)
- [Debugging](https://banes-lab.com/records/lex/debugging.md)
- [Incident Analysis](https://banes-lab.com/records/lex/incident-analysis.md)
- [Noise/Personal Data Leakage](https://banes-lab.com/records/lex/noise-personal-data-leakage.md)
- [Silent Failure](https://banes-lab.com/records/lex/silent-failure.md)
- [Log-as-Control-Flow](https://banes-lab.com/records/arch/log-as-control-flow.md)
- [Logging / Noise/Personal Data Leakage](https://banes-lab.com/records/tension/logging-noise-personal-data-leakage.md)
- [Thresholds](https://banes-lab.com/records/lex/thresholds.md)
- [Reliability](https://banes-lab.com/records/lex/reliability.md)
- [Failure Detection](https://banes-lab.com/records/lex/failure-detection.md)
- [Alert Noise](https://banes-lab.com/records/lex/alert-noise.md)
- [Blind Operation](https://banes-lab.com/records/lex/blind-operation.md)
- [Model Safety](https://banes-lab.com/records/arch/model-safety.md)
- [Alerting](https://banes-lab.com/records/arch/alerting.md)
- [Resource Utilization](https://banes-lab.com/records/arch/resource-utilization.md)
- [Monitoring / Alert Noise](https://banes-lab.com/records/tension/alert-noise-monitoring.md)
- [Monitoring](https://banes-lab.com/records/arch/monitoring.md)
- [Incident Response](https://banes-lab.com/records/lex/incident-response.md)
- [Timely Intervention](https://banes-lab.com/records/lex/timely-intervention.md)
- [Alert Fatigue](https://banes-lab.com/records/lex/alert-fatigue.md)
- [Observability Noise](https://banes-lab.com/records/arch/observability-noise.md)
- [Alerting / Alert Fatigue](https://banes-lab.com/records/tension/alert-fatigue-alerting.md)
- [Audit Logging](https://banes-lab.com/records/arch/audit-logging.md)
- [Compliance](https://banes-lab.com/records/arch/compliance.md)
- [Accountability](https://banes-lab.com/records/lex/accountability.md)
- [Storage/Privacy](https://banes-lab.com/records/lex/storage-privacy.md)
- [Opaque Mutation](https://banes-lab.com/records/lex/opaque-mutation.md)
- [Reproducibility](https://banes-lab.com/records/arch/reproducibility.md)
- [Event Sourcing](https://banes-lab.com/records/arch/event-sourcing.md)
- [Append-Only Log](https://banes-lab.com/records/arch/append-only-log.md)
- [Continuous Compliance](https://banes-lab.com/records/arch/continuous-compliance.md)
- [Auditability / Storage/Privacy](https://banes-lab.com/records/tension/auditability-storage-privacy.md)
- [Actor](https://banes-lab.com/records/lex/actor.md)
- [Action](https://banes-lab.com/records/lex/action.md)
- [Timestamp](https://banes-lab.com/records/lex/timestamp.md)
- [Target](https://banes-lab.com/records/lex/target.md)
- [Auditability](https://banes-lab.com/records/arch/auditability.md)
- [Forensics](https://banes-lab.com/records/lex/forensics.md)
- [Privacy](https://banes-lab.com/records/lex/privacy.md)
- [Untracked Mutation](https://banes-lab.com/records/lex/untracked-mutation.md)
- [Audit Logging / Privacy](https://banes-lab.com/records/tension/audit-logging-privacy.md)
- [Policy as Code](https://banes-lab.com/records/arch/policy-as-code.md)
- [Tests](https://banes-lab.com/records/lex/tests.md)
- [Correlation ID](https://banes-lab.com/records/arch/correlation-id.md)
- [Logs/Traces](https://banes-lab.com/records/lex/logs-traces.md)
- [End-to-End Causality](https://banes-lab.com/records/lex/end-to-end-causality.md)
- [Metadata Propagation Overhead](https://banes-lab.com/records/lex/metadata-propagation-overhead.md)
- [Anonymous Flow](https://banes-lab.com/records/lex/anonymous-flow.md)
- [Architecture Decision Records (ADR)](https://banes-lab.com/records/arch/architecture-decision-records.md)
- [Chain of Responsibility Pattern](https://banes-lab.com/records/arch/chain-of-responsibility-pattern.md)
- [Causality](https://banes-lab.com/records/arch/causality.md)
- [Causal Dependency](https://banes-lab.com/records/arch/causal-dependency.md)
- [Choreography](https://banes-lab.com/records/arch/choreography.md)
- [Explainability](https://banes-lab.com/records/arch/explainability.md)
- [Logging](https://banes-lab.com/records/arch/logging.md)
- [Inversion of Control (IoC)](https://banes-lab.com/records/arch/inversion-of-control.md)
- [Dynamic Dispatch](https://banes-lab.com/records/arch/dynamic-dispatch.md)
- [Polymorphism](https://banes-lab.com/records/arch/polymorphism.md)
- [Traceability / Metadata Propagation Overhead](https://banes-lab.com/records/tension/metadata-propagation-overhead-traceability.md)
- [Context Propagation](https://banes-lab.com/records/lex/context-propagation.md)
- [Request-Level Traceability](https://banes-lab.com/records/lex/request-level-traceability.md)
- [Header/Metadata Management](https://banes-lab.com/records/lex/header-metadata-management.md)
- [Uncorrelated Events](https://banes-lab.com/records/lex/uncorrelated-events.md)
- [Correlation ID / Header/Metadata Management](https://banes-lab.com/records/tension/correlation-id-header-metadata-management.md)
- [Event Metadata](https://banes-lab.com/records/lex/event-metadata.md)
- [Audit Trail](https://banes-lab.com/records/lex/audit-trail.md)
- [Cause-Effect Reconstruction](https://banes-lab.com/records/lex/cause-effect-reconstruction.md)
- [Metadata Verbosity](https://banes-lab.com/records/lex/metadata-verbosity.md)
- [Unlinked Events](https://banes-lab.com/records/lex/unlinked-events.md)
- [Causation ID / Metadata Verbosity](https://banes-lab.com/records/tension/causation-id-metadata-verbosity.md)
- [Trace Context Propagation](https://banes-lab.com/records/lex/trace-context-propagation.md)
- [Observability](https://banes-lab.com/records/arch/observability.md)
- [Latency/Failure Root Cause Analysis](https://banes-lab.com/records/lex/latency-failure-root-cause-analysis.md)
- [Overhead/Sampling](https://banes-lab.com/records/lex/overhead-sampling.md)
- [Opaque Distributed Calls](https://banes-lab.com/records/lex/opaque-distributed-calls.md)
- [Distributed Tracing / Overhead/Sampling](https://banes-lab.com/records/tension/distributed-tracing-overhead-sampling.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [Objective Reliability Targets](https://banes-lab.com/records/lex/objective-reliability-targets.md)
- [Error-Budget Decisions](https://banes-lab.com/records/lex/error-budget-decisions.md)
- [Feature Velocity](https://banes-lab.com/records/lex/feature-velocity.md)
- [Vague Reliability Goals](https://banes-lab.com/records/lex/vague-reliability-goals.md)
- [SLO/SLI / Feature Velocity](https://banes-lab.com/records/tension/feature-velocity-slo-sli.md)
- [artifact](https://banes-lab.com/records/kind/artifact.md)
- [At-a-Glance System Health](https://banes-lab.com/records/lex/at-a-glance-system-health.md)
- [Trend Visibility](https://banes-lab.com/records/lex/trend-visibility.md)
- [Dashboard Sprawl](https://banes-lab.com/records/lex/dashboard-sprawl.md)
- [Log-Grep-Only Diagnosis](https://banes-lab.com/records/lex/log-grep-only-diagnosis.md)
- [Dashboards / Dashboard Sprawl](https://banes-lab.com/records/tension/dashboard-sprawl-dashboards.md)

## Linked from

- [The layer topology](https://banes-lab.com/ontology/schema/the-layer-topology.md)
- [The membership](https://banes-lab.com/ontology/schema/the-membership.md)
