143 lines
4.2 KiB
Markdown
143 lines
4.2 KiB
Markdown
<!-- file: deltas/0.0.2/alpha.5.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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.
|