Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/admbe/FluxOp/llms.txt

Use this file to discover all available pages before exploring further.

Flux presents a single unified opportunity queue that combines Azure Advisor Cost and Performance recommendations with Flux Signals findings — the deterministic, versioned rule engine built into Flux. Every finding in the queue carries evidence, a confidence score, a risk-adjusted monthly value where calculable, and an explicit actionability state. You never need to cross-reference Advisor and Flux separately to understand what to act on.
Flux collects only Azure Advisor Cost and Performance recommendations. Security, Reliability, and Operational Excellence findings remain in their authoritative Azure services (Microsoft Defender for Cloud, Azure Monitor, Azure Advisor) and are not surfaced in the Flux opportunity queue.

Sources

Azure Advisor

Active, untracked Cost and Performance recommendations collected via Azure Resource Graph. Findings are semantically de-duplicated before storage: if Advisor returns multiple records for the same scope, resource, recommendation type, action, and target, only one canonical record is retained.

Flux Signals

Versioned deterministic ARG rules evaluated during the Flux Intelligence sync. Each rule produces findings identified by ruleId:resourceId with source observation time, category, impact, confidence, and raw evidence. Current rule version: 2026-07-25.4.

Flux Signals catalog

The following rules are evaluated during each Flux Intelligence sync:

Compute and storage

Rule IDMatch CriteriaDefault Posture
stopped_allocated_vmVM reports PowerState/stopped (not deallocated)High-impact review; compute capacity is still billed
deallocated_vm_residual_costVM reports PowerState/deallocatedReview residual attached resources for ongoing charges
unattached_diskManaged disk has no managedBy, is Unattached or has no disk state, and does not match ASR replica/seed-disk exclusions or ASR tag heuristicReview-only; confirm retention and owner approval before deletion
aged_snapshotSnapshot timeCreated is older than FLUX_INTELLIGENCE_SNAPSHOT_AGE_DAYS (default 30 days)Review-only lifecycle candidate
premium_snapshotSnapshot SKU contains PremiumReview whether Standard snapshot storage satisfies recovery requirements
premium_disk_underutilized_reviewAttached Premium disk with ≥30 days telemetry, ≥70% coverage, combined IOPS p95 ≤ 20, combined throughput p95 ≤ 1 MiB/sReview-stage only; no automatic target SKU or savings claim

Storage modernization and governance

Rule IDMatch CriteriaDefault Posture
storage_gpv1_modernizationStorage account kind is legacy Storage / GPv1Review migration to GPv2
missing_allocation_tagsResource has no tags, or a configured required tag is missingGovernance review

Snapshot and network relationships

Rule IDMatch CriteriaDefault Posture
snapshot_source_deletedSnapshot references a source disk no longer present in ARGReview recovery purpose before deletion
public_ip_unattachedPublic IP has no IP configuration attachmentReview reservation and future-use requirements
public_ip_orphan_nicPublic IP attached to a NIC with no VM and no private endpointReview network ownership before release
public_ip_deallocated_vmPublic IP associated with a deallocated VMReview whether the address must remain reserved
empty_standard_load_balancerStandard Load Balancer with no backend targetsReview frontends, probes, NAT, and outbound
empty_application_gatewayApplication Gateway with no backend targetsReview listeners, rules, probes, and reserved use
vnet_gateway_no_connectionsVNet Gateway with no connections and no point-to-site configReview connectivity ownership
unused_network_interfaceNIC with no VM association and no private endpointReview dependency and release safety
idle_nat_gatewayNAT Gateway with zero attached subnetsReview network design and future reservation
empty_availability_setAvailability Set with zero associated VMsReview whether it is an intentional placeholder
orphaned_network_security_groupNSG with zero subnet and zero NIC associationsReview policy ownership before removal

Application platform, licensing, and retirement

Rule IDMatch CriteriaDefault Posture
empty_paid_app_service_planPaid App Service Plan with no sites (Free, Shared, Dynamic, F1, D1, Y1 excluded)Review before deleting or downsizing
windows_ahb_eligibility_reviewWindows VM/VMSS where license type does not start with Windows and publisher is not desktop/Visual StudioEligibility review only — Flux cannot prove entitlement
sql_vm_ahb_eligibility_reviewSQL VM not using AHUB license and SQL SKU is not Developer or ExpressEligibility review only
basic_public_ip_retiredPublic IP uses Basic SKURetirement/migration review
basic_load_balancer_retiredLoad Balancer uses Basic SKURetirement/migration review

Confidence scoring

Each finding receives a method-versioned heuristic confidence score built from four components:
ComponentDescription
PersistenceHow many consecutive Flux sync runs has this finding appeared in? A finding that is consistently present earns higher confidence than a single-observation result.
CorroborationDoes an independent source (Advisor for a Flux finding, or vice versa) agree? Cross-source agreement lifts confidence.
Evidence freshnessHow recently was the finding observed? The lowest freshness contribution is assigned to evidence older than 30 days.
Telemetry coverageFor VM-related findings, does the estate have actionable telemetry for the resource? Coverage gaps reduce confidence.
Confidence scores are versioned. A methodology change produces new scores across the full finding set rather than silently overwriting historical scores.

Valuation

Flux calculates two values for findings where a saving is quantifiable:

Gross monthly value

The estimated monthly saving if the finding were acted on immediately. For VM resize targets, Flux uses the Microsoft retail price for the target SKU. For Advisor findings, the Advisor-supplied estimate is used as a fallback when no retail price is available.

Risk-adjusted value

Gross value multiplied by the finding’s confidence score. This is the number that rolls up to the dashboard opportunity total.
Only full-retirement findings (idle VMs, unattached disks, orphaned network resources) are valued using the resource’s actual Cost Management run rate. Review-only findings (AHB eligibility, governance) contribute zero to the valued total because no quantifiable saving can be claimed without proving entitlement or confirming a remediation path.

Actionability states

Every finding in the opportunity queue carries one of four actionability states:
StateMeaning
actionable_nowThe finding has corroborating independent sources, governed positive value, or current cost exposure with high impact and sufficient confidence
portfolio_reviewThe finding warrants review but does not meet the bar for immediate action — typically a governance or licensing finding
evidence_neededEvidence is stale (older than the per-rule freshness window) and must be refreshed before action
governance_reviewA policy, tagging, or compliance finding that requires an owner decision rather than a cost action
A stale-evidence gate takes precedence over all value and corroboration signals. A finding whose source evidence is older than the configured freshness window is forced to evidence_needed regardless of confidence or value.

Evidence packs

The /api/evidence/opportunity endpoint returns a deterministic evidence package for any finding. The package includes:
  • Resource identity and current inventory snapshot fields
  • Cost Management run rate for the resource
  • All raw ARG evidence fields from the Flux Signals rule match
  • Confidence score breakdown (persistence, corroboration, freshness, coverage)
  • Valuation lineage (target retail price, Advisor estimate, calculation method version)
  • Actionability reasoning

Filters and export

The opportunity queue supports the following filters:
FilterOptions
SearchFree-text match against resource name, reason, and title
Resource typeSpecific Azure resource type
SubscriptionOne configured subscription
RegionAzure region
Sourceadvisor or flux_signals
CategoryCost, Cost exposure, Lifecycle, Modernization, Governance
ConfidenceFilter to a minimum confidence band
Actionabilityactionable_now, portfolio_review, evidence_needed, governance_review
The filtered result set can be exported as CSV or XLSX via /api/opportunities/export, which applies the same active filters without the pagination limit.

Build docs developers (and LLMs) love