Skip to content

Z109: EXTERNAL_LINK_BROKEN

  • Severity: Error


    Penalty: 0.0 points | Category: general

  • Remediation & Opt-In


    Auto-Fixable: No | Opt-In: No


Rationale

This rule is triggered during strict audits when a remote HTTP/HTTPS link returns a 4xx/5xx HTTP status code or fails due to a network connection timeout or DNS resolution error.


Activation

Z109 is not evaluated by default. It is activated exclusively by the --strict flag on check links and check all:

# Z109 evaluation ACTIVE — sends HTTP HEAD requests to external URLs
zenzic check all --strict
zenzic check links --strict

Without --strict, Zenzic resolves only internal links (Pass 1 and Pass 2). External HTTP validation (Pass 3) is skipped entirely.


Bypass: --no-external

To retain the warning-promotion behavior of --strict while disabling network I/O, combine it with --no-external:

# Z109 evaluation SUPPRESSED — no outbound HTTP requests
# All other --strict behaviors (warning promotion, Dead Definitions as errors) remain active
zenzic check all --strict --no-external

This is the recommended pattern for air-gapped CI environments or developer machines where external URL reachability is confirmed by other means.


How to Fix

Inspect the flagged location in the Markdown file and update the content or configuration:

  • Failing Pattern (Triggers Z109)


    docs/example.md
    <!-- BAD: Link to a non-existent or 404 remote web page -->
    Refer to [External Specifications](https://example.invalid/broken-spec).
    
  • Passing Pattern (Resolves Z109)


    docs/example.md
    <!-- GOOD: Link to a verified live external web page -->
    Refer to [External Specifications](https://example.com/valid-spec).
    

Configuration

To permanently exclude known rate-limited or private URLs from Z109 evaluation (without disabling the check globally):

# .zenzic.toml - Ignore rate-limited or private external domain URLs
excluded_external_urls = [
    "https://github.com",
    "https://api.github.com",
]

Reference

See the Finding Codes Index for finding code details.