(Notes) Missing Aspects

Aspects intended to be integrated but not yet designed:

  1. version the spec
    • create a changelog
    • list contributors

  2. Terminology/Glossary Section
    • clear definitions of all technical terms used
    • standardization of language throughout the spec
    • abbreviations explained

  3. scope delineation
    • clear boundaries of what DPM does and doesn’t do
    • integration points with other systems
    • expected deployment scenarios
    • non-goals explicitly stated
  4. create a dedicated database recovery options section just for that
  5. need a section for package creation reference

Add’l Sections Needed

  1. System Boundaries & Integration Architecture
    • should define completion relationship between DPM and DON
    • how do they communicate
    • what happens if don fails
  2. Build System Integration
    • how do build systems create dpm packages
    • what’s the interface between build system output and package creation
    • package validation requirements at build time
  3. repository infrastructure
    • repository metadata requirements
    • repository sync mechanisms
    • repository integrity verification
    • repository chaining/fallback behaviour
  4. architectural principals and constraints
    • why transactional?
    • why build system agnostic?
    • why separate hooks, contents, metadata, signatures?
  5. format evolution
    • how will package format versions be handled?
    • how will database schema changes be managed?
    • backwards compatibility requirements
  6. migration paths
    • how to handle existing packages during format changes
    • how to handle database upgrades
    • how to handle hook system changes
    • how to handle signature system changes