pub struct VaultSummary {Show 15 fields
pub project: String,
pub total_nodes: usize,
pub total_edges: usize,
pub node_counts: Vec<(String, usize)>,
pub edge_provenance: Vec<(String, usize)>,
pub adrs: Vec<AdrEntry>,
pub debt: Vec<(String, usize)>,
pub densest_files: Vec<DensityEntry>,
pub config_secrets: Option<ConfigSecretSummary>,
pub most_called: Vec<CouplingEntry>,
pub repo_url: Option<String>,
pub commit: Option<String>,
pub settings: RenderedUnder,
pub findings: Vec<FindingEntry>,
pub coverage: Coverage,
}Expand description
Aggregate figures for the vault’s _Home overview note.
Fields§
§project: StringName of the scanned project (repository directory).
total_nodes: usizeTotal node and edge counts.
total_edges: usizeTotal edge count.
node_counts: Vec<(String, usize)>(kind, count) for each node kind, most-frequent first.
edge_provenance: Vec<(String, usize)>(provenance, edge count) — derived / authored / inferred.
adrs: Vec<AdrEntry>The ADRs, with status.
debt: Vec<(String, usize)>(category, count) of intent-debt markers.
densest_files: Vec<DensityEntry>The files where that debt is most concentrated, already ranked and capped by the caller. Empty when the graph has no markers, or when no file carrying one has a recorded length.
config_secrets: Option<ConfigSecretSummary>Secret-named config keys and their redaction state. None when the graph
holds no secret-named config key — the section is then absent rather than
rendering a row of zeroes, which would read as a clean bill of health this
lens cannot give.
most_called: Vec<CouplingEntry>The most depended-on symbols by directed call fan-in, already ranked
and capped by the caller. Empty when the graph has no calls edges.
repo_url: Option<String>Web root of the repository (https://host/owner/repo), if derivable from
the git remote — for a “Repository” link in the overview, and the
clone-from column of a workspace vault’s manifest (#442 part 2).
The web root rather than the raw origin fetch URL on purpose: a vault is
made to be handed to someone, and git@host:owner/repo.git is only
actionable for a reader who already has SSH access to that host.
It is where the code lives, not a guaranteed clone URL, and the
manifest says so. repo_web_root normalises a remote to https://host/…,
which clones on the common forges and may not on an unusual one, and says
nothing about whether the reader can read a private repository. A manifest
that promised “clone from here” would be making a claim it cannot check.
commit: Option<String>Hex commit the graph was rendered from, for a permalink note — and, in a workspace vault, the commit this member is pinned at.
With Self::repo_url it is what makes a workspace vault replicable
rather than merely browsable: “here is my workspace” is far less useful
than “here is my workspace at these commits”, and it is what lets a
reader tell a stale vault from a current one instead of guessing.
settings: RenderedUnderThe enabled [ingest] toggles this member was extracted under, by
name (prose, pdf, …), and its [debt] ignore globs.
The manifest’s third leg, after clone URL and commit: those two get a
reader the same source, and these two are what decide whether the same
source produces the same vault. [ingest] prose off means notes with no
captured content; a [debt] ignore glob means the debt figures on this
page are already filtered. Without them “reproducible” means “you can
obtain the code”, which is a weaker claim than the section makes.
findings: Vec<FindingEntry>This member’s stored analyzer findings (ADR-0012), ordered most severe
first by the caller. Rendered in a workspace vault’s _Home; read
together with Self::coverage, which is what says whether an empty
list means anything at all.
coverage: CoverageWhether an analyzer has ever run against this member — the context that
makes an empty Self::findings readable rather than reassuring. See
Coverage.
Trait Implementations§
Source§impl Clone for VaultSummary
impl Clone for VaultSummary
Source§fn clone(&self) -> VaultSummary
fn clone(&self) -> VaultSummary
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more