Track repository workarounds that must be removed after an upstream dependency ships. Each entry must identify an upstream reference, removal condition, and cleanup validation.
- Status: Waiting for adapter wheel metadata support
- Added: July 19, 2026
- Affected implementation:
crates/fabric-core/src/config.rs,crates/fabric-cli/src/presets.rs,crates/fabric-cli/assets/adapters/, and the Python binding - Reason: The published CLI crate currently carries package-local copies of
adapter descriptors because Cargo cannot package descriptors from the
repository-level adapter directories. A drift test keeps those copies aligned
with the canonical descriptors, but the duplication is a packaging
workaround. CLI presets stage the embedded descriptors under a temporary
adapters/directory, and core also probes a compile-time repository path. - Upstream resolution: NeMo Fabric adapter distributions advertise their descriptors through installed wheel metadata (internal packaging milestone; no external dependency).
- Removal condition: Python can discover installed adapter descriptors from wheel metadata and pass them to core through an explicit, typed adapter registry.
- Cleanup: Add adapter registrations to
ResolveContext; remove implicit repository andbase_dir/adaptersdiscovery from core; have the Python binding register wheel-owned descriptors; revisit and remove the duplicated CLI descriptor assets once wheel metadata is consumable; retain embedded or staged files only for standalone CLI assets such as the scripted runner; and validate both installed-wheel and standalone Rust CLI behavior before removing this entry.
- Status: Not started
- Purpose: Add a guided workflow for users who need help designing a new example, selecting the closest preset or maintained example, customizing the generated code, and adding documentation and tests.
- Boundary: Keep
nemo-fabric example initas the deterministic operation for users who already know which example and variant they want to customize. The skill provides authoring judgment and validation around that operation. - Implementation: Have the skill invoke or reuse
example initas its starting point, then modify and validate the generated application. Do not create a separate template collection or scaffolding implementation in the skill. - Completion condition: The skill can guide a user from an example idea to a runnable, documented, and tested Python or Rust example while keeping the CLI scaffold as the single source for generated starter code.