Files
Momento/_bmad-output/implementation-artifacts/deferred-work.md
Antigravity 80ccc1f6de
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 7m14s
CI / Deploy production (on server) (push) Successful in 1m25s
feat: dashboard Second Brain, essai 7 jours et vérification e-mail
Rendre le dashboard actionnable (inbox, peek, carte mentale), aligner la facturation sur l’essai 7 jours, et bloquer le login e-mail tant que l’adresse n’est pas confirmée.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-30 07:19:36 +00:00

3.7 KiB
Raw Blame History

Deferred Work

Deferred from: code review of 3-5-secure-byok-management (2026-05-16) COMPLETED

All BYOK items implemented on 2026-05-30:

  • Test host BYOK + quota invité vide (Task 7.4) — Test AC10 ajouté dans brainstorm-billing.test.ts
  • lastUsedAt / lastUsedFor tracking — Implémenté dans resolveByokApiKey() avec update async non-bloquant
  • keyHash dédup cross-providerfindDuplicateApiKeyHash() ajouté, vérification dans route POST (409 Conflict)
  • Downgrade tier → désactivation clésdeactivateUnauthorizedKeys() + safety check dans getActiveByokKey()
  • Rate limit POST /api/user/api-keyscheckApiKeyCreationRateLimit() (5/h) dans route POST (429)
  • AC5 anonymousAnalytics DB sync — La synchronisation de anonymousAnalytics vers UserAISettings via updateAISettings() n'a pas été implémentée. Contrainte utilisateur : zéro écriture DB en 4.1, consentement 100 % client. À implémenter dans une story ultérieure si la cohérence DB devient requise.

Deferred from: unified tasks view study (2026-05-24)

  • Vue agrégée Notes/Tâches (Markdown scrape) — Retirée volontairement (option A produit) : surcharge UX, chevauchement avec vues structurées Kanban. Spec spec-unified-tasks-view.md abandonnée ; pas d'unification TipTap/Checklist pour cette vue.

Deferred from: US-TEMPORAL product decision (2026-05-24)

  • Prédictions d'accès temporelles — Reporté : chevauche rappels + flashcards SM-2 + Memory Echo ; heuristique prototype peu fiable ; NoteAccessLog non prioritaire. Voir docs/user-stories.md § US-TEMPORAL.

  • Build error in note-graph-view.tsx — Variable plainText définie plusieurs fois (ligne 238). Fichier préexistant modifié hors de cette tâche. À corriger indépendamment.

  • PUT /api/ai/batch-organize sans check consent — Handler PUT applique le plan dorganisation en DB sans appeler dAPI IA tierce ; hardening consent possible mais hors périmètre GDPR direct.

Deferred from: code review of 4-3-data-portability (2026-05-23)

  • lib/export/zip-builder.ts non extrait — logique inline dans la route ; fonctionnel mais écarte la structure prévue par la story.
  • Rate limiting absent sur GET /api/user/export — vecteur dabus (exports répétés) ; hardening ultérieur.

Deferred — revue page interactive (2026-07-24)

  • Régénération section/démo (§7.3 spec origine) + UI auteur associée + tarif regen.
  • Page publique interactive : ReadingProgress + CopyLinkButton (régression UX vs templates magazine/brief/essay).
  • Fallback déterministe : libellés complets dans les 13 autres locales + dir="rtl" pour fa/ar (actuellement FR/EN seulement).
  • normalize.ts : caps 2 démos/5 sections plus restrictifs que le validateur (5/8) — aligner si latence LLM acceptable.
  • validateImageSrc : autoriser uniquement /uploads + https (bloquer http:// et //domaine externe — pixel de tracking sur page publique).
  • Quality gate « règle d'or » appliquée aussi au pageSpec posté directement à /api/notes/publish (pas seulement au flux LLM).
  • resolve.ts : numérotation des badges par démo (pas réinitialisée par acte).
  • demo-scene-view.tsx:479 : warning eslint exhaustive-deps (edges dans useMemo).
  • page-view.tsx useScrollReveal : scoper les querySelectorAll via ref (multi-instance).
  • Test rejects hex color : le faire échouer via le scan sémantique (pas l'enum Zod) pour prouver le scan.
  • Page publiée sans JS : démos à l'état final au premier paint (spec §9.5) — nécessite SSR static + swap hydratation.