docs(adr): 0001 observation store in SQLite; glossary terms for store entities
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
# Fenris
|
||||
|
||||
Fenris observes an NVMe drive’s real-world use and translates that history into an understandable endurance outlook.
|
||||
|
||||
## Language
|
||||
|
||||
**Observation history**:
|
||||
The persisted record of drive activity gathered while Fenris monitoring is enabled, retained across restarts and reboots.
|
||||
_Avoid_: Calibration data, temporary history
|
||||
|
||||
**Observed usage habit**:
|
||||
The pattern of active, idle, and powered-off hours represented by the observation history, with recent sustained behavior carrying more relevance than distant behavior.
|
||||
_Avoid_: Current usage, benchmark workload
|
||||
|
||||
**Usage-adjusted theoretical lifespan**:
|
||||
The theoretical time until the drive’s write endurance is exhausted if its observed usage habit continues; it is an endurance projection, not a predicted hardware-failure date.
|
||||
_Avoid_: Future life, actual lifespan, failure date
|
||||
|
||||
**Projection confidence**:
|
||||
The degree to which the observation history is sufficiently long, complete, and stable to support the usage-adjusted theoretical lifespan.
|
||||
_Avoid_: Accuracy percentage, certainty
|
||||
|
||||
**Monitoring period**:
|
||||
A span during which Fenris monitoring is enabled; powered-off time remains part of the usage habit, while deliberately disabled time does not.
|
||||
_Avoid_: Daemon uptime, calibration window
|
||||
|
||||
**Observation store**:
|
||||
The single SQLite database at `/var/lib/fenris/observations.db` that persists the observation history, monitoring periods, hour observations, day aggregates, and endurance baseline.
|
||||
_Avoid_: Data directory, history.jsonl, the database (generic)
|
||||
|
||||
**Hour observation**:
|
||||
One row per UTC hour in the observation store, recording that hour's usage-habit split into active, idle, powered-off, and unknown seconds, plus write/read deltas, thermal evidence, and coverage.
|
||||
_Avoid_: Hourly record, hourly.jsonl entry
|
||||
|
||||
**Day aggregate**:
|
||||
One row per UTC day derived from hour observations; the grain at which usage-habit evidence is judged.
|
||||
_Avoid_: Daily summary, daily stats
|
||||
|
||||
**Controller segment**:
|
||||
A span of observation history within which the drive's controller identity is unchanged and counters are monotonic; write deltas are never computed across a segment boundary.
|
||||
_Avoid_: Counter reset handling, drive swap detection
|
||||
|
||||
**Endurance baseline**:
|
||||
The write-endurance value a projection consumes: a verified rated-TBW override stored with provenance when one exists, otherwise a coarse implied baseline derived from vendor wear and labeled as such.
|
||||
_Avoid_: TBW value, failure threshold, max writes
|
||||
Reference in New Issue
Block a user