fix(build): hash-verified requirements.lock for presign + langextract - #1045
Conversation
…ngextract Both services had `-r requirements.lock` in requirements.txt (Docker hardening pattern) but no lock file existed, breaking builds. Generated lock files via `uv pip compile --generate-hashes` following the same pattern as grayjay-plugin-host, graph-linker, consciousness-service. Also adds requirements.lock generation as a Known Road in CLAUDE.md so agents know the canonical command when encountering missing lock files. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
📝 WalkthroughWalkthroughDocumentation update replacing a GitHub Actions secret synchronization workflow entry with a requirements for generating hash-verified lock files for services that reference requirements.lock in their requirements.txt files. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.claude/CLAUDE.md (1)
382-382: Clarify command path to avoid cwd-dependent failures.Line 382 uses
<svc>/..., while Line 386 scopes services underpmoves/services/. Consider making the command explicitly root-relative.Suggested doc tweak
-| Missing `requirements.lock` | `uv pip compile <svc>/requirements.txt --generate-hashes -o <svc>/requirements.lock` | — | +| Missing `requirements.lock` | `uv pip compile pmoves/services/<svc>/requirements.txt --generate-hashes -o pmoves/services/<svc>/requirements.lock` | — |🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.claude/CLAUDE.md at line 382, The table entry using `uv pip compile <svc>/requirements.txt --generate-hashes -o <svc>/requirements.lock` is ambiguous and cwd-dependent—update that command to use the repo-root service path used elsewhere (e.g. `pmoves/services/<svc>/requirements.txt`) so it always resolves; change both input and output paths in the table row to `pmoves/services/<svc>/requirements.txt` and `pmoves/services/<svc>/requirements.lock` (or explicitly prefix with `./pmoves/services/<svc>/...`) so the command is root-relative and consistent with the other entries.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude/CLAUDE.md:
- Line 382: The table entry using `uv pip compile <svc>/requirements.txt
--generate-hashes -o <svc>/requirements.lock` is ambiguous and
cwd-dependent—update that command to use the repo-root service path used
elsewhere (e.g. `pmoves/services/<svc>/requirements.txt`) so it always resolves;
change both input and output paths in the table row to
`pmoves/services/<svc>/requirements.txt` and
`pmoves/services/<svc>/requirements.lock` (or explicitly prefix with
`./pmoves/services/<svc>/...`) so the command is root-relative and consistent
with the other entries.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: cf5a4c02-02d1-4692-af90-f560ae3f8066
⛔ Files ignored due to path filters (2)
pmoves/services/langextract/requirements.lockis excluded by!**/*.lockpmoves/services/presign/requirements.lockis excluded by!**/*.lock
📒 Files selected for processing (1)
.claude/CLAUDE.md
Summary
requirements.lockwithuv pip compile --generate-hashesforpresignandlangextractservices-r requirements.lockin requirements.txt (Docker hardening pattern) but lock files were never generatedrequirements.lockgeneration as a Known Road in CLAUDE.mdContext
Discovered during post-merge validation — Docker builds failed on missing lock files. Pattern follows
grayjay-plugin-host,graph-linker,consciousness-service,comfy-watcher.Test plan
docker compose build presign langextractsucceedsmake -C pmoves upcompletes without build errors🤖 Generated with Claude Code
Summary by CodeRabbit