move to deparate adr folder
This commit is contained in:
87
adr/ADR-001-repository-name.md
Normal file
87
adr/ADR-001-repository-name.md
Normal file
@@ -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.
|
||||
Reference in New Issue
Block a user