-
Notifications
You must be signed in to change notification settings - Fork 241
Open
Description
Background
PR microsoft/amplifier-app-cli#68 introduced surgical module dependency invalidation after self-updates. This required direct manipulation of install-state.json in two places:
amplifier_app_cli/utils/update_executor.py- Invalidates modules with missing deps after updateamplifier_app_cli/commands/reset.py- Clears install state when cache is removed
Current State
Both files now use a shared get_install_state_path() function from paths.py, but still manipulate the JSON file directly rather than using the InstallStateManager class from amplifier-foundation.
Implementation Plan
We chose Option A: Add methods to InstallStateManager in amplifier-foundation, then update amplifier-app-cli to use the new API.
Sub-Issues
- [foundation] Add consolidation API to InstallStateManager #194 - [foundation] Add consolidation API to InstallStateManager
- [app-cli] Use InstallStateManager API instead of direct JSON manipulation #195 - [app-cli] Use InstallStateManager API instead of direct JSON manipulation
Dependency Order
- First: Merge [foundation] Add consolidation API to InstallStateManager #194 (foundation API)
- Then: Merge [app-cli] Use InstallStateManager API instead of direct JSON manipulation #195 (app-cli migration)
Files Involved
amplifier-foundation:amplifier_foundation/modules/install_state.pyamplifier-app-cli:amplifier_app_cli/utils/update_executor.pyamplifier-app-cli:amplifier_app_cli/commands/reset.pyamplifier-app-cli:amplifier_app_cli/paths.py
Context
This was flagged during code review by @robotdad as a nice-to-have improvement for future consolidation.
Related PR: microsoft/amplifier-app-cli#68
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels