Skip to content

feat(just): add a check-layers recipe that runs just check on each layer of a stack #51

Closed

Description

@pascalandy

The problem (CMO)

Agent role: MAIN dans s3. COD1 lançait les vérifications

Area: Automated checks

Problem Statement: En tant qu'agent qui travaille dans pascalandy/nicely, je veux une recette just qui lance just check sur chaque couche d'une pile, pour que chaque session vérifie les mêmes versions de la même façon, sans script recréé à la main

REF: #40 à #50

Analogy

Chaque fois qu'on veut vérifier tous les étages d'un immeuble, on redessine le plan de l'ascenseur sur une serviette de table. Un jour, le plan pointe vers un étage qui n'existe plus.

  • Ce qui devrait arriver : l'immeuble a un ascenseur, et on appuie sur un bouton
  • Ce qui est arrivé pendant la pile M01+M02 : deux scripts copiés d'une passation à l'autre devaient être recréés à chaque fois, et l'un d'eux visait un dossier disparu

What we saw

  • Le plan de passation contenait deux scripts shell, un pour Linux et un pour macOS, avec la consigne « recréez-les : /tmp est en tmpfs »
  • Le script macOS faisait un git fetch dans un clone qui avait changé de dossier. L'échec était silencieux et la boucle continuait. Après le prochain push, il aurait testé les anciennes versions
  • Le worktree temporaire de vérification avait disparu sur les deux machines. COD1 a dû le recréer
  • Les deux scripts écrivaient le log de chaque couche dans le même fichier. Le seul échec observé (extension_cancel.txtar:59, une fois sur macOS) a perdu son log, et sa cause reste inconnue

What exists today

just check vérifie la copie de travail courante, une seule couche. Aucune recette ne parcourt les couches d'une pile.

Start, Stop, Continue (FMO)

  • Start: ajouter une recette just check-layers. Elle crée un worktree détaché temporaire, y extrait chaque branche de gh stack view de bas en haut, lance just check, garde un log par couche et affiche branche SHA ok|FAIL. Elle sort en échec si une couche échoue. Sur macOS, on lance la même recette par SSH depuis un clone de l'autre machine
  • Stop: recopier des scripts de vérification dans les passations et les recréer dans /tmp
  • Continue: just check et just signoff restent la vérification d'une couche et du merge

How we'll know it works

  1. Today: une passation contient un script à recréer, et un fetch qui échoue ne fait pas échouer la boucle
  2. After the change: sur une pile de 10 couches, just check-layers affiche 10 lignes ok avec les SHA de origin, et un log par couche reste après un échec
  3. Nothing else changes: just check sur une seule couche donne le même résultat qu'avant

👨🏻‍🍳 For the agent

👨🏻‍🍳 Details
  • Ancien schéma : pour chaque branche, git checkout -q --detach "$b", puis just check > log-<branche>.log, puis echo "$b $(git rev-parse --short HEAD) ok|FAIL"
  • Faire un git fetch d'abord et le faire échouer pour de vrai ; vérifier que HEAD égale origin/<branche>
  • Nettoyer entre deux couches (git checkout -- . && git clean -fd testdata), pour qu'aucun fichier d'une couche ne passe à la suivante
  • Mettre le worktree hors de /tmp, par exemple sous le cache de l'utilisateur, parce que macOS vide /tmp et que /tmp est en tmpfs sur Linux. Un trap le retire à la fin
  • Une couche peut avoir plusieurs commits, par exemple une PR de docs : il faut parcourir les branches, pas les commits
  • Rayon d'impact : justfile seulement, plus une ligne dans AGENTS.md à la section Work on a card

by Opus-5.5 via Claude Code

Activity

  1. added
    1-needs-triageScope, approach, or direction needs evaluation
    2-type:taskSupporting work such as maintenance, documentation, refactoring, or verification
    on Oct 12, 2026
  2. added
    1-ready-for-agentValidated work, sufficiently specified for an autonomous agent
    3-pty:p1High priority; takes precedence over ordinary planned work
    4-epic:memberBelongs to an epic identified by the parent relationship
    and removed
    1-needs-triageScope, approach, or direction needs evaluation
    on Oct 12, 2026
  3. added 3 commits that reference this issue on Oct 12, 2026
    0f387fd
    9585007
    c324013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    1-ready-for-agentValidated work, sufficiently specified for an autonomous agent2-type:taskSupporting work such as maintenance, documentation, refactoring, or verification3-pty:p1High priority; takes precedence over ordinary planned work4-epic:memberBelongs to an epic identified by the parent relationship

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions