Repository navigation
API Overview
Marcus Ackre Medina edited this page Sep 13, 2026
·
1 revision
Decision.Create(string title) -> DecisionBuilderStatic factory on MarcusMedina.Fluent.Decision.Core.Decision. Returns a DecisionBuilder to chain onto.
| Method | Parameters | Notes |
|---|---|---|
WithContext |
string context |
Optional free-text note about the decision |
WithCriterion |
string name, double weight, NormalizationType normalization = Linear, string? description = null |
Weights across all criteria are expected to sum to 1.0 |
WithOption |
string name, string? notes = null |
Starts a new option; chain .WithScore(...) calls after it |
WithScore |
string criterionName, double value, ConfidenceLevel confidence = Medium, string? notes = null |
criterionName must match a name passed to WithCriterion
|
WithAggregation |
AggregationType aggregation |
Defaults to WeightedAverage if never called |
Build |
— | Validates and returns the Decision, not yet scored — use this if you want to inspect or serialize the structure before computing |
BuildAndCompute |
— | Equivalent to Build().Compute() — use this in the common case where you want ranked results right away |
-
GetRecommendation()— the top-rankedOption, ornullif nothing is computed -
GetRankedOptions()— all options ordered by score -
GetValidationErrors()— e.g. missing scores, weights that don't sum to 1.0 -
GenerateReport(bool includeDetails = true)— human-readable summary string -
Analyze()— returns aDecisionAnalysis(recommendation, ranked options, confidence)
NormalizationType — how a criterion's raw scores are rescaled before weighting:
-
None— use the raw score as-is -
Linear— higher raw score is better -
InverseLinear— lower raw score is better (cost, latency, ...) -
Logarithmic— for values that vary by orders of magnitude -
SquareRoot— milder scaling than Linear
AggregationType — how per-criterion scores combine into one final score. See Advanced Usage for when to use each.
ConfidenceLevel — VeryLow, Low, Medium, High, VeryHigh. Recorded per score for transparency; does not affect the computed total.