Parent: #2120
Depends on: #2129 (phase 3)
Goal
Add FOCUS 1.4 ingestion support as a preview schema. FOCUS 1.4 is still in working_draft (last commit 2026-01-09) and may churn before ratification. Hub schema version: `v1_4`.
Scope
`IngestionSetup_v1_4.kql` (new)
- Copy `IngestionSetup_v1_3.kql` as the starting point.
- Rename `_v1_3` -> `_v1_4`, `FOCUS 1.3` -> `FOCUS 1.4-preview`.
- Remove `ProviderName` and `PublisherName` columns from `Costs_final_v1_4` (removed in 1.4 per spec).
- Update `Costs_transform_v1_4` projection to drop those columns.
- Expand `ContractCommitment_final_v1_4` with FOCUS 1.4 column additions:
- `BenefitCategory` (string)
- `ContractCommitmentApplicability` (dynamic / JSON)
- `Created` (datetime)
- `DiscountPercentage` (real)
- `DurationType` (string)
- `FulfillmentInterval` (string)
- `LastUpdated` (datetime)
- `LifecycleStatus` (string)
- `Model` (string)
- `OfferCategory` (string)
- `PaymentInterval` (string)
- `PaymentModel` (string)
- `PaymentUpfrontPercentage` (real)
- `PricingCurrencyContractCommitmentCost` (real)
- Add corresponding raw columns to `ContractCommitment_raw` in `IngestionSetup_RawTables.kql`.
- Wire `v1_4` into `app.bicep` and `.build.config`.
Out of scope
- `HubSetup_v1_4.kql` -> phase 5
- New Invoice dataset (mentioned in 1.4 working_draft) -> deferred until spec stabilizes
Branch
`flanakin/focus14-phase4-ingestion-1.4` off `flanakin/focus14-phase3-contractcommitment`. PR target: phase 3 branch.
Done when
- New file deploys cleanly.
- Pester tests pass.
- Bicep compiles.
Parent: #2120
Depends on: #2129 (phase 3)
Goal
Add FOCUS 1.4 ingestion support as a preview schema. FOCUS 1.4 is still in working_draft (last commit 2026-01-09) and may churn before ratification. Hub schema version: `v1_4`.
Scope
`IngestionSetup_v1_4.kql` (new)
Out of scope
Branch
`flanakin/focus14-phase4-ingestion-1.4` off `flanakin/focus14-phase3-contractcommitment`. PR target: phase 3 branch.
Done when