Files
zosstorage/docs/adr/README.md
Jan De Landtsheer 507bc172c2 feat: first-draft preview-capable zosstorage
- CLI: add topology selection (-t/--topology), preview flags (--show/--report), and removable policy override (--allow-removable) (src/cli/args.rs)
- Config: built-in sensible defaults; deterministic overlays for logging, fstab, removable, topology (src/config/loader.rs)
- Device: discovery via /proc + /sys with include/exclude regex and removable policy (src/device/discovery.rs)
- Idempotency: detection via blkid; safe emptiness checks (src/idempotency/mod.rs)
- Partition: topology-driven planning (Single, DualIndependent, BtrfsRaid1, SsdHddBcachefs) (src/partition/plan.rs)
- FS: planning + creation (mkfs.vfat, mkfs.btrfs, bcachefs format) and UUID capture via blkid (src/fs/plan.rs)
- Orchestrator: pre-flight with preview JSON (disks, partition_plan, filesystems_planned, mount scheme). Skips emptiness in preview; supports stdout+file (src/orchestrator/run.rs)
- Util/Logging/Types/Errors: process execution, tracing, shared types (src/util/mod.rs, src/logging/mod.rs, src/types.rs, src/errors.rs)
- Docs: add README with exhaustive usage and preview JSON shape (README.md)

Builds and unit tests pass: discovery, util, idempotency helpers, and fs parser tests.
2025-09-29 11:37:07 +02:00

53 lines
1.5 KiB
Markdown

# Architectural Decision Records (ADR) Index
Purpose
- Central place to list and navigate all ADRs.
- Naming scheme: `NNNN-title.md` (zero-padded sequence).
Index
- [0001: Modular Development Workflow with Grep-able Contracts and Regions](0001-modular-workflow.md)
Conventions
- Location: [docs/adr/](.)
- Create new ADRs incrementally with next number (e.g., `0002-<short-title>.md`).
- Each ADR should include:
- Status (Proposed/Accepted/Deprecated)
- Context
- Decision
- Consequences
- Links to related docs (e.g., [docs/ARCHITECTURE.md](../ARCHITECTURE.md), [docs/API-SKELETONS.md](../API-SKELETONS.md))
Workflow
1) Propose an ADR when a design decision impacts architecture or module boundaries.
2) Add the ADR file under [docs/adr/](.) with the next sequence number.
3) Append the ADR to this index under “Index”.
4) Optionally add a short “Architectural Decisions” section to [docs/ARCHITECTURE.md](../ARCHITECTURE.md) summarizing the latest ADRs.
Template
```md
# ADR NNNN: Title
Status
- Proposed | Accepted | Deprecated
- Date: YYYY-MM-DD
Context
- Brief background and forces at play.
Decision
- The choice made; bullet any alternatives considered.
Consequences
- Pros/cons, impacts on modules, tests, build, etc.
Links
- [docs/ARCHITECTURE.md](../ARCHITECTURE.md)
- Related ADRs
```
Validation ideas (optional future work)
- Add a CI step or `cargo xtask adr-check` to verify:
- Files match `NNNN-title.md`
- All ADRs are listed in this README
- Sequence numbers are contiguous