feat(rag): écran admin d'ingestion du corpus (provider /rag + réindexation live)

Gestion du corpus RAG depuis l'app admin, sans adb.

Patient :
- RagDb v2 : table rag_docs (documents BRUTS, source de vérité) séparée des
  embeddings rag_chunks ; onUpgrade ajoute la table.
- Rag : ingest enregistre le doc brut ; reingestMissing() (ré)indexe les docs
  sans embeddings ; listDocs/deleteDoc.
- ContentProvider /rag : query liste (source+char+chunk_count), /rag/<src> texte
  pour édition, insert (upsert doc + invalide chunks + broadcast), delete /rag/<src>.
  Broadcast RELOAD_RAG EXPLICITE (setPackage) — l'implicite n'est pas délivré au
  receiver NOT_EXPORTED sur Android récent.
- KazeiaService : receiver RAG_RELOAD -> reingestMissing live ; au démarrage,
  embarque les docs ajoutés hors-ligne.

Admin : KazeiaRagClient + RagRepository + RagScreen (Compose : liste, badge
"à indexer", ajout/édition/suppression). Remplace le StubScreen du slot Rag.

Validé device E2E : admin insert 'colere' -> RELOAD -> embeddé live (chunk_count 1,
sans restart) -> tour patient "fou de rage" récupère [Source: colere] (top 0.83)
-> réponse ancrée. App admin se lance sans crash.

Au passage : .gitignore exclut kazeia-android/*/build/ et dé-suit app-admin/build/
(1017 artefacts qui étaient trackés par erreur).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kazeia Team 2026-06-10 13:57:32 +02:00
parent 62a9803fdd
commit acaf0cf2cf
1026 changed files with 482 additions and 17009 deletions

1
.gitignore vendored
View File

@ -35,6 +35,7 @@
*.pyc *.pyc
__pycache__/ __pycache__/
kazeia-android/app/build/ kazeia-android/app/build/
kazeia-android/*/build/
kazeia-android/build/ kazeia-android/build/
kazeia-android/.gradle/ kazeia-android/.gradle/
kazeia-android/local.properties kazeia-android/local.properties

View File

@ -1,12 +0,0 @@
/**
* Automatically generated file. DO NOT MODIFY
*/
package com.kazeia.admin;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.kazeia.admin";
public static final String BUILD_TYPE = "debug";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "0.1.0-mvp";
}

View File

@ -1,2 +0,0 @@
#- File Locator -
listingFile=../../../../outputs/apk/debug/output-metadata.json

View File

@ -1,2 +0,0 @@
appMetadataVersion=1.1
androidGradlePluginVersion=8.7.3

View File

@ -1,10 +0,0 @@
{
"version": 3,
"artifactType": {
"type": "COMPATIBLE_SCREEN_MANIFEST",
"kind": "Directory"
},
"applicationId": "com.kazeia.admin",
"variantName": "debug",
"elements": []
}

Some files were not shown because too many files have changed in this diff Show More