Skip to content

fix(deps): pin msgpack exactly in requirements.txt - #211

Merged
joryirving merged 1 commit into
mainfrom
foreman/wl-misospace-foreman-dispatch-bridge-172/issue-172
Aug 22, 2026
Merged

fix(deps): pin msgpack exactly in requirements.txt#211
joryirving merged 1 commit into
mainfrom
foreman/wl-misospace-foreman-dispatch-bridge-172/issue-172

Conversation

@itsmiso-ai

Copy link
Copy Markdown
Contributor

Pin msgpack exactly in requirements.txt to align with CI's 'both files pin exact versions' audit claim.

Fixes #172

Opened by foreman on review GO (workload wl-misospace-foreman-dispatch-bridge-172).

msgpack>=1.2.1 was the only floating line in requirements.txt,
contradicting the CI dependency-audit step's assumption that both
requirements files pin exact versions so pip-audit --no-deps audits
exactly what the Docker build installs. Pin msgpack==1.2.1 (the fixed
minimum from #128) so the audit covers the exact deployed version and
the image is reproducible across rebuilds. msgpack is a transitive
dependency (CacheControl <- requests) and is not imported in bridge/,
so the pin has no code impact.

Fixes #172

Signed-off-by: Saffron <263493777+itsmiso-ai@users.noreply.github.com>
@itsmiso-ai
itsmiso-ai requested a review from joryirving as a code owner August 22, 2026 07:01

@its-saffron its-saffron Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Automated Review

Full PR review.

Analysis engine: dsv4f@https://litellm.jory.dev/v1 (openai) — primary route

Recommendation

Approve. This is a minimal, well-scoped dependency pin change that directly resolves the linked issue PR 172. The diff changes a single line in requirements.txt, converting the floating msgpack>=1.2.1 to an exact pin msgpack==1.2.1. CI (docker and test) passed on the head commit.

Change-by-Change Findings

requirements.txtmsgpack>=1.2.1msgpack==1.2.1

The change removes the only floating dependency line in requirements.txt, making every line an exact pin. This aligns the file with the CI pip-audit step's documented assumption (.github/workflows/ci.yaml:24-25: "Both files pin exact versions, so we can skip dependency resolution and audit exactly what is installed") and with the --no-deps audit mode. The pinned version 1.2.1 matches the fixed minimum introduced in PR 128 (commit 7a9a529), so no regression in the transitive CVE fix is introduced. msgpack is a transitive dependency (via CacheControlrequests) and is not imported anywhere in bridge/, so the pin has no code impact.

Must-Check Items

  • Check for breaking API changes in updated dependencies: Not applicable in the usual sense — this is not a version bump. The change pins an already-installed transitive dependency to the exact version that was already the effective minimum (1.2.1). No new version is introduced, so there is no API surface change. msgpack is not imported in bridge/, so no code path is affected.
  • Run full test suite after upgrade: The CI test check passed on the head commit c701677. The docker check also passed. No test changes were needed since the pin has no code impact.

Linked Issue Fit

Issue PR 172 asks to pin msgpack exactly in requirements.txt so every dependency is reproducible and the CI pip-audit step audits exactly what is installed. The acceptance criteria are:

  • requirements.txt pins msgpack==<exact> (the current fixed minimum 1.2.1 or newer) — satisfied: msgpack==1.2.1.
  • ✅ No line in either requirements file uses a comparator (>=, <=, ~=, == wildcards) — the diff removes the only >= in requirements.txt; no other requirements file is touched.
  • ✅ The CI comment about "both files pin exact versions" is now accurate for every line — satisfied by this change.
  • ✅ CI passes unchanged — confirmed by the passing test and docker checks.

The issue also names .github/workflows/ci.yaml as an expected file, but the acceptance criteria do not require a CI change — the comment is already accurate once the pin is applied. The diff correctly touches only requirements.txt, which is the file that needed the change.

Standards Compliance

The repository's AGENTS.md requires issues to state the ask in one imperative sentence and name concrete file paths. Issue PR 172 does both ("Pin msgpack exactly in requirements.txt..." and names requirements.txt, .github/workflows/ci.yaml). The diff touches requirements.txt, one of the named files, so the scope-overlap rail is satisfied. No repository convention is violated by this change.

Unknowns or Needs Verification

None material. The change is a pure pin with no version change, so no compatibility-matrix verification is required (no host/peer platform version is coupled to this bump). The only minor note is that the linked issue also listed .github/workflows/ci.yaml as an expected file, but the acceptance criteria do not require a CI modification, and the existing CI comment is accurate after this pin.

@joryirving
joryirving merged commit 45cf953 into main Aug 22, 2026
3 checks passed
@joryirving
joryirving deleted the foreman/wl-misospace-foreman-dispatch-bridge-172/issue-172 branch August 22, 2026 14:05
@its-miso its-miso Bot mentioned this pull request Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P3] requirements.txt floats msgpack>=1.2.1, contradicting CI's 'both files pin exact versions' pip-audit claim

2 participants