Audit : les doublons de la scene boutique (taches, rapports, insights, alertes)
Date : 2026-09-26. Pilier : app-shell. Demande : un seul bloc coherent pour ce qui se passe dans une boutique, lisible et modifiable par les membres ET par les agents, puis un nettoyage de toute la scene (footer…
Date : 2026-09-26. Pilier : app-shell. Demande : un seul
bloc coherent pour ce qui se passe dans une boutique, lisible et
modifiable par les membres ET par les agents, puis un nettoyage de toute
la scene (footer, onglets, vues) : garder ce qui sert, fusionner les
doublons, supprimer ce qui n'apporte rien. Zero utilisateur : aucune
compatibilite a garder dans le tableau de bord.
1. La carte avant nettoyage
Les tables (aucune n'est nouvelle)
| Table | Ecrite par | Lue par (avant) |
|---|---|---|
Task (+ TaskActivity) | features/ai/tasks/actions.ts (server actions), POST /api/stores/[id]/tasks (chat), services/agents/proactive-cycle.ts (cron @Atlas), features/ai/setup-pack/apply.ts | onglet Work du footer, ~/me, tasks-inline du composer, /admin/platform/workspace, recherche globale |
StoreAlert | detecteurs (alerts-emitter, commerce/algorithms/alerts, vitals/regression-detector), POST /api/stores/[id]/alerts, cycle proactif @Atlas | onglet Issues (useStoreAlerts, poll 60 s), /alerts/count (plus aucun lecteur), cron store-alerts-dispatch, rapport hebdo, historique, contexte situationnel d'@Atlas, admin |
StoreReport | cron weekly-audits, sonde page-insights | onglet Work (sous-onglet Rapports), famille Health du footer (Performance, Application, Tracking), onglet Algorithm de l'inspecteur |
StoreNote | features/notes/actions.ts | onglet Work (sous-onglet Notes), admin workspace |
Les surfaces de la scene (/[orgSlug]/[storeSlug])
| Surface | Ce qu'elle montrait | Verdict |
|---|---|---|
| Footer > Store > Issues | StoreAlert ouvertes, acquitter / resoudre | doublon, fusionne dans Activite |
| Footer > Store > Work | Taches + Notes + Rapports, trois listes, trois lecteurs | doublon, fusionne dans Activite |
| Footer > Store > Setup | la mise en route | garde (question a date de fin) |
| Footer > Store > Store details | inspecteur a neuf onglets | reduit a cinq (voir plus bas) |
| Footer > Store > History | editions d'agents, snapshots, diff | garde (seul lieu du revert) |
| Footer > Health (Performance, Application, Tracking) | trois lectures du dernier StoreReport d'un scan | supprime : les vues Systems (/systems/vitals, /systems/tracking) les rendent en entier, et les rapports sont dans Activite |
| Footer > DevTools > Console, Network, Elements | la page a l'ecran, maintenant | garde |
| Footer > DevTools > Sources | index en lecture seule des fichiers du theme | supprime : le mode Worktree est l'arbre des fichiers |
| Inspecteur > Algorithm | scores d'audit, anomalies, checks SEO | supprime : vues Systems + alertes d'Activite |
| Inspecteur > Metrics | analytics Shopify 14 j, impact des actions | supprime : vue Insights, et History pour ce que les agents ont change |
| Inspecteur > Rules | regles, skills, sources de connaissance | supprime : onglets Rules et Skills de la vue Settings |
| Inspecteur > Plans | planner collaboratif | supprime : mode Workflow de la preview + taches d'Activite |
| Inspecteur > Profile, Intelligence, Market, Memory, Index | ce que la plateforme SAIT de la boutique | garde |
Vue Insights (@panel/insights) | analytics commerce + AnomalyTimeline recalculee en direct | garde ; la timeline est remplacee par le bloc Activite filtre (insight + alert) : les memes lignes que le cron a deja ecrites |
Vue Intelligence (@panel/intelligence) | plan d'action strategique (recommandations calculees) | garde ; passerelle vers Activite ouverte en backlog |
| Vues Systems, Settings | garde |
Les ecritures et leurs portes (avant)
PATCH /api/stores/[id]/alerts/[alertId]: appartenance seule, aucune permission : unvieweracquittait et resolvait. AucunAuditLog.features/ai/tasks/actions.ts,features/notes/actions.ts: RBAC juste (workspace.write), aucunAuditLog.- Cycle proactif @Atlas : ecrivait directement
TaskenPENDING, quel que soit le niveau d'autonomie ; ses « propositions » etaient des taches comme les autres, sans approbation. - Aucun outil agent ne lisait ni n'ecrivait taches, alertes ou notes.
2. Ce qui les remplace
- Un service :
src/services/store-activity/(lecture uniquelistStoreActivity, ecriturescreateTask,updateTaskStatus,assignTask,editTask,commentTask,actOnAlert,alertToTask,addNote,editNote,deleteNote,decideProposal,upsertInsight,resolveInsights). RBAC, porte d'autonomie etAuditLogy sont decides une fois. - Un bloc UI :
src/components/patterns/store-activity/(StoreActivityHub), monte par l'onglet Activite du footer et par la vue Insights (filtree). - Un jeu d'outils agent :
src/features/ai/tools/store-activity-tools.ts(listStoreActivity,createTask,updateTaskStatus,acknowledgeAlert,addNote). - Le cycle proactif @Atlas ecrit par le service.
Details et regles : docs/architecture/store-activity.md.
3. Ce qui reste hors perimetre (backlog)
Voir la section « Suites » de l'architecture et les items crees le meme jour.