# Changelog All notable changes to AR-Autopilot will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- ## [Unreleased] ## [0.1.0] — Sprint 0 — Foundations — 2026-05-17 ### Added - Repository structure following the layout defined in the project brief (section 11) - Python package skeleton `arautopilot` with submodules: - `core/` — data model (Pydantic v2): modes, alarms, actuator config, PID config, vessel config, knob state, project config, IDs - `library/` — curated seed: 2 actuator profiles (hydraulic reversible, electric DC reversible) and 2 default tunings (yacht motor planeo 30 m, 40 m) - `studio/` — empty stubs for Sprint 4 - `tests/` — pytest suite covering the core data model - Firmware skeleton: `firmware/ar_autopilot_v1/src/hal/pinout.h` only — 21 I/O assignment for the AR-NMEA-IO v1.0 board, no functional code yet - Build configuration: - `pyproject.toml` with Pydantic v2, PyYAML, python-dateutil - Dev dependencies: pytest, pytest-cov, ruff, mypy - Ruff + mypy strict configuration - `examples/sprint0_demo.py` — end-to-end project creation, save, and reload - Documentation moved/created: - `docs/AR_Autopilot_brief.md` — full project brief - `docs/architecture.md` — one-page architecture overview - `LICENSE.txt` — Proprietary, all rights reserved - `.gitignore` covering Python, Flutter, PlatformIO, IDEs, Windows artifacts ### Notes - **No functional firmware**, Studio GUI, or display in this sprint — those start in Sprint 1, 4, and 4 respectively. - The seed PID tunings are **conservative starting values** drawn from classical marine control literature (Fossen, Perez). They are explicitly **not** the integrator's affinated production values, which remain IP. - Python ≥3.11 required.