~/bend-docscommunity

src/rules/laws/trace.bend fails

raw source on the hub · import 0xde9bb08f7de298b03207fb5797ede9a5/src/rules/laws/trace.bend as Trace

rule trace (project-wide, opt-in): SPEC.md and the laws agree. SPEC.md, read from the directory bolt runs in, lists requirements in tables whose header is exactly | ID | Requirement | Level | Status | Law |, and trust rows in tables headed | ID | Assumption | Why it is trusted |. An ID is uppercase letters and digits in two or more segments joined by - (BOLT-CFG-1); a law proves one when a line of its comment block is exactly that ID (# BOLT-CFG-1). A Proved row, proved or pending, is a claim: a proved row's Law cell names the laws that prove it, and a pending row's may name laws that prove part of it while the row stays pending. The findings: a row that is not a well-formed requirement or trust row, an ID that does not match the pattern included; an ID listed twice; a proved row whose Law cell names no law; a Trusted row that names a law; a Law entry of a Proved row, proved or pending, whose law is missing, has no for/exs binder, or lacks the row's tag; a Trusted row with no trust row; and a tag naming an ID SPEC.md does not list as Proved, proved or pending. A Law entry is <path> <law>, the path relative to SPEC.md, entries joined by ; . Only a bolt.bend that names the rule turns it on (src/config.bend). It runs only when bolt lints the whole tree, never over files named on the line.

5 imports
import Base
import ../../finding.bend as F
import ../digest.bend as Digest
import ../imports.bend as Imports
import ../../lazy/lazy.bend as Lazy