Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

This section documents the architecture, design decisions, and internals of each component in the MRVA pipeline. It is intended for developers who want to understand, modify, or extend the system. If you only need to run the tools and generate reports, see the User Manual.

Chapters

Methodology

Describes the four-stage data pipeline: RawCuratedUnifiedOptimized. Each stage defines the shape and purpose of the data as it moves from SARIF JSON to a query-ready SQLite database.

Implementation

Documents the four components that realize the pipeline:

  • Create MRVA Analysis - Submitting a CodeQL variant analysis via the GitHub Code Scanning REST API. Covers controller repository requirements, runner configuration, query pack bundling, and the API request/response schema.
  • sarif-sql - A Go CLI that downloads SARIF artifacts and transforms them into a normalized SQLite database. Documents commands, global flags, authentication modes, and the database schema.
  • mrva-prep - A Go CLI that adds query-optimized indexes, extracts pre-aggregated dashboard metrics to dashboard.json, and gzip-compresses the database. Documents commands, flags, and aggregation queries.
  • mrva-reports - A Blazor WebAssembly application that renders the SQLite database as a static single-page dashboard in the browser. Covers the solution structure, technology stack, two-phase loading architecture, JavaScript interop, and SPA routing on GitHub Pages.