Skip to content

chore(installer): regenerate dist artifacts to sync embedded bundle with source - #49

Open
lcrowther-snyk wants to merge 1 commit into
snyk:mainfrom
lcrowther-snyk:fix/regenerate-stale-installer-dist
Open

chore(installer): regenerate dist artifacts to sync embedded bundle with source#49
lcrowther-snyk wants to merge 1 commit into
snyk:mainfrom
lcrowther-snyk:fix/regenerate-stale-installer-dist

Conversation

@lcrowther-snyk

Copy link
Copy Markdown

What

Regenerates the prebuilt installer artifacts in installer/dist/ (snyk-studio-install.sh, .py, .ps1) so the embedded bundle matches the current recipe sources.

Why

The committed dist/ artifacts embed a stale snapshot of the bundled files. Concretely, the Claude async-CLI Secure-at-Inception hook is out of sync:

md5 lines
Source (guardrail_directives/secure_at_inception/hooks_version/claude/async_cli_version/snyk_secure_at_inception.py) f48a57a8… 841
Embedded in committed dist/ bundle b34f319f… 830

Both the source hook and the dist artifacts were last touched in the same release commit (786986d), but the dist was built from a pre-final version of the source within that commit and not regenerated before merge — leaving the source and its own generated artifact internally inconsistent.

Impact: anyone installing from this release gets a hook missing the latest changes — notably the "Newly Introduced Dependency Vulnerabilities" SCA reporting block and the SCA-scan-unavailable fallback. git clone doesn't help, since the installer unpacks the embedded bundle rather than copying the live source file.

How

python3 installer/build_installer.py

Verified the freshly built bundle's embedded Claude hook now matches source (f48a57a8…, 841 lines).

Note on diff size

The artifacts embed a gzipped tar as base64. Because tar/gzip include file mtimes and a build timestamp, the entire payload re-encodes on every build, so the diff is ~6.5k lines even though the only functional change is the bundled hook content. Reviewers can confirm by re-running the build command above and diffing, or by extracting the bundle and comparing the embedded files to source.

🤖 Generated with Claude Code

…ith source

The prebuilt installer artifacts under installer/dist/ embedded a stale
snapshot of the bundled recipe sources. The Claude async-CLI Secure-at-
Inception hook
(guardrail_directives/secure_at_inception/hooks_version/claude/async_cli_version/snyk_secure_at_inception.py)
was 830 lines in the committed bundle but 841 lines in source: the dist was
built from a pre-final version of the source within release 786986d and never
regenerated, leaving the source and its own generated artifact internally
inconsistent.

As a result, installs from this release receive a hook missing the latest
changes -- notably the "Newly Introduced Dependency Vulnerabilities" SCA
reporting section and the SCA-scan-unavailable fallback.

Regenerated snyk-studio-install.{sh,py,ps1} via
`python3 installer/build_installer.py`. The large diff is expected: the bundle
is a gzipped tar embedded as base64, so the entire payload re-encodes on every
build even though the only functional change is the bundled hook content.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@lcrowther-snyk
lcrowther-snyk requested review from a team as code owners May 25, 2026 05:04
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