Sync pinned Pi packages - #180
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Sorry @yourconscience, you've used your own review budget of 250,000 diff characters for the last 7 days.
You can request another review in 15 hours and 3 minutes by commenting @sourcery-ai review. Upgrade to get a review now.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Reviewer's GuideAdds opt-in, Pi-only pinned package management by validating an optional package list, reconciling it into Pi’s settings.json without disturbing unrelated settings, gating destructive changes during sync, and surfacing package state in reports and documentation. Sequence diagram for Pi package synchronizationsequenceDiagram
participant User
participant Sync as dotagents_sync
participant Inspect as inspectAgent
participant Settings as Pi_settings_json
participant Pi
User->>Sync: runSync()
Sync->>Inspect: augmentPiPackageReport()
Inspect->>Settings: readPiPackages()
Settings-->>Inspect: declared packages and exactness
Inspect-->>Sync: package drift and removal actions
alt destructive package changes
Sync->>User: confirmDestructiveSyncActions()
alt user accepts
Sync->>Settings: syncPiPackages()
Settings-->>Sync: rewritten packages list
else user declines
Sync-->>User: preserve existing declarations
end
else package list already synchronized
Sync-->>User: report managed packages
end
Pi->>Settings: read packages at startup
Pi-->>Pi: install missing declared packages
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
What changed
packageslist on agent targets:syncreconciles~/.pi/agent/settings.jsonpackage declarations; Pi installs missing declared packages at startup*[]stringpointer keeps absent (no management) distinct from[](clear packages)Verification
go test ./...,git diff --checkSummary by Sourcery
Support declarative synchronization of pinned Pi packages while preserving existing settings and protecting destructive changes with confirmation.
New Features:
Bug Fixes:
Enhancements:
Documentation:
Tests: