# Refresh module-layout.md cycle-3 entries (c11 + replay_input + _types/route)

**Task**: AZ-846_refactor_module_layout_cycle3
**Name**: Refresh `module-layout.md` for cycle-3 file additions and the new `_types/route.py`
**Description**: Resolve cycle-3 cumulative review F2 (Medium Architecture). Update the c11_tile_manager Internal list, the shared/replay_input file list, and the `_types/` section in `module-layout.md` so they match on-disk reality. Cycle-2 carry-overs OUTSIDE these three sections are explicitly out of scope (deferred to a separate doc task).
**Complexity**: 2 SP
**Dependencies**: AZ-845 (the new `_types/route.py` file must exist before this task can register it)
**Component**: `_docs/02_document/module-layout.md` (single file)
**Tracker**: AZ-846 (https://denyspopov.atlassian.net/browse/AZ-846)
**Parent Epic**: AZ-844 (Refactor 02 — RouteSpec relocation + module-layout refresh + AZ-270 lint widening)

Jira AZ-846 is the authoritative spec; this file is the in-workspace mirror.

## Problem

`module-layout.md` is stale. Cycle-3 cumulative review F2 documents:

- **c11_tile_manager Internal list** lists 2 files (`satellite_provider_downloader.py`, `satellite_provider_uploader.py`); on-disk has 8 internal files plus `route_client.py` (cycle-3 NEW from batch 107).
- **shared/replay_input file list** is missing `errors.py` (cycle-2 carry), `tlog_ground_truth.py` (cycle-2 carry), `tlog_route.py` (cycle-3 NEW from batch 106).
- **`_types/` file list** does not yet include `route.py` (added by AZ-845).

`/implement` Step 4 (File Ownership) treats `module-layout.md` as authoritative; staleness BLOCKS any future task touching unregistered areas. F2 is currently Medium; severity escalates to High if a fourth consecutive cycle leaves it stale.

## Outcome

- c11_tile_manager Internal list registers all 8 internals + `route_client.py`.
- shared/replay_input file list registers `errors.py`, `tlog_ground_truth.py`, `tlog_route.py`.
- `_types/` section registers `route.py` with a one-line description matching the convention of other `_types/*.py` entries.
- `git diff` shows additions only to those three sections — no other section, rule, or rule-text edit.

## Scope

### Included

- Append cycle-3 + relevant cycle-2-carry entries to the c11_tile_manager Internal list, the shared/replay_input file list, and the `_types/` section.

### Excluded

- **Cycle-2 carry-overs OUTSIDE these sections**: `replay_api/` Per-Component Mapping entry, `cli/render_map.py`, `cli/replay_api_entrypoint.py`, `helpers/gps_compare.py`, `helpers/accuracy_report.py`. These are recorded in the cycle-3 retrospective and require a separate follow-up doc task with its own AZ ID.
- No code changes.
- No changes to `module-layout.md` rule numbering or rule text. Only the per-section file inventories are updated.

## Acceptance Criteria

| # | Criterion |
|---|-----------|
| AC-1 | c11_tile_manager Internal list contains all 8 existing internals (`_types.py`, `config.py`, `errors.py`, `idempotent_retry.py`, `signing_key.py`, `tile_downloader.py`, `tile_uploader.py`) plus `route_client.py`, alphabetised. |
| AC-2 | shared/replay_input file list adds `errors.py`, `tlog_ground_truth.py`, `tlog_route.py` with one-line descriptions matching the existing convention. |
| AC-3 | `_types/` section includes `route.py` with a one-line description of `RouteSpec` (waypoints + region size + source tlog provenance), identifying its producer (`replay_input/tlog_route.py`) and consumer (`c11/route_client.py`). |
| AC-4 | Diff of `module-layout.md` shows edits to ONLY the three named sections; no edits to other sections, rule numbering, or rule text. |

## Constraints

- Single file modified: `_docs/02_document/module-layout.md`.
- No tests required — documentation update.
- Scope discipline: cycle-2 doc carry-overs outside the three sections remain deferred.

## Risks & Mitigation

**Risk 1 — scope creep into cycle-2 carry-overs**: the Excluded list is explicit; Phase-4 implementer reviews the diff against ACs and rejects entries outside the three named sections at review.
