fix(repo): filter empty optional fields from installed manifest - #475
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors manifest generation by introducing a centralized list of optional fields (MANIFEST_OPTIONAL_FIELDS) in InstalledManifest. It updates from_repo_element to filter out empty optional fields, ensuring consistency with _make_installed_manifest and preventing unnecessary diff detections. Additionally, corresponding unit tests have been added to verify this behavior. There are no review comments, and I have no further feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Empty optional fields (exports: {}, imports: {}, etc.) in the repo
element manifest caused constant updates in the universal agent due to
a diff between target and actual resources on every iteration.
- Add MANIFEST_OPTIONAL_FIELDS to InstalledManifest and filter empty
values in from_repo_element
- Simplify _make_installed_manifest to use a loop over the shared
MANIFEST_OPTIONAL_FIELDS tuple instead of individual if-blocks
- Add regression tests for empty and non-empty optional field handling
Signed-off-by: Anton Kremenetsky <anton.kremenetsky@gmail.com>
6b99bd8 to
7921c01
Compare
cassi-volkova
left a comment
There was a problem hiding this comment.
The manifest normalization itself is consistent in the focused checks, but the newly added persistent-config synchronization has a retryability defect that can leave an upgraded installation with a stale mirror.
Empty optional fields (exports: {}, imports: {}, etc.) in the repo element manifest caused constant updates in the universal agent due to a diff between target and actual resources on every iteration.