The weekly upgrade skill trusted abra recipe upgrade for normal surveys. It emits a parse warning for CryptPad version-YYYY.M.D tags, so a newer image could be labelled UPTODATE unless an agent remembered a manual exception. The CVE scanner also emitted numeric zero when a changed sidecar had no matched advisory source, and audit-sources hid failed API calls behind a feed count.
Changes
Require an independent registry resolution for every image in every recipe, unioned with abra. An incomplete lookup, floating or templated tag, or truncated registry listing is UNVERIFIED, never UPTODATE. Retry OCI 429/503 responses.
Make CVE counts UNKNOWN when a source fails, no usable source is checked, or a changed image window has no matching source. Keep identified CVEs as an explicit floor. Ignore prose-only https://… placeholders.
Audit security source coverage on every weekly run and label the report column CVEs fixed, clarifying that zero is not a vulnerability-free certification. Surface missing GitHub token and rate-limit failures.
Evidence
81 offline advisory tests and 3 resolver tests pass; Python compilation and report rendering pass.
Live resolver sweep covered 23 recipes / 85 image references. It detects newer images in 15 recipes; CryptPad's current PR checkout is already on version-2026.10.0. It explicitly flags floating tags, a templated Ghost overlay, one GHCR HTTP 429, and a Docker Hub listing that exhausted 4,000 recent tags.
Live source audit found RustDesk Server has no verified CVE source. The cc-ci host lacks /srv/cc-ci/.github-token; after anonymous GitHub API rate-limit exhaustion the CryptPad advisory scan now returns UNKNOWN rather than a numeric zero.
Remaining dependency
A read-only GitHub API token at /srv/cc-ci/.github-token is needed for complete weekly GitHub advisory coverage. The code fails closed until configured. RustDesk Server remains explicitly unknown until a usable vendor/advisory source exists.
## Why
The weekly upgrade skill trusted `abra recipe upgrade` for normal surveys. It emits a parse warning for CryptPad `version-YYYY.M.D` tags, so a newer image could be labelled UPTODATE unless an agent remembered a manual exception. The CVE scanner also emitted numeric zero when a changed sidecar had no matched advisory source, and `audit-sources` hid failed API calls behind a feed count.
## Changes
- Require an independent registry resolution for every image in every recipe, unioned with abra. An incomplete lookup, floating or templated tag, or truncated registry listing is UNVERIFIED, never UPTODATE. Retry OCI 429/503 responses.
- Make CVE counts UNKNOWN when a source fails, no usable source is checked, or a changed image window has no matching source. Keep identified CVEs as an explicit floor. Ignore prose-only `https://…` placeholders.
- Audit security source coverage on every weekly run and label the report column CVEs fixed, clarifying that zero is not a vulnerability-free certification. Surface missing GitHub token and rate-limit failures.
## Evidence
- 81 offline advisory tests and 3 resolver tests pass; Python compilation and report rendering pass.
- Live resolver sweep covered 23 recipes / 85 image references. It detects newer images in 15 recipes; CryptPad's current PR checkout is already on `version-2026.10.0`. It explicitly flags floating tags, a templated Ghost overlay, one GHCR HTTP 429, and a Docker Hub listing that exhausted 4,000 recent tags.
- Live source audit found RustDesk Server has no verified CVE source. The cc-ci host lacks `/srv/cc-ci/.github-token`; after anonymous GitHub API rate-limit exhaustion the CryptPad advisory scan now returns UNKNOWN rather than a numeric zero.
## Remaining dependency
A read-only GitHub API token at `/srv/cc-ci/.github-token` is needed for complete weekly GitHub advisory coverage. The code fails closed until configured. RustDesk Server remains explicitly unknown until a usable vendor/advisory source exists.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why
The weekly upgrade skill trusted
abra recipe upgradefor normal surveys. It emits a parse warning for CryptPadversion-YYYY.M.Dtags, so a newer image could be labelled UPTODATE unless an agent remembered a manual exception. The CVE scanner also emitted numeric zero when a changed sidecar had no matched advisory source, andaudit-sourceshid failed API calls behind a feed count.Changes
https://…placeholders.Evidence
version-2026.10.0. It explicitly flags floating tags, a templated Ghost overlay, one GHCR HTTP 429, and a Docker Hub listing that exhausted 4,000 recent tags./srv/cc-ci/.github-token; after anonymous GitHub API rate-limit exhaustion the CryptPad advisory scan now returns UNKNOWN rather than a numeric zero.Remaining dependency
A read-only GitHub API token at
/srv/cc-ci/.github-tokenis needed for complete weekly GitHub advisory coverage. The code fails closed until configured. RustDesk Server remains explicitly unknown until a usable vendor/advisory source exists.