ci: trigga på master + formatfix inför Gitea Actions
CI / Typecheck, test & build (push) Failing after 2s

This commit is contained in:
Sven (AAMOS AI)
2026-08-13 17:25:14 +07:00
parent 61d60931ad
commit c32a7e33c7
141 changed files with 40555 additions and 45210 deletions
+25 -25
View File
@@ -28,18 +28,18 @@ eller råa bilder (se §56/§58).
Varje rad i `ai_corrections` representerar **ett item** från en skanning:
| Fält | Innehåll |
|---|---|
| `scanJobId` | Källskanningen (`scan_jobs.id`). |
| `taskType` | T.ex. `ANALYZE_FRIDGE_IMAGE`, `READ_RECEIPT`. |
| `aiOutput` | Hela AI-raw-resultatet från `scan_jobs.result`. |
| `proposal` | Det specifika AI-förslag item:et kom från (`detectedName`, `canonicalIngredientId`, `brand`, `estimatedQuantity`, `unit`, `bestBeforeDate`, `confidence`, `requiresConfirmation`). |
| `userCorrection` | `{ action: "accept" \| "edit" \| "reject" \| "add", corrected?: {...} }` |
| `corrected` (inbäddad) | Användarens slutgiltiga värden vid accept/edit/add: `displayName`, `canonicalIngredientId`, `brand`, `quantity`, `unit`, `bestBeforeDate`, `useByDate`. |
| `imageS3Key` | Första lagrade bildnyckeln från skanningen, **endast om** `image_training`-samtycke fanns vid bekräftelsen. Annars `null`. |
| `modelVersion` / `promptVersion` | Vilken modell och prompt som producerade förslaget. |
| `consentSnapshot` | `{ anonymized_improvement: "granted"\|"denied", image_training: "granted"\|"denied", ... }` som JSON vid bekräftelsetillfället. |
| `createdAt` | Tidsstämpel för bekräftelsen. |
| Fält | Innehåll |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scanJobId` | Källskanningen (`scan_jobs.id`). |
| `taskType` | T.ex. `ANALYZE_FRIDGE_IMAGE`, `READ_RECEIPT`. |
| `aiOutput` | Hela AI-raw-resultatet från `scan_jobs.result`. |
| `proposal` | Det specifika AI-förslag item:et kom från (`detectedName`, `canonicalIngredientId`, `brand`, `estimatedQuantity`, `unit`, `bestBeforeDate`, `confidence`, `requiresConfirmation`). |
| `userCorrection` | `{ action: "accept" \| "edit" \| "reject" \| "add", corrected?: {...} }` |
| `corrected` (inbäddad) | Användarens slutgiltiga värden vid accept/edit/add: `displayName`, `canonicalIngredientId`, `brand`, `quantity`, `unit`, `bestBeforeDate`, `useByDate`. |
| `imageS3Key` | Första lagrade bildnyckeln från skanningen, **endast om** `image_training`-samtycke fanns vid bekräftelsen. Annars `null`. |
| `modelVersion` / `promptVersion` | Vilken modell och prompt som producerade förslaget. |
| `consentSnapshot` | `{ anonymized_improvement: "granted"\|"denied", image_training: "granted"\|"denied", ... }` som JSON vid bekräftelsetillfället. |
| `createdAt` | Tidsstämpel för bekräftelsen. |
### Åtgärder som sparas
@@ -56,19 +56,19 @@ Alla fyra åtgärder sparas. Bara accept/edit/add leder till att ett
När `BUILD_TRAINING_SAMPLE` kör (veckoschema i worker) bankas rader med
`anonymized_improvement = granted` till `ai_training_bank`:
| Fält | Innehåll |
|---|---|
| `correctionId` | Referens till `ai_corrections.id` (cascade delete). |
| `scanJobId` | Källskanningen. |
| `version` | Dataset-version, t.ex. `v1`. Bumpar när formatet ändras. |
| `taskType` | Samma som källan. |
| `imageS3Key` | Kopierad från `ai_corrections.image_s3_key` (kan vara `null`). |
| `proposal` | AI-förslaget för just det item:et. |
| `action` | Användarens åtgärd. |
| `corrected` | Slutgiltiga värden, eller `null` vid reject. |
| `modelVersion` / `promptVersion` | Spårbarhet till modell/prompt. |
| `consentSnapshot` | Kopia av samtyckesläget. |
| `exportedAt` | När raden bankades. |
| Fält | Innehåll |
| -------------------------------- | -------------------------------------------------------------- |
| `correctionId` | Referens till `ai_corrections.id` (cascade delete). |
| `scanJobId` | Källskanningen. |
| `version` | Dataset-version, t.ex. `v1`. Bumpar när formatet ändras. |
| `taskType` | Samma som källan. |
| `imageS3Key` | Kopierad från `ai_corrections.image_s3_key` (kan vara `null`). |
| `proposal` | AI-förslaget för just det item:et. |
| `action` | Användarens åtgärd. |
| `corrected` | Slutgiltiga värden, eller `null` vid reject. |
| `modelVersion` / `promptVersion` | Spårbarhet till modell/prompt. |
| `consentSnapshot` | Kopia av samtyckesläget. |
| `exportedAt` | När raden bankades. |
Banken ägs av cibello och är versionerad. Ingen extern leverantör
anropas under exporten — jobbet får aldrig kasta på grund av att