Aller au contenu

PD-262 — Decomposition (Etape 6a)

Manifest

  • Story : PD-262 — iOS Anti-tampering: detection jailbreak et protection Frida
  • Projet : ProbatioVault-app
  • Total taches : 10 (T1-T10)
  • Total phases : 5
  • Mode parallelisation : sequential (dependances en chaine T1→T2→T3→...)

Strategie de parallelisation

parallelization: sequential
reason: "Dependances en cascade  T2 depend de T1, T3/T4/T5 dependent de T2, T6/T7 dependent de T3, T8 depend de T6+T7, T9 depend de T1, T10 depend de tous"

Taches

Phase 1 — Module natif iOS (T1-T2)

Task Agent Contract Fichiers Depend de
T1 agent-developer CC-262-T1 ios/ProbatioVault/TamperingDetectorModule.swift, ios/ProbatioVault/TamperingDetectorModule.m
T2 agent-developer CC-262-T2 src/services/tamperingDetector.ts, src/services/tamperingDetector.types.ts T1

Phase 2 — Services metier (T3-T5)

Task Agent Contract Fichiers Depend de
T3 agent-developer CC-262-T3 src/services/antiTampering.ts, src/services/antiTampering.types.ts T2
T4 agent-developer CC-262-T4 src/services/tamperingPurge.ts T2
T5 agent-developer CC-262-T5 src/services/tamperingAudit.ts T2

Note : T3, T4, T5 dependent tous de T2 mais sont independants entre eux. Parallelisation possible si mode by_level.

Phase 3 — UI et integration (T6-T8)

Task Agent Contract Fichiers Depend de
T6 agent-developer CC-262-T6 src/screens/security/TamperingLockoutScreen.tsx, src/components/security/LockoutOverlay.tsx T3
T7 agent-developer CC-262-T7 src/hooks/useAntiTampering.ts T3
T8 agent-developer CC-262-T8 src/store/useSecurityStore.ts (update), src/navigation/ (update), src/i18n/ (update) T6, T7

Phase 4 — Configuration Expo (T9)

Task Agent Contract Fichiers Depend de
T9 agent-developer CC-262-T9 app.config.js (update) T1

Phase 5 — Tests (T10)

Task Agent Contract Fichiers Depend de
T10 agent-qa-unit CC-262-T10 src/tests/services/.test.ts, src/tests/hooks/.test.ts, src/mocks/TamperingDetectorModule.ts T1-T9

Ordre d'execution sequentiel

  1. T1 (module natif Swift + ObjC bridge)
  2. T2 (bridge TypeScript)
  3. T4 (purge service) — peut etre en parallele avec T3, T5
  4. T5 (audit emitter) — peut etre en parallele avec T3, T4
  5. T3 (orchestrateur anti-tampering)
  6. T6 (ecran lockout)
  7. T7 (hook useAntiTampering)
  8. T8 (integration navigation + store + i18n)
  9. T9 (config Expo)
  10. T10 (tests)

Regles communes

  • Chaque agent ne modifie QUE les fichiers listes dans son contract
  • Branded types pour TamperingState, TamperingReasonCode (pas de string generique)
  • Aucun secret dans les logs/telemetrie
  • fail-closed par defaut en cas d'erreur
  • Ecriture Keychain AVANT resolve() Promise JS
  • requireNativeModule pattern (pas NativeModules directement)