Categories
Implementation Specs (157)
- specs/AnomalyDetection/TASK1.1.md
- specs/AnomalyDetection/TASK1.2.md
- specs/AnomalyDetection/TASK1.3.md
- specs/AnomalyDetection/TASK1.4.md
- specs/AnomalyDetection/TASK2.1.md
- specs/AnomalyDetection/TASK2.2.md
- specs/AnomalyDetection/TASK3.1.md
- specs/AnomalyDetection/TASK3.2.md
- specs/AnomalyDetection/TASK3.3.md
- specs/AnomalyDetection/TASK4.1.md
- specs/AnomalyDetection/TASK4.2.md
- specs/AnomalyDetection/TASK4.3.md
- specs/AnomalyDetection/TASK4.4.md
- specs/AnomalyDetection/TASK5.1.md
- specs/AnomalyDetection/TASK5.2.md
- specs/AnomalyDetection/TASK5.3.md
- specs/AnomalyDetection/TASK6.1.md
- specs/AnomalyDetection/TASK6.2.md
- specs/AnomalyDetection/TASK6.3.md
- specs/AnomalyDetection/TASKS.md
- specs/ApiServicePostgresTestStability/TASK.md
- specs/BackendDatabaseConsolidation/TASK.md
- specs/BackendDatabaseConsolidation/TASK1.1.md
- specs/BackendDatabaseConsolidation/TASK1.2.md
- specs/BackendDatabaseConsolidation/TASK1.3.md
- specs/BackendDatabaseConsolidation/TASK2.1.md
- specs/BackendDatabaseConsolidation/TASK2.2.md
- specs/BackendDatabaseConsolidation/TASK2.3.md
- specs/BackendDatabaseConsolidation/TASK3.1.md
- specs/BackendDatabaseConsolidation/TASK3.2.md
- specs/BackendDatabaseConsolidation/TASK4.1.md
- specs/BackendDatabaseConsolidation/TASK4.2.md
- specs/BackendDatabaseConsolidation/TASK4.3.md
- specs/BackendDatabaseConsolidation/TASK5.1.md
- specs/BackendDatabaseConsolidation/TASK5.2.md
- specs/BrinkLaborGetShiftsStaging/TASK.md
- specs/BrinkPosOrdersFirstEtlJob/TASK.md
- specs/BrinkPosOrdersFirstEtlJob/TASK0.md
- specs/BrinkPosOrdersFirstEtlJob/TASK1.md
- specs/BrinkPosOrdersFirstEtlJob/TASK2.1.md
- specs/BrinkPosOrdersFirstEtlJob/TASK2.2.md
- specs/BrinkPosOrdersFirstEtlJob/TASK2.3.md
- specs/BrinkPosOrdersFirstEtlJob/TASK2.4.md
- specs/BrinkPosOrdersFirstEtlJob/TASK2.md
- specs/BrinkPosOrdersFirstEtlJob/TASK3.1.md
- specs/BrinkPosOrdersFirstEtlJob/TASK3.2.md
- specs/BrinkPosOrdersFirstEtlJob/TASK3.3.md
- specs/BrinkPosOrdersFirstEtlJob/TASK3.4.md
- specs/BrinkPosOrdersFirstEtlJob/TASK3.md
- specs/BrinkPosOrdersFirstEtlJob/TASK4.1.md
- specs/BrinkPosOrdersFirstEtlJob/TASK4.2.md
- specs/BrinkPosOrdersFirstEtlJob/TASK4.3.md
- specs/BrinkPosOrdersFirstEtlJob/TASK4.4.md
- specs/BrinkPosOrdersFirstEtlJob/TASK4.md
- specs/BrinkPosOrdersFirstEtlJob/TASK5.1.md
- specs/BrinkPosOrdersFirstEtlJob/TASK5.2.md
- specs/BrinkPosOrdersFirstEtlJob/TASK5.3.md
- specs/BrinkPosOrdersFirstEtlJob/TASK5.4.md
- specs/BrinkPosOrdersFirstEtlJob/TASK5.md
- specs/BrinkPosOrdersFirstEtlJob/TASK6.1.md
- specs/BrinkPosOrdersFirstEtlJob/TASK6.2.md
- specs/BrinkPosOrdersFirstEtlJob/TASK6.3.md
- specs/BrinkPosOrdersFirstEtlJob/TASK6.4.md
- specs/BrinkPosOrdersFirstEtlJob/TASK6.md
- specs/BrinkPosOrdersFirstEtlJob/TASK7.md
- specs/BrinkPosOrdersFirstEtlJob/TASK8.md
- specs/BrinkPosOrdersFirstEtlJob/TASK9.md
- specs/BrinkSettings2ToStaging/TASK.MD
- specs/CuratedToS3Stage/TASK.md
- specs/CuratedToS3Stage/TASK0.md
- specs/CuratedToS3Stage/TASK1.md
- specs/CuratedToS3Stage/TASK2.md
- specs/CuratedToS3Stage/TASK3.md
- specs/CuratedToS3Stage/TASK4.md
- specs/CustomerCredentialCustomHeaders/TASK.md
- specs/CustomerCredentialCustomHeaders/TASK1.1.md
- specs/CustomerCredentialCustomHeaders/TASK1.2.md
- specs/CustomerCredentialCustomHeaders/TASK2.1.md
- specs/CustomerCredentialCustomHeaders/TASK2.2.md
- specs/CustomerCredentialCustomHeaders/TASK3.1.md
- specs/CustomerCredentialTriggeredProvisioning/TASK.md
- specs/CustomerCredentialTriggeredProvisioning/TASK1.1.md
- specs/CustomerCredentialTriggeredProvisioning/TASK1.2.md
- specs/CustomerCredentialTriggeredProvisioning/TASK2.1.md
- specs/CustomerCredentialTriggeredProvisioning/TASK2.2.md
- specs/CustomerCredentialTriggeredProvisioning/TASK3.1.md
- specs/CustomerCredentialTriggeredProvisioning/TASK3.2.md
- specs/CustomerCredentialTriggeredProvisioning/TASK4.1.md
- specs/EtlSourceAdapterFramework/TASK.md
- specs/EtlSourceAdapterFramework/TASK0.md
- specs/EtlSourceAdapterFramework/TASK1.md
- specs/EtlSourceAdapterFramework/TASK2.md
- specs/EtlSourceAdapterFramework/TASK3.md
- specs/EtlSourceAdapterFramework/TASK4.md
- specs/EtlSourceAdapterFramework/TASK5.md
- specs/EtlSourceAdapterFramework/TASK6.md
- specs/KdsCdcDebeziumIntegration/TASK.md
- specs/KdsCdcDebeziumIntegration/TASK1.md
- specs/KdsCdcDebeziumIntegration/TASK2.md
- specs/KdsCdcDebeziumIntegration/TASK3.md
- specs/KdsCdcDebeziumIntegration/TASK4.md
- specs/KdsCdcDebeziumIntegration/TASK5.md
- specs/KdsCdcDurableRelationRouting/TASK.md
- specs/KdsCdcDurableRelationRouting/TASK1.md
- specs/KdsCdcDurableRelationRouting/TASK2.md
- specs/KdsCdcDurableRelationRouting/TASK3.md
- specs/KdsCdcDurableRelationRouting/TASK4.md
- specs/KdsCdcDurableRelationRouting/TASK5.md
- specs/KdsCdcIngestion/TASK.md
- specs/KdsCdcIngestion/TASK1.md
- specs/KdsCdcIngestion/TASK2.md
- specs/KdsCdcIngestion/TASK3.md
- specs/KdsCdcIngestion/TASK4.md
- specs/KdsCdcIngestion/TASK5.md
- specs/KdsCdcIngestion/TASK6.md
- specs/KdsCdcIngestion/TASK7.md
- specs/KdsCdcIngestion/TASK8.md
- specs/KdsCdcIngestion/TASK9.md
- specs/KdsCdcReplayExecution/TASK.md
- specs/KdsCdcReplayExecution/TASK1.md
- specs/KdsCdcReplayExecution/TASK2.md
- specs/KdsCdcReplayExecution/TASK3.md
- specs/KdsCdcReplayExecution/TASK4.md
- specs/KdsMonitorServingContractMigration/TASK.md
- specs/KdsMonitorServingContractMigration/TASK1.1.md
- specs/KdsMonitorServingContractMigration/TASK1.2.md
- specs/KdsMonitorServingContractMigration/TASK2.1.md
- specs/KdsMonitorServingContractMigration/TASK2.2.md
- specs/KdsMonitorServingContractMigration/TASK3.1.md
- specs/KdsMonitorServingContractMigration/TASK3.2.md
- specs/RedshiftFoundation/TASK.md
- specs/RedshiftFoundation/TASK1.1.md
- specs/RedshiftFoundation/TASK1.2.md
- specs/RedshiftFoundation/TASK1.3.md
- specs/RedshiftFoundation/TASK1.4.md
- specs/RedshiftFoundation/TASK2.1.md
- specs/RedshiftFoundation/TASK2.2.md
- specs/RedshiftFoundation/TASK3.1.md
- specs/RedshiftFoundation/TASK3.2.md
- specs/RedshiftFoundation/TASK3.3.md
- specs/RedshiftSyntheticDataFeed/TASK.md
- specs/RedshiftSyntheticDataFeed/TASK1.1.md
- specs/RedshiftSyntheticDataFeed/TASK1.2.md
- specs/RedshiftSyntheticDataFeed/TASK1.3.md
- specs/RedshiftSyntheticDataFeed/TASK2.1.md
- specs/RedshiftSyntheticDataFeed/TASK2.2.md
- specs/RedshiftSyntheticDataFeed/TASK3.1.md
- specs/RedshiftSyntheticDataFeed/TASK3.2.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK1.1.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK1.2.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK2.1.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK2.2.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK2.3.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK3.1.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK3.2.md
- specs/SingleStoreRedshiftRuntimeReadPath/TASK4.1.md
KDS Monitor Curated Contract Migration - Implementation Tasks
Overview
Implementation of the KDS Monitor Curated Contract Migration delivery slice.
This task plan is derived from the documentation set in:
../../docs/features/ETL/slices/04-kds-monitor-serving-contract-migration/index.md../../docs/features/ETL/slices/04-kds-monitor-serving-contract-migration/monitor-serving-migration-spec.md../../docs/features/ETL/slices/04-kds-monitor-serving-contract-migration/follow-ups.md../../docs/features/ETL/slices/01-redshift-foundation/serving-mapping.md../../docs/features/ETL/slices/03-single-store-redshift-runtime-read-path/runtime-read-path-spec.md../../docs/ETL.md
This task migrates the initial KDS monitor prompt/spec content from source-shaped kdsdev.* assumptions to the Redshift curated contract.
It does not change runtime routing, data access tools, ETL ingestion, or Redshift warehouse DDL.
The slice outcome is:
- eight KDS monitor specs migrated to
curated.ordersandcurated.order_items, - source table references removed,
- source-only fields replaced with curated fields,
store_guidandis_deletedrequirements removed,- workflow logic migrated from
kdsdev.item_bumpstocurated.order_itemsworkflow columns, - static blocked-term validation,
- Redshift-backed dry-run validation or documented data-availability gaps.
Source Documents
../../docs/features/ETL/slices/04-kds-monitor-serving-contract-migration/index.md../../docs/features/ETL/slices/04-kds-monitor-serving-contract-migration/monitor-serving-migration-spec.md../../docs/features/ETL/slices/04-kds-monitor-serving-contract-migration/follow-ups.md../../docs/features/ETL/slices/01-redshift-foundation/serving-mapping.md../../docs/features/ETL/slices/03-single-store-redshift-runtime-read-path/index.md../../docs/ETL.md
Spec Name
The canonical documentation slice is named 04-kds-monitor-serving-contract-migration.
This implementation spec should be referred to as KDS Monitor Curated Contract Migration.
Fixed Decisions
- Only the eight initial KDS monitors are in scope.
- Migrated monitors may reference only
curated.ordersandcurated.order_items. kdsdev.*,staging,etl_meta, and other curated objects are not valid monitor query surfaces.store_guidandis_deletedmust be removed from monitor prompt requirements.- Raw unix epoch source fields must be replaced by curated timestamp fields.
item_bumpstable logic must be replaced by workflow columns oncurated.order_items.- Monitor thresholds and anomaly definitions should remain stable.
- New curated contracts are not introduced in this slice.
- Runtime routing changes remain in slice 03.
- Full evaluation framework and non-KDS monitor migration remain follow-up work.
Scope
This task includes editing these files:
backend/Kds.Ai.Data/MonitorSpecs/prep-time.mdbackend/Kds.Ai.Data/MonitorSpecs/order-surge.mdbackend/Kds.Ai.Data/MonitorSpecs/large-order-wave.mdbackend/Kds.Ai.Data/MonitorSpecs/priority-flood.mdbackend/Kds.Ai.Data/MonitorSpecs/slow-kitchen.mdbackend/Kds.Ai.Data/MonitorSpecs/station-bottleneck.mdbackend/Kds.Ai.Data/MonitorSpecs/forgotten-items.mdbackend/Kds.Ai.Data/MonitorSpecs/item-recall-storm.md
In short, this slice ends when those eight monitor specs no longer ask the data access agent to query source-shaped schemas and can run against tenant Redshift curated.
Out of Scope
The following items are explicitly excluded from this task:
- anomaly detector runtime implementation,
- tenant resolver implementation,
- data access tool implementation,
- ETL worker and ingestion API,
- S3 raw/load/curated flow,
- Redshift
COPYorUNLOAD, - Athena and Glue,
- new curated contracts,
- POS, inventory, payments, forecasting, pricing, and customer monitor migration,
- new monitor authoring UX,
- full automated monitor evaluation framework,
- cross-tenant monitor execution,
- changing alert orchestration or monitor scheduling.
Task Checklist
Phase 1: Orders-Only Monitor Migration
- [ ] TASK 1.1 - Migrate
prep-timeandorder-surge - [ ] TASK 1.2 - Migrate
large-order-waveandpriority-flood
Phase 2: Orders and Items Monitor Migration
- [ ] TASK 2.1 - Migrate
slow-kitchenandstation-bottleneck - [ ] TASK 2.2 - Migrate
forgotten-itemsanditem-recall-storm
Phase 3: Validation
- [ ] TASK 3.1 - Add static blocked-term validation
- [ ] TASK 3.2 - Run Redshift-backed dry-run validation
Dependency Graph
Prerequisites
|-- Redshift Foundation complete
| +-- curated.orders contract
| +-- curated.order_items contract
|-- Redshift Synthetic Data Feed complete
| +-- curated orders/order_items contain synthetic rows
+-- Single-Store Redshift Runtime Read Path complete
+-- data access tools query tenant Redshift curated
Phase 1 (Orders-Only Monitor Migration)
|-- 1.1 prep-time and order-surge
+-- 1.2 large-order-wave and priority-flood
Phase 2 (Orders and Items Monitor Migration)
|-- 2.1 slow-kitchen and station-bottleneck
+-- 2.2 forgotten-items and item-recall-storm
Phase 3 (Validation)
|-- 3.1 Static blocked-term validation <-- (depends on Phase 1, Phase 2)
+-- 3.2 Redshift-backed dry-run validation <-- (depends on 3.1)Recommended Session Order
| Session | Tasks | Description |
|---|---|---|
| 1 | 1.1, 1.2 | Migrate orders-only and mostly-orders monitor specs |
| 2 | 2.1 | Migrate station and kitchen monitors using orders plus item station fields |
| 3 | 2.2 | Migrate workflow-heavy item monitors |
| 4 | 3.1 | Run static source-reference validation and fix prompt leftovers |
| 5 | 3.2 | Run Redshift-backed dry-run validation and document data gaps |
Key Design Decisions
Prompt Migration Only
This slice edits monitor spec content. It does not change runtime services, Redshift DDL, ETL, or tool implementation.
Curated Contract Is Fixed
The only allowed runtime tables are:
curated.orderscurated.order_items
If a monitor needs data outside those tables, it must remain out of scope or be documented for a later curated contract extension.
Preserve Monitor Semantics
Existing thresholds, sample-size rules, severity guidance, and monitor intent should remain stable unless a curated-contract semantic change requires a small wording adjustment.
Remove Source Cleanup Instructions
Curated already excludes soft-deleted rows and tenant scope comes from database routing. Monitor prompts should not ask for store_guid or is_deleted filters.
Workflow Columns Replace item_bumps
curated.order_items exposes latest workflow state. Monitors should use workflow_status_code, previous_workflow_status_code, prepared_at, and done_at instead of joining kdsdev.item_bumps.
Validation Is Two-Layered
Use static blocked-term checks to catch source-schema leftovers, then use Redshift-backed dry-runs to verify runtime prompt compatibility.