- 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.
53 lines
1.5 KiB
Markdown
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 |