Skip to content

test(ci): cache, artifact and release security matrix runner (P7-CACHE-11) - #553

Merged
acamarata merged 4 commits into
land/p7f-pluginsfrom
meas/p7-cache-11
Oct 30, 2026
Merged

acamarata merged 4 commits into
land/p7f-pluginsfrom
meas/p7-cache-11

Conversation

@acamarata

Copy link
Copy Markdown
Contributor

P7-CACHE-11: cache, artifact and release security matrix runner, results file and drill.

Base: land/p7f-plugins. Not for merge from this PR alone; findings below are filed against the owning tickets.

Measured on mm4 (darwin/arm64), go test -tags cachesec -run TestCacheSecMatrix ./test/cachesec/, 41 cases mapped to TM-12..TM-24: 21 match, 20 differ. Results: free/ci/test/cachesec/testdata/results.json. Nothing was relaxed to make a case pass; every difference is reported as observed.

Differences (all real component behaviour):

  • Admitted where a refusal was expected: secret-snapshot (TM-12) and partial-local (TM-15). Both return a clean cache miss (hit=false, 0 bytes restored): no refusal, no audit row.
  • Wrong code or reason: corrupt-local is E710 digest_mismatch (matrix: E711 blob_invalid); release-no-deps is reason deps_invalid (matrix: deps_failing).
  • Correct code and reason but no audit row in the store (16 cases): artifact-secret-raw/base64, artifact-overwrite/substitution, get-cwd/nonempty/hooks, corrupt/partial-transit, corrupt/partial-readthrough, release-revoked-remote, manifest-plugins-key/agent-key, untrusted-promotion, sign-uncommitted (the signer has no audit sink).

Rig fixes needed to run at all (test scaffolding, no check weakened): the remote-write rig made a second attempt on a job (a retry that admission refuses, E604) and now uses its own job; the transfer receiver rig set no per-file limit (zero refuses everything, E714 size_cap) and now sets 1 MiB.

Linux: not run (no workflow covers the cachesec tag; mm4 has no docker). Drill: scripts/drill/cache-security/run --check-mapping.

…its drill (P7-CACHE-11)

TestCacheSecMatrix runs every matrix.yaml case against the real stores and
engines, compares outcome, code, reason key and audit row with the expected
row and writes testdata/results.json. scripts/drill/cache-security/run runs it
and checks the case to threat-model mapping.
@acamarata
acamarata merged commit eee4bf9 into land/p7f-plugins Oct 30, 2026
16 of 19 checks passed
@acamarata

Copy link
Copy Markdown
Contributor Author

Folded into #543 (land/p7f-plugins) to land in one CI run.

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