{
  "site": "withdispatch.dev",
  "project": "dispatch",
  "framework": "AHD",
  "deploy": {
    "builtAt": "2026-05-31T22:53:38.318Z",
    "via": "scripts/ahd-provenance.mjs"
  },
  "ahd": {
    "source": "https://github.com/Ad-Astra-Computing/ahd",
    "homepage": "https://ahd.adastra.computer",
    "version": "0.10.0",
    "rulesetNote": "Source-level AHD lint: HTML/CSS rules, SVG rules, cross-file checks. Vision-critic rules are not evaluated at build time."
  },
  "lint": {
    "error": 0,
    "warn": 84,
    "info": 4,
    "files": 29,
    "rulesRun": 39
  },
  "overrides": [
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "reason": "Dispatch uses a deliberate single-family aesthetic across subpages."
    }
  ],
  "violations": [
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "file": "/404.html",
      "message": "Only one font family declared (var(--font-mono)). Pair a display face with a text face."
    },
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "file": "/_astro/aup.CcaqAySc.css",
      "message": "Only one font family declared (var(--font-mono)). Pair a display face with a text face."
    },
    {
      "ruleId": "ahd/no-flat-dark-mode",
      "severity": "warn",
      "file": "/_astro/aup.CcaqAySc.css",
      "message": "Background uses a flat near-black (#000000). Warm blacks, OKLCH ramps or paper-and-ink hierarchies read better than #0a0a0a + neon.",
      "line": 1
    },
    {
      "ruleId": "ahd/no-indiscriminate-glass",
      "severity": "warn",
      "file": "/_astro/aup.CcaqAySc.css",
      "message": "backdrop-blur is used 2 times. If glass is the point, pick one surface; if it isn't, remove it."
    },
    {
      "ruleId": "ahd/weight-variety",
      "severity": "warn",
      "file": "/_astro/aup.DT3dxsNv.css",
      "message": "Only 2 distinct font-weight value(s) used (700, 600). The token declares multiple weights; use them."
    },
    {
      "ruleId": "ahd/tracking-per-size",
      "severity": "warn",
      "file": "/_astro/aup.DT3dxsNv.css",
      "message": "Display-size type (>=48px) is set without negative letter-spacing. Tighten by -0.02em or more above 48px."
    },
    {
      "ruleId": "ahd/weight-variety",
      "severity": "warn",
      "file": "/_astro/download.BiuF0RK6.css",
      "message": "Only 2 distinct font-weight value(s) used (600, 700). The token declares multiple weights; use them."
    },
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "file": "/_astro/download.BiuF0RK6.css",
      "message": "Only one font family declared (var(--font-mono)). Pair a display face with a text face."
    },
    {
      "ruleId": "ahd/no-flat-dark-mode",
      "severity": "warn",
      "file": "/_astro/download.BiuF0RK6.css",
      "message": "Background uses a flat near-black (#000000). Warm blacks, OKLCH ramps or paper-and-ink hierarchies read better than #0a0a0a + neon.",
      "line": 1
    },
    {
      "ruleId": "ahd/no-flat-dark-mode",
      "severity": "warn",
      "file": "/_astro/index.BiPWK7QJ.css",
      "message": "Background uses a flat near-black (#000000). Warm blacks, OKLCH ramps or paper-and-ink hierarchies read better than #0a0a0a + neon.",
      "line": 1
    },
    {
      "ruleId": "ahd/no-indiscriminate-glass",
      "severity": "warn",
      "file": "/_astro/index.BiPWK7QJ.css",
      "message": "backdrop-blur is used 20 times. If glass is the point, pick one surface; if it isn't, remove it."
    },
    {
      "ruleId": "ahd/weight-variety",
      "severity": "warn",
      "file": "/_astro/pipeline.CLUaUEn8.css",
      "message": "Only 2 distinct font-weight value(s) used (700, 600). The token declares multiple weights; use them."
    },
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "file": "/_astro/pipeline.CLUaUEn8.css",
      "message": "Only one font family declared (var(--font-mono)). Pair a display face with a text face."
    },
    {
      "ruleId": "ahd/weight-variety",
      "severity": "warn",
      "file": "/_astro/pricing.CubN0f-b.css",
      "message": "Only 2 distinct font-weight value(s) used (700, 600). The token declares multiple weights; use them."
    },
    {
      "ruleId": "ahd/weight-variety",
      "severity": "warn",
      "file": "/account/index.html",
      "message": "Only 2 distinct font-weight value(s) used (700, 600). The token declares multiple weights; use them."
    },
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "file": "/account/index.html",
      "message": "Only one font family declared (geist mono). Pair a display face with a text face."
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/account/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/account/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 3
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/aup/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/aup/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 5
    },
    {
      "ruleId": "ahd/weight-variety",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Only 2 distinct font-weight value(s) used (600, 700). The token declares multiple weights; use them."
    },
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Only one font family declared (var(--font-mono)). Pair a display face with a text face."
    },
    {
      "ruleId": "ahd/line-height-per-size",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Only one line-height value (1.65) declared. Display needs ~1.05; body ~1.5–1.6; captions ~1.3."
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/radius-hierarchy",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Only one radius value (\"0 8px 8px 0\") declared across the page. Make buttons sharper or softer than cards, and media different from both. (Sharp-only or sharp+pill compositions don't fire this rule.)"
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/changelog/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 4
    },
    {
      "ruleId": "ahd/no-slop-copy",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Copy contains banned phrase: \"seamless\".",
      "line": 7
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 6
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 7
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 9
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 9
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 9
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 9
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 9
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/docs/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 9
    },
    {
      "ruleId": "ahd/svg/palette-bounds",
      "severity": "info",
      "file": "/docs/index.html",
      "message": "SVG uses 11 distinct hex colours. Most single-illustration tokens declare 3–5; more than that usually means the generator drifted off-palette."
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/docs/models/deepseek/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/docs/models/deepseek/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 2
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/docs/models/gemma-4/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/docs/models/gemma-4/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 2
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/docs/models/llama/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/docs/models/llama/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 2
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/docs/models/qwen-3/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/docs/models/qwen-3/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 2
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/docs/models/qwen-coder/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/docs/models/qwen-coder/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/download/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/download/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/download/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/download/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 2
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/download/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 6
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/dpa/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/dpa/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 6
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/eula/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/eula/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 5
    },
    {
      "ruleId": "ahd/no-slop-copy",
      "severity": "warn",
      "file": "/faq/index.html",
      "message": "Copy contains banned phrase: \"AI-native\".",
      "line": 4
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/faq/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/radius-hierarchy",
      "severity": "warn",
      "file": "/faq/index.html",
      "message": "Only one radius value (\"12px\") declared across the page. Make buttons sharper or softer than cards, and media different from both. (Sharp-only or sharp+pill compositions don't fire this rule.)"
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/index.html",
      "message": "<h4> follows <h1> without an intermediate <h2>. Either demote this heading or add a parent heading.",
      "line": 45
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 71
    },
    {
      "ruleId": "ahd/svg/palette-bounds",
      "severity": "info",
      "file": "/index.html",
      "message": "SVG uses 27 distinct hex colours. Most single-illustration tokens declare 3–5; more than that usually means the generator drifted off-palette."
    },
    {
      "ruleId": "ahd/require-type-pairing",
      "severity": "warn",
      "file": "/philosophy/index.html",
      "message": "Only one font family declared (var(--font-mono)). Pair a display face with a text face."
    },
    {
      "ruleId": "ahd/radius-hierarchy",
      "severity": "warn",
      "file": "/philosophy/index.html",
      "message": "Only one radius value (\"12px\") declared across the page. Make buttons sharper or softer than cards, and media different from both. (Sharp-only or sharp+pill compositions don't fire this rule.)"
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/philosophy/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 6
    },
    {
      "ruleId": "ahd/svg/palette-bounds",
      "severity": "info",
      "file": "/philosophy/index.html",
      "message": "SVG uses 10 distinct hex colours. Most single-illustration tokens declare 3–5; more than that usually means the generator drifted off-palette."
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/pipeline/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/pipeline/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 3
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/pipeline/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 3
    },
    {
      "ruleId": "ahd/svg/palette-bounds",
      "severity": "info",
      "file": "/pipeline/index.html",
      "message": "SVG uses 11 distinct hex colours. Most single-illustration tokens declare 3–5; more than that usually means the generator drifted off-palette."
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/privacy/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/privacy/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 5
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/subprocessors/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/subprocessors/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 2
    },
    {
      "ruleId": "ahd/no-em-dashes-in-prose",
      "severity": "warn",
      "file": "/support/index.html",
      "message": "Em-dash (—) in prose. Rewrite with a comma, colon, period, parentheses, or middle dot. En-dashes (–) remain fine for numeric ranges.",
      "line": 5
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/support/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 5
    },
    {
      "ruleId": "ahd/require-named-grid",
      "severity": "warn",
      "file": "/terms/index.html",
      "message": "No grid structure declared (no display:grid, no grid-template-columns, no grid-cols-*). Flex-stacked columns without a shared grid is the todo-list layout."
    },
    {
      "ruleId": "ahd/a11y/heading-skip",
      "severity": "warn",
      "file": "/terms/index.html",
      "message": "<h4> follows <h2> without an intermediate <h3>. Either demote this heading or add a parent heading.",
      "line": 5
    }
  ],
  "disclaimer": "Generated at build time by AHD (Artificial Human Design). This manifest asserts source-level linter results, not aesthetic quality."
}
