Categories
Branches (328)
- extract-raw-xml/agent-tooling/backend/tests/AGENTS.md
- extract-raw-xml/architecture/docs/ETL.md
- extract-raw-xml/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/index.md
- extract-raw-xml/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-e2e-test-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-implementation-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-proposal.md
- extract-raw-xml/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-streaming-implementation-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/source-task.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/01-brink-extract-boundary.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/02-source-connection-and-tenant-binding.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/03-extract-schedule-and-dispatch-contract.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/04-ingestion-batch-and-checkpoint-contract.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/05-raw-capture-and-failure-packaging.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/06-endpoint-catalog-and-execution-policy.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/07-raw-to-load-normalization-seam.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/08-first-job-design-input.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/09-first-job-design-v1.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/10-foundation-summary.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/11-raw-to-load-job-design-v1.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/12-missing-relational-load-mappings.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/13-load-to-redshift-staging-job-design-v1.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/14-staging-to-curated-job-design-v1.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/15-end-to-end-pipeline-summary.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/index.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/adapter-architecture-poc-simple.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/adapter-architecture.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/facade-implementation-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/facade-streaming-implementation-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/facade-streaming-review-fix-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/first-etl-job-proposal.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/index.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/integration-flow.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/poc-checklist.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/relational-load-staging-implementation-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/source-task.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/staging-to-curated-mapping.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/technical-integration-notes.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/xml-to-parquet-implementation-plan.md
- extract-raw-xml/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/xml-to-parquet-proposal.md
- extract-raw-xml/etl/docs/features/ETL/index.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK0.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK1.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.1.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.2.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.3.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.4.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK3.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK4.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK5.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK6.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK7.md
- extract-raw-xml/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK8.md
- extract-raw-xml/research/temp/brink-pos-integration-research.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/customers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/index.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/inventory_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/kitchen_item_status_events.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/kitchen_orders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/kitchen_order_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/loyalty_customers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_catalog_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_hourly_sales.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_menu_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_modifiers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_orders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_order_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_tables.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_table_definitions.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_tenders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_transactions.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_transaction_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_transaction_tenders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_kitchen_get_order_bump_times.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_kitchen_get_order_item_bump_times.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_sales2_get_current_business_date.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_sales2_get_orders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_brands.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_destinations.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_employees.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_kitchen_queues.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_last_modified_time.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_menu.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_tables.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_taxes.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_day_parts.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_item_groups.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_modifier_codes.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_modifier_groups.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_registers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_revenue_centers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_sections.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_tenders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/index.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/customers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/index.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/inventory_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/kitchen_item_status_events.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/kitchen_orders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/kitchen_order_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/loyalty_customers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_catalog_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_hourly_sales.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_menu_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_modifiers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_orders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_order_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_tables.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_table_definitions.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_tenders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_transactions.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_transaction_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_transaction_tenders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/curated-model/todo.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/index.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gnditem.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gndsale.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gndslsum.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gndtndr.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_itm.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_mod.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_tab.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_tabdef.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_tdr.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/index.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/index.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_customers.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_item_bumps.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_orders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/index.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_inventory_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_loyalty.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_pos_items.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_pos_orders.md
- extract-raw-xml/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_pos_order_items.md
- feature-fleet-import/architecture/docs/curated-redshift-schema.md
- feature-fleet-import/etl/docs/features/ETL/fleet/fleet-s3-direct-import-operations.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/main.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/proposed-solution.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK0.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK1.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK2.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK3.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK4.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK5.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK6.md
- feature-fleet-import/implementation-specs/specs/ImportFromS3ToRedshift/TASK7.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK1.1.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK1.2.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK2.1.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK2.2.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK3.1.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK3.2.md
- kds_cdc_improvments/implementation-specs/specs/MonitorSpecsCuratedRedshiftRewrite/TASK4.1.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/customer-churn-risk.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/customer-profiles.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/daily-forecast.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/demand-drivers.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/forecast-demand.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/forgotten-items.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/identify-high-value-customers.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/identify-plowhorse-items.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/identify-star-items.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/incorporate-seasonality.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/inventory-levels.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/kitchen-performance.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/menu-item-profitability.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/monthly-forecast.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/optimal-pricing-adjustments.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/optimize-order-quantities.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/pricing-recommendations.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/seasonality-trends.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/segment-customers.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/segment-descriptions.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/waste-reduction.md
- kds_cdc_improvments/monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/weekly-forecast.md
- life-cycle/agent-tooling/backend/tests/AGENTS.md
- life-cycle/architecture/docs/ETL.md
- life-cycle/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/index.md
- life-cycle/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-e2e-test-plan.md
- life-cycle/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-implementation-plan.md
- life-cycle/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-proposal.md
- life-cycle/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/s3-storage-streaming-implementation-plan.md
- life-cycle/etl/docs/features/ETL/epics/03-s3-landing-replay-and-failure-storage/source-task.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/01-brink-extract-boundary.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/02-source-connection-and-tenant-binding.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/03-extract-schedule-and-dispatch-contract.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/04-ingestion-batch-and-checkpoint-contract.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/05-raw-capture-and-failure-packaging.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/06-endpoint-catalog-and-execution-policy.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/07-raw-to-load-normalization-seam.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/08-first-job-design-input.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/09-first-job-design-v1.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/10-foundation-summary.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/11-raw-to-load-job-design-v1.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/12-missing-relational-load-mappings.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/13-load-to-redshift-staging-job-design-v1.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/14-staging-to-curated-job-design-v1.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/15-end-to-end-pipeline-summary.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/01-first-job-foundation/index.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/adapter-architecture-poc-simple.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/adapter-architecture.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/facade-implementation-plan.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/facade-streaming-implementation-plan.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/facade-streaming-review-fix-plan.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/first-etl-job-proposal.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/index.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/integration-flow.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/poc-checklist.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/relational-load-staging-implementation-plan.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/source-task.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/staging-to-curated-mapping.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/technical-integration-notes.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/xml-to-parquet-implementation-plan.md
- life-cycle/etl/docs/features/ETL/epics/06-source-adapter-brink-pos-api/xml-to-parquet-proposal.md
- life-cycle/etl/docs/features/ETL/index.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK0.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK1.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.1.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.2.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.3.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.4.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK2.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK3.1.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK3.2.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK3.3.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK3.4.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK3.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK4.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK5.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK6.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK7.md
- life-cycle/implementation-specs/specs/BrinkPosOrdersFirstEtlJob/TASK8.md
- life-cycle/research/temp/brink-pos-integration-research.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/customers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/index.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/inventory_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/kitchen_item_status_events.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/kitchen_orders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/kitchen_order_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/loyalty_customers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_catalog_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_hourly_sales.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_menu_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_modifiers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_orders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_order_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_tables.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_table_definitions.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_tenders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_transactions.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_transaction_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-curated-model-mapps/pos_transaction_tenders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_kitchen_get_order_bump_times.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_kitchen_get_order_item_bump_times.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_sales2_get_current_business_date.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_sales2_get_orders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_brands.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_destinations.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_employees.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_kitchen_queues.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_last_modified_time.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_menu.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_tables.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings2_get_taxes.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_day_parts.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_item_groups.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_modifier_codes.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_modifier_groups.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_registers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_revenue_centers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_sections.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/brink_settings_get_tenders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/brinkPos-staging-model/index.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/customers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/index.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/inventory_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/kitchen_item_status_events.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/kitchen_orders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/kitchen_order_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/loyalty_customers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_catalog_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_hourly_sales.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_menu_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_modifiers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_orders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_order_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_tables.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_table_definitions.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_tenders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_transactions.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_transaction_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_transaction_tenders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/curated-model/todo.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/index.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gnditem.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gndsale.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gndslsum.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_gndtndr.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_itm.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_mod.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_tab.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_tabdef.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/aloha_tdr.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-aloha-staging-model/index.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/index.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_customers.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_item_bumps.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-kds-staging-model/kds_orders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/index.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_inventory_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_loyalty.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_pos_items.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_pos_orders.md
- life-cycle/warehouse-model/docs/features/ETL/warehouse-data/logic-control-pos-staging-model/labpos_wp_pos_order_items.md
- tenat-admin/architecture/docs/features/tenant-admin-control-plane/api-contract.md
- tenat-admin/architecture/docs/features/tenant-admin-control-plane/data-model.md
- tenat-admin/architecture/docs/features/tenant-admin-control-plane/feature-proposal.md
- tenat-admin/architecture/docs/features/tenant-admin-control-plane/implementation-notes.md
- tenat-admin/architecture/docs/features/tenant-admin-control-plane/index.md
Fleet S3 Temporary Import - Implementation Tasks
Overview
Implement the approved temporary, admin-triggered import from customer Fleet JSON objects in S3 into the existing tenant Redshift curated order tables, followed by source-scoped Parquet publication for Athena.
Behavioral source of truth:
This is an explicit temporary exception to the normal source-adapter pipeline. It must reuse shared platform infrastructure where it fits, but it must not add Fleet staging tables or force Fleet-specific semantics into Brink/KDS catalogs.
The implementation outcome is:
- an admin reserves and enqueues one import for an exact customer, tenant, and
sourceFolder; - the application creates a batch-owned immutable S3 snapshot without downloading all payloads;
- Redshift bulk-loads and validates the snapshot through temporary
SUPERdata; - one transaction replaces only the exact tenant/Fleet-folder slice in
curated.pos_ordersandcurated.pos_order_items; - every affected business date is published as explicit-projection Parquet under a stable Fleet source boundary for Athena;
- post-commit publication can resume without repeating the Redshift replacement;
- operational batches expose bounded, non-sensitive diagnostics;
- no curated Redshift DDL changes are introduced.
Current Repository State
BrinkPosEtlEndpointsandBrinkPosEtlJobsare the closest manual API/TickerQ references.CustomerEtlProvisioningServiceresolves stored customer identity, but the Fleet flow additionally requires an explicit customer/tenant match and a successfully provisioned active warehouse.IngestionBatchsupports nullableBusinessDate, details JSON, and generic status updates. It does not currently expose a durable source scope for race-safe per-folder reservation.AmazonS3ObjectStoreClientcan upload, copy, read, and delete objects, but its abstraction does not list object metadata or perform conditional snapshot copies.RedshiftCopyCommandFactoryis intentionally Parquet-only. Fleet JSONnoshredCOPY must use a dedicated command path.CuratedExportExecutorandBrinkPosCuratedExportCatalogestablish explicit projection andUNLOADconventions, but their date, source filter, and batch-key output semantics do not satisfy Fleet replacement publication.- The existing curated target schemas already contain all columns required by this temporary mapping.
Spec Name
This implementation spec should be referred to as Fleet S3 Temporary Import.
Fixed Decisions
- API route:
POST /etl/fleet-s3/import, protected by the existing admin policy. - Required identity: caller supplies both
customerIdandtenantId; they must match exactly. sourceFolderis one safe immediate path segment and is the source/store identity.overrideExistingdefaults totrue;falseis a create-only guard.- Source bucket/root are server-owned configuration, initially
s3://kds-warehouse-ai-test/fleet/. - Source payload contract is schema version
1.0. - Target tables are only
curated.pos_ordersandcurated.pos_order_items. - Curated source identity is
source_system = 'fleet_s3'and_etl_source_type = 'fleet_s3:{canonicalSourceFolder}'. - Curated
business_datecomes from JSON partition values and must match both the path date and local timestamp date. - Currency is
USD. - Item array order is stable and defines the one-based line ordinal.
- Import semantics are full snapshot replacement, not append/upsert by file.
- Athena Parquet publication is required before the batch succeeds.
IngestionBatch.BusinessDateremains null for the whole-folder batch.- Curated Redshift schema remains unchanged.
- The feature remains outside
IEtlSourceAdapter; promotion to the standard ETL architecture is a separate future decision.
Technical Refinements
The detailed implementation must make two guarantees that an S3 key-only manifest cannot provide by itself:
- Immutable content: a manifest freezes URLs, not mutable object bytes. Each listed source object must therefore be conditionally copied, using its listed ETag/version precondition, to a batch-owned platform prefix before loading.
- Path-to-payload date proof: Redshift JSON
COPYinto oneSUPERcolumn does not expose the source S3 key. Snapshot entries must therefore be grouped into one manifest per path business date. Each date manifest is loaded and transformed with that path date supplied as a trusted literal, allowing comparison with the JSON partition andtimestamp_local.
This means the implementation performs one bulk COPY per populated business date, not one COPY per file and not one untraceable year-wide COPY.
The validated sourceFolder is case-sensitive and remains unchanged. S3 keys are case-sensitive, so lowercasing a valid folder would select a different source. The exact canonical value is used for the source prefix, terminal/store identity, operational scope, and curated discriminator.
The active Athena key is fixed by this specification:
curated/company_id={customerId}/tenant_id={tenantId}/entity={entity}/
dt={yyyy-MM-dd}/source_type=fleet_s3/source_id={canonicalSourceFolder}/data.parquetThe deployed Glue table location for an entity/date must scan descendants of the dt=.../ root. Catalog compatibility is a Task 0 prerequisite and a release gate, not a reason to change key ordering during Task 4.
Scope
- shared constants, options, models, and validation rules;
- race-safe operational reservation keyed by tenant and Fleet source folder, plus a renewable per-batch worker lease;
- paginated S3 inventory, conditional server-side snapshot copy, manifest index, and date manifests;
- dedicated Redshift JSON COPY, temporary candidate transformation, complete validation, and atomic replacement;
- Fleet-specific explicit export projections and stable source-scoped Athena publication;
- resumable post-commit publication and retained-workspace cleanup;
- admin endpoint, TickerQ functions, DI/configuration wiring, diagnostics, and tests;
- live Redshift/S3/Athena validation gated by existing live-test conventions.
Out of Scope
- permanent Fleet raw/normalized/staging schemas;
IEtlSourceAdapterstages, checkpoints, schedules, or event-driven imports;- incremental file ledger or ETag-based business reconciliation;
- arbitrary caller-supplied buckets, prefixes, SQL, database names, or target tables;
- curated table migrations;
- KDS lifecycle reconstruction;
- Glue/Athena catalog redesign;
- genericizing Fleet-only behavior before a second concrete use case exists.
Task Checklist
Phase 0: Contracts And Configuration
- [x] TASK 0 - Freeze implementation contracts, constants, options, and phase details
Phase 1: Operational Reservation
- [ ] TASK 1 - Add durable per-tenant/source batch reservation and publication-resume support
Phase 2: Immutable Source Snapshot
- [ ] TASK 2 - Add paginated Fleet source inventory, conditional snapshot copies, and date manifests
Phase 3: Redshift Import
- [ ] TASK 3 - Add one-session JSON load, candidate validation, and atomic curated replacement
Phase 4: Athena Publication
- [ ] TASK 4 - Add Fleet-specific staged Parquet export and stable source-scoped activation
Phase 5: Orchestration And Recovery
- [ ] TASK 5 - Add import orchestration, durable phase recovery, diagnostics, and cleanup
Phase 6: Admin And Scheduler Wiring
- [ ] TASK 6 - Add admin endpoints, TickerQ functions, and module registration
Phase 7: End-To-End Validation
- [ ] TASK 7 - Add regression, live Redshift/S3/Athena, performance, and removal validation
Dependency Graph
TASK 0 contracts/options
+-- TASK 1 operational reservation
+-- TASK 2 immutable S3 snapshot
+-- TASK 3 Redshift import
+-- TASK 4 Athena publication
TASK 5 orchestration
+-- depends on TASKS 1, 2, 3, 4
TASK 6 API/TickerQ wiring
+-- depends on TASKS 1 and 5
TASK 7 end-to-end validation
+-- depends on TASKS 2, 3, 4, 5, 6Tasks 1 through 4 can be implemented in parallel only after Task 0 freezes all shared request/result contracts and verifies the deployed Athena table location against the fixed active key.
Recommended Session Order
| Session | Tasks | Description |
|---|---|---|
| 1 | 0 | Freeze names, options, inputs/results, details schema, and invariants. |
| 2 | 1 | Add operational source scope, unique running reservation, and resume transitions. |
| 3 | 2 | Build immutable batch workspace and date manifests. |
| 4 | 3 | Implement temporary SUPER load, validation, and curated transaction. |
| 5 | 4 | Implement staged Parquet export and stable Fleet activation. |
| 6 | 5 | Compose phases and prove crash-safe resume behavior. |
| 7 | 6 | Expose admin enqueue/retry routes and TickerQ execution. |
| 8 | 7 | Run full regression and opt-in live validation. |
Success Boundary
The import is successful only when all of the following are true:
- the immutable source snapshot and manifest index exist;
- all candidate rows passed validation;
- the exact Redshift source slice committed and is stamped with the current batch ID;
- all affected date/entity Parquet objects were activated or removed as required;
- batch details contain final counts and publication diagnostics;
- the operational batch is
Succeeded.
A Redshift commit followed by an Athena publication failure is a failed, resumable batch, not success.
Delivery Guardrails
- Keep Fleet-specific SQL, path rules, and models together under a dedicated Fleet namespace.
- Do not modify Brink/KDS catalogs to understand Fleet source identity.
- Do not broaden
IRedshiftCopyCommandFactory; its current Parquet contract must remain unchanged. - Do not put all 36,500+ object keys in
IngestionBatch.DetailsJson; persist inventory/manifests in S3 and store bounded summaries plus URIs. - Never log source payloads or unbounded validation rows.
- Do not claim cross-system atomicity between Redshift and S3. Make activation idempotent and recoverable instead.
- Every permanent delete must include canonical tenant ID and exact Fleet source discriminator.