Skip to main content

Crate fallow_output

Crate fallow_output 

Source
Expand description

Reusable output contract types for fallow.

This crate owns stable report DTOs and output-format metadata that are not tied to CLI rendering. Higher-level output assemblers live above this crate in fallow-api or the CLI, while this crate remains the shared typed boundary those builders and non-CLI consumers can use.

Modules§

envelope
JSON-output envelope and utility types: SchemaVersion, ToolVersion, ElapsedMs, AuditIntroduced, plus the shared Meta, BaselineDeltas, BaselineMatch, RegressionResult, EntryPoints, and CheckSummary shapes referenced by every per-command envelope. The structs are always compiled (the JSON emission layer constructs them at runtime); the schemars::JsonSchema derive is gated per-struct on the schema feature. Typed envelope and utility-shape structs for the JSON output contract.
output
JSON-output augmentation types: IssueAction enum + variants. Schema-side counterpart of the augmentations the JSON layer adds to each dead-code finding. The structs are always compiled (typed dead-code wrappers in output_dead_code consume them at runtime); the schemars::JsonSchema derive is gated per-struct on the schema feature. Types that describe fallow’s JSON output contract.
output_dead_code
Typed envelope wrappers for the simple 1:1 dead-code findings (UnusedFile, PrivateTypeLeak, UnresolvedImport, CircularDependency, BoundaryViolation). Each wrapper flattens the bare finding via #[serde(flatten)] and carries a typed actions array populated at construction time, replacing the per-finding post-pass injection that previously grafted actions[] and introduced onto the schema. The introduced field is set by the audit pass via JSON map insertion and is None when serialized directly from Rust. The schemars::JsonSchema derive is gated per-struct on the schema feature. Typed envelope wrappers for the simple 1:1 dead-code findings whose actions are entirely determined by the wrapper type (no per-instance discriminants beyond what the bare finding already exposes).
output_health
Per-action types attached to health findings, hotspots, refactoring targets, and coverage-gap entries. Separated from the generic IssueAction tree in the output module so the health-specific variants live in a dedicated module. The structs are always compiled (the JSON emission layer constructs them through typed wrappers such as output_health::UntestedFileAction); the schemars::JsonSchema derive is gated per-struct on the schema feature. Per-action types attached to each health finding by the JSON output layer.

Structs§

