Audit recommendation coherence

Audit whether analytical recommendations for the same decision remain comparable, current, supported and coherent after every unique evidence lineage receives one vote split across its claimants, preventing duplicated source data from manufacturing consensus.

What it's for

Gives Gitrevio an internal truth layer: agents can see when several analytical answers genuinely agree, reuse the same evidence, are stale, or answer subtly different questions before presenting one executive recommendation.

What you give it

Inputs split into evidence read from your connected systems, calibration your team owns, and numerical controls that affect precision but never the result's meaning.

Field Type Role Required
current_period integer ≥ 0, ≤ 1000000000 Your calibration Yes
max_detail_rows integer ≥ 1, ≤ 500 Numerical control Optional
maximum_incomparable_weight_fraction number ≥ 0, ≤ 1 Your calibration Optional
maximum_lineage_adjusted_conflict_fraction number ≥ 0, ≤ 1 Your calibration Optional
maximum_stale_weight_fraction number ≥ 0, ≤ 1 Your calibration Optional
maximum_unsupported_weight_fraction number ≥ 0, ≤ 1 Your calibration Optional
minimum_aligned_recommendations integer ≥ 2, ≤ 500 Your calibration Optional
minimum_independent_evidence_sources integer ≥ 1, ≤ 100000 Your calibration Optional
recommendations array of objects (11 fields) ≥ 2 items Evidence Yes

Each recommendations record

