Skip to main content

Module impact

Module impact 

Source
Expand description

Fallow Impact: local, opt-in value reporting.

Structs§

AttributionInput
AuditRunRecord
Record an audit run into the rolling store.
CloneInput
ContainmentEvent
FileFrontier
FindingInput
FrontierFinding
ImpactCounts
Per-category issue counts captured at a recorded run.
ImpactDigest
A due periodic value digest: the headline counters for “what has fallow done for you here”. Returned by take_due_digest at most once per DIGEST_INTERVAL_SECS per project.
ImpactRecord
ImpactReport
The rendered impact report, derived purely from the store (no analysis run).
ImpactStore
PendingContainment
ResolutionEvent
TrendSummary
A computed trend between the two most recent records.

Enums§

EnabledSource
Why Impact tracking is (or is not) active for a project. Project = an explicit per-repo enable; User = the user-global default with no per-repo decision; Default = off (no per-repo decision and no global default).
ImpactReportSchemaVersion
Wire-version discriminator for ImpactReport. Independent from the global SchemaVersion (the impact report versions on its own cadence) and from the on-disk STORE_SCHEMA_VERSION (the persisted store shape versions separately). Serializes as a string const so JSON consumers can switch on it, matching the other independently-versioned envelopes (e.g. CoverageAnalyzeSchemaVersion).
ImpactTrendDirection
Direction of a count trend between two recorded runs.
Scope

Functions§

build_report
collect_clone_findings
Collect clone-group identities (fingerprint, instance paths) from a duplication report. The fingerprint is content-derived (dup:<hash>), so it is stable across pure relocation.
collect_complexity_findings
Collect line-independent complexity finding identities (path, function name) from a health report. The function name is line-independent, so a function moving within its file keeps the same identity.
collect_dead_code_findings
decline_onboarding
Persist that the local user declined the agent onboarding prompt. Writes only to the user store; nothing is written into the repo.
disable
Disable Impact tracking. Retains existing history. Returns whether it was newly disabled (false if already off). Also records the explicit decision, so declining the impact opt-in on a never-enabled project (impact disable) persists “asked and said no” for the agent skill.
enable
Enable Impact tracking for THIS project (an explicit per-repo decision that overrides the user-global default). Writes nothing into the repo: the store lives in the user config dir.
load
Load the store. Missing or unreadable files fall back to defaults; unreadable files are warned about rather than silently disabling tracking.
record_audit_run
record_combined_run
Record a whole-project combined run into the project track.
render_human
Render the report as human-readable text.
render_json
Render the report as JSON.
render_markdown
Render the report as Markdown (paste-ready for a PR description or standup).
reset
Delete THIS project’s store file. Returns whether a file was removed.
reset_all
Delete the whole per-project impact dir (<config-dir>/fallow/impact/). Does NOT touch the global default toggle (impact.json): a data wipe should not silently re-disable an opt-in the user made. Returns whether the dir was present and removed.
resolved_project_key
The resolved (worktree-collapsed) project key for root, for display.
resolved_store_path
The resolved per-project store-file path for root, for status display (so a wrong key is debuggable). None when no config dir is resolvable.
set_global_default
Set the user-global default. Returns whether the value changed.
take_due_digest
Return the periodic value digest when it is due, stamping the store so the next one is at least DIGEST_INTERVAL_SECS away. Due means: tracking is enabled, there is non-zero value to report (anti-nag: a zero digest never surfaces), and the previous digest is older than the interval (or never happened). Best-effort like the rest of the store: a clean run that drops the emitted step simply defers the digest to the next interval.