Rules / GRN-E001
GRN-E001 fetch-failed
| Default severity | warn |
| Kind | absolute rule: fires on the new version alone, whatever the trusted version looked like. |
| Status | Implemented in 0.1 |
What it checks
Data a rule needed couldn't be fetched: registry metadata, a file, an attestation, the tag
list or the OSV advisory list. The finding names which rules were not evaluated. With
--offline, anything missing from the cache is reported here.
Why it matters
Garnet Guard never treats a check it couldn't run as a pass. If this finding were dropped, an update could look clean only because the network failed.
Example finding
Illustrative.
examplelib 2.6.1 → 2.6.2: WARN
WARN GRN-E001 fetch-failed: Couldn't evaluate GRN-T004: tag lookup failed
- tag lookup: HTTP 503 from github.com/example/examplelib.git/info/refs
How to resolve it
- Re-run with network access. Most of these are transient.
- If it keeps failing, open the URL in the evidence yourself; a rate limit, proxy or
firewall is the usual cause. For GitHub rate limits, pass a token with
--github-token-env. - If a source is permanently unreachable from your CI, you can lower this rule to
infoin policy, but the rules it names stay unchecked.
Allowlisting
Prefer fixing the cause: while this finding stands, the rules it names were not evaluated. If you accept that for your project, change its severity in policy:
[garnet.rules]
"GRN-E001" = "info"
Suppressed findings still appear in JSON and SARIF output, marked with the ignore that
matched. The policy format is in SPEC §7; 0.1's garnet diff
doesn't read policy files yet.