agents: add Windows lockfile migration and Gazelle manifest rules (#4109)
Clarify lockfile maintenance rules to prevent Windows CI failures when
migrating requirement inputs and updating Gazelle manifests.
Add explicit instructions to .agents/rules/lockfiles.md requiring # via
provenance updates in Windows lockfiles when migrating input files, and
requiring manifest updates via gazelle_python_manifest.update after
modifying requirements.
diff --git a/.agents/rules/lockfiles.md b/.agents/rules/lockfiles.md
index 1f17e58..edc455e 100644
--- a/.agents/rules/lockfiles.md
+++ b/.agents/rules/lockfiles.md
@@ -7,6 +7,7 @@
- "uv.lock"
- "pyproject.toml"
- "*constraints*.txt"
+ - "*gazelle_python*.yaml"
---
# Lockfile & Dependency Rules
@@ -19,7 +20,17 @@
* Linux/macOS `.update` targets do not update Windows lockfiles.
* **Never overwrite** Windows lockfiles with non-Windows lockfiles.
* Update only changed package blocks and hashes; preserve Windows dependencies
- (`colorama`) and `# via` comments.
+ (`colorama`).
+* When migrating requirement inputs (e.g., `requirements.in` to
+ `pyproject.toml`), update `# via` comments in Windows lockfiles or run
+ Windows `.update` targets (e.g.,
+ `//examples:bzlmod_requirements_*_windows.update`).
+
+## Gazelle Python Manifests (`gazelle_python*.yaml`)
+* After changing requirement lockfiles, run
+ `bazel run //:gazelle_python_manifest.update` (and
+ `:gazelle_python_manifest_with_types.update` if present) to refresh manifest
+ integrity hashes.
## Dependabot & Dependency Bumps
When dependencies bump, manually synchronize: