# `mgf-tele-core` — scope policy

## §1 In scope (SP-01)
- the vendor-neutral telematics **seam**: the `TelematicsProvider` device-session ABC, codec-agnostic
  AVL frame types, the typed error hierarchy, and a scripted mock for testing.

The boundary: **define the seam + frame types + mock; per-vendor codecs live in sibling packages.**

## §2 Out of scope (SP-02)
| Not here | Why | Where instead |
|---|---|---|
| Per-vendor codecs (Codec 8, …) | vendor-specific | `mgf-tele-teltonika`, … |
| Transport / socket / TCP server | consumer concern | the consuming app |
| A GUI/CLI | seam library | the apps |
| Persistence / fleet state | out of charter | a consumer service |

## §3 Scope-creep gate (SP-03)
A PR MUST answer: (1) is it codec-agnostic seam/frame/error/mock surface (else it's vendor or consumer
work, out)? (2) does it keep the core free of any vendor codec + UI (import-linter)? (3) consumer demand?

## §4 Adjacent scope (SP-04)
Adjacent: more codec-agnostic frame fields, a richer command vocabulary. Promote on a documented demand signal.

## §5 Alternatives for out-of-scope needs (SP-05)
Vendor codec → `mgf-tele-<vendor>`; transport → the consumer; GUI/CLI → the apps.

## §6 Revisiting scope (SP-06)
Revisited at every **MAJOR** boundary; re-affirms the codec-agnostic / vendor-free / UI-free invariants.


## Boundary — verified ownership (generated)

> Generated from the fleet-wide import matrix — the **verified** ownership boundary (who is the SOLE importer of each third-party dep across the whole federation). Regenerate with `fleet_ownership_audit.py --inject`; CI-gated against code drift by `--check`. **Do not hand-edit the block below.**

<!-- BEGIN BOUNDARY (generated by mgf-standard/scripts/fleet_ownership_audit.py --inject; do not hand-edit) -->
- **Owns (sole third-party importer, fleet-verified):** — (no exclusive third-party dep; domain/seam owner)
- **Federation deps (imports):** `mgf.common`, `mgf.tele`
<!-- END BOUNDARY -->
