﻿## Context
The client manually uploads data containing orders and order items to S3.
Path: `kds-warehouse-ai-test/fleet/`
In this path, they place a data folder, for example:

`kds-warehouse-ai-test/fleet/front-counter/year=2026/month=07/day=08/ORD-015D3A48C0.json`

Each JSON file contains one order and several order items. File example: `specs/ImportFromS3ToRedshift/ORD-015D3A48C0.json`
File names may vary, but they always refer to orders.

## GOAL
We need to develop a simple way to import this data into the Redshift database. The goal is to make this data available to AI agents for a specific client, just as has been done so far. We are not writing code yet—only a specification of how this should work based on the existing codebase.

## My thoughts and requirements
The most important aspect is that this is a temporary, ad-hoc solution. It must be simple and flexible.

* I was thinking about an API endpoint that reads from the kds-warehouse-ai-test/fleet/ folder and, based on the folder name (e.g., front-counter) along with manually provided customerId and tenantId, imports the data into the data warehouse. 
* Since this needs to be simple, we should verify whether we need to run through the full ETL process from staging to curated, or if it is better to create a simple shortcut and load directly into curated. 
* The current curated schema is the most important element—we are importing directly into it and must not modify it. 
* Currently, we only have data for a few days in July, but the client will upload data for the entire year. Therefore, there may be a very large number of individual files. 
* It must be idempotent. If the client uploads additional files, it would be best to clear this data source and re-import everything or, if simpler, append only the missing data. However, appending seems too complex to me. I thought about having an override flag in the API; when set, we delete the stored data and re-run the process for the entire folder.
* The imported data must contain metadata so we can easily distinguish and remove it. Check how metadata is currently handled in the existing solution. 
* Analyze the repository codebase, check how it is currently done, verify it against my expectations, and present a specification with a proposed solution in a dedicated Markdown file.

Ask for my feedback, and present alternative solutions along with their respective trade-offs and consequences
