Décomposition — PD-44 Implémentation¶
Story : PD-44 — Implémenter validation Object Lock WORM Date : 2026-02-16 Phase : 6a
Vue d'ensemble¶
| Métrique | Valeur |
|---|---|
| Total tâches | 17 |
| Agents Claude | 12 tâches |
| Agents ChatGPT | 0 tâches |
| Estimation | 16h |
Tâches détaillées¶
Phase 1 : Infrastructure Terraform (T01-T03)¶
T01 — Module Terraform worm_validator¶
- Agent : agent-sre
- Contract : CC-44-07
- Fichiers :
- Dépendances : Aucune
- Critères de succès :
-
terraform validatepasse - IAM policy suit least privilege
- Lambda runtime = python3.11
T02 — Lambda Python de validation (squelette)¶
- Agent : agent-developer
- Contract : CC-44-01 à CC-44-06
- Fichiers :
lambda/worm-validator/ ├── handler.py # Point d'entrée Lambda ├── requirements.txt # boto3, hashlib ├── collectors/ │ ├── __init__.py │ ├── bucket.py # CC-44-01 │ └── objects.py # CC-44-03 ├── validators/ │ ├── __init__.py │ ├── retention.py # CC-44-02 │ └── replication.py # CC-44-06 ├── proof/ │ ├── __init__.py │ ├── generator.py # CC-44-04 │ └── integrity.py # SHA3-256 ├── alerts/ │ ├── __init__.py │ └── manager.py # CC-44-05 └── tests/ └── __init__.py - Dépendances : T01
- Critères de succès :
- Structure de projet créée
- handler.py importable
- requirements.txt valide
T03 — EventBridge schedule¶
- Agent : agent-sre
- Contract : CC-44-07
- Fichiers :
terraform/modules/worm_validator/schedule.tf - Dépendances : T01
- Critères de succès :
- Rule rate(1 hour)
- Target = Lambda ARN
- Retry policy configuré
Phase 2 : Logique de validation (T04-T07)¶
T04 — BucketCollector¶
- Agent : agent-developer
- Contract : CC-44-01
- Fichiers :
lambda/worm-validator/collectors/bucket.py - Interface :
- Dépendances : T02
- Invariants : INV-44-01, INV-44-11
- Critères de succès :
- Collecte Object Lock status
- Collecte mode (COMPLIANCE/GOVERNANCE)
- Collecte retention days
- Classification via tag
T05 — RetentionValidator¶
- Agent : agent-developer
- Contract : CC-44-02
- Fichiers :
lambda/worm-validator/validators/retention.py - Interface :
- Dépendances : T04
- Invariants : INV-44-02, INV-44-03, INV-44-04, INV-44-07
- Critères de succès :
- Compare mode observé vs requis
- Compare rétention vs minimum
- Détecte dégradation COMPLIANCE→GOVERNANCE
- Génère Gap avec sévérité
T06 — ObjectSampler¶
- Agent : agent-developer
- Contract : CC-44-03
- Fichiers :
lambda/worm-validator/collectors/objects.py - Interface :
- Dépendances : T04
- Invariants : INV-44-05, INV-44-10
- Critères de succès :
- 100% objets récents (24h)
- 5% échantillon existants
- Lecture seule (pas d'altération)
- Gère Deep Archive (skip)
T07 — PolicyValidator (orchestration)¶
- Agent : agent-developer
- Contract : CC-44-02
- Fichiers :
lambda/worm-validator/validators/policy.py - Dépendances : T04, T05, T06
- Critères de succès :
- Orchestre collectors + validators
- Agrège résultats par bucket
- Liste tous les gaps
Phase 3 : Preuves et audit (T08-T10)¶
T08 — ProofGenerator¶
- Agent : agent-developer
- Contract : CC-44-04
- Fichiers :
lambda/worm-validator/proof/generator.py - Interface :
- Dépendances : T07
- Invariants : INV-44-09
- Critères de succès :
- Format YAML conforme au schéma
- UUID v7 pour cycle_id
- Timestamp ISO8601 + epoch
T09 — IntegrityCalculator¶
- Agent : agent-developer
- Contract : CC-44-04
- Fichiers :
lambda/worm-validator/proof/integrity.py - Interface :
- Dépendances : T08
- Critères de succès :
- SHA3-256 (pas SHA-256)
- Canonicalisation avant hash
- Format hex lowercase
T10 — ProofStore¶
- Agent : agent-developer
- Contract : CC-44-04
- Fichiers :
lambda/worm-validator/storage/proof_store.py - Interface :
- Dépendances : T08, T09
- Critères de succès :
- Upload S3 avec hash dans metadata
- Récupère dernière preuve pour chaînage
Phase 4 : Alerting et monitoring (T11-T13)¶
T11 — SNS Topic + alertes¶
- Agent : agent-sre
- Contract : CC-44-07
- Fichiers :
terraform/modules/worm_validator/alerts.tf - Dépendances : T01
- Critères de succès :
- Topic SNS créé
- Subscription email configurée
- Policy pour Lambda
T12 — CloudWatch Dashboard¶
- Agent : agent-sre
- Contract : CC-44-07
- Fichiers :
terraform/modules/worm_validator/dashboard.tf - Dépendances : T01
- Critères de succès :
- Widgets : invocations, errors, duration
- Widgets : buckets compliant/non-compliant
- Widgets : gaps par type
T13 — AlertManager¶
- Agent : agent-developer
- Contract : CC-44-05
- Fichiers :
lambda/worm-validator/alerts/manager.py - Interface :
- Dépendances : T11
- Invariants : INV-44-08
- Critères de succès :
- Alerte SNS < 5 minutes
- Message structuré JSON
- Résumé fin de cycle
Phase 5 : Multi-cloud OVH (T14-T15)¶
T14 — OVH Collector¶
- Agent : agent-developer
- Contract : CC-44-01
- Fichiers :
lambda/worm-validator/collectors/ovh.py - Dépendances : T04
- Critères de succès :
- Utilise API S3-compatible OVH
- Même interface que BucketCollector
- Gère différences OVH/AWS
T15 — Normalizer multi-cloud¶
- Agent : agent-developer
- Contract : CC-44-01
- Fichiers :
lambda/worm-validator/normalizers/provider.py - Dépendances : T14
- Critères de succès :
- Interface commune BucketState
- Mapping mode OVH → COMPLIANCE/GOVERNANCE
- Grille de contrôle unique
Phase 6 : Tests (T16-T17)¶
T16 — Tests unitaires Lambda¶
- Agent : agent-qa-unit-integration
- Contract : CC-44-01 à CC-44-06
- Fichiers :
lambda/worm-validator/tests/unit/ - Dépendances : T04-T15
- Critères de succès :
- Coverage >= 80%
- Mocks boto3
- Tests par contract
T17 — Tests intégration LocalStack¶
- Agent : agent-qa-unit-integration
- Contract : CC-44-07
- Fichiers :
lambda/worm-validator/tests/integration/ - Dépendances : T01-T15
- Critères de succès :
- LocalStack S3 + SNS
- Scénario nominal
- Scénario écart critique
Ordre d'exécution¶
Parallel Group 1:
T01 (Terraform module)
Parallel Group 2 (après T01):
T02 (Lambda squelette)
T03 (EventBridge)
T11 (SNS)
T12 (Dashboard)
Parallel Group 3 (après T02):
T04 (BucketCollector)
Parallel Group 4 (après T04):
T05 (RetentionValidator)
T06 (ObjectSampler)
T14 (OVH Collector)
Parallel Group 5 (après T05, T06):
T07 (PolicyValidator)
T15 (Normalizer)
Parallel Group 6 (après T07):
T08 (ProofGenerator)
T13 (AlertManager)
Parallel Group 7 (après T08):
T09 (IntegrityCalculator)
Parallel Group 8 (après T09):
T10 (ProofStore)
Parallel Group 9 (après tous):
T16 (Tests unit)
T17 (Tests integration)
Prochaine étape¶
Phase 6b : Exécution des tâches T01 à T17 par les agents spécialisés.