Skip to content

Add FOCUS 1.4 support#2207

Draft
flanakin wants to merge 6 commits into
devfrom
flanakin/focus14
Draft

Add FOCUS 1.4 support#2207
flanakin wants to merge 6 commits into
devfrom
flanakin/focus14

Conversation

@flanakin

@flanakin flanakin commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

🛠️ Description

Umbrella PR integrating FOCUS 1.4 support across the FinOps toolkit. Work lands as small PRs targeting flanakin/focus14; this PR merges the completed set into dev.

Full design, decisions, and research grounding: FOCUS-1.4-PLAN.md (temporary working doc, removed before this PR is marked ready).

Summary

  • New v1_4 hub schema (single version; v1_3 skipped — 1.3 is a strict subset of 1.4 additions and Cost Management will never export it)
  • Replicates the v1_0v1_2 architecture: raw update policies → _transform_v1_4()_final_v1_4; older _final tables kept; versioned hub functions bridge all versions both directions; unversioned functions → v1_4
  • ProviderName/PublisherName (removed in FOCUS 1.4) mapped to ServiceProviderName/HostProviderName per the spec migration guidance
  • New FOCUS 1.4 datasets (ContractCommitments, BillingPeriods, InvoiceDetails) shipped as empty tables/functions until Cost Management supports exporting them
  • New 249-test static KQL Pester harness (registration completeness, version-string consistency, exactly-one-enabled-policy-version, schema/round-trip checks) — every check red-green validated
  • Export-side registration (schema file, export defaults) staged behind the Cost Management FOCUS 1.4 export release

Progress

📋 Checklist

🔬 How did you test this change?

  • 🤏 Lint tests
  • 🤞 PS -WhatIf / az validate
  • 👍 Manually deployed + verified
  • 💪 Unit tests
  • 🙌 Integration tests

📦 Deploy to test?

  • Hubs + ADX (managed)
  • Hubs + Fabric (manual) — URI:
  • Hubs (manual)
  • Hubs (no data)
  • Workbooks
  • Alerts

🙋‍♀️ Do any of the following that apply?

  • 🚨 This is a breaking change.
  • 🤏 The change is less than 20 lines of code.

🤖 Generated with Claude Code

Grounded in FOCUS spec tags v1.2-v1.4, the v1_0->v1_2 rollout precedent,
and a full inventory of FOCUS-version seams across the toolkit. Tracks
design decisions, work breakdown, testing strategy, and progress for the
flanakin/focus14 integration branch. Removed before merge to dev.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
flanakin and others added 5 commits July 15, 2026 12:25
- D4 revised: new FOCUS datasets in scope per owner review direction on #2126
- D3 refined: provider-name mapping non-null guarantee; swap defect noted
- D9 added: split IngestionSetup_v1_4.kql for the Bicep 131K loadTextContent limit
- §6: dispositions + blocking fix lists for all 6 reviewed PRs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Brings in PR deployment workflows, v15 dev cycle start, ingestion OOM fix,
price lookup max() fix, Power BI fix, and query catalog updates.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…n FOCUS 1.4 plan

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs: Review 👀 PR that is ready to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants