# Delta 0.0.2-alpha.5 — profil plateforme Android ## Baseline Version attendue avant application : ```text 0.0.2-alpha.4.fix.1 ``` Le history `history/0.0.2/alpha.4.fix.1.md` MUST avoir été appliqué et committé avant ce delta. Version après application : ```text 0.0.2-alpha.5 ``` ## Objet Matérialiser le premier profil plateforme de PGR : ```text docs/rules/610-ANDROID.md ``` La tranche consolide les règles Android réutilisables sans absorber les spécialisations Rust/JNI ou Tauri. ## Frontières retenues Le profil Android possède notamment : - la structure Android dans un dépôt mono- ou multi-plateforme ; - Java comme défaut applicatif PGR lorsque rien n'impose un autre langage ; - la matrice AGP / Gradle / JDK ; - la séparation `compileSdk` / `targetSdk` / `minSdk` ; - `VERSION` / `versionName` / `versionCode` ; - configuration locale, signing et secrets ; - modules et dépendances Android ; - ABI lorsqu'un code natif existe, sans définir JNI ; - niveaux de tests Android et ordre de validation ; - manifest, permissions et ressources ; - APK/AAB et packaging de distribution. Restent hors scope : ```text Rust / Android / JNI Tauri desktop Tauri mobile Web / WASM ``` Ces compositions ne doivent pas être introduites implicitement dans `610-ANDROID.md`. ## Scope REPLACE : ```text VERSION RULES.md docs/rules/000-README.md ``` ADD : ```text docs/rules/610-ANDROID.md deltas/0.0.2/alpha.5.md ``` DELETE : aucun. ## Validation opérateur ```bash test "$(cat VERSION)" = "0.0.2-alpha.5" test -f docs/rules/610-ANDROID.md test -f deltas/0.0.2/alpha.5.md grep -F 'Les profils Rust/JNI et Tauri ne sont pas définis ici.' docs/rules/610-ANDROID.md grep -F 'Dans un dépôt multi-plateforme où une zone Android distincte est nécessaire' docs/rules/610-ANDROID.md grep -F 'Java est le langage applicatif Android par défaut du profil PGR' docs/rules/610-ANDROID.md grep -F 'Android Gradle Plugin' docs/rules/610-ANDROID.md grep -F 'PGR MUST NOT déduire une hausse de `minSdk`' docs/rules/610-ANDROID.md grep -F '`versionCode` est un compteur Android monotone distinct du SemVer.' docs/rules/610-ANDROID.md grep -F '`local.properties` est un fichier local Android typique' docs/rules/610-ANDROID.md grep -F 'Les secrets de signature ne sont jamais versionnés.' docs/rules/610-ANDROID.md grep -F 'Une ABI annoncée comme supportée doit disposer d' docs/rules/610-ANDROID.md grep -F 'JVM unit' docs/rules/610-ANDROID.md grep -F '`AndroidManifest.xml` MUST déclarer uniquement les permissions' docs/rules/610-ANDROID.md grep -F 'APK debug' docs/rules/610-ANDROID.md grep -F 'PGR lui-même ne contient actuellement aucun projet Android' docs/rules/610-ANDROID.md grep -F '610-ANDROID.md' RULES.md grep -F '610-ANDROID.md' docs/rules/000-README.md python3 -B scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts git diff --check git add VERSION RULES.md docs/rules/000-README.md docs/rules/610-ANDROID.md deltas/0.0.2/alpha.5.md git diff --cached --check git status --short ``` La sortie attendue avant ajout du history est : ```text M RULES.md M VERSION A deltas/0.0.2/alpha.5.md M docs/rules/000-README.md A docs/rules/610-ANDROID.md ``` Revue opérateur complémentaire : - confirmer que le profil reste Android général et n'absorbe ni JNI ni Tauri ; - confirmer que `compileSdk`, `targetSdk` et `minSdk` restent des contrats distincts ; - confirmer que l'usage d'une toolchain moderne ne relève pas automatiquement `minSdk` ; - confirmer que `versionCode` reste un compteur Android distinct de SemVer ; - confirmer que les secrets et configurations locales restent hors Git ; - confirmer que les niveaux de preuve unit/instrumented/smoke ne sont pas confondus ; - confirmer qu'aucune validation Android réelle n'est revendiquée pour PGR lui-même en l'absence de projet Android. ## Transition ### PASS Créer et appliquer séparément `history/0.0.2/alpha.5.md`, committer la tranche, puis passer à `0.0.2-beta.1` pour la réconciliation des profils. ### FAIL Rester dans `0.0.2-alpha.5.fix.M` jusqu'à correction. Un REPLAN n'est nécessaire que si la correction révèle un élargissement substantiel du scope.