Field Type Required
action_id string (non-empty) Yes
decision_contract_id string (non-empty) Yes
decision_id string (non-empty) Yes
evidence_source_ids array of string (≥ 1 item) Yes
function_id string (non-empty) Yes
id string (non-empty) Yes
issued_period integer (≥ 0, ≤ 1000000000) Yes
scenario_version string (non-empty) Yes
supported boolean Yes
valid_until_period integer (≥ 0, ≤ 1000000000) Yes
weight number (> 0) Yes
Example input
{
  "current_period": 10,
  "recommendations": [
    {
      "action_id": "fund",
      "decision_contract_id": "roadmap-v1",
      "decision_id": "roadmap-funding",
      "evidence_source_ids": [
        "resolved-projects"
      ],
      "function_id": "delivery-forecast",
      "id": "delivery-model",
      "issued_period": 8,
      "scenario_version": "finance-v1",
      "supported": true,
      "valid_until_period": 12,
      "weight": 1
    },
    {
      "action_id": "fund",
      "decision_contract_id": "roadmap-v1",
      "decision_id": "roadmap-funding",
      "evidence_source_ids": [
        "customer-experiment"
      ],
      "function_id": "value-model",
      "id": "value-model",
      "issued_period": 8,
      "scenario_version": "finance-v1",
      "supported": true,
      "valid_until_period": 12,
      "weight": 1
    },
    {
      "action_id": "fund",
      "decision_contract_id": "roadmap-v1",
      "decision_id": "roadmap-funding",
      "evidence_source_ids": [
        "resolved-projects"
      ],
      "function_id": "risk-model",
      "id": "risk-model",
      "issued_period": 8,
      "scenario_version": "finance-v1",

Truncated for display — the full payload is 50 lines.

What you get back

This is the actual output of running the example above — computed by the same function the platform calls, not an illustration.

Example output
{
  "configuration": {
    "current_period": 10,
    "maximum_incomparable_weight_fraction": 0.1,
    "maximum_lineage_adjusted_conflict_fraction": 0.2,
    "maximum_stale_weight_fraction": 0.1,
    "maximum_unsupported_weight_fraction": 0.1,
    "minimum_aligned_recommendations": 2,
    "minimum_independent_evidence_sources": 2
  },
  "conflicting_recommendation_pairs": [],
  "decision": "represented_recommendations_are_coherent",
  "decision_diagnostics": [
    {
      "aligned_current_supported_count": 3,
      "aligned_decision_contract_id": "roadmap-v1",
      "aligned_scenario_version": "finance-v1",
      "consensus_action_id": "fund",
      "decision": "coherent_recommendations_supported",
      "decision_id": "roadmap-funding",
      "failed_gates": [],
      "incomparable_weight_fraction": 0,
      "independent_evidence_source_count": 2,
      "lineage_adjusted_action_support": {
        "fund": 1
      },
      "lineage_adjusted_conflict_fraction": 0,
      "maximum_pairwise_evidence_jaccard_overlap": 1,
      "raw_action_support": {
        "fund": 1
      },
      "recommendation_count": 3,
      "stale_weight_fraction": 0,
      "unsupported_weight_fraction": 0
    }
  ],
  "guardrails": [
    "Recommendations are comparable only inside the same governed decision contract, scenario version and validity window; mismatched scopes are not votes against one another.",
    "Every unique evidence source receives one provenance vote split across its claimants, so several tools reusing the same lineage cannot manufacture independent consensus.",
    "Coherence means represented analytical advice agrees after declared provenance adjustment. It does not prove the consensus action is causally valid, valuable, safe or authorized."
  ],
  "method": "provenance_adjusted_recommendation_coherence_audit_v1",
  "summary": {
    "action_required_decision_count": 0,

Truncated for display — the full payload is 54 lines.

How it works

Statistical audit & measurement — Check whether a number is fit to decide on: coverage, timing, reconciliation, and the gaps a dashboard hides.

  1. 1 Group immutable recommendations by governed decision, select the weight-dominant decision-contract and scenario version, and retain only supported recommendations inside their declared validity window.
  2. 2 Calculate raw action support, then give every unique evidence source one vote split across recommendations citing it; diagnose lineage-adjusted conflict, stale, unsupported and incomparable weight plus pairwise evidence overlap.
  3. 3 Expose a consensus action only when aligned support, independent lineage, conflict, scope, freshness, support and unique-consensus gates all pass.

Before you trust it

Every tool in the catalog ships with the conditions under which its answer is meaningful — and the conditions under which it should abstain instead of guessing.

Assumptions & guardrails

  • Metric definitions, weights, aggregate grain, sampling, missingness, dependence, and comparison windows correspond to the management claim being audited.
  • Recommendation, action, decision-contract, scenario-version and validity semantics are immutable; evidence-source IDs identify real point-in-time lineage rather than labels invented after seeing advice; weights are prospectively governed; omitted offline recommendations are documented.
  • Association, instability, or measurement quality is not a causal effect and must not be converted directly into an individual employment decision.
  • Coherence is not correctness, causal validity or authority to act. Mismatched scopes are incomparable rather than contradictory, and repeated tools over one source never become independent votes.

Minimum evidence

  • recommendations: at least 2 rows/items
  • current_period: required and organization-defined

How to validate it

Backtest the chosen action against simple feasible baselines on held-out scenarios, sweep costs/constraints/risk tolerance, and require constraint feasibility under adverse inputs.

Calibrating it to your org

Same for everyone

The mathematical kernel, validation rules, method version, and JSON output semantics are organization-independent; no tenant-trained coefficients or company benchmark is embedded in the function.

Specific to you

  • tenant-scoped recommendation registry joining every point-in-time analytical output to its frozen function version, governed decision contract, scenario set and underlying source-record/model lineage without dropping abstentions or conflicting answers
  • decision/action perimeter, contract and scenario versioning, recommendation validity, support and weight semantics, evidence-source identity, lineage granularity, conflict/freshness/scope gates and accountable arbitration owner

Calibration workflow

  1. 1 Define the management decision, target outcome, aggregate unit, privacy boundary, cadence, and prediction/intervention horizon for this organization.
  2. 2 Build a tenant-scoped historical cohort using only information available before each prediction or decision; preserve zero periods, censoring, assignment probabilities, and unresolved outcomes when the method requires them.
  3. 3 Estimate statistical parameters on training history, but obtain costs, utilities, risk tolerance, practical-effect thresholds, capacity, and policy constraints from accountable decision owners.
  4. 4 Validate on later time windows or held-out aggregate units at the deployment grain, against a simple baseline and the function-specific validation strategy.
  5. 5 Deploy only if the returned decision clears evidence, overlap, calibration, robustness, and guardrail checks; warning, unsupported, schema-gap, and fallback decisions are abstentions.
  6. 6 Monitor realized outcomes, data drift, coverage, and decision regret; recalibrate at a governed cadence or after a detected regime/definition change, never merely because a stakeholder dislikes the result.

Call it from your AI

You don't wire up 388 tools in your MCP client. The GitRevio MCP server exposes 18 tools, three of which let an agent search the catalog, read a tool's schema, and run it — so the assistant finds this one on its own.

gitrevio_capabilities_search
  { "q": "audit whether analytical recommendations for the" }
  → finds "audit_recommendation_coherence"

gitrevio_capability_describe
  { "capability_id": "audit_recommendation_coherence" }
  → returns the input schema and agent guidance shown on this page

gitrevio_capability_run
  { "capability_id": "audit_recommendation_coherence", "arguments": { ... } }
  → returns the result shown above

Works in Claude Desktop, Claude Code, Cursor, Cline, Continue.dev, Goose and Aider. See the MCP server.

Related tools

Calculate recommendation conflict exposure

Price the expected, reserve-quantile and tail-CVaR regret of a current action when locally calibrated analytical recommendations conflict, using coherent action-loss scenarios and provenance-adjusted support that cannot be inflated by duplicate source lineage.

Decision analysis

Optimize adaptive analytics plan

Choose an exact adaptive sequence of analyses and an outcome-contingent terminal action by Bayesian belief-state dynamic programming, allowing early stopping while enforcing cost, duration, dependency, exclusion and analysis-step constraints and measuring value over the best fixed analysis sequence.

Sequential Bayesian & bandits

Audit analytical specification multiverse

Audit whether an analytical conclusion survives a prespecified multiverse of admissible windows, cohorts, metrics, and models using aligned bootstrap draws, a weighted specification curve, practical-effect support gates, and descriptive choice-influence diagnostics.

Statistical audit & measurement

Audit analytics challenger independence

Audit whether an analytical challenger supplies genuinely independent error information: use paired temporal moving-block bootstrap bounds on error correlation, incumbent-failure catch rate and common-mode joint failure, with simultaneous Bonferroni control across every screened challenger and explicit evidence gates.

Statistical audit & measurement

Audit analytics function calibration readiness

Gate analytical functions on paired out-of-time decision loss against a frozen baseline using temporal moving-block bootstrap, autocorrelation- and weight-adjusted effective sample size, evidence coverage, lower confidence bounds, improvement probability and recent degradation rather than declaring a model calibrated from training fit.

Statistical audit & measurement

Audit analytics transportability

Audit whether locally calibrated analytical functions retain decision-loss improvement across target-similar operating environments using similarity-weighted random-effects meta-analysis, between-environment variance, I-squared, sign consistency and a conservative target prediction interval.

Forecasting & survival

See every tool in Analytics assurance & orchestration →

Ready to See Your Engineering work clearly?

Request a free demo