From d047f24112b70316a79f99453e765dfa4bf57d40 Mon Sep 17 00:00:00 2001 From: deeaitch Date: Wed, 29 Jul 2026 16:49:46 -0400 Subject: [PATCH] repository name --- .../decisions/ADR-001-repository-name.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 reference/decisions/ADR-001-repository-name.md diff --git a/reference/decisions/ADR-001-repository-name.md b/reference/decisions/ADR-001-repository-name.md new file mode 100644 index 0000000..cf6f3c3 --- /dev/null +++ b/reference/decisions/ADR-001-repository-name.md @@ -0,0 +1,87 @@ +# ADR-001: Use `ota-reference-design` as the Repository Name + +* **Status:** Accepted +* **Date:** 2026-07-29 + +## Context + +The project requires a repository name that communicates its purpose clearly without tying the design to a single hardware platform, implementation language, or update framework. + +The repository will contain: + +* architectural documentation; +* OTA design decisions; +* diagrams; +* reference implementations; +* update tooling; +* failure-injection experiments; +* security and reliability analysis. + +The initial practical implementation may use Raspberry Pi hardware, but the overall design should remain applicable to other embedded Linux platforms. + +The repository is not intended to provide a production-ready OTA framework or a reusable software library. Its primary purpose is to demonstrate and explain the architecture of a reliable and secure OTA update system. + +## Decision + +The repository will be named: + +```text +ota-reference-design +``` + +The repository will initially remain a standalone top-level repository rather than being placed under a broader group such as `engineering`, `embedded-systems`, or `systems-engineering`. + +## Alternatives Considered + +### `embedded-ota-lab` + +This name emphasizes experimentation and practical work. + +It was not selected because the project will contain more than experiments. It will also document architecture, security, reliability, design decisions, and implementation trade-offs. + +### `ota-update-lab` + +This name is simple but somewhat redundant because OTA already means over-the-air updating. + +It also makes the project sound more like a temporary collection of experiments than a structured reference design. + +### `reliable-ota` + +This name emphasizes one of the primary goals of the project. + +It was not selected because it does not clearly communicate that the repository is educational and architectural rather than a production-ready OTA product. + +### A Repository Under an `engineering` Group + +A broader parent group could eventually contain several related repositories. + +It was not selected at this stage because a group containing only one repository adds unnecessary hierarchy and does not yet provide meaningful organization. + +## Consequences + +### Positive + +* The name clearly communicates that the project is an OTA reference design. +* The repository is not tied to Raspberry Pi or any other specific platform. +* The name allows the project to include documentation, code, diagrams, and experiments. +* Readers are less likely to mistake the project for a production-ready framework. +* The name remains appropriate if additional hardware platforms are added later. + +### Negative + +* The name is broader than the initial Raspberry Pi implementation. +* Readers may still require the README to understand the exact project scope. +* The term “reference design” may suggest a more complete implementation than exists during the early stages of development. + +## Notes + +A broader repository group may be introduced later if several related systems-engineering projects are created. + +Possible future group names include: + +```text +embedded-systems +systems-engineering +``` + +Moving the repository into such a group would not require changing the repository name.