AcceptedJudgment
One accepted judgment: the real anchored signal passed through with the agent’s framing FENCED as non-deterministic.
AgentJudgment
One agent judgment.
AgentSchema
The shape the agent must return, embedded in the guide so a thin skill needs no frozen copy. Documents the anchoring + staleness contract in the wire.
AgentWalkthrough
The agent’s returned judgment JSON.
AuditNextStepsInput
Runtime-independent inputs for audit next steps.
AuditOutput
fallow audit --format json envelope.
BoundariesListLogicalGroup
A pre-expansion autoDiscover logical group surfaced for observability. Captured during expansion so consumers can see the user-authored parent name and grouping intent after expansion would otherwise flatten it out of BoundariesListing::zones.
BoundariesListRule
A boundary import rule, expanded to operate on concrete child zone names after autoDiscover flattening. The user’s pre-expansion rule (keyed on the logical parent name, if any) is preserved on the corresponding BoundariesListLogicalGroup::authored_rule.
BoundariesListZone
A boundary zone after preset and autoDiscover expansion. Each entry classifies files into a single zone via glob patterns.
BoundariesListing
boundaries block carried by ListBoundariesOutput.
ChangeAnchor
One stable per-hunk CHANGE ANCHOR: a changed region the agent may cite as a judgment anchor IN ADDITION to a signal_id. Where a signal_id anchors a graph FINDING (“fallow emitted this exact finding”), a change_anchor anchors only a changed REGION (“fallow confirms this region changed”) , a strictly weaker guarantee, surfaced as anchor_kind on the accepted judgment so a consumer can tell the two apart. Graph/diff-derived; NEVER from prose.
CheckGroupedEntry
Single resolver bucket inside CheckGroupedOutput. Carries the group’s identifier, optional section owners, and a per-group flattened AnalysisResults.
CheckGroupedOutput
Envelope emitted by fallow dead-code --group-by ... --format json.
CheckOutput
Envelope emitted by fallow dead-code --format json (plus the check block inside the combined and audit envelopes).
CheckOutputInput
Inputs for building the dead-code JSON envelope.
CiIssue
Normalized CodeClimate issue used by CI comment renderers.
CloneFamilyAction
Per-action wire shape attached to each CloneFamilyFinding. Mirrors the action types previously emitted by build_clone_family_actions: extract-shared, one apply-suggestion per RefactoringSuggestion on the family, and a trailing suppress-line.
CloneGroupAction
Per-action wire shape attached to each CloneGroupFinding and AttributedCloneGroupFinding. Mirrors the action types previously emitted by inject_dupes_actions::build_clone_group_actions in crates/cli/src/report/json.rs: extract-shared plus suppress-line.
CloneSiblingEvidence
A duplicate-code sibling referenced in target evidence.
CodeClimateIssue
Single CodeClimate-compatible issue inside CodeClimateOutput.
CodeClimateIssueInput
Fields needed to build one CodeClimate issue.
CodeClimateLines
lines.begin for CodeClimateLocation.
CodeClimateLocation
Location block inside CodeClimateIssue::location.
CodeClimateOutput
Envelope emitted by fallow --format codeclimate and fallow --format gitlab-codequality. GitLab Code Quality consumes the same shape. The wire form is a bare JSON array, not an object.
CombinedMeta
Optional _meta block for CombinedOutput.
CombinedNextStepsInput
Runtime-independent inputs for bare fallow combined next steps.
CombinedOutput
Bare fallow --format json envelope.
ComplexityViolation
Inner complexity-violation payload.
ComponentRollup
ContainmentEvent
A commit-gate containment event recorded by fallow impact.
ContributingFactor
A contributing factor that triggered or strengthened a recommendation.
ContributorEntry
CoordinationGapFact
One coordination-gap entry: a changed file exports symbols consumed by a consumer_file that is NOT in the diff. Deduped per (changed, consumer) pair (firing-precision rule R2).
CoverageAnalyzeOutput
CoverageGapSummary
Aggregate coverage-gap counters for the current analysis scope.
CoverageGaps
Static test coverage gaps derived from the module graph. Shows runtime files and exports with no test dependency path.
CoverageIntelligenceAction
Machine-actionable next step for a coverage-intelligence finding.
CoverageIntelligenceEvidence
Compact evidence values that led to a recommendation.
CoverageIntelligenceFinding
One combined coverage-intelligence finding.
CoverageIntelligenceReport
Combined coverage, runtime, complexity, and change-scope verdicts.
CoverageIntelligenceSummary
Aggregate metadata for coverage-intelligence output.
CoverageSetupFileToEdit
CoverageSetupMember
CoverageSetupOutput
fallow coverage setup --json envelope.
CoverageSetupSnippet
CrossRepoImpactReport
The cross-repo aggregate report, fallow impact --all --format json.
CrossRepoProjectEntry
One project’s row in the cross-repo roll-up.
CrossRepoTotals
Grand totals across every tracked project (including repos whose directory no longer exists on disk: their past wins still count toward lifetime impact).
CssAnalyticsReport
Structural CSS analytics surfaced by fallow health --css.
CssAnalyticsSummary
Project-wide CSS analytics aggregates across every analyzed stylesheet (including stylesheets with no notable rule, which are not listed individually).
CssBlockOccurrence
One occurrence of a duplicate declaration block.
CssCandidateAction
A read-only verification step attached to a CSS cleanup candidate.
CssDuplicateBlock
A group of style rules across the project that share an identical declaration block: a copy-paste consolidation candidate (fallow’s duplication signal applied to CSS). Only blocks of 4+ declarations appearing in 2+ rules are reported, so the signal stays a strong copy-paste indicator rather than flagging legitimately-repeated small blocks.
CssFileAnalytics
Per-stylesheet CSS analytics.
CssNotationConsistency
A design-token notation-consistency candidate: the distinct notations used across the codebase for one value axis (today, length units on font-size), with a per-notation distinct-value count. Emitted only above a floor, since mixing notations for one axis is a “no single source of truth” smell. Advisory: the action is “standardize on one notation”, not a single search.
CssNotationCount
One notation bucket and the count of distinct values authored in it.
DeadCodeNextStepsInput
Runtime-independent inputs for standalone dead-code next steps.
Decision
One consequential structural decision, framed as a judgment question for a human with taste, anchored to a fallow-emitted signal.
DecisionAction
A structured action attached to a surfaced decision (the agent-actionable surface). Mirrors the typed-action shape the rest of fallow emits.
DecisionSurface
The ranked, capped decision surface plus the set of signal_ids the deterministic layer emitted (the anti-hallucination allowlist).
DecisionSurfaceOutput
The separable decision-surface envelope: the single call that puts taste- decisions in front of a human, callable WITHOUT the full pipeline (the decision_surface MCP tool’s output). Carries kind/schema_version plus structured actions[] per decision.
DecisionSurfaceSchemaVersion
Independently-versioned wire-version newtype. Serializes as the integer DECISION_SURFACE_SCHEMA_VERSION.
DecisionWithActions
One decision plus its structured actions[].
DiffIndex
Parsed, command-neutral index of files and added lines in a unified diff.
DiffTriage
Stage 0 of the brief: triage facts derived purely from the diff size.
DirectCallerEvidence
A direct importer referenced in target evidence.
DirectCallerSymbolEvidence
Symbol details for a direct importer.
DirectionUnit
One directed review unit projected from the graph: a file the change touches, the concern to check, the out-of-diff consumers it must account for, and the routed expert. Graph-derived only (routing + impact closure), NEVER from prose.
DupesNextStepsInput
Runtime-independent inputs for standalone duplication next steps.
DupesOutput
Envelope emitted by fallow dupes --format json.
DupesOutputInput
Inputs for constructing a DupesOutput without exposing envelope assembly details to callers.
EvidenceFunction
A function referenced in target evidence.
ExplainOutput
Envelope emitted by fallow explain <issue-type> --format json.
FeatureFlagAction
Per-finding action emitted for feature flag findings.
FeatureFlagDeadCodeOverlap
Dead-code overlap block attached when a flag guards unused exports.
FeatureFlagFinding
One feature flag finding in JSON output.
FeatureFlagsConfidenceMeta
Feature flag confidence explanations.
FeatureFlagsKindMeta
Feature flag kind explanations.
FeatureFlagsMeta
_meta.feature_flags details emitted with --explain.
FeatureFlagsMetaDetails
Feature flag explanatory metadata.
FeatureFlagsOutput
Envelope emitted by fallow flags --format json.
FeatureFlagsOutputInput
Inputs for building fallow flags --format json.
FileHealthScore
Per-file health score combining complexity, coupling, and dead code metrics.
FixJsonOutput
JSON root emitted by fallow fix --format json.
FixJsonOutputInput
Inputs for building fallow fix --format json.
FocusMap
The weighted focus map: the ranked review-here units plus the FULL deprioritized escape-hatch list, so nothing is hidden.
FocusScore
The composite attention score, with the four deterministic component sub-scores kept on the wire so the runtime seam can re-weight total without recomputing the signals.
FocusUnit
One review unit on the focus map: its file, composite score, label, human reason, and any confidence flags.
FrameworkHealthDetector
Status for one framework-specific health detector.
FrameworkHealthDiagnostics
Framework-specific health detector coverage surfaced for agent consumers.
GitHubReviewComment
GitHub pull-request review comment.
GitLabReviewComment
GitLab merge-request discussion comment.
GitLabReviewPosition
position block inside GitLabReviewComment. Mirrors the GitLab merge-request discussion-position API.
GraphFacts
Stage 1 of the brief: graph-derived orientation facts.
GroupedReviewIssues
HealthActionContext
Construction-time context for HealthFinding::with_actions.
HealthActionOptions
Options controlling how the action builder populates actions.
HealthActionsMeta
Auditable breadcrumb recording when health-finding suppress-line action hints were omitted from the report.
HealthConfiguredThresholds
Threshold values configured by a single override entry.
HealthEffectiveThresholds
Resolved thresholds used to evaluate a health finding.
HealthFinding
Wire envelope for a single complexity finding.
HealthGroup
A health report scoped to a single group.
HealthGrouping
Wrapper carrying the resolver mode label alongside the partitioned groups.
HealthJsonOutputInput
Inputs for serializing a health report into the root JSON contract.
HealthNextStepsInput
Runtime-independent inputs for standalone health next steps.
HealthOutput
Envelope emitted by fallow health --format json (plus the health block inside the combined and audit envelopes).
HealthOutputInput
Inputs for constructing a HealthOutput without exposing envelope assembly details to callers.
HealthReport
Result of complexity analysis for reporting.
HealthScore
HealthScorePenalties
Per-component penalty breakdown for the health score.
HealthSummary
Summary statistics for the health report.
HealthTimings
Detailed timing breakdown for the health pipeline.
HealthTrend
Trend comparison between the current run and a previous snapshot. Shows per-metric deltas with directional indicators.
HotspotEntry
A hotspot: a file that is both complex and frequently changing.
HotspotFinding
Wire envelope for a single hotspot entry.
HotspotSummary
ImpactClosureFacts
Stage 3 of the brief: the impact closure. The transitive affected-but-not-in-diff set plus the coordination gap. The differentiator a diff tool fundamentally cannot do, because it has no graph.
ImpactCounts
Per-category issue counts captured at a recorded run.
ImpactDigestCounts
Local impact digest counters used to render the impact-report next step.
ImpactReport
The rendered impact report, derived purely from the store.
InspectEvidence
InspectEvidenceSection
InspectFileIdentity
InspectOutput
Envelope emitted by fallow inspect --format json.
InspectSymbolIdentity
IssueOutputContract
Output-facing contract metadata for a serialized dead-code result row.
LargeFunctionEntry
A function exceeding the very-high-risk size threshold (>60 LOC).
ListBoundariesOutput
Envelope emitted by fallow list --boundaries --format json. Surfaces the architecture boundary zones, rules, and the user’s pre-expansion autoDiscover logical groups so consumers can render grouping intent that expansion would otherwise flatten out of zones[].
ListEntryPointOutput
One entry point in fallow list --entry-points --format json.
ListOutput
Plain body emitted by fallow list --format json before an optional command-specific root envelope is attached.
ListPluginOutput
One active plugin in fallow list --plugins --format json.
OwnershipMetrics
PartitionFacts
Stage 2 of the brief: the partition + order. The changed files split into coherent BY-MODULE units (the only byte-identical-deterministic clustering definition straight from the graph), plus a dependency-sensible review ORDER over those units (definitions before consumers, mechanical/leaf units last, ties broken by the path sort). Stage 2 sits UNDER the decision surface as a drill-down; it is the backbone the directed-review loop hands the agent.
PrCommentRenderInput
Inputs for rendering a sticky PR/MR summary comment.
ReactHookProfile
Per-component React hook profile derived from the cached hook_uses IR at the health layer. Descriptive context that refines the bare ComplexityViolation::react_hook_count headline with a per-kind breakdown and the maximum useEffect dependency-array arity.
RefactoringTarget
RefactoringTargetFinding
Wire envelope for a single refactoring target.
RejectedJudgment
One rejected judgment plus the reason it was rejected.
RenderFanInTopComponent
One located high-fan-in React/Preact component for the descriptive top_render_fan_in blast-radius list on VitalSigns.
ResolutionEvent
A resolved or suppressed finding attribution event.
ReviewBriefOutput
The full fallow audit --brief --format json envelope. Carries the informational verdict, the triage and graph-facts orientation stages, plus the reused “subtract” section (the same dead-code / duplication / complexity payload fallow audit --format json emits).
ReviewBriefSchemaVersion
Independently-versioned wire-version newtype for the brief envelope. Serializes as the integer REVIEW_BRIEF_SCHEMA_VERSION.
ReviewBriefSubtractSections
CLI-built audit subreports that are embedded in the audit brief envelope.
ReviewCommentRenderInput
ReviewDeltas
Diff-aware deterministic deltas (6.A), framed new-vs-pre-existing against the audit base snapshot. Each entry is a brief summary/verdict line.
ReviewDirection
The review direction artifact: the order to review in, the coherent units, and per-unit concern lens + out-of-diff + expert. A minimal projection of the EXISTING graph facts (routing units + impact closure); the full weighted-focus engine is a later epic. Graph-derived only (injection-resistant).
ReviewEnvelopeMeta
meta block inside ReviewEnvelopeOutput.
ReviewEnvelopeOutput
Envelope emitted by fallow --format review-github / review-gitlab.
ReviewEnvelopeRenderInput
Inputs for rendering a GitHub/GitLab review envelope.
ReviewEnvelopeRenderResult
Rendered review envelope plus side-channel signals for CLI telemetry.
ReviewEnvelopeSummary
Summary block on ReviewEnvelopeOutput.
ReviewEnvelopeTruncation
Truncation signals produced while rendering a review envelope.
ReviewGitlabDiffRefs
GitLab diff refs for a review-envelope position.
ReviewReconcileOutput
Envelope emitted by fallow ci reconcile-review --format json. Used by CI integrations to drive comment carry-over and stale-comment cleanup across PR / MR revisions.
ReviewUnitFact
One review unit: a coherent by-module cluster of the changed set.
RiskProfile
Risk profile: percentage of functions in each risk bin.
RoutingFacts
The full routing section: one unit per changed source file with a routable signal. Files with no ownership signal are omitted (no noise).
RoutingUnit
One routed unit with its experts and bus-factor flag.
RuntimeCoverageAction
Suggested follow-up action for a runtime coverage finding.
RuntimeCoverageBlastRadiusEntry
RuntimeCoverageCaptureQuality
Quality-of-capture signals emitted by the sidecar so the CLI can explain short-window captures honestly instead of letting users blame the tool.
RuntimeCoverageDiscriminators
Discriminator inputs that PRODUCED a finding’s verdict (fallow-rs/fallow-cloud#321), emitted alongside the verdict so an agent can reproduce it and see the minimum-observation confidence cap instead of re-deriving them from scratch. F4: these make the EXISTING Fallow-owned discriminators legible; they are not a new or external signal and gate nothing. Pairs with evidence.static_status (the static half of the discriminator set).
RuntimeCoverageEvidence
Supporting evidence for a finding (mirrors fallow_cov_protocol::Evidence).
RuntimeCoverageFinding
RuntimeCoverageHotPath
RuntimeCoverageImportanceEntry
RuntimeCoverageMessage
RuntimeCoverageProvenance
Provenance of a runtime-coverage report (fallow-rs/fallow-cloud#319), mirroring the cloud runtime-context provenance block so the local-capture and cloud surfaces present one portable shape. F4: provenance is context only; it never gates a verdict or confidence.
RuntimeCoverageReport
Runtime coverage findings merged into the health report or emitted by fallow coverage analyze. Present in health output when –runtime-coverage is used. Shape mirrors the runtime coverage JSON contract; cloud mode fetches runtime facts explicitly and merges them locally with AST/static analysis.
RuntimeCoverageSummary
Summary block mirroring fallow_cov_protocol::Summary (0.3 shape).
SarifDocumentInput
Fields needed to build a SARIF document envelope.
SarifResultInput
Fields needed to build one SARIF result object.
SarifRuleInput
Fields needed to build one SARIF rule object.
ScopedUnusedClasses
A Vue SFC’s <style scoped> classes that appear nowhere else in the component (cleanup candidates).
SecurityBlindSpotFile
One file inside a blind-spot group.
SecurityBlindSpotGroup
One actionable blind-spot group.
SecurityBlindSpotsOutput
The fallow security blind-spots --format json envelope.
SecurityBlindSpotsSummary
Aggregate counts for blind-spot output.
SecurityGate
The gate block on SecurityOutput, present only when --gate <mode> ran. Invariant: verdict == Fail IFF exit code 8 IFF new_count > 0.
SecurityOutput
The fallow security --format json envelope. FallowOutput discriminates it by the kind: "security" tag; the optional gate block is additive and is not part of that discrimination.
SecurityOutputConfig
Allowlisted config context for fallow security --format json.
SecurityOutputRulesConfig
SecurityReachabilityCounts
Fixed reachability counters for summary JSON.
SecurityRuleMeta
Output-facing metadata for one security rule.
SecurityRuleSeverityConfig
SecurityRuntimeStateCounts
Fixed runtime coverage counters for summary JSON.
SecuritySeverityCounts
Fixed severity counters for summary JSON.
SecuritySummary
Aggregate counts for fallow security --summary --format json.
SecuritySummaryOutput
Compact fallow security --summary --format json payload. Uses the same kind: "security" discriminator as the full payload, but omits candidate arrays and exposes only aggregate counts.
SecuritySurvivor
One verifier-retained candidate row.
SecuritySurvivorsOutput
The fallow security survivors --format json envelope.
SecuritySurvivorsSummary
Aggregate counts for survivor rendering.
SecurityUnresolvedCalleeDiagnostics
Bounded unresolved-callee diagnostics for fallow security --format json.
SecurityUnresolvedCalleeReasonCount
Count of unresolved callees for one reason.
SecurityUnresolvedCalleeSample
One sampled unresolved-callee row.
SecurityUnresolvedCalleeTopFile
Count of unresolved callees in one file.
SecurityVerifierVerdict
One supported verifier verdict input row.
TailwindArbitraryValue
A distinct Tailwind arbitrary-value utility token used in markup, with its total use count and first location (a design-token-bypass candidate).
TargetEvidence
Evidence linking a target back to specific analysis data.
TargetThresholds
Adaptive thresholds used for refactoring target scoring.
ThresholdOverrideMetrics
Current complexity metrics for a matched threshold override entry.
ThresholdOverrideState
Report entry describing whether a threshold override is active, stale, or no longer matching any analyzed file or function.
TraceUnusedExportInput
Deterministic unused-export trace target selected by the caller.
TrendCount
Raw numerator/denominator for a percentage metric.
TrendMetric
A single metric’s trend between two snapshots.
TrendPoint
A reference to a snapshot used in trend comparison.
TrendSummary
A computed trend between the two most recent records.
TruncationNote
A note for decisions collapsed below the cap.
TsAliasMeta
TypeScript backwards-compat alias emitted for a dead-code result row.
UndefinedKeyframes
An animation reference (animation / animation-name) to a @keyframes name that is defined in no stylesheet anywhere in the project (the “used-but-undefined” direction). Usually a typo or a removed animation; occasionally a @keyframes defined in CSS-in-JS the CSS parser never sees.
UnreferencedCssClass
A global CSS class defined in a plain .css/.scss rule whose literal name is referenced by no in-project markup (the CSS analogue of an unused export). A heavily-gated candidate, never a gated finding: the class may be applied from an HTML email, server template, CMS, or Markdown the parser never sees.
UnreferencedKeyframes
A @keyframes defined in a stylesheet but referenced by no animation in any stylesheet (cleanup candidate).
UnresolvedClassReference
A static class / className token in markup that matches no CSS class defined anywhere in the project but is one edit away from a class that IS defined (a likely typo or stale rename). The CSS analogue of an unresolved import. A candidate, never a gated finding: the token could be defined in CSS-in-JS or an external stylesheet the parser never sees.
UntestedExport
Runtime export that no test-reachable module references.
UntestedExportFinding
Wire-shape envelope for an UntestedExport finding. Same pattern as UntestedFileFinding: flattens the bare finding and carries a typed actions array computed at construction time.
UntestedFile
Runtime code that no test dependency path reaches.
UntestedFileFinding
Wire-shape envelope for an UntestedFile finding. Carries the bare UntestedFile flattened in plus a typed actions array. The action vec is computed at construction time using a project-root-relative path so descriptions match strip_root_prefix’s post-pass output on the inner path field. Schemars derives the merged shape natively; this retires the augment_finding_definition graft for UntestedFile.
UnusedAtRule
An unused CSS at-rule entity (an @property registration with no var() reference, or an @layer declaration never populated), located by its first definition. A cleanup candidate, never a gated finding.
UnusedFontFace
An @font-face family declared in a stylesheet but referenced by no font-family anywhere in the project: a dead web-font payload. A cleanup candidate (the family could be applied from inline styles or JavaScript).
UnusedThemeToken
A Tailwind v4 @theme design token defined in a stylesheet whose generated utility, var() reads, and arbitrary-value references appear nowhere in the project: a dead design token (the unused-export of the token era). A candidate, never a gated finding: the token could be consumed by a Tailwind plugin, a published design-system surface, or a non-CSS-aware build step the scan cannot see (those cases are gated out before this is emitted).
VitalSigns
Project-wide vital signs: a fixed set of metrics for trend tracking.
VitalSignsCounts
Raw counts backing the vital signs percentages.
VitalSignsSnapshot
A point-in-time snapshot of project vital signs, persisted to disk.
WalkthroughGuide
The fallow review --walkthrough-guide envelope: the current digest + schema the agent fetches. The tool owns this; the skill stays thin (it fetches this rather than embedding a frozen copy). Always emitted with exit 0.
WalkthroughValidation
The fallow review --walkthrough-file validation envelope: the result of post-validating the agent’s judgment against the live graph. Always exit 0.
WeakeningSignal
One weakening signal: a category, the file it was detected in, and a short human-readable evidence string. Reviewer-private; never gates.
WorkspaceInfo
One workspace package emitted by fallow workspaces --format json.
WorkspacesOutput
fallow workspaces --format json envelope.

Enums§

AuditCommand
Audit command singleton carried by AuditOutput.
CiProvider
Supported CI review providers for generated comments.
CloneFamilyActionType
Discriminant for CloneFamilyAction::kind.
CloneGroupActionType
Discriminant for CloneGroupAction::kind. Mirrors the action types emitted by the legacy build_clone_group_actions walker.
CodeClimateAnnotationField
Optional grouped CodeClimate annotation field.
CodeClimateIssueKind
Discriminator value for CodeClimateIssue::kind.
CodeClimateSeverity
CodeClimate severity scale.
Confidence
Confidence level for a refactoring recommendation.
ConfidenceFlag
A per-unit confidence flag. The EXACT panel-decided strings: a dynamically- wired or re-export-heavy unit carries one so its static-reachability signal is not trusted as complete (the anti-silent-de-prioritization guard). The flag NEVER lowers the score; it is advisory provenance.
ContributorIdentifierFormat
CoverageAnalyzeSchemaVersion
CoverageIntelligenceConfidence
Confidence in the joined evidence and resulting recommendation.
CoverageIntelligenceMatchConfidence
Confidence tier for the cross-surface evidence match.
CoverageIntelligenceRecommendation
Recommended action family for a combined finding.
CoverageIntelligenceSchemaVersion
Coverage-intelligence JSON contract version. Scoped to the coverage_intelligence block and independent of the top-level fallow JSON schema_version.
CoverageIntelligenceSignal
Ordered evidence signals behind a coverage-intelligence finding.
CoverageIntelligenceVerdict
Headline verdict for the combined coverage-intelligence report.
CoverageModel
Coverage model used for CRAP score computation.
CoverageSetupFramework
CoverageSetupPackageManager
CoverageSetupRuntimeTarget
CoverageSetupSchemaVersion
CoverageSource
Provenance of a CRAP finding’s coverage signal.
CoverageSourceConsistency
Whether CRAP findings in the report used one coverage-source kind or a mix.
CoverageTier
Coverage tier classification for CRAP findings.
CrossRepoImpactSchemaVersion
Independent wire-version for the cross-repo report, on its own cadence (it versions separately from the per-project ImpactReportSchemaVersion and the on-disk STORE_SCHEMA_VERSION).
CssCandidateActionType
Discriminant for CssCandidateAction::kind.
DecisionActionType
The discriminated action kinds a decision can carry.
DecisionCategory
The exactly-three shippable decision categories (the SOLID-3). No cut category (abstraction / deletion / convention / irreversibility) is representable: this enum is the structural guarantee that confirmed-noise categories never ship.
EffortEstimate
A ranked refactoring recommendation for a file.
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).
ExceededThreshold
Which complexity threshold was exceeded.
FallowOutput
Typed root of every fallow JSON envelope shape that serializes as a JSON object and participates in the documented FallowOutput contract. The schema derived from this enum drives the document-root oneOf in docs/output-schema.json.
FeatureFlagActionType
Feature flag action discriminants.
FeatureFlagConfidence
Feature flag confidence values emitted in JSON.
FeatureFlagKind
Feature flag kind values emitted in JSON.
FindingSeverity
Severity tier indicating how far a function exceeds complexity thresholds.
FocusLabel
The focus label for a review unit. EXACTLY two variants: Skip is NOT representable, so the type system is the guarantee that free mode never emits a skip label (safe explicit-skip is paid, runtime-backed only). Mirrors the decision surface’s “cut category not representable” structural posture.
FrameworkHealthDetectorStatus
Detector status codes for framework health observability.
GitHubReviewSide
Singleton side discriminator for GitHubReviewComment::side.
GitLabReviewPositionType
Singleton position-type discriminator for GitLabReviewPosition.
GroupByMode
Resolver mode label for grouped envelopes (dead-code, dupes, health).
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.
InspectEvidenceScope
InspectIdentity
InspectSectionStatus
InspectTargetDescriptor
OutputFormat
Output format for fallow results.
OwnershipState
RecommendationCategory
Category of refactoring recommendation.
ReviewCheckConclusion
meta.check_conclusion for the GitHub review envelope. Maps to the GitHub Checks API conclusion field.
ReviewComment
Per-line review comment. Schema is an anyOf between GitHub and GitLab shapes; at runtime every entry in a single envelope comes from the same provider because the envelope is built from one provider’s branch in crates/cli/src/report/ci/review.rs::render_review_envelope.
ReviewEffort
Suggested reviewer effort, a pure function of RiskClass.
ReviewEnvelopeEvent
Singleton GitHub review-event marker.
ReviewEnvelopeSchema
Schema-version discriminator for the review envelope.
ReviewProvider
Review-envelope provider tag.
ReviewReconcileSchema
Schema-version discriminator for the review reconcile envelope.
RiskClass
Coarse risk classification for a changeset, a pure function of the change size (file count plus, once threaded, net lines).
RootEnvelopeMode
Whether a JSON root envelope keeps the top-level kind discriminator.
RuntimeCoverageConfidence
Confidence level for a runtime coverage finding.
RuntimeCoverageDataSource
Runtime coverage source used to produce the summary.
RuntimeCoverageReportVerdict
Top-level verdict for the whole runtime-coverage report. Mirrors fallow_cov_protocol::ReportVerdict. The verdict is the SINGLE most actionable finding; for the full set of findings see RuntimeCoverageReport::signals. The verdict promotes hot-path-touched above cold-code-detected in PR-review context (when the CLI was given a change-scope: --diff-file or --changed-since) because the touched-hot-path is event-tied to the current diff and reviewers need it to be the top-line signal. In standalone analysis (no change scope), cold-code-detected remains primary.
RuntimeCoverageRiskBand
Blast-radius risk band. The current thresholds are high at >=20 static callers or >=1,000,000 traffic-weighted caller reach; medium at >=5 callers or >=50,000 weighted reach; low otherwise.
RuntimeCoverageSchemaVersion
Runtime coverage JSON contract version. This is scoped to the runtime_coverage block and is independent of the top-level fallow JSON schema_version.
RuntimeCoverageSignal
Discrete signal captured during runtime-coverage post-processing. verdict collapses to one summary value; signals enumerates ALL findings the report carries so JSON consumers, CI dashboards, and agents can reason about them independently of the headline. Order is stable: severity-descending so the first entry mirrors a sensible non-PR-context verdict.
RuntimeCoverageVerdict
Protocol-level per-function runtime coverage verdict derived from the decision table in fallow-cov-protocol. The CLI’s runtime_coverage.findings array omits active entries even though the underlying enum still includes it.
RuntimeCoverageWatermark
License or trial watermark applied to runtime coverage output.
SecurityBlindSpotsSchemaVersion
The fallow security blind-spots --format json schema version.
SecurityGateVerdict
Gate verdict on the wire. fail is the CI-state token; human output renders it as “REVIEW REQUIRED” because these stay unverified candidates, never confirmed vulnerabilities.
SecuritySchemaVersion
The fallow security --format json schema version. Independently versioned from the main contract, mirroring ImpactReportSchemaVersion.
SecuritySurvivorsSchemaVersion
The fallow security survivors --format json schema version.
SecurityVerifierVerdictStatus
Verifier verdict status accepted by fallow security survivors.
ThresholdOverrideStatus
Lifecycle state for a configured threshold override.
ThresholdSource
Source for a finding’s effective thresholds.
TrendDirection
Direction of a metric’s change, semantically (improving/declining/stable).
UnusedAtRuleKind
Discriminant for UnusedAtRule::kind.
WeakeningKind
The category of a single weakening signal.

Constants§

ACTIONS_AUTO_FIXABLE_FIELD_DEFINITION
_meta description for the per-action auto_fixable bool.
ACTIONS_FIELD_DEFINITION
_meta description for the per-finding actions[] array shared across JSON output.
ALL_CATEGORIES
Every shippable decision category.
CHECK_DOCS
Docs URL for the dead-code/check command.
CHECK_SCHEMA_VERSION
Current schema version for the dead-code/check JSON envelope.
CODECLIMATE_RESULT_CODES
Result issue codes emitted by the dead-code CodeClimate formatter.
COGNITIVE_EXTRACTION_THRESHOLD
COVERAGE_ANALYZE_DOCS
Docs URL for fallow coverage analyze --format json --explain.
COVERAGE_SETUP_DOCS
Docs URL for the runtime coverage setup command’s agent-readable JSON.
DECISION_SURFACE_SCHEMA_VERSION
Wire version for the fallow decision-surface --format json envelope.
DEFAULT_COGNITIVE_CRITICAL
DEFAULT_COGNITIVE_HIGH
DEFAULT_CRAP_CRITICAL
CRAP score threshold for “critical” severity. CC=10 untested gives 110, CC=12 untested gives 156; 100 lands between the two and flags genuinely dangerous combinations of high complexity and low coverage.
DEFAULT_CRAP_HIGH
CRAP score threshold for “high” severity. CC=7 untested -> 56, CC=10 -> 110.
DEFAULT_CYCLOMATIC_CRITICAL
DEFAULT_CYCLOMATIC_HIGH
DUPES_DOCS
Docs URL for the duplication command.
DUPES_SUPPRESS_COMMENT
Inline suppression comment emitted for code duplication findings.
DUPES_SUPPRESS_DESCRIPTION
Shared description for the suppression action emitted on duplication findings.
GHAS_SARIF_FINGERPRINT_KEY
Conventional SARIF key consumed by GitHub Code Scanning.
HEALTH_DOCS
Docs URL for the health command.
HEALTH_SCORE_FORMULA_VERSION
HOTSPOT_SCORE_THRESHOLD
INJECTION_NOTE
The standing injection-resistance note stamped on every guide.
MARKER_PREFIX_V2
Marker prefix appended to every v2 review-comment body.
MARKER_REGEX_FLAGS_V2
Canonical v2 marker-regex flags.
MARKER_REGEX_V2
Canonical v2 marker-regex literal.
MARKER_SUFFIX_V2
Closing of the v2 marker, after the fingerprint string.
MAX_ADDED_LINES
Stop indexing added lines past this count.
MAX_COMMENT_BODY_BYTES
MAX_DIFF_BYTES
Refuse to parse a unified diff larger than this.
MI_DENSITY_MIN_LINES
Minimum lines of code for full complexity density weight in the MI formula.
PROJECT_LEVEL_RULE_IDS
Rule ids whose findings describe project-wide config state rather than a change touching a specific source line.
REVIEW_BRIEF_SCHEMA_VERSION
Wire version for the fallow audit --brief --format json envelope.
RUNTIME_STALE_AFTER_DAYS
Staleness cutoff in days, mirrored from the cloud runtime-context (RUNTIME_STALE_AFTER_DAYS) so the local and cloud contracts agree.
SARIF_FINGERPRINT_KEY
Fingerprint key used in SARIF partialFingerprints and other CI formats.
SECURITY_DOCS
Docs URL for the security command.
SNAPSHOT_SCHEMA_VERSION
Current snapshot schema version. Independent of the report’s SCHEMA_VERSION. v2: Added score and grade fields. v3: Added coverage_model field. v4: Added risk profiles (unit_size_profile, unit_interfacing_profile) and coupling concentration (p95_fan_in, coupling_high_pct). v5: Added duplication penalty to health score formula. v6: Added total_loc to vital signs (always computed from parsed modules). v7: MI formula dampening for small files (values change for files < 50 lines). v8: Added scale-invariant tail/density metrics for health score calibration. v9: Added render fan-in concentration (p95_render_fan_in, render_fan_in_high_pct, max_render_fan_in), the component-graph analogue of module fan-in / coupling concentration. Additive optional fields (matches the v4 precedent that added coupling concentration).

Functions§

agent_schema
The default agent schema descriptor.
annotate_codeclimate_issues
Add a top-level grouped property to each typed CodeClimate issue.
apply_config_fixable_to_duplicate_exports
apply_root_kind
Apply a document-root discriminator unless the caller requested the legacy envelope shape.
attach_telemetry_meta
Attach telemetry metadata to a JSON root object when a run id is available.
build_audit_next_steps
Next-steps for fallow audit.
build_audit_next_steps_input
Build audit next-step inputs from typed analysis payloads plus the caller-supplied runtime suggestions gate.
build_check_output
Build the typed dead-code JSON envelope from engine results.
build_check_summary
Compute the per-category CheckSummary from analysis results.
build_codeclimate_issue
Build a single CodeClimate issue from a stable contract descriptor.
build_combined_next_steps
Aggregated next-steps for bare fallow combined output.
build_coverage_analyze_output
Build the fallow coverage analyze --format json envelope.
build_dead_code_next_steps
Next-steps for standalone fallow dead-code.
build_decision_surface_output
Project a DecisionSurface into the separable, action-bearing envelope.
build_dupes_next_steps
Next-steps for standalone fallow dupes.
build_dupes_output
Build a duplication JSON envelope from caller-owned report data.
build_feature_flags_output
Build the typed feature flags output envelope.
build_fix_json_output
Build the typed fix JSON root.
build_health_finding_actions
Compute the typed actions list for a complexity finding.
build_health_next_steps
Next-steps for standalone fallow health.
build_health_next_steps_input
Build standalone health next-step inputs from a typed health report plus caller-supplied runtime probes.
build_health_output
Build a health JSON envelope from caller-owned report data.
build_review_brief_json_output
Build the complete fallow audit --brief --format json value.
build_sarif_document
Build a SARIF 2.1.0 document envelope.
build_sarif_result
Build a single SARIF result object.
build_sarif_rule
Build a SARIF rule object.
build_security_summary
Build the compact aggregate payload for fallow security --summary --format json.
cap_body_with_marker
check_meta
Build the _meta object for fallow dead-code --format json --explain.
clone_family_actions
Build the stable action list for a clone family.
clone_group_actions
Build the stable action list for one clone group.
codeclimate_fingerprint_hash
Compute a deterministic fingerprint hash from key fields.
codeclimate_issues_to_value
Serialize typed CodeClimate issues to the wire-shape JSON array.
command_title
composite_fingerprint
compute_finding_severity
Compute the severity tier for a complexity finding.
count_applied_fixes
Count fix entries whose applied flag is true.
count_reported_fix_skips
Count user-facing skipped entries, excluding plan-level skip diagnostics.
coverage_analyze_meta
Build the _meta object for fallow coverage analyze --format json --explain.
coverage_setup_meta
Build the _meta object for fallow coverage setup --json --explain.
dead_code_docs_url
decision_actions
Attach structured actions to one decision.
default_marker_regex
Default for ReviewEnvelopeOutput::marker_regex.
default_marker_regex_flags
Default for ReviewEnvelopeOutput::marker_regex_flags.
dupes_meta
Build the _meta object for fallow dupes --format json --explain.
escape_md
Escape a string for inclusion in a Markdown table cell.
feature_flags_meta
Metadata emitted when fallow flags --explain --format json is requested.
github_check_conclusion
group_review_issues_by_path_line
Group consecutive same-(path, line) issues. Input is already sorted by (path, line, fingerprint) so a single linear pass collects runs.
health_meta
Build the _meta object for fallow health --format json --explain.
impact_digest_summary
Render the human-readable impact counter summary shared by JSON and human output surfaces.
is_false
Helper for skip_serializing_if = "is_false" on truncated fields.
is_project_level_rule
issue_output_contract_by_code
Output-facing dead-code result contract by issue code.
issue_output_contracts
Output-facing dead-code result contracts in stable registry order.
issues_from_codeclimate
issues_from_codeclimate_issues
letter_grade
Map a numeric score (0-100) to a letter grade.
normalize_sarif_snippet
Normalize a source snippet before it contributes to stable SARIF identity.
normalize_uri
Normalize a path string to a valid URI: forward slashes and percent-encoded brackets.
parse_new_hunk_start
relative_to_diff_path
remove_root_kind
Remove only the document-root discriminator. Nested objects may carry their own meaningful kind fields, so this intentionally does not recurse.
render_pr_comment
render_review_comment_for_group
Render one comment from a group of issues sharing the same (path, line).
render_review_envelope
Render a provider-specific review envelope from typed CI issues.
review_label_from_codeclimate
rule_docs_url
sarif_finding_fingerprint
Stable SARIF fingerprint for a finding with source snippet evidence.
security_meta
Build the _meta object for fallow security --format json --explain.
serialize_audit_json_output
Serialize a typed fallow audit --format json envelope with the standard root discriminator policy.
serialize_check_grouped_json_output
Serialize fallow dead-code --group-by ... --format json.
serialize_check_json_output
Serialize fallow dead-code --format json.
serialize_combined_json_output
Serialize a typed bare fallow --format json combined envelope with the standard root discriminator policy.
serialize_coverage_analyze_json_output
Serialize the fallow coverage analyze --format json envelope.
serialize_coverage_setup_json_output
Serialize the fallow coverage setup --json envelope.
serialize_cross_repo_impact_json_output
Serialize the fallow impact --all --format json envelope.
serialize_decision_surface_json_output
Serialize the standalone decision-surface envelope.
serialize_dupes_json_output
Serialize fallow dupes --format json.
serialize_explain_json_output
Serialize the fallow explain --format json envelope.
serialize_feature_flags_json_output
Serialize fallow flags --format json.
serialize_fix_json_output
Serialize the typed fix JSON root.
serialize_health_json_output
Build and serialize a health root JSON envelope.
serialize_impact_json_output
Serialize the fallow impact --format json envelope.
serialize_inspect_json_output
Serialize the fallow inspect --format json envelope.
serialize_json_root_output
Serialize a typed fallow root envelope with the requested discriminator mode.
serialize_list_boundaries_json_output
Serialize fallow list --boundaries --format json.
serialize_list_workspaces_json_output
Serialize fallow list --workspaces --format json.
serialize_named_json_output
Serialize an output envelope and apply an explicit root discriminator.
serialize_review_brief_json_output
Serialize the fallow audit --brief --format json envelope.
serialize_review_envelope_json_output
Serialize the review envelope contract emitted by CI review formats.
serialize_review_reconcile_json_output
Serialize the review reconcile contract.
serialize_security_blind_spots_json_output
Serialize the fallow security blind-spots --format json envelope.
serialize_security_json_output
Serialize the full fallow security --format json envelope.
serialize_security_summary_json_output
Serialize the compact fallow security --summary --format json envelope.
serialize_security_survivors_json_output
Serialize the fallow security survivors --format json envelope.
serialize_trace_json_output
Serialize the fallow trace --format json envelope.
serialize_walkthrough_guide_json_output
Serialize the review walkthrough guide envelope.
serialize_walkthrough_validation_json_output
Serialize the review walkthrough validation envelope.
strip_root_prefix
Recursively strip a project-root prefix from all string values in a JSON tree.
summarize_coverage_source_consistency
Summarise the coverage-source provenance attached to CRAP findings.
summary_fingerprint
summary_label
suppress_comment
Build the suppression comment a decision’s suppress action pastes in.
trace_unused_export_input
Select the deterministic unused-export target used by read-only trace next-step commands.

Type Aliases§

StandardReviewBriefOutput
The standard audit brief payload shape used by the CLI, schema emitter, API, and agent-facing review surfaces.
StandardWalkthroughGuide
The standard walkthrough guide shape emitted by fallow review.