Reproduire : Site public
Le problème se situe dans le site public rendu -- pages Astro en dehors de /_emdash, la sortie SSR qu'un visiteur normal voit, routage public, sitemap, RSS, rendu d'images, ou patterns de requêtes visibles aux lecteurs anonymes. Vous n'avez pas besoin d'une session admin. Reproduisez et confirmez le bug entièrement via agent-browser : l'artefact durable est vos screenshots, une tranche de DOM capturée, et une transcription précise et rejouable des étapes. N'écrivez pas de tests Playwright (ou autres) -- le bot ne peut pas les exécuter de manière fiable ici, donc un test non exécuté est de la pure spéculation. Un test de régression appartient à celui qui livre le correctif.
Interdictions strictes
- Pas de
git commit, pas degit push, pas de création de branche qui survit au workflow. - Pas d'écritures GitHub. Lectures
ghen lecture seule uniquement. - Pas de
curlvers des hôtes externes arbitraires.localhost:4321uniquement. - Ne touchez à aucun autre issue que celui en cours d'investigation.
Procédure
- Relisez l'issue. Notez l'URL exacte ou le pattern de route, le contenu que le rapporteur attendait par rapport à ce qu'il a vu, et les en-têtes ou query strings qui comptaient. Les bugs de site public dépendent souvent de la locale, du format demandé (HTML vs RSS), ou de la présence de lignes de contenu spécifiques -- soyez précis.
- Choisissez une démo.
demos/simpleest la démo par défaut. Si l'issue est spécifique à une locale, choisissez une démo avec plusieurs locales seeded. Si l'issue est spécifique à une collection, choisissez une démo qui a déjà cette collection. - Seedez du contenu si nécessaire. Si l'issue requiert un élément de contenu que la seed de démo ne fournit pas, créez-le avec la CLI :
pnpm exec emdash content create <collection> --data '...'(consultezskills/emdash-cli/SKILL.mdsi vous avez besoin des flags exacts). Évitez d'éditer les fichiers seed -- le contenu éphémère créé via CLI suffit à reproduire et disparaît avec l'espace de travail. - Démarrez la démo. Exécutez
bgproc start -n demo -w -- pnpm --filter ./demos/simple dev. Le flag-wattend que le serveur dev ouvre un port avant de retourner -- Astro écoute surlocalhost:4321. Inspectez la progression avecbgproc logs -n demos'il ne démarre pas. - Ouvrez la route affectée.
agent-browser open "http://localhost:4321/<path>". Utilisez le chemin exact de l'issue. Si l'issue mentionne une query string ou un en-têteAcceptspécifique, incluez-le. - Inspectez la sortie rendue.
agent-browser snapshot -i -cvous donne l'arbre d'accessibilité.agent-browser get text @e<n>extrait le texte d'une région. Pour RSS ou une sortie non-HTML, récupérez via le panneau réseau du browser plutôt quecurl-- le browser suivra le routage Astro de la démo comme le ferait un visiteur. - Vérifiez les erreurs runtime.
agent-browser consolepour les avertissements sur l'hydratation, données manquantes, ou sous-requêtes 404.agent-browser errorspour les exceptions levées lors du rendu ou de l'hydratation. - Screenshotez à des états significatifs. Sauvegardez dans
.bot-artifacts/step-<n>.png. Un de la page telle que chargée, un de l'élément cassé spécifique s'il est visible. - Confirmez que le mode d'échec correspond. Les bugs de site public sont faciles à mal identifier parce que les différences de rendu peuvent être causées par des données seed manquantes, un artefact de build en cache, ou une route non liée. Si vous ne pouvez pas reproduire exactement le symptôme de l'issue, dites-le dans les notes. Écrivez les étapes exactes rejouables (URL, toute query string ou en-tête
Accept, la sortie observée vs attendue) pour qu'un mainteneur puisse la suivre sans vous.
Quand sauter
Marquez skipped: true et expliquez dans les notes quand :
- Le bug requiert un user-agent spécifique de crawler moteur de recherche, validateur de carte OG, ou autre fetcher tiers que vous ne pouvez pas usurper depuis
localhost. - Le bug requiert du contenu à l'échelle de production (edge cases de pagination, chunking de sitemap) que la démo ne peut pas réalistement produire en temps de workflow.
- Le bug ne se manifeste que sur un Worker déployé -- en-têtes de cache depuis l'edge CF, routage géographique, transformation d'image via la binding R2 de production.
- Le bug requiert un dataset source spécifique (par ex. import WordPress) que le rapporteur n'a pas fourni.
Sortie
Retournez :
- Si vous avez reproduit le bug.
- Si vous avez ignoré (avec raison le cas échéant).
- L'approche que vous avez utilisée :
agent-browser-onlyounone. - Notes : la démo utilisée, l'URL exacte, la séquence d'interaction en prose simple, et toute erreur de console ou runtime.
- Une liste de screenshots, chacun avec le nom de fichier relatif sous
.bot-artifacts/et une description d'une ligne.