Glossary
Key terms used throughout nfr-review documentation and output.
ADR (Architecture Decision Record) : A document recording a significant architectural decision, its context, and consequences. nfr-review detects and analyses ADR documents for lifecycle compliance.
Band : A classification tier for rules based on analysis depth. Band 1 is static analysis, Band 2 uses LLM or multi-source composition, Band 3 analyses runtime traces.
Baseline : A saved snapshot used for comparison in subsequent scans. Finding baselines track known issues; design-change baselines track structural metrics.
Collector
: A component that extracts data from a repository and emits Evidence
records. Each collector targets a specific technology or file type.
Compliance framework : A set of controls or criteria that rules map to (SOC 2, ISO 27001, PCI DSS, NIST 800-53). Used for filtered audit reports.
Design-change trigger
: A finding generated when structural metrics drift beyond configured
thresholds between baseline scans. Rule ID: design-change-trigger.
Engine
: The orchestrator that runs collectors, passes evidence to rules, and
collects results. Supports parallel execution via --workers.
Evidence
: A typed data record emitted by a collector. Contains a kind (subtype),
locator (file path), and payload (structured data).
Evidence kind : The subtype identifier on evidence records. Rules filter evidence by kind to receive only the data they can analyse.
FieldRule : The recommended base class for writing rules. Handles evidence filtering, payload coercion, and finding construction automatically.
Finding
: The output of a rule evaluation. Contains a rule_id, rag status,
severity, summary, evidence_locator, and recommendation.
Grade : A letter grade (A through F) derived from the maturity score. A = 90-100, B = 75-89, C = 60-74, D = 45-59, F = 0-44.
Hit
: A lightweight issue record yielded by a FieldRule.check() method. Hits
are wrapped into full Finding objects by the framework.
Hygiene : The repository hygiene audit subsystem. Checks operational readiness (CI, licensing, documentation, build system) using a separate registry from core NFR rules.
Maturity score : A 0-100 score computed from findings, weighted by category. Higher is better. Used for quality gates and trend tracking.
NFR (Non-Functional Requirement) : A quality attribute (performance, security, reliability, maintainability) as opposed to a feature specification. nfr-review focuses on these.
OTLP (OpenTelemetry Protocol) : The protocol used for transmitting traces, metrics, and logs. nfr-review can receive OTLP traces for Band 3 dynamic analysis and production monitoring.
Payload
: The structured data carried by an evidence record. Typically a Pydantic
BaseModel subclass defined in collectors/payloads/.
Pattern tag
: A machine-readable label on findings (e.g. mutable-default,
design_change:class_count). Used for filtering and alerting.
RAG (Red-Amber-Green) : The traffic-light classification for findings. Red = violation, Amber = warning, Green = passing. Distinct from severity.
Registry : A named collection of collectors or rules. Auto-populated via module import side effects at startup.
Rule : A component that evaluates evidence and produces findings. Rules declare which collectors they need and are skipped when that evidence is unavailable.
Rules coverage : The fraction of applicable rules that actually ran. Low coverage means many rules were skipped (usually due to missing evidence).
SARIF (Static Analysis Results Interchange Format) : A JSON format for static analysis results. nfr-review outputs SARIF for integration with GitHub Security and IDEs.
Severity
: The impact level of a finding: critical, high, medium, low, or
info. Drives scoring deductions and CI gating.
Tech detection : The startup phase that scans the target repository to identify which technologies are present (Java, Python, Kubernetes, etc.). Results gate tech-specific collectors.