Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
42e95be
fix(purl): percent-decode purl components from the API
mikolalysenko Jun 11, 2026
c3c012f
feat(vendor): auto-force staging on content mismatch + correct alread…
mikolalysenko Jun 11, 2026
7363c65
feat(vendor): take over exact-version override pins (pnpm + yarn berry)
mikolalysenko Jun 11, 2026
adc5179
feat(scan): prune lifecycle for vendored packages
mikolalysenko Jun 11, 2026
7042cbc
test: e2e coverage for encoded scoped purls, mismatch annotation, pru…
mikolalysenko Jun 11, 2026
1a2dc4a
feat(vendor): lockfile inventory module for npm-family locks
mikolalysenko Jun 11, 2026
9c93b90
feat(vendor): registry_fetch — verified pristine-artifact fetching
mikolalysenko Jun 11, 2026
18822dc
feat(vendor,scan): auto-fetch missing packages + lockfile/ledger disc…
mikolalysenko Jun 11, 2026
430145a
feat(vendor): yarn berry checksum-verified fetch + ledger artifact st…
mikolalysenko Jun 11, 2026
16e7e54
feat(vendor): cargo + golang lockfile inventory and verified fetch
mikolalysenko Jun 11, 2026
b5e9f63
feat(vendor): composer + gem + pypi lockfile inventory and verified f…
mikolalysenko Jun 11, 2026
772f98d
feat(scan): all-ecosystem lockfile supplement + docs
mikolalysenko Jun 11, 2026
0426e0b
feat(apply): beforeHash mismatch warns and applies the full blob by d…
mikolalysenko Jun 11, 2026
64c59f1
polish(apply): decode percent-encoded purls in human output
mikolalysenko Jun 11, 2026
18b4cb1
feat(vendor): hold patch blobs in memory — vendoring writes no .socke…
mikolalysenko Jun 12, 2026
c92f6b2
feat(repair): rebuild missing/corrupt vendored artifacts + no-ledger …
mikolalysenko Jun 12, 2026
c05805e
fix(pnpm): bind vendor edits to name@VERSION — multi-version vendorin…
mikolalysenko Jun 12, 2026
6091280
test(docker): pin scan --sync to --strict where apply --force must st…
mikolalysenko Jun 12, 2026
cb1b0a6
test(docker): pin the content_mismatch_overwritten warning in the for…
mikolalysenko Jun 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
test(docker): pin the content_mismatch_overwritten warning in the for…
…ce-apply gates

With scan pinned to --strict, the dedicated `apply --force` step is the
writer again — but force-overwriting the all-zeros-baseline fixture now
also surfaces the content_mismatch_overwritten warning as a Skipped
event, so the old `skipped:0` gates fail. Assert the new contract
instead: exactly one skip AND the warning's errorCode present
(cargo/golang/maven/nuget×2; composer has no skipped gate).

All five suites verified locally against freshly built images.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
  • Loading branch information
mikolalysenko and claude committed Jun 12, 2026
commit cb1b0a601467698ced220d91bef46edcc68800d9
12 changes: 10 additions & 2 deletions crates/socket-patch-cli/tests/docker_e2e_cargo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,16 @@ grep -q '"failed": 0,' /tmp/apply.out || {{
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"skipped": 0,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:0" >&2
# The --force overwrite of the mismatched baseline surfaces the
# content_mismatch_overwritten warning as a Skipped event (the
# mismatch-warn contract) — exactly that one, nothing else skipped.
grep -q '"skipped": 1,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:1 (the mismatch-overwrite warning)" >&2
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"errorCode": "content_mismatch_overwritten"' /tmp/apply.out || {{
echo "FAIL: apply JSON missing the content_mismatch_overwritten warning event" >&2
cat /tmp/apply.out >&2
exit 1
}}
Expand Down
12 changes: 10 additions & 2 deletions crates/socket-patch-cli/tests/docker_e2e_golang.rs
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,16 @@ grep -qE '^[[:space:]]*"failed": 0,[[:space:]]*$' /tmp/apply.out || {{
cat /tmp/apply.out >&2
exit 1
}}
grep -qE '^[[:space:]]*"skipped": 0,[[:space:]]*$' /tmp/apply.out || {{
echo "FAIL: apply JSON reported a non-zero skipped count" >&2
# The --force overwrite of the mismatched baseline surfaces the
# content_mismatch_overwritten warning as a Skipped event (the
# mismatch-warn contract) — exactly that one, nothing else skipped.
grep -qE '^[[:space:]]*"skipped": 1,[[:space:]]*$' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:1 (the mismatch-overwrite warning)" >&2
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"errorCode": "content_mismatch_overwritten"' /tmp/apply.out || {{
echo "FAIL: apply JSON missing the content_mismatch_overwritten warning event" >&2
cat /tmp/apply.out >&2
exit 1
}}
Expand Down
12 changes: 10 additions & 2 deletions crates/socket-patch-cli/tests/docker_e2e_maven.rs
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,16 @@ grep -q '"failed": 0,' /tmp/apply.out || {{
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"skipped": 0,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:0" >&2
# The --force overwrite of the mismatched baseline surfaces the
# content_mismatch_overwritten warning as a Skipped event (the
# mismatch-warn contract) — exactly that one, nothing else skipped.
grep -q '"skipped": 1,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:1 (the mismatch-overwrite warning)" >&2
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"errorCode": "content_mismatch_overwritten"' /tmp/apply.out || {{
echo "FAIL: apply JSON missing the content_mismatch_overwritten warning event" >&2
cat /tmp/apply.out >&2
exit 1
}}
Expand Down
24 changes: 20 additions & 4 deletions crates/socket-patch-cli/tests/docker_e2e_nuget.rs
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,16 @@ grep -q '"failed": 0,' /tmp/apply.out || {{
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"skipped": 0,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:0" >&2
# The --force overwrite of the mismatched baseline surfaces the
# content_mismatch_overwritten warning as a Skipped event (the
# mismatch-warn contract) — exactly that one, nothing else skipped.
grep -q '"skipped": 1,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:1 (the mismatch-overwrite warning)" >&2
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"errorCode": "content_mismatch_overwritten"' /tmp/apply.out || {{
echo "FAIL: apply JSON missing the content_mismatch_overwritten warning event" >&2
cat /tmp/apply.out >&2
exit 1
}}
Expand Down Expand Up @@ -362,8 +370,16 @@ grep -q '"failed": 0,' /tmp/apply.out || {{
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"skipped": 0,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:0" >&2
# The --force overwrite of the mismatched baseline surfaces the
# content_mismatch_overwritten warning as a Skipped event (the
# mismatch-warn contract) — exactly that one, nothing else skipped.
grep -q '"skipped": 1,' /tmp/apply.out || {{
echo "FAIL: apply JSON did not report skipped:1 (the mismatch-overwrite warning)" >&2
cat /tmp/apply.out >&2
exit 1
}}
grep -q '"errorCode": "content_mismatch_overwritten"' /tmp/apply.out || {{
echo "FAIL: apply JSON missing the content_mismatch_overwritten warning event" >&2
cat /tmp/apply.out >&2
exit 1
}}
Expand Down
Loading