fix(packaging): livrer le correctif de permission dans le paquet r9 #62

Merged
mathieu merged 2 commits from loop/subject-60 into main 2026-09-12 12:29:54 +00:00
Owner

Fixes #60

Résultat livré pour revue

Le paquet passe de 0.1.0.r8.gc338567-1 à 0.1.0.r9.g3c5f935-1 : il inclut désormais le correctif de permission déjà fusionné dans #61. Une simple reconstruction ne réutilise plus l'ancien paquet r8. La préparation du cache ne parcourt ni ne modifie les artefacts de compilation inaccessibles sous le répertoire des clones.

Le lancement des validations est également corrigé pour les worktrees Git liés : la copie dans Arch exclut les métadonnées .git de l'hôte, sans contournement des assertions. Un test couvre le checkout normal et le worktree lié.

Preuves vérifiées

  • Archive immuable : 3c5f935e71f88445290522119f4cb2f8b56f9e97, descendant du main revérifié 8d9b844c093269286a8e5d2818d77665fecf7e99.
  • SHA-256 : 9eff0b666631389abb79f0b38731bab6b4545f6506d86cfcfbfc0f443fe5f3c6 ; fraîcheur des entrées du paquet vérifiée.
  • .SRCINFO généré et comparé octet par octet avec makepkg --printsrcinfo, utilisateur non-root dans Arch ; namcap, construction et check() réussis.
  • Ancien /usr/bin/auroscope r8 : reproduction du refus de permission avec hermes-agent-desktop/pkg en mode 000. Nouveau binaire installé : commande nue réussie, artefact toujours 000, racine des clones 700, aucune invocation de Codex.
  • Mise à niveau réelle r8 → r9 avec les anciennes archives présentes, sans --force, paquet debug compris. pacman -Q auroscope : auroscope 0.1.0.r9.g3c5f935-1.
  • Gate supported-Paru complet sur le binaire installé : sélection/couleurs natives, acquisition et compilation AUR réelles, installation Pacman, édition/réaudit, refus de dérive, retry avec nouvelle approbation, skip et paquets officiels sans audit. Conteneur existant récupéré après le timeout de l'agent : sortie Docker 0, marqueur final de succès retrouvé. Aucun second lancement nécessaire.
  • go test ./... -count=1, go vet ./..., régression de copie des sources et git diff --check réussis.

Journaux conservés dans le runtime local : verified-package-60.log, recovered-supported-60.log, recovered-docker-exits-60.jsonl, recovered-local-gates-60.log. Codex est simulé dans ces gates : aucune nouvelle qualification du modèle réel n'est revendiquée.

Suite et limite

Héphaïstos a publié et validé le candidat ; Mathieu garde la décision de revue et de fusion. Aucun merge et aucune installation sur le poste utilisateur. Le ticket reste ouvert jusqu'à la fusion et sa vérification.

Conserver le commit source épinglé dans l'historique distant. Ne pas squash-merger puis supprimer sa seule branche : utiliser une fusion qui conserve les commits, ou garder explicitement la référence source. Le pin appartient à cette branche et sera conservé dans main par une fusion non-squash. Aucun squash automatique n'est autorisé.

Fixes #60 ## Résultat livré pour revue Le paquet passe de `0.1.0.r8.gc338567-1` à `0.1.0.r9.g3c5f935-1` : il inclut désormais le correctif de permission déjà fusionné dans #61. Une simple reconstruction ne réutilise plus l'ancien paquet r8. La préparation du cache ne parcourt ni ne modifie les artefacts de compilation inaccessibles sous le répertoire des clones. Le lancement des validations est également corrigé pour les worktrees Git liés : la copie dans Arch exclut les métadonnées `.git` de l'hôte, sans contournement des assertions. Un test couvre le checkout normal et le worktree lié. ## Preuves vérifiées - Archive immuable : `3c5f935e71f88445290522119f4cb2f8b56f9e97`, descendant du `main` revérifié `8d9b844c093269286a8e5d2818d77665fecf7e99`. - SHA-256 : `9eff0b666631389abb79f0b38731bab6b4545f6506d86cfcfbfc0f443fe5f3c6` ; fraîcheur des entrées du paquet vérifiée. - `.SRCINFO` généré et comparé octet par octet avec `makepkg --printsrcinfo`, utilisateur non-root dans Arch ; `namcap`, construction et `check()` réussis. - Ancien `/usr/bin/auroscope` r8 : reproduction du refus de permission avec `hermes-agent-desktop/pkg` en mode `000`. Nouveau binaire installé : commande nue réussie, artefact toujours `000`, racine des clones `700`, aucune invocation de Codex. - Mise à niveau réelle r8 → r9 avec les anciennes archives présentes, **sans `--force`**, paquet debug compris. `pacman -Q auroscope` : `auroscope 0.1.0.r9.g3c5f935-1`. - Gate supported-Paru complet sur le binaire installé : sélection/couleurs natives, acquisition et compilation AUR réelles, installation Pacman, édition/réaudit, refus de dérive, retry avec nouvelle approbation, skip et paquets officiels sans audit. Conteneur existant récupéré après le timeout de l'agent : sortie Docker **0**, marqueur final de succès retrouvé. Aucun second lancement nécessaire. - `go test ./... -count=1`, `go vet ./...`, régression de copie des sources et `git diff --check` réussis. Journaux conservés dans le runtime local : `verified-package-60.log`, `recovered-supported-60.log`, `recovered-docker-exits-60.jsonl`, `recovered-local-gates-60.log`. Codex est simulé dans ces gates : aucune nouvelle qualification du modèle réel n'est revendiquée. ## Suite et limite Héphaïstos a publié et validé le candidat ; **Mathieu garde la décision de revue et de fusion**. Aucun merge et aucune installation sur le poste utilisateur. Le ticket reste ouvert jusqu'à la fusion et sa vérification. **Conserver le commit source épinglé dans l'historique distant. Ne pas squash-merger puis supprimer sa seule branche : utiliser une fusion qui conserve les commits, ou garder explicitement la référence source.** Le pin appartient à cette branche et sera conservé dans `main` par une fusion non-squash. Aucun squash automatique n'est autorisé.
mathieu deleted branch loop/subject-60 2026-09-12 12:29:54 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/auroscope!62
No description provided.