1.1 KiB
1.1 KiB
Dependency Resolution Plan
Goals
Didactopus should support a pack ecosystem in which contributors can publish reusable foundations and specialized overlays.
Examples:
- a general statistics foundations pack
- a Bayesian statistics extension pack
- an electronics foundations pack
- a marine bioacoustics specialization pack
Manifest fields
Each pack.yaml should include:
nameversiondidactopus_min_versiondidactopus_max_versiondependencies
Dependencies use a compact form:
dependencies:
- name: statistics-foundations
min_version: 1.0.0
max_version: 2.0.0
Validation stages
Stage 1
- manifest fields exist
- content files exist
- required top-level keys exist
Stage 2
- internal references are valid
- duplicate IDs are rejected
Stage 3
- each dependency names an installed pack
- dependency versions satisfy declared ranges
- pack compatibility includes current core version
Future work
- full semantic version parsing
- cycle detection in dependency graphs
- topological load ordering
- trust and signature policies