Skip to content

feat(purl): adopt socketdev 3.4.0 typed batch params - #99

Draft
lelia wants to merge 1 commit into
mainfrom
lelia/purl-typed-params-ce-360
Draft

feat(purl): adopt socketdev 3.4.0 typed batch params#99
lelia wants to merge 1 commit into
mainfrom
lelia/purl-typed-params-ce-360

Conversation

@lelia

@lelia lelia commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Draft — blocked on socketdev 3.4.0 reaching PyPI (SocketDev/socket-sdk-python#98). The typed params below only exist in 3.4.0; do not merge until it publishes, then regenerate uv.lock.

What & why

The core-tool-watch scoring call in scripts/check_core_tools.py opted into the batch purl API's fail-closed semantics via stringly-typed query-string kwargs (poll="true", timeoutSec="120", alerts="true") — an undocumented SDK passthrough. socketdev 3.4.0 promotes these to first-class typed params, so this migrates to the supported surface.

Changes

  • scripts/check_core_tools.py: poll="true"poll=True, timeoutSec="120"timeout_sec=120, alerts="true"alerts=True. Behavior unchanged (still fail-closed).
  • pyproject.toml: socketdev>=3.3.0socketdev>=3.4.0 (typed params require 3.4.0; on 3.3.0 timeout_sec would be sent as a literal timeout_sec query param, silently losing the timeoutSec fail-closed bound).

Not done here (blocked)

  • uv.lock not regenerated — uv lock can't resolve >=3.4.0 until it's on PyPI. Regenerate once 3.4.0 publishes (Dependabot's weekly uv group will also propose it). Note: core-tool-watch's scan env installs from main's uv.lock, so this takes effect there only after the lockfile bump merges.

Sequencing

  1. Merge + publish socketdev 3.4.0 (socket-sdk-python#98)
  2. Un-draft this, uv lock, merge

Refs CE-360

Migrate the core-tool-watch scoring call in scripts/check_core_tools.py off
the stringly-typed query-string kwargs (poll="true"/timeoutSec="120"/
alerts="true") onto the first-class typed params added in socketdev 3.4.0
(poll=True/timeout_sec=120/alerts=True), and bump the socketdev floor to
>=3.4.0.

Behavior is unchanged (still fail-closed: poll waits for pending analysis,
alerts materializes unresolved inputs as synthetic pendingScan/notFound rows),
but the intent is now expressed through a supported, typed surface instead of
an undocumented passthrough.

uv.lock is intentionally NOT regenerated here: socketdev 3.4.0 is not yet on
PyPI (SocketDev/socket-sdk-python#98). Regenerate once it publishes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
@lelia
lelia temporarily deployed to socket-firewall August 5, 2026 03:59 — with GitHub Actions Inactive
@lelia lelia changed the title feat(purl): adopt socketdev 3.4.0 typed batch params (CE-360) feat(purl): adopt socketdev 3.4.0 typed batch params Aug 5, 2026
@lelia lelia changed the title feat(purl): adopt socketdev 3.4.0 typed batch params feat(purl): adopt socketdev 3.4.0 typed batch params Aug 5, 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.

1 participant