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>
3.7 KiB
3.7 KiB
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/lastUsedFortracking — Implémenté dansresolveByokApiKey()avec update async non-bloquant - ✅
keyHashdédup cross-provider —findDuplicateApiKeyHash()ajouté, vérification dans route POST (409 Conflict) - ✅ Downgrade tier → désactivation clés —
deactivateUnauthorizedKeys()+ safety check dansgetActiveByokKey() - ✅ Rate limit POST
/api/user/api-keys—checkApiKeyCreationRateLimit()(5/h) dans route POST (429)
Deferred from: code review of 4-1-gdpr-cookie-consent (2026-05-16)
- AC5 anonymousAnalytics DB sync — La synchronisation de
anonymousAnalyticsversUserAISettingsviaupdateAISettings()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.mdabandonné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 ;
NoteAccessLognon prioritaire. Voirdocs/user-stories.md§ US-TEMPORAL. -
Build error in note-graph-view.tsx — Variable
plainTextdéfinie plusieurs fois (ligne 238). Fichier préexistant modifié hors de cette tâche. À corriger indépendamment.
Deferred from: code review of 4-4-explicit-ai-consent (2026-05-23)
- PUT
/api/ai/batch-organizesans check consent — Handler PUT applique le plan d’organisation en DB sans appeler d’API 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.tsnon 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 d’abus (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
pageSpecposté 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 (edgesdans useMemo).page-view.tsxuseScrollReveal : scoper lesquerySelectorAllvia 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.