# Documentation

This folder contains project notes, platform decisions, and collected reverse engineering material.

It is intended to keep the repository root focused on the app itself while preserving project context in one dedicated place.

## Working Layout

- `Project History.md`
  Narrative context and decisions that explain how the project got here.
- `Platform Decision - iOS 15.md`
  App-level platform choices that affect implementation.
- `Charging While Off.md`
  Definition + measurement implications for capacity estimation.
- `Charge Session Integrity and Conflict Healing.md`
  The one-active-session-per-meter invariant, how it can be violated in offline sync scenarios, the healing mechanism, and what is not yet covered.
- `Powerbank Category.md`
  Powerbank as a first-class entity (input + output sides), unified source picker, dual-subject checkpoints with percent/bars/none reporting, and view-time derived metrics (voltage profile, max power, efficiency, apparent capacity).
- `Project Structure and Naming.md`
  Naming and file-organization rules for views, features, components, and subviews.
- `External Contributions.md`
  Log of contributions from external collaborators, with technical evaluation per intervention.
- `Research Resources/`
  External source material plus the notes derived from it.

## Documentation Layers

We keep two distinct layers of documentation:

- project documentation
  Notes that describe our app, decisions, assumptions, and roadmap
- research documentation
  Vendor manuals, software archives, contact sheets, protocol notes, and model-specific findings

## Retention Rule

Prefer keeping:

- small curated Markdown notes
- raw manuals and reference PDFs
- small software artifacts that are directly useful for reverse engineering
- one canonical copy of each vendor artifact line

Avoid committing by default:

- very large archives with low immediate value
- duplicate files already represented elsewhere
- generated exports that can be reproduced from a kept source
