Repository navigation
docs: preuves de qualification live Linux amd64 (microVM, secrets, magasin) - #203
Conversation
…s, store) Runs the qualification-beta protocol on a Scaleway DEV1-S (nested KVM): common steps 1-9, secrets walkthroughs 1-7 (proxy substitution live to httpbin.org, cross-host denial, guest-readable value classes, rotation, revocation, locked store), terminal matrix, official installer row, and the Secret Service store matrix (two PASS transcripts plus the locked-collection failure shape). Updates docs/plateformes.md: Linux amd64 microVM boot and Linux store now qualified. agent-vm row recorded as host-limited. Findings filed as #199, #200, #201, #202. Refs #145, refs #151, refs #152 👾 Generated with [Letta Code](https://letta.com) Model: lc-qwencloud/deepseek-v4.1-flash Co-Authored-By: Letta Code <noreply@letta.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4dbbd043ee
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Binds every retained transcript to the qualified revision, reruns the terminal matrix in PTYs with verified widths (22b), records the cross-profile no-op start tolerance as #204 instead of conformant, and notes the post-run metadata completion for traceability. Refs #152, refs #204 👾 Generated with [Letta Code](https://letta.com) Model: lc-qwencloud/deepseek-v4.1-flash Co-Authored-By: Letta Code <noreply@letta.com>
|
@codex review — findings addressed in e37bb06: every transcript now carries the source revision (post-run completion disclosed in the README), the 40/200-column cases were rerun in PTYs with verified widths (22b-terminal-matrix.txt), and the cross-profile no-op start is recorded as defect #204 rather than conformant. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e37bb067d8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- croix-profil marqué non conforme (défaut #204), pas partiel - source=<sha> sur chaque transcript (les fichiers sans ligne META en reçoivent une) - 22-terminal-matrix.txt (largeur non vérifiée) retiré ; 22c ajouté : Ctrl-C réel piloté PTY, SIGINT propre code 1, rien persisté - diagnostics d'import CR/UTF-8 marqués partiels (#208) - absence d'invite d'approbation documentée (#209) + état partiel après approve en échec (#210) 👾 Generated with [Letta Code](https://letta.com) Model: lc-qwencloud/deepseek-v4.1-flash Co-Authored-By: Letta Code <noreply@letta.com>
|
@codex review — second round findings addressed in 78677a2:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 78677a2333
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…des essais sans valeur probante 22e pilote le formulaire huh via une pty script(1) : Ctrl-C sort (130) à 40 et 200 colonnes, n annule, rien de persisté. 22c testait un binaire inexistant et 22d une pty python dont l'entrée n'atteint pas huh ; les deux sont écartés de la preuve (leçon consignée dans le README). 👾 Generated with [Letta Code](https://letta.com) Model: lc-qwencloud/deepseek-v4.1-flash Co-Authored-By: Letta Code <noreply@letta.com>
…nux arm64 Ctrl-C piloté via pty script(1) : sortie propre (130) aux deux largeurs sur les deux plateformes ; annulation « n » propre ; rien de persisté. Alignement sur la revue #203 : pas d'invite d'approbation en v0.10.0 (#209), état partiel après approve en échec (#210), Ctrl-C terminé par timeout -k écarté de la preuve. 👾 Generated with [Letta Code](https://letta.com) Model: lc-qwencloud/deepseek-v4.1-flash Co-Authored-By: Letta Code <noreply@letta.com>
…x de #207 - plateformes.md : matrices runtime et magasin cohérentes après fusion (#203 a qualifié Linux amd64, cette branche macOS arm64 et Linux arm64) ; table des preuves complétée pour les trois plateformes qualifiées - credentials/evidence/README.md : la section « répertoire vide » décrit désormais les trois magasins qualifiés et les contre-essais nosession - darwin-arm64 : journaux Tart conservés (tart-start2/3, tart-manual-run) ; 31 relibellé comme tentative refusée avant déverrouillage, avec la preuve de réussite 31b après déverrouillage du trousseau dédiée - linux-arm64 : 51b-tui.typescript conservé, référencé par le README 👾 Generated with [Letta Code](https://letta.com) Model: letta/auto Co-Authored-By: Letta Code <noreply@letta.com>
Réponse au constat Codex du head f083189 sur #207 : les transcripts bruts cités comme preuve ne permettaient pas d'identifier la révision qualifiée hors du README, en contradiction avec l'affirmation « chaque transcript porte une ligne META source ». - 46c-*.typescript (darwin-arm64) : META step/source/date prépendue aux quatre captures (run du 2026-10-19). - 51b-tui.typescript (linux-arm64) : META prépendue, date d'après le mtime du fichier d'origine sur l'hôte Asahi (2026-10-16T16:47:32Z). - 11-tui-launch.typescript (linux-amd64) : même traitement, cohérent avec la note de traçabilité de ce README (mtime hôte : 2026-10-16T15:36:47Z) ; corrige a posteriori un manque fusionné avec #203. 👾 Generated with [Letta Code](https://letta.com) Model: anthropic/claude-sonnet-4-5 Co-Authored-By: Letta Code <noreply@letta.com>
Qualification live Linux amd64 (M2)
Exécution du protocole
docs/qualification-beta.mdsur un hôte Linux amd64 jetable (instance Scaleway DEV1-S, 2 vCPU / 1,9 Gio, Ubuntu 22.04, KVM imbriqué réel), révisiondb9b8fc(just-code v0.10.0), le 2026-10-16. Toutes les preuves sont conservées danstests/integration/qualification/linux-amd64/ettests/integration/credentials/evidence/.Refs #145, refs #151, refs #152. Ne clôt aucune de ces issues : les autres plateformes (Linux arm64, macOS arm64, Windows) restent à exécuter.
Résultats principaux
doctor,check, filtre de transfert (dotenv, fichiers ignorés, gitleaks), export/revue/application, cycle stop/start sans perte d'état, TUI dans l'invité, parcours import Albert Code, dépôt d'équipe : tous conformes.--yes, sources inchangées, idempotence), approbation proxy, substitution réelle vérifiée en live — l'invité n'a que le marqueur__JUST_CODE_SECRET_…__, httpbin.org reçoit la valeur ; déni inter-hôtes vérifié (requête portant un marqueur vers un hôte non approuvé coupée par le proxy) ; livraison lisible-invité en 0600 avec les classes de valeurs du protocole (apostrophe, double antislash, antislash final, chemin Windows livrées à l'identique ;$, retour chariot, UTF-8 invalide, apostrophe initiale refusées avec la variable et la raison) ; profils (refus de--clear, échec explicite inter-profils sur création) ; rotation (nouvelle valeur livrée, ancienne absente) ; révocation (messages nommant le mode, invité nettoyé au redémarrage) ; magasin verrouillé (échec explicite du démarrage, liaisons préservées).--- PASS(linux-amd64-run-1/2.txt) sous session D-Bus déverrouillée, plus un transcript hors session documentant la forme « collection verrouillée ».curl | sh, binairev0.10.0, SHA256 vérifié.docs/plateformes.md: Linux amd64 (microVM démarrée) et magasin Linux passent à qualifié.Défauts découverts (issues dédiées)
startne résout pas les secrets importés avec--fallback(Linux headless) : contourné pendant la qualification par une session D-Bus + trousseau déverrouillé, mais le parcours--fallbackseul aboutit à un démarrage impossible.template:debian-13invalide sous Lima actuel (syntaxetemplate://requise, nom déplacé sousexperimental/).start --agent-vmignore l'identifiant Albert du magasin de repli ; remarque connexe : le dimensionnement par défaut (4 Gio / 2 vCPU) ne rentre pas dans un petit hôte.go --version, erreur(<nil>), sonde secret-service en lecture seule,--fallbackabsent de l'usage).agent-vm (Lima) sur cet hôte : partiel, limité par l'hôte
Modèle de base construit (avec les contournements #200/#201), VM gérée démarrée (5 min 31 s), serveur OpenCode répondant (401 sur
/global/health), arrêts/redémarrages propres ; mais le serveur devient muet sous charge sur 1 vCPU / 1 Gio (seul dimensionnement possible dans 1,9 Gio). La preuve de santé interactive demande un hôte plus grand.Observations (non bloquantes)
workspace syncest sans mémoire d'export : après modification invité, il exige toujours--forcemême après export+application (sûr par défaut, mais le protocole mérite de le dire)..envcréé dans l'invité dans le diff de revue : une valeur lisible-invité y apparaîtrait en clair (cohérent avec le compromis documenté phase 4 ; à garder en tête dans la revue).👾 Generated with Letta Code