Priority: P0 · Epic: #71 · Refs: handoff open decision 3, marketplace design G4, beads design C1
Why
ModuleConfig.path is parsed but never read (config.rs, module.rs); every module
must be a git repo root. That forces a standards module into its own repository
even when it belongs next to the standard it encodes.
What
ModuleResolver::resolve returns <cache>/<commit>/<path> when path is set;
validates the directory exists and contains weaver.module.yaml or files/ or
templates/; error names the available candidates otherwise.
weaver.lock ModuleLock records path.
wvr module add <src> --path <sub> writes it; describe --json shows it.
- The examples harness (
prepare_module_sources) supports path: so an example can
keep several modules in one local repo.
Acceptance
- Example
43-module-in-subdirectory: one local git repo with modules/a and
modules/b; two apps consume them via path:; stage: implemented.
- Lock round-trip test with
path.
Priority: P0 · Epic: #71 · Refs: handoff open decision 3, marketplace design G4, beads design C1
Why
ModuleConfig.pathis parsed but never read (config.rs,module.rs); every modulemust be a git repo root. That forces a standards module into its own repository
even when it belongs next to the standard it encodes.
What
ModuleResolver::resolvereturns<cache>/<commit>/<path>whenpathis set;validates the directory exists and contains
weaver.module.yamlorfiles/ortemplates/; error names the available candidates otherwise.weaver.lockModuleLockrecordspath.wvr module add <src> --path <sub>writes it;describe --jsonshows it.prepare_module_sources) supportspath:so an example cankeep several modules in one local repo.
Acceptance
43-module-in-subdirectory: one local git repo withmodules/aandmodules/b; two apps consume them viapath:;stage: implemented.path.