{
  "url": "https://resultadosegundavuelta.onpe.gob.pe",
  "auditedAt": "2026-07-23T01:11:14.329Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "All 58 catalog checks were judged. The live deployment currently serves index HTML for hashed assets, causing a blank SPA; a successful Lighthouse snapshot also supplied evidence about the last renderable build.",
  "page": {
    "appType": "spa",
    "framework": "Angular / Angular Material",
    "notes": "Public Peruvian election-results SPA. Global asset delivery failure prevented meaningful route traversal in raw-CDP sessions; Lighthouse obtained one successful mobile render of /main/resumen, so both failure-state and rendered-build evidence were judged."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "discoverability",
    "trace",
    "har",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "direct HTTP response inspection"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/entry-desktop.png",
      "caption": "Initial desktop blank viewport",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/entry-mobile.png",
      "caption": "Initial mobile blank viewport",
      "condition": "360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/loaded-desktop.png",
      "caption": "Desktop remains blank after 20 seconds",
      "condition": "desktop, wait 20s",
      "findingIds": [
        "F001",
        "F002",
        "F003",
        "F005",
        "F007",
        "F029",
        "F030",
        "F031",
        "F032"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/loaded-mobile.png",
      "caption": "Mobile remains blank after 20 seconds",
      "condition": "360x800, wait 20s",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/resumen-desktop.png",
      "caption": "Direct results route remains blank after 20 seconds",
      "condition": "desktop, wait 20s",
      "findingIds": [
        "F005"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/dark.png",
      "caption": "Blank light surface under dark preference",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F011"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Rendered crawler comparison view",
      "condition": "JavaScript enabled",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "Crawler view contains no useful result content",
      "condition": "JavaScript disabled",
      "findingIds": [
        "F004"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/entry-dom.json",
      "caption": "Entry HTML/CSS and computed styles",
      "condition": "desktop",
      "findingIds": [
        "F001",
        "F004",
        "F011",
        "F013",
        "F014",
        "F015",
        "F017",
        "F019"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/resumen-dom.json",
      "caption": "Direct results-route DOM remains an empty shell",
      "condition": "wait 20s",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/page-probe.json",
      "caption": "Metadata, service worker and interaction probe",
      "condition": "desktop",
      "findingIds": [
        "F006",
        "F021"
      ]
    },
    {
      "type": "other",
      "path": "evidence/loaded-content.json",
      "caption": "20-second content and control inventory",
      "condition": "wait 20s",
      "findingIds": [
        "F001",
        "F002",
        "F003"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/layout-mobile.json",
      "caption": "Mobile overflow, CLS and long-task observer",
      "condition": "360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-probe.json",
      "caption": "Reduced-motion animation/CSS probe",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": [
        "F012"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Raw HTML versus rendered content analysis",
      "condition": "crawler vs browser",
      "findingIds": [
        "F004",
        "F022"
      ]
    },
    {
      "type": "har",
      "path": "evidence/network.har",
      "caption": "Load network archive",
      "condition": "desktop",
      "findingIds": [
        "F009"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/network-summary.json",
      "caption": "Network totals, third parties and hygiene",
      "condition": "desktop",
      "findingIds": [
        "F007",
        "F009",
        "F026",
        "F027",
        "F028"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/load-trace.json",
      "caption": "DevTools load trace",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/load-trace-summary.json",
      "caption": "FCP/LCP and main-thread trace summary",
      "condition": "desktop",
      "findingIds": [
        "F008"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "Lighthouse performance, accessibility, best-practices and SEO audit",
      "condition": "mobile throttling",
      "findingIds": [
        "F008",
        "F010",
        "F015",
        "F016",
        "F017",
        "F018",
        "F019",
        "F020",
        "F021",
        "F022",
        "F027",
        "F029",
        "F030",
        "F031",
        "F032"
      ]
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-summary.json",
      "caption": "Compact Lighthouse findings and metrics",
      "condition": "mobile throttling",
      "findingIds": [
        "F008",
        "F010",
        "F016",
        "F018"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Security response headers",
      "condition": "desktop",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Cookie security audit",
      "condition": "desktop",
      "findingIds": [
        "F025"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Third-party tracker inventory",
      "condition": "desktop",
      "findingIds": [
        "F026",
        "F028"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Client-side secret scan",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Current DOM image audit",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/seo-probe.json",
      "caption": "robots, sitemap, canonical and social metadata probe",
      "condition": "desktop",
      "findingIds": [
        "F022",
        "F023",
        "F024"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "Readable baseline heap summary",
      "condition": "current failed-mount state",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Under prefers-color-scheme: dark the blank surface remains #f8f8f8; computed color-scheme is normal and the CSS contains no dark-mode media rule.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/dark.png",
        "evidence/entry-dom.json"
      ],
      "findingIds": [
        "F011"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The reduced-motion probe matched reduce but found no prefers-reduced-motion CSS; global scroll-behavior remains smooth.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/reduced-motion-probe.json"
      ],
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The rendered CSS applies outline:0!important to every element; no forced-colors/prefers-contrast rule was found and computed outlines are none.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/entry-dom.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "No View Transition API usage or transition evidence is present; navigation either fails or swaps without a rendered continuity cue.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "findingIds": [
        "F029"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "reason": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "reason": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The long results experience provides no evidenced scroll-state-aware chrome or progress affordance.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "findingIds": [
        "F030"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The successful Lighthouse DOM shows an Angular Material menu trigger, with no native popover/CSS anchor positioning evidence.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "findingIds": [
        "F031"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "No rendered navigation attention cues survive in the current app; the blank route offers no orientation.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "findingIds": [
        "F032"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Desktop/mobile screenshots and Lighthouse DOM show no load-time interstitial obscuring content.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "The successful Lighthouse DOM uses semantic button/menu roles through Angular Material and shows no ad-hoc modal overlay finding.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "The successful Lighthouse result view prioritizes the results surface; no advertising interstitial or excessive frame was found.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Raw-CDP layout at 360x800 reports scrollWidth=clientWidth=360 and horizontalOverflowPx=0 with a valid viewport meta.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/layout-mobile.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "DOM CSS includes max-width media queries while computed container-type is normal and no @container rule appears in captured CSS.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/entry-dom.json"
      ],
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The global rule * { outline: 0 !important } removes focus indication from all controls; Lighthouse also found an unnamed menu button.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/entry-dom.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The 20-second evaluate probe reports empty body text, zero headings, zero links, zero buttons and an empty app-root.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/loaded-content.json",
        "evidence/loaded-desktop.png"
      ],
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Repeated desktop and mobile screenshots, DOM probes after 20 seconds, and direct requests show an empty <app-root>. Hashed JS, CSS and image URLs return the 16,591-byte index HTML with content-type text/html and CloudFront x-cache: Error, so the SPA cannot mount.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/loaded-desktop.png",
        "evidence/loaded-mobile.png",
        "evidence/loaded-content.json",
        "evidence/entry-dom.json"
      ],
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "After 20 seconds the viewport remains blank and contains no recovery control or status message.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/loaded-desktop.png",
        "evidence/loaded-content.json"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Lighthouse measured LCP 12,722 ms, FCP 4,874 ms, CLS 0.094 and TBT 72 ms, scoring performance 0.60. Current raw-CDP traces cannot paint the broken app at all.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/load-trace-summary.json"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Lighthouse measured CLS 0.094, within the good threshold, and the raw blank-state layout observer measured 0.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Lighthouse measured TBT 72 ms; raw-CDP trace and layout observers recorded no long tasks in the current state.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "HAR hygiene flags missing cache headers for hashed JS/font assets; direct asset responses return index HTML instead of the requested MIME type.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/network.har",
        "evidence/network-summary.json"
      ],
      "findingIds": [
        "F009"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Lighthouse estimated 629 KiB unused JavaScript, including 517 KiB from main and about 127 KiB across GTM/gtag, plus 37 KiB unused CSS (90%).",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Lighthouse button-name identifies button#sidebarToggle with no visible text, aria-label, aria-labelledby or title.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Lighthouse color-contrast audit passed on the successfully rendered mobile results view.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Lighthouse landmark-one-main failed; captured CSS sets outline:0!important on every element.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/entry-dom.json"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Lighthouse accessibility was 0.92 and heading order passed; no text clipping finding was reported in the successful render.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "The mobile Lighthouse viewport rendered at 412x823; viewport allows scaling and raw layout at 360px had no overflow.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Lighthouse errors-in-console records blocked region1.analytics.google.com connections and failed analytics fetches caused by CSP.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F018"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "JS/CSS/SVG paths currently return HTML. Lighthouse also flagged five unsized images, creating layout-shift risk.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/entry-dom.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F019"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Lighthouse reports the large main bundle has no source map and records CSP inspector issues; BFCache itself passed.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F020"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "DOM has title ONPE - PRESENTACIÓN DE RESULTADOS and no meta[name=description]; Lighthouse meta-description failed.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/page-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F021"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Raw HTML has no content links; Lighthouse found a pseudoLink anchor without href, and /robots.txt returns the SPA HTML with 52 syntax errors.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/seo-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F022"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The SEO probe found no canonical; /sitemap.xml and /robots.txt both return index HTML with status 200.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/seo-probe.json"
      ],
      "findingIds": [
        "F023"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The SEO probe found zero Open Graph tags and zero JSON-LD blocks.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/seo-probe.json"
      ],
      "findingIds": [
        "F024"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Cookie audit found _ga and _ga_THMBN2T4BS without Secure, both SameSite=None and 400-day expiry. Header audit flags unsafe-inline/unsafe-eval.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/cookies.json",
        "evidence/headers.json"
      ],
      "findingIds": [
        "F025"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "HAR reports 9/15 requests and 289,128/316,075 transferred bytes third-party (91.5%); tracker audit identifies GTM and DoubleClick.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F026"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "reason": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Headers include HSTS preload, nosniff, SAMEORIGIN plus frame-ancestors, strict-origin-when-cross-origin and a restrictive Permissions-Policy.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Raw HTML contains only an empty app-root; crawler evidence reports three raw content tokens and no h1, while the current JS assets fail to load as executable JavaScript.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-crawler.png",
        "evidence/entry-dom.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Both / and /main/resumen remain empty when the hashed bundles are unavailable; no runtime shell survives.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/resumen-desktop.png",
        "evidence/loaded-desktop.png"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "The page probe found no manifest URL and sw=false.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/page-probe.json"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Static asset failures are returned as HTTP 200 HTML and the page gives no failure state after 20 seconds.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/loaded-desktop.png"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "The document declares lang=es; the public interface is Spanish and Lighthouse html-has-lang passed.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "The successful Lighthouse render presents the intended Spanish election-results locale; no conflicting locale formatting was observed.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "reason": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "No purchase, subscription, consent wall, disguised ad or forced-continuity flow appears in the inspected results experience.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "reason": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "reason": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "reason": "This check is contextual and the inspected public results surface has no matching interaction or flow.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "The visible application assets identified by Lighthouse are predominantly SVG and local WOFF2; no raster image oversizing finding was reported.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "Third-party analytics accounts for 91.5% of captured bytes, while Lighthouse estimates 629 KiB unused JS and 37 KiB unused CSS.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F027"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct raw-CDP artifact and/or Lighthouse audit mapped to this exact check.",
      "evidence": "GTM/gtag transferred 288,557 bytes while the current app showed no content; known trackers include GTM and DoubleClick.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F028"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "Agent-facing capability is emerging and no declared agent surface exists; absence is an opportunity, not a defect.",
      "reason": "Agent-facing capability is emerging and no declared agent surface exists; absence is an opportunity, not a defect.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "Agent-facing capability is emerging and no declared agent surface exists; absence is an opportunity, not a defect.",
      "reason": "Agent-facing capability is emerging and no declared agent surface exists; absence is an opportunity, not a defect.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and rendered/DOM surface applicability review.",
      "evidence": "The current app cannot mount and therefore exposes no real representative interaction to repeat; fabricating one would not test the product.",
      "reason": "The current app cannot mount and therefore exposes no real representative interaction to repeat; fabricating one would not test the product.",
      "pathIds": [
        "entry",
        "results"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Baseline heap summary is proportionate at 119,336 nodes and 4,827,050 self-size bytes for the current state.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Check-specific review of raw-CDP and Lighthouse evidence.",
      "evidence": "Baseline heap top constructors contain no Detached* population; the current failed mount has no repeating interaction or growing DOM.",
      "pathIds": [
        "entry",
        "results"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F011",
        "F012",
        "F013"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F029"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F030",
        "F031",
        "F032"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F014",
        "F015"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F002",
        "F001",
        "F003"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F008",
        "F009",
        "F010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F016",
        "F017"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F018",
        "F019",
        "F020"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F021",
        "F022",
        "F023",
        "F024"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F025",
        "F026"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F004",
        "F005",
        "F006",
        "F007"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F027",
        "F028"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "Agent-facing capability is emerging and no declared agent surface exists; absence is an opportunity, not a defect."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "entry",
      "description": "Public entry route and bootstrap/primary-results journey. Tested desktop, mobile, dark preference, reduced motion, no-JS crawler, network, security and memory baseline. Represents the shared Angular shell.",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "conditions": [
        "desktop",
        "viewport 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "JavaScript disabled crawler",
        "20-second wait"
      ],
      "result": "issues"
    },
    {
      "id": "results",
      "description": "Direct /main/resumen results route, selected as the primary detail/dashboard archetype. Raw-CDP remained blank; Lighthouse captured a successful mobile render. Other result/filter subroutes were not covered because the global asset failure prevented navigation and they share this shell.",
      "url": "https://resultadosegundavuelta.onpe.gob.pe/main/resumen",
      "conditions": [
        "desktop",
        "mobile Lighthouse throttling",
        "20-second wait"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "critical",
      "confidence": "high",
      "summary": "The election-results application is currently a blank page, so its primary task cannot be completed.",
      "evidence": "Repeated desktop and mobile screenshots, DOM probes after 20 seconds, and direct requests show an empty <app-root>. Hashed JS, CSS and image URLs return the 16,591-byte index HTML with content-type text/html and CloudFront x-cache: Error, so the SPA cannot mount.",
      "artifacts": [
        "evidence/loaded-desktop.png",
        "evidence/loaded-mobile.png",
        "evidence/loaded-content.json",
        "evidence/entry-dom.json"
      ],
      "suggestedFix": "Restore the deployed hashed assets and configure the SPA fallback to serve index.html only for navigation requests, never for static asset paths. Add deployment smoke tests that assert JS/CSS MIME types and non-empty rendered results.",
      "effort": "medium"
    },
    {
      "id": "F002",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-purpose-and-primary-action",
      "guidanceId": "html",
      "guidanceCategory": "user-experience",
      "severity": "critical",
      "confidence": "high",
      "summary": "No purpose, result, or next action is visible in the live page.",
      "evidence": "The 20-second evaluate probe reports empty body text, zero headings, zero links, zero buttons and an empty app-root.",
      "artifacts": [
        "evidence/loaded-content.json",
        "evidence/loaded-desktop.png"
      ],
      "suggestedFix": "Render a server-delivered heading and status/results summary before hydration, with a clear route to detailed results.",
      "effort": "medium"
    },
    {
      "id": "F003",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Asset failure produces no loading, error, retry, or fallback state.",
      "evidence": "After 20 seconds the viewport remains blank and contains no recovery control or status message.",
      "artifacts": [
        "evidence/loaded-desktop.png",
        "evidence/loaded-content.json"
      ],
      "suggestedFix": "Ship a static app-shell error boundary with timeout detection, useful status text, and a retry plus alternate official-results link.",
      "effort": "medium"
    },
    {
      "id": "F004",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "consistent-cross-document-transitions",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Core election results are unavailable without successful JavaScript execution.",
      "evidence": "Raw HTML contains only an empty app-root; crawler evidence reports three raw content tokens and no h1, while the current JS assets fail to load as executable JavaScript.",
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-crawler.png",
        "evidence/entry-dom.json"
      ],
      "suggestedFix": "Server-render the election summary and navigation, then hydrate enhancements. Keep meaningful content and links in the initial HTML.",
      "effort": "large"
    },
    {
      "id": "F005",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "conditional-async-dependencies",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "The runtime has a single point of failure at application bootstrap.",
      "evidence": "Both / and /main/resumen remain empty when the hashed bundles are unavailable; no runtime shell survives.",
      "artifacts": [
        "evidence/resumen-desktop.png",
        "evidence/loaded-desktop.png"
      ],
      "suggestedFix": "Add a non-JavaScript fallback and bootstrap error boundary that remains outside the Angular mount and can report/retry failures.",
      "effort": "medium"
    },
    {
      "id": "F007",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Network and deployment failures collapse to a blank screen.",
      "evidence": "Static asset failures are returned as HTTP 200 HTML and the page gives no failure state after 20 seconds.",
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/loaded-desktop.png"
      ],
      "suggestedFix": "Return correct 404/5xx statuses for missing assets and render actionable network/error states with retry and last-known results.",
      "effort": "medium"
    },
    {
      "id": "F008",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "The last successful Lighthouse render was slow: LCP 12.7 s and FCP 4.9 s.",
      "evidence": "Lighthouse measured LCP 12,722 ms, FCP 4,874 ms, CLS 0.094 and TBT 72 ms, scoring performance 0.60. Current raw-CDP traces cannot paint the broken app at all.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/load-trace-summary.json"
      ],
      "suggestedFix": "Prioritize the result heading/LCP content, remove bootstrap dependency chains, and server-render initial results. Re-test LCP under representative mobile throttling.",
      "effort": "large"
    },
    {
      "id": "F015",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus is globally hidden.",
      "evidence": "The global rule * { outline: 0 !important } removes focus indication from all controls; Lighthouse also found an unnamed menu button.",
      "artifacts": [
        "evidence/entry-dom.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Delete the blanket outline rule and provide a high-contrast :focus-visible ring without removing native fallback focus.",
      "effort": "small"
    },
    {
      "id": "F017",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "The successful render had no main landmark, and focus visibility is removed globally.",
      "evidence": "Lighthouse landmark-one-main failed; captured CSS sets outline:0!important on every element.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/entry-dom.json"
      ],
      "suggestedFix": "Wrap primary results in <main>, preserve a logical heading order, and restore visible keyboard focus.",
      "effort": "small"
    },
    {
      "id": "F019",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Static assets are unsafely deployed and several images lack intrinsic dimensions.",
      "evidence": "JS/CSS/SVG paths currently return HTML. Lighthouse also flagged five unsized images, creating layout-shift risk.",
      "artifacts": [
        "evidence/entry-dom.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Fix asset routing/MIME types and set width/height or aspect-ratio on every image.",
      "effort": "medium"
    },
    {
      "id": "F022",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Core navigation and content are not crawlable.",
      "evidence": "Raw HTML has no content links; Lighthouse found a pseudoLink anchor without href, and /robots.txt returns the SPA HTML with 52 syntax errors.",
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/seo-probe.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Use real href values for navigation and publish a valid text/plain robots.txt.",
      "effort": "small"
    },
    {
      "id": "F009",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Static delivery is misconfigured and useful cache headers are absent on hashed assets.",
      "evidence": "HAR hygiene flags missing cache headers for hashed JS/font assets; direct asset responses return index HTML instead of the requested MIME type.",
      "artifacts": [
        "evidence/network.har",
        "evidence/network-summary.json"
      ],
      "suggestedFix": "Serve immutable hashed assets with correct MIME types and Cache-Control: public,max-age=31536000,immutable; reserve no-cache for index.html.",
      "effort": "medium"
    },
    {
      "id": "F010",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The successful build shipped substantial unused code.",
      "evidence": "Lighthouse estimated 629 KiB unused JavaScript, including 517 KiB from main and about 127 KiB across GTM/gtag, plus 37 KiB unused CSS (90%).",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Route-split the Angular application, remove unused CSS, and load analytics only after consent/idle where justified.",
      "effort": "medium"
    },
    {
      "id": "F011",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page has no system-driven dark theme.",
      "evidence": "Under prefers-color-scheme: dark the blank surface remains #f8f8f8; computed color-scheme is normal and the CSS contains no dark-mode media rule.",
      "artifacts": [
        "evidence/dark.png",
        "evidence/entry-dom.json"
      ],
      "suggestedFix": "Declare color-scheme: light dark and define semantic surface/text tokens under prefers-color-scheme, ensuring the results view remains legible.",
      "effort": "small"
    },
    {
      "id": "F012",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Reduced-motion preference is not handled.",
      "evidence": "The reduced-motion probe matched reduce but found no prefers-reduced-motion CSS; global scroll-behavior remains smooth.",
      "artifacts": [
        "evidence/reduced-motion-probe.json"
      ],
      "suggestedFix": "Disable smooth scrolling and non-essential motion under @media (prefers-reduced-motion: reduce).",
      "effort": "small"
    },
    {
      "id": "F013",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "Global CSS suppresses focus outlines and contains no high-contrast adaptation.",
      "evidence": "The rendered CSS applies outline:0!important to every element; no forced-colors/prefers-contrast rule was found and computed outlines are none.",
      "artifacts": [
        "evidence/entry-dom.json"
      ],
      "suggestedFix": "Remove the global outline reset and add forced-colors/prefers-contrast styles that preserve native control boundaries and focus indicators.",
      "effort": "small"
    },
    {
      "id": "F016",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "The menu toggle lacks an accessible name.",
      "evidence": "Lighthouse button-name identifies button#sidebarToggle with no visible text, aria-label, aria-labelledby or title.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Give the toggle an explicit accessible name such as aria-label=\"Abrir menú\" and update it when expanded.",
      "effort": "trivial"
    },
    {
      "id": "F018",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "The application emits CSP and fetch errors.",
      "evidence": "Lighthouse errors-in-console records blocked region1.analytics.google.com connections and failed analytics fetches caused by CSP.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Either remove the unneeded analytics requests or align a deliberately narrow CSP with the exact endpoint; do not leave repeated blocked requests in production.",
      "effort": "small"
    },
    {
      "id": "F021",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "The title exists but the page has no meta description.",
      "evidence": "DOM has title ONPE - PRESENTACIÓN DE RESULTADOS and no meta[name=description]; Lighthouse meta-description failed.",
      "artifacts": [
        "evidence/page-probe.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Add a concise Spanish description naming the 2026 second-round election results and ONPE.",
      "effort": "trivial"
    },
    {
      "id": "F023",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "Canonical, sitemap and valid robots signals are absent.",
      "evidence": "The SEO probe found no canonical; /sitemap.xml and /robots.txt both return index HTML with status 200.",
      "artifacts": [
        "evidence/seo-probe.json"
      ],
      "suggestedFix": "Publish valid robots.txt and sitemap.xml, add a canonical URL, and return correct content types/statuses.",
      "effort": "small"
    },
    {
      "id": "F025",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "Analytics cookies are missing Secure and use SameSite=None for 400 days; CSP also permits unsafe-inline and unsafe-eval.",
      "evidence": "Cookie audit found _ga and _ga_THMBN2T4BS without Secure, both SameSite=None and 400-day expiry. Header audit flags unsafe-inline/unsafe-eval.",
      "artifacts": [
        "evidence/cookies.json",
        "evidence/headers.json"
      ],
      "suggestedFix": "Set analytics cookies Secure with an appropriate SameSite policy and shorter retention; migrate scripts/styles to nonces or hashes and remove unsafe-eval.",
      "effort": "medium"
    },
    {
      "id": "F026",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "medium",
      "confidence": "high",
      "summary": "Tracking dominates the network before any useful result appears.",
      "evidence": "HAR reports 9/15 requests and 289,128/316,075 transferred bytes third-party (91.5%); tracker audit identifies GTM and DoubleClick.",
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Audit whether each analytics/advertising endpoint is necessary for a public election-results service, gate non-essential tracking on consent, and batch/minimize collection.",
      "effort": "medium"
    },
    {
      "id": "F027",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "Most transferred bytes and much of the shipped code do not support the visible task.",
      "evidence": "Third-party analytics accounts for 91.5% of captured bytes, while Lighthouse estimates 629 KiB unused JS and 37 KiB unused CSS.",
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Remove or defer non-essential trackers, code-split routes and eliminate unused CSS/JS.",
      "effort": "medium"
    },
    {
      "id": "F028",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "The third-party budget is disproportionate to a public results page.",
      "evidence": "GTM/gtag transferred 288,557 bytes while the current app showed no content; known trackers include GTM and DoubleClick.",
      "artifacts": [
        "evidence/network-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Set a strict third-party byte/request budget and load only essential, privacy-reviewed analytics after core content.",
      "effort": "small"
    },
    {
      "id": "F006",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "low",
      "confidence": "high",
      "summary": "The app has no manifest, service-worker controller, or offline fallback.",
      "evidence": "The page probe found no manifest URL and sw=false.",
      "artifacts": [
        "evidence/page-probe.json"
      ],
      "suggestedFix": "For this public results app, add a manifest and a service worker that caches the shell and most recently viewed published results, with an explicit stale/offline label.",
      "effort": "large"
    },
    {
      "id": "F014",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "The CSS evidence shows viewport breakpoints but no component/container responsiveness.",
      "evidence": "DOM CSS includes max-width media queries while computed container-type is normal and no @container rule appears in captured CSS.",
      "artifacts": [
        "evidence/entry-dom.json"
      ],
      "suggestedFix": "Use container-type and @container for reusable result cards, filters and navigation modules that appear at different widths.",
      "effort": "medium"
    },
    {
      "id": "F020",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Production debugging and inspector hygiene are incomplete.",
      "evidence": "Lighthouse reports the large main bundle has no source map and records CSP inspector issues; BFCache itself passed.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Publish restricted production source maps to error tooling and resolve CSP inspector violations.",
      "effort": "small"
    },
    {
      "id": "F024",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Election-result pages expose no structured data or social preview metadata.",
      "evidence": "The SEO probe found zero Open Graph tags and zero JSON-LD blocks.",
      "artifacts": [
        "evidence/seo-probe.json"
      ],
      "suggestedFix": "Add accurate Open Graph metadata and appropriate schema.org Dataset/GovernmentOrganization JSON-LD matching visible results.",
      "effort": "small"
    },
    {
      "id": "F029",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Modern navigation/interaction guidance is not implemented for this results SPA.",
      "evidence": "No View Transition API usage or transition evidence is present; navigation either fails or swaps without a rendered continuity cue.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "suggestedFix": "Use the mapped declarative platform primitive where the interaction exists, with reduced-motion fallback.",
      "effort": "medium"
    },
    {
      "id": "F030",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-progress-indicator",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Modern navigation/interaction guidance is not implemented for this results SPA.",
      "evidence": "The long results experience provides no evidenced scroll-state-aware chrome or progress affordance.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "suggestedFix": "Use the mapped declarative platform primitive where the interaction exists, with reduced-motion fallback.",
      "effort": "medium"
    },
    {
      "id": "F031",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Modern navigation/interaction guidance is not implemented for this results SPA.",
      "evidence": "The successful Lighthouse DOM shows an Angular Material menu trigger, with no native popover/CSS anchor positioning evidence.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "suggestedFix": "Use the mapped declarative platform primitive where the interaction exists, with reduced-motion fallback.",
      "effort": "medium"
    },
    {
      "id": "F032",
      "pathId": "entry",
      "url": "https://resultadosegundavuelta.onpe.gob.pe",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "directional-navigation-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Modern navigation/interaction guidance is not implemented for this results SPA.",
      "evidence": "No rendered navigation attention cues survive in the current app; the blank route offers no orientation.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/loaded-desktop.png"
      ],
      "suggestedFix": "Use the mapped declarative platform primitive where the interaction exists, with reduced-motion fallback.",
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Restore correct static asset deployment and add a resilient server-rendered fallback",
      "priority": 1,
      "findingIds": [
        "F001",
        "F002",
        "F003",
        "F004",
        "F005",
        "F007",
        "F019"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Server-render and prioritize the initial election-result summary",
      "priority": 2,
      "findingIds": [
        "F004",
        "F008"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Restore keyboard focus, landmarks and accessible menu naming",
      "priority": 3,
      "findingIds": [
        "F013",
        "F015",
        "F016",
        "F017"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Fix crawl/index metadata, robots, sitemap and real links",
      "priority": 4,
      "findingIds": [
        "F021",
        "F022",
        "F023",
        "F024"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Cut and defer unused application and analytics code",
      "priority": 5,
      "findingIds": [
        "F009",
        "F010",
        "F026",
        "F027",
        "F028"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Harden CSP and analytics cookie/privacy behavior",
      "priority": 6,
      "findingIds": [
        "F018",
        "F025",
        "F026"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Add system preference styles and modern responsive/navigation cues",
      "priority": 7,
      "findingIds": [
        "F011",
        "F012",
        "F013",
        "F014",
        "F029",
        "F030",
        "F031",
        "F032"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Add a manifest and bounded offline/last-known-results fallback",
      "priority": 8,
      "findingIds": [
        "F006"
      ],
      "guidanceId": "performance",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 2,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-23T01-11-14-329Z"
}
