Architecture Decision Records
Short records of decisions that are expensive to reverse or easy to re-litigate without a written
rationale. One file per decision, numbered sequentially (0001-*.md, 0002-*.md, ...), never
renumbered or deleted once merged — a superseded decision gets a new ADR that says so and links
back.
Use the lightweight format: Status, Context, Decision, Consequences. Keep it to what a future
contributor needs to not redo the argument; put implementation detail in specs/ or code comments
instead.
Index
- 0001: Repository layout
- 0002: Designer-authored comments become a P3b feature, not a P1 addition
- 0003: Analyzer promotion and string literal discipline
- 0004: Canvas overlays go through a pointer-anchored host,
CanvasPopup - 0005: Release, packaging and docs stack
- 0006: Parallel desktop E2E via a worker pool, one class per scenario
- 0007: XAML practices for the Avalonia editor
- 0008: CI code coverage uses static instrumentation only
- 0009: Split
NetPrints.Generationout ofNetPrints.Generator - 0010: Extension testing, coexistence rules and API compatibility gates
- 0011: The sourcemeta
jsonschemaCLI validatesschemas/netpc.v1.schema.json - 0012: One catalog engine over Roslyn symbols, shared as source with the generator
- 0013: Catalog profiles are declarative data
- 0014:
NetPrints.Annotationsis a generator-only package with embedded catalogs - 0015: The
netprintsCLI: command surface and exit-code contract - 0016: Git integration for graph files: text conversion, merge driver and SchemaStore
- 0017: Experimental API opt-in is per project and per id