Important Architecture decisions for SilverBullet are captured as Architecture Decision Records (template: [^Library/Page Templates/ADR](^Library/Page Templates/ADR)). See Health for records due for review.
${query[ from p = index.pages("adr") group by p.status order by key select { Status = key, Count = #group } ]( from p = index.pages("adr") group by p.status order by key select { Status = key, Count = #group } )}
${query[ from p = index.pages("adr") where p.status ~= "superseded" and p.status ~= "deprecated" order by p.status, p.name select { ADR = "[[" .. p.name .. "]( from p = index.pages("adr") where p.status ~= "superseded" and p.status ~= "deprecated" order by p.status, p.name select { ADR = "[[" .. p.name .. ")", Owner = p.owner, Decided = p.date } ]]}
${query[ from p = index.contentPages("adr") where p.status == "superseded" or p.status == "deprecated" order by p.name select { Status = p.status, ADR = "[[" .. p.name .. "]( from p = index.contentPages("adr") where p.status == "superseded" or p.status == "deprecated" order by p.name select { Status = p.status, ADR = "[[" .. p.name .. ")", ["Superseded by"] = p.supersededBy, Owner = p.owner, Decided = p.date } ]]}
Dynamically generated from ADR defined relationships. Dotted edges mark supersession. Click a node to open the ADR.
${mermaid.diagram(mermaid.relationGraph { pages = query[from index.pages("adr")](from index.pages("adr")), direction = "TD", })}
${mermaid.diagram(mermaid.timeline{ pages = query[from index.pages("adr")](from index.pages("adr")), title = "ADR decision history" })}
${mermaid.diagram(mermaid.distribution{ pages = query[from index.pages("adr")](from index.pages("adr")), by = "status", title = "ADRs by status" })}