pub struct Vcs {Show 20 fields
pub commits_long: u32,
pub commits_recent: u32,
pub churn_long: u64,
pub churn_recent: u64,
pub authors_long: u32,
pub authors_recent: u32,
pub ownership_top_share: f64,
pub burst: f64,
pub bug_fix_commits: u32,
pub security_fix_commits: u32,
pub revert_commits: u32,
pub age_days: u32,
pub last_modified_days: u32,
pub change_entropy_long: f64,
pub change_entropy_recent: f64,
pub cochange_entropy_long: f64,
pub cochange_entropy_recent: f64,
pub risk_score: f64,
pub hotspot_score: Option<f64>,
pub author_ids: Option<Vec<String>>,
}vcs-git only.Expand description
Wire form of crate::vcs::Stats — per-file change-history metrics.
Always-slim by design (issue #635): the row carries only the metrics
that vary per file. The four constant stamps that hold across every
row of a single response — vcs_schema_version, risk_score_version,
long_window_days, recent_window_days — live exactly once in the
enclosing envelope (bca vcs’s Report, POST /vcs’s response, and
the /vcs/trend document), never repeated per row or per trend point.
The remaining field names are the nested vcs object’s output keys
verbatim (issue #684). All scores are ordinal. hotspot_score and
author_ids are elided when absent (no AST metrics alongside, and
--emit-author-details off, respectively). Gated behind the
vcs-git backend feature.
Fields§
§commits_long: u32Distinct commits in the long window.
commits_recent: u32Distinct commits in the recent window.
churn_long: u64Σ(added + deleted) lines in the long window.
churn_recent: u64Σ(added + deleted) lines in the recent window.
Distinct authors in the long window.
Distinct authors in the recent window.
Top-author edit share in [0, 1].
burst: f64commits_recent / commits_long, clamped to [0, 1].
bug_fix_commits: u32Long-window bug-fix commit count.
security_fix_commits: u32Long-window security-fix commit count.
revert_commits: u32Long-window revert commit count.
age_days: u32Days since the file’s first in-window commit (capped at window).
last_modified_days: u32Days since the file’s most recent in-window commit.
change_entropy_long: f64Change entropy (bits) over the long window — Hassan 2009 History Complexity Metric; higher means more scattered changes.
change_entropy_recent: f64Change entropy (bits) over the recent window.
cochange_entropy_long: f64Co-change graph entropy (bits) over the long window — arXiv
2504.18511; higher means changes ripple across more partners.
0.0 is computed (no co-changes), not missing.
cochange_entropy_recent: f64Co-change graph entropy (bits) over the recent window.
risk_score: f64Ordinal composite risk score.
hotspot_score: Option<f64>Complexity × recent-churn hotspot score, when AST metrics were computed alongside the history.
SHA-256-hashed canonical author identities, under
--emit-author-details.