[ERP-52] Créer le pattern Timestampable + Blamable Shared #13

Merged
malio merged 2 commits from feature/ERP-52-creer-pattern-timestampable-blamable-shared into develop 2026-05-28 09:37:20 +00:00
Owner

Contexte

Ticket Lesstime : #52
Position dans le groupe M0 : 0.0 (prérequis transverse)

Implémentation

  • 2 interfaces (TimestampableInterface, BlamableInterface) dans Shared/Domain/Contract/
  • 1 trait (TimestampableBlamableTrait) dans Shared/Domain/Trait/
  • 1 Subscriber Doctrine (TimestampableBlamableSubscriber) dans Shared/Infrastructure/Doctrine/
  • 1 ligne resolve_target_entities ajoutée à config/packages/doctrine.yaml (UserInterfaceUser)
  • 1 test architecture (EntitiesAreTimestampableBlamableTest) garde-fou L3 de la spec § 2.8.bis
  • 1 test unitaire (TimestampableBlamableSubscriberTest) 4 cas

Décision EXCLUDED (cf. réponse review)

Les 4 entités préexistantes (User, Role, Permission, Site) sont whitelistées dans EXCLUDED avec justification par entrée, plutôt que rétrofitées dans ce ticket. Le rétrofit de User et Site est documenté en HP-9 / HP-10 (récursion Blamable + migration → décision archi scopée). Doc mise à jour : spec § 2.8.bis, § 9, et .claude/rules/backend.md.

Tests

  • PHPUnit : 5 nouveaux tests, 0 échec, 0 risky (248 tests / 874 assertions au total)
  • php-cs-fixer : OK

Reviewer suggéré

  • Tristan
## Contexte Ticket Lesstime : [#52](https://project.malio-dev.fr/projects/6/tasks/463) Position dans le groupe M0 : 0.0 (prérequis transverse) ## Implémentation - 2 interfaces (`TimestampableInterface`, `BlamableInterface`) dans `Shared/Domain/Contract/` - 1 trait (`TimestampableBlamableTrait`) dans `Shared/Domain/Trait/` - 1 Subscriber Doctrine (`TimestampableBlamableSubscriber`) dans `Shared/Infrastructure/Doctrine/` - 1 ligne `resolve_target_entities` ajoutée à `config/packages/doctrine.yaml` (`UserInterface` → `User`) - 1 test architecture (`EntitiesAreTimestampableBlamableTest`) garde-fou L3 de la spec § 2.8.bis - 1 test unitaire (`TimestampableBlamableSubscriberTest`) 4 cas ## Décision EXCLUDED (cf. réponse review) Les 4 entités préexistantes (`User`, `Role`, `Permission`, `Site`) sont **whitelistées** dans `EXCLUDED` avec justification par entrée, plutôt que rétrofitées dans ce ticket. Le rétrofit de `User` et `Site` est documenté en **HP-9 / HP-10** (récursion Blamable + migration → décision archi scopée). Doc mise à jour : spec § 2.8.bis, § 9, et `.claude/rules/backend.md`. ## Tests - PHPUnit : 5 nouveaux tests, 0 échec, 0 risky (248 tests / 874 assertions au total) - php-cs-fixer : OK ## Reviewer suggéré - Tristan
matthieu force-pushed feature/ERP-52-creer-pattern-timestampable-blamable-shared from 94b3acec05 to d4f234ec55 2026-05-28 09:34:26 +00:00 Compare
matthieu added 2 commits 2026-05-28 09:36:03 +00:00
docs(catalog) : document EXCLUDED rationale and add HP-9/HP-10
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m36s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m11s
5ed775cf86
matthieu force-pushed feature/ERP-52-creer-pattern-timestampable-blamable-shared from d4f234ec55 to 5ed775cf86 2026-05-28 09:36:03 +00:00 Compare
malio merged commit 6efe7aa8ea into develop 2026-05-28 09:37:20 +00:00
malio deleted branch feature/ERP-52-creer-pattern-timestampable-blamable-shared 2026-05-28 09:37:21 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MALIO-DEV/Starseed#13