Skip to content

fix: resolve msgpack and jupyterlab security advisories#16

Merged
magnaquant merged 3 commits into
mainfrom
fix/security-lock-refresh
Jul 2, 2026
Merged

fix: resolve msgpack and jupyterlab security advisories#16
magnaquant merged 3 commits into
mainfrom
fix/security-lock-refresh

Conversation

@magnaquant

@magnaquant magnaquant commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Lock-level security update: msgpack 1.2.0 to 1.2.1 (GHSA-6v7p-g79w-8964, high severity: out-of-bounds read / crash on Unpacker reuse after a caught error). msgpack ships in the runtime container via the brokers extra, so this is the operationally relevant fix.
  • jupyterlab 4.5.8 to 4.6.1 (GHSA-vmhf-c436-hxj4, medium: stored XSS in the extension manager), pulling dev-stack companions notebook 7.6.0 and jupyter-builder 1.0.2. Development tooling only; not packaged or shipped.
  • Neither package is a direct dependency; pyproject.toml is unchanged. Requirements exports regenerated with the pinned Poetry toolchain. Exactly 4 packages changed in poetry.lock; core/test/build exports untouched.
  • Fixes the dual-release choreography: the wrappers' full-tree cleanliness checks made a changed-source release (expansion then paper from one source commit, per CLAUDE.md) unsatisfiable, because the paper wrapper rejected the expansion wrapper's uncommitted regenerated artifacts. Both checks are now scoped to the release-critical paths each wrapper already fingerprints; generation still runs from a detached worktree at the source commit, and uncommitted generator/schema/lock/TeX changes are still refused.
  • Regenerates both artifact releases from clean source commit dddead6 (required because poetry.lock is a release-critical fingerprinted input).

Verification

Merge notes

Merge by command-line fast-forward push only (git push origin fix/security-lock-refresh:main), as with the prior release PRs. Do NOT use squash or the GitHub rebase button: both rewrite commit SHAs, which would orphan the recorded source commit dddead6 that the manifests must keep as an ancestor. Do not move research-audit-v1.

magnaprog added 3 commits July 1, 2026 22:30
msgpack 1.2.0 to 1.2.1 resolves GHSA-6v7p-g79w-8964 (high: out-of-bounds
read / crash on Unpacker reuse after a caught error); msgpack ships in the
runtime container via the brokers extra. jupyterlab 4.5.8 to 4.6.1 resolves
GHSA-vmhf-c436-hxj4 (medium: stored XSS in the extension manager) and pulls
its dev-stack companions notebook 7.6.0 and jupyter-builder 1.0.2; these are
development tooling only and are not packaged or shipped.

Lock-level update only (neither package is a direct dependency);
requirements exports regenerated with the pinned Poetry toolchain.
Paper and expansion artifacts are regenerated in the follow-up commits
because poetry.lock is a release-critical fingerprinted input.
The dual-release flow documented in CLAUDE.md (commit source once, run the
expansion wrapper, then the paper wrapper, then commit generated artifacts)
was unsatisfiable for changed release-critical source: the paper wrapper
required a fully clean tracked tree AND an expansion manifest recording the
current HEAD as its source commit. A committed manifest cannot record the
commit that contains it, and running the expansion wrapper first leaves its
regenerated artifacts uncommitted, which the full-tree check rejected.

Both wrappers now scope their cleanliness checks to the release-critical
source paths they already fingerprint. Generation happens in a detached
worktree at the source commit, so artifact dirt in the working tree cannot
corrupt a release; uncommitted generator, schema, lock, or TeX changes are
still refused. This also makes each wrapper rerunnable after a failed
partner run without reverting regenerated artifacts.
Both releases regenerated from clean source commit dddead6 via the release
wrappers (expansion first, then paper), with fixed UTC timestamps. Every
economic CSV, figure, and target-tape hash is byte-identical to the prior
release; the only content change in either PDF is the source-tree digest
hex string in the reproducibility appendix (verified by pdftotext diff:
one line per document). Manifests record the new source commit, clean
worktree at start, and updated dependency-lock digest.
@magnaquant magnaquant merged commit c04004b into main Jul 2, 2026
13 checks passed
@magnaquant magnaquant deleted the fix/security-lock-refresh branch July 2, 2026 05:56
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.

2 participants