Commit Graph

36 Commits

Author SHA1 Message Date
d32ad8f018 reviewer(ET): auto-commit from reviewer run_id=11
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / lint (pull_request) Successful in 3s
CI / build (push) Successful in 2s
CI / test (pull_request) Successful in 4s
CI / build (pull_request) Successful in 3s
2026-05-21 19:59:23 +00:00
2fe5cfe453 feat(web): переключатель единиц измерения расстояний (км/мили)
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / build (push) Successful in 2s
CI / lint (pull_request) Successful in 4s
CI / test (pull_request) Successful in 4s
CI / build (pull_request) Successful in 1s
Добавляет сегментированный toggle км/мили в попап рельефа. Новый модуль
src/web/units.js — единственный источник истины по выбору единицы, её
персистентности (localStorage: distance_unit, дефолт km) и форматированию
отображаемых расстояний (Units.formatDistance).

Все места форматирования в app.js переведены на централизованный
форматтер; пересчёт всех видимых расстояний выполняет единый оркестратор
onUnitChange по событию unitchange (карточки маршрутов, лист точек,
линейка, масштабная линейка, связка, «красивый» маршрут).

Экспорт GPX и параметры построения маршрута остаются метрическими
(риск R6). units.js подключается строго перед app.js (риск R7).

