ci: trigga på master + formatfix inför Gitea Actions
CI / Typecheck, test & build (push) Failing after 2s
CI / Typecheck, test & build (push) Failing after 2s
This commit is contained in:
+25
-25
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user