# ADR-0006: Semantic Translation Lives Inside Each Backend

Status: Accepted

## Context

Protocol messages differ significantly between M1 and E27.
A shared translation layer would need protocol awareness.

## Decision

Semantic translation occurs inside each backend.

- M1 backend translates M1 messages to semantic events.
- E27 backend translates E27 API responses to semantic events.
- Shared layers consume semantic events only.

## Rationale

This localizes protocol knowledge and prevents leakage.

## Consequences

- Backends are responsible for correctness of semantics.
- Shared code remains protocol-neutral.

Backends must distinguish protocol-level sequencing from
application-level request/response correlation.
See ADR-0011.

## Scope / Non-Goals

- Does not define semantic event schemas.
- Does not prevent code reuse where appropriate.

## References

- Common Semantic Event Contract
- ADR-0011: Dual Sequence Numbers in E27 Protocol (Envelope vs JSON)
