Experiences sur Shopify Rollouts
Item : backlog/commerce-systems/3084. Nous preparons et jugeons ; Shopify Rollouts repartit le trafic. Aucun moteur de repartition chez nous.
Item : backlog/commerce-systems/3084. Nous preparons et jugeons ; Shopify
Rollouts repartit le trafic. Aucun moteur de repartition chez nous.
| Couche | Fichier |
|---|---|
| Contrat pur (tailles, bornes, verdicts) | src/lib/experiments-contract.ts |
| Etat et transitions | src/services/experiments/state.ts |
| Trafic (ShopifyQL puis pixel) | src/services/experiments/traffic.ts |
| Garde-fou vitals (PSI apercu contre live) | src/services/experiments/vitals.ts |
| Service (base, AuditLog) | src/services/experiments/service.ts |
| Routes | src/app/api/stores/[storeId]/experiments/ |
| Outils @Atlas | src/features/ai/tools/experiment-tools.ts |
| UI | src/components/patterns/experiments/ |
Le cycle
draft: hypothese, metrique, garde-fous, variante (theme brouillon ou branche). Faisabilite calculee ; au-dela de 12 semaines,refused, et une tache « changement verifie » est creee et liee partaskId(sourceKind: "experiment") : la terminer arme la re-mesure du lot 3.ready: pre-enregistrement (regards et taille figes).running: une variante (theme ou branche) est exigee, vitals verifies (seul un apercu redirige peut etre accepte « non mesurable »), lance dans Rollouts, « C'est lance ».- Un regard par saisie du marchand, juge sur sa borne O'Brien-Fleming.
Un agent ne fait que proposer des chiffres (
pendingLook). concludedsur une borne franchie, un garde-fou casse ou le dernier regard. Conclure avant, c'est « non concluant ».
Chaque ecriture est optimiste : elle ne passe que si updatedAt n'a pas
bouge depuis la lecture, sinon 409 conflict. Deux regards simultanes ne
peuvent donc pas ecrire le meme index.
Outils agent : pas d'enregistrement ni de conclusion
Decision deliberee : un agent propose (proposeExperiment), estime
(estimateExperimentFeasibility, rendue en jauge), liste et PRE-REMPLIT
les chiffres d'un regard (prefillExperimentResults). Enregistrer un
regard et conclure restent des clics du marchand sur la carte : un verdict
engage la boutique, c'est la porte d'autonomie (ADR 0034). Pas d'outil
conclude, meme en proposition : le seul verdict valide sort des regards
pre-enregistres, qu'un clic du marchand declenche deja.
Lien depuis la tache
GET /api/stores/[storeId]/experiments rend la carte tache vers
experience ; le hub d'activite du navigateur de boutique la charge quand on
lui passe experimentsHref (garde : src/test/task-rows-link-their-experiment.test.ts).
Suite : Intelligems
Lire les resultats depuis le MCP Intelligems pour les marchands qui
l'utilisent n'est pas fait : pas de compte de test, donc pas trivial ni
verifiable. Suivi dans backlog/commerce-systems/3084 (section Suite).
La lecture du rollout par id attend une decision
(backlog/commerce-systems/3085).