---
name: avtero_validation_audit_axle
description: Автеро — аудит валидации по всем каталогам (0 дырок make-ownership) + фикс тихой ошибки по оси
metadata: 
  node_type: memory
  type: project
  originSessionId: 4eea915e-3b47-4cd5-8a0e-bfa29b78a87c
---

Аудит валидации Автеро (2026-07-01, «нельзя допускать ошибок»): **make-ownership чист по ВСЕМ каталогам** — 200 вызовов genuine-OE резолвера (20 марок×10 кат) + 140 через реальный `_resolve_named_part` (emex/autodoc byname/l2/cn/tecdoc[_make]), каждый OEM независимо проверен `oe_make_conflict(oem,make)` → **0 подтверждённо-чужих**. Make-level фолбэк держит инвариант `_maker_matches`. Китай = conflict=None (make-scoped источником).

**Найден+исправлен реальный дефект — тихая ошибка по оси:** category-level резолверы (`get_oem_by_vin`/`_vehicle_oe_no_vin`/`oe_for_vehicle_category`) не берут ось, дамп 2018 не содержит split перед/зад → задний и передний диск/колодки/аморт получали ОДИН номер как confident. **Фикс v0.7.13** (`orchestrator.py`, бэкапы `*.bak-axle-*`/`*.bak-axle2-*`): хелпер `_mark_axle` в `_resolve_named_part` — axle-strict (`_AXLE_CATS_STRICT`) + ровно одна ось → `confident=False`+`check_note` «сверьте по артикулу». Axle-aware `resolve_by_name` (VIN) НЕ трогаем (Volvo/Kia перед≠зад, остаётся confident). Обоснование = [[avtero_vin_model_gate]] honesty-line; Decision D-axle-honesty-on-category-fallback.

Проверено live: verify_axle_fix (Skoda/Lada/Hyundai/VW → confident=False+note), VIN-путь не пересолен, end-to-end `_build_catalog_fallback` Vesta задний диск → needs_check+оговорка. API+бот перезапущены. Связано: [[avtero_full_coverage_program]], [[avtero_open_roadmap]].