Refs: ET-005
2026-05-21 19:36:13 +00:00
bafbea2dab architect(ET-005): ADR, infra-requirements, data-requirements, tech-risks
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / build (push) Successful in 1s
2026-05-21 22:18:08 +03:00
2458a3efe0 docs(ET-005): Test Plan
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 4s
CI / build (push) Successful in 1s
2026-05-21 22:07:40 +03:00
2d29106c45 docs(ET-005): Acceptance Criteria
All checks were successful
CI / lint (push) Successful in 3s
CI / test (push) Successful in 4s
CI / build (push) Successful in 2s
2026-05-21 22:05:33 +03:00
2f2beb0447 docs(ET-005): TRZ
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 4s
CI / build (push) Successful in 1s
2026-05-21 22:05:21 +03:00
420df39347 docs(ET-005): BRD
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 4s
CI / build (push) Successful in 1s
2026-05-21 22:05:07 +03:00
d16a4747a0 docs: init ET-005 business request
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 4s
CI / build (push) Successful in 2s
2026-05-21 22:02:32 +03:00
b725810404 Merge pull request 'feat(web): POI visibility checkbox in terrain popup (ET-002)' (#5) from feature/ET-002-poi-toggle into main
Some checks failed
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
2026-05-21 19:36:21 +03:00
9ffd6f4b7e Merge branch 'main' into feature/ET-002-poi-toggle
All checks were successful
CI / lint (push) Successful in 3s
CI / test (push) Successful in 4s
CI / lint (pull_request) Successful in 3s
CI / build (push) Successful in 2s
CI / test (pull_request) Successful in 4s
CI / build (pull_request) Successful in 3s
2026-05-21 19:33:41 +03:00
c36ee9d39e test(ET-002): test report PASS - all tests green, ready to deploy
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / lint (pull_request) Successful in 3s
CI / test (pull_request) Successful in 4s
CI / build (push) Successful in 3s
CI / build (pull_request) Successful in 1s
2026-05-21 19:29:40 +03:00
a4a0aabfc3 docs(ET-002): code review APPROVED - no P0/P1 findings
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / lint (pull_request) Successful in 4s
CI / test (pull_request) Successful in 4s
CI / build (push) Successful in 3s
CI / build (pull_request) Successful in 3s
2026-05-21 19:19:42 +03:00
8c17a4f508 feat(web): add POI visibility checkbox to terrain popup
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / build (push) Successful in 15s
CI / lint (pull_request) Successful in 4s
CI / test (pull_request) Successful in 4s
CI / build (pull_request) Successful in 3s
Adds a «POI» checkbox to the terrain popup that toggles the
poi-circles and poi-labels layers via map.setLayoutProperty. The
choice is persisted in localStorage (key `poi-visible`) and restored
on page load and after style changes, kept consistent with the
runtime layerState.poi per ADR-0001.

Tests: behavioral JS unit tests (TP-01..TP-04) run via `node --test`,
wrapped by tests/unit/test_poi_toggle.py with static structure checks
so they execute under the existing `pytest tests/` CI step.

Refs: ET-002

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 15:50:54 +00:00
af579f7f2a docs(ET-002): add ADR-0001 and infra requirements for POI toggle
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 4s
CI / build (push) Successful in 3s
Record architecture decision to implement POI visibility toggling
client-side (setLayoutProperty + localStorage), reusing the existing
layerState model, with no backend, DB or infrastructure changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 14:51:37 +00:00
73c9dc46a0 docs(ET-002): status → approved 2026-05-20 10:04:56 +03:00
f1f4d5f336 docs(ET-002): BRD, ТЗ, AC, Test Plan — чекбокс POI в попапе рельефа 2026-05-20 09:54:32 +03:00
832099c3c6 docs: restructure phases — per-phase BRD, remove monolithic pilot BRD 2026-05-18 08:47:22 +03:00
f561c3bd41 fix: switchMapStyle loads style as JSON with absolute tile URLs
Fixes trails/tracks not rendering after theme switch.
The issue was that map.setStyle(url) caused MapLibre to resolve
relative tile paths without /enduro/ prefix, resulting in 404s.
2026-05-17 11:03:51 +03:00
fdc9836690 Merge PR #4: restore UI phase 5.4 + ET-001 2026-05-16 23:51:54 +03:00
8d36f38be6 fix: restore UI to phase 5.4 (terrain, scale bar, zoom controls)
All checks were successful
CI / lint (push) Successful in 5s
CI / test (push) Successful in 9s
CI / build (push) Successful in 18s
CI / lint (pull_request) Successful in 5s
CI / test (pull_request) Successful in 9s
CI / build (pull_request) Successful in 2s
2026-05-16 22:17:10 +03:00
00859de48e Merge pull request 'feat(ET-001): exclude barriers and footways from OSRM routing' (#3) from feature/ET-001-barriers-footways into main
Some checks failed
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
2026-05-15 22:21:16 +03:00
0d57e470a1 test(ET-001): test report — PASS
All checks were successful
CI / lint (push) Successful in 9s
CI / test (push) Successful in 5s
CI / build (push) Successful in 3s
CI / lint (pull_request) Successful in 4s
CI / test (pull_request) Successful in 5s
CI / build (pull_request) Successful in 4s
All 8 pytest cases pass, ruff clean on src/ and tests/.
5/5 test plan TCs covered (TC-001..TC-005). No P0/P1/P2 bugs.
Verdict: PASS → stage:ready-to-deploy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 22:19:17 +03:00
d17162908f review(ET-001): code review — APPROVED
All checks were successful
CI / lint (push) Successful in 7s
CI / test (push) Successful in 6s
CI / build (push) Successful in 8s
Все AC выполнены, ruff чистый, 7/7 тестов проходят. Замечания только P3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 22:15:42 +03:00
e263f8425c feat(ET-001): implement barrier blocking and footway exclusion in OSRM profile
All checks were successful
CI / lint (push) Successful in 7s
CI / test (push) Successful in 6s
CI / build (push) Successful in 2s
- enduro.lua: блокировка нод barrier=gate|bollard|lift_gate|chain|cycle_barrier|
  motorcycle_barrier|border_control|block через mode.inaccessible (ADR-001).
  cattle_grid и ford остаются проезжими.
- enduro.lua: highway=footway|pedestrian|steps|corridor полностью исключены
  из графа (early return в process_way). Эти типы удалены из highway_rate
  и highway_speeds, чтобы профиль был самодостаточным.
- scripts/rebuild-osrm.sh: пересборка графа (extract → partition → customize)
  и рестарт контейнера osrm-routed.
- tests/integration/test_routing_barriers.py: 7 тестов (TC-001..TC-005 +
  статический анализ blocked_barriers/excluded_highways). Интеграционные тесты
  скипаются если OSRM не доступен.

Refs: ET-001
2026-05-15 22:11:32 +03:00
c44dc5ceff arch(ET-001): ADR, infra requirements, copy current OSRM profile
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 4s
CI / build (push) Successful in 3s
- ADR-001: блокировка шлагбаумов через mode.inaccessible
  (обоснование выбора vs penalty vs учёт access)
- 07-infra-requirements: пересборка графа ~45 мин, downtime
  /api/route ~10 сек, RAM peak 4.5 GB, threads=1, rollback
- infra/osrm/enduro.lua — as-is копия профиля с mva154
  (до изменений ET-001)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 22:06:08 +03:00
b35fa30a49 docs(ET-001): business request, BRD, TRZ, acceptance criteria, test plan
All checks were successful
CI / lint (push) Successful in 5s
CI / test (push) Successful in 5s
CI / build (push) Successful in 3s
2026-05-15 21:56:57 +03:00
f1439ab652 Merge pull request 'feat: bootstrap CI (pyproject.toml, tests, dev deps)' (#2) from feature/bootstrap into main 2026-05-15 19:19:18 +03:00
4401f77c74 fix(lint): remove unused imports and variables
All checks were successful
CI / lint (push) Successful in 8s
CI / test (push) Successful in 4s
CI / lint (pull_request) Successful in 4s
CI / test (pull_request) Successful in 5s
CI / build (push) Successful in 22s
CI / build (pull_request) Successful in 2s
2026-05-15 17:13:44 +03:00
353b4dbf10 fix(ci): upgrade setuptools before install, drop editable mode
Some checks failed
CI / lint (push) Failing after 15s
CI / test (push) Successful in 11s
CI / build (push) Has been skipped
CI / lint (pull_request) Failing after 6s
CI / test (pull_request) Successful in 18s
CI / build (pull_request) Has been skipped
2026-05-15 17:12:11 +03:00
00e112b7d5 fix(ci): use self-hosted runner, support python 3.10
Some checks failed
CI / lint (push) Failing after 6s
CI / test (push) Failing after 9s
CI / build (push) Has been skipped
CI / lint (pull_request) Failing after 7s
CI / test (pull_request) Failing after 5s
CI / build (pull_request) Has been skipped
2026-05-15 17:11:02 +03:00
76ff0c6587 feat: add pyproject.toml, dev dependencies, first unit test
Some checks failed
CI / lint (push) Failing after 16s
CI / test (push) Failing after 2s
CI / build (push) Has been skipped
CI / lint (pull_request) Failing after 3s
CI / test (pull_request) Failing after 2s
CI / build (pull_request) Has been skipped
2026-05-15 17:05:46 +03:00
7916522e54 Merge pull request 'feat: migrate prototype + project docs' (#1) from feature/migrate-prototype into main 2026-05-15 16:14:08 +03:00
0480be2539 docs: add project README, phase BRD and plan
Some checks failed
CI / test (push) Failing after 25s
CI / lint (pull_request) Failing after 23s
CI / lint (push) Failing after 54s
CI / test (pull_request) Failing after 6s
CI / build (pull_request) Has been skipped
CI / build (push) Has been skipped
- README.md with project overview, features, stack
- docs/phases/pilot/00-phase-brd.md — full project BRD
- docs/phases/pilot/01-phase-plan.md — current phase plan

Refs: multi-agent F0-3
2026-05-15 15:59:44 +03:00
eda66eeb6c feat: migrate prototype to canonical structure
Some checks failed
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
- Move app.py to src/api/main.py (STATIC_DIR from env)
- Move static/ to src/web/
- Update Dockerfile and docker-compose.yml
- Add download_srtm.sh script
- Clean up debug/deploy scripts

Refs: multi-agent F0-3
2026-05-15 13:45:42 +03:00
5d7fda44bb feat: initial project structure
- CLAUDE.md project passport
- Agent system prompts (architect, developer, reviewer, tester, deployer)
- Gitea Actions CI pipeline (lint, test, build)
- Docker configuration (Dockerfile, docker-compose.yml)
- Canonical directory structure per BRD
- Makefile with dev/test/lint/build/deploy targets
- Architecture docs skeleton

Refs: multi-agent F0-3, F0-5, F0-6, F0-8
2026-05-15 13:30:14 +03:00
9c4e50c609 Initial commit 2026-05-15 13:27:10 +03:00