10 KiB
Plan 0.0.3 — templates initiaux et audits réutilisables
Statut et sources
Plan de cadrage proposé dans 0.0.3-alpha.1. Les tranches suivantes sont une prévision, non un état validé. Aucun template ni audit nouveau n'est encore matérialisé.
La source autoritaire est l'archive Gitea fournie pgr-v0.0.2.zip, issue selon l'opérateur du tag v0.0.2. Son SHA-256 vérifié localement est :
8dc5c979a4d722b4ef6ec84b6227c8cbfffb3f865f4ea9063c03ecb1e365cdc4
Le rapport séparé pgr-0.0.2-publish.001-report.md indique PASS et donne le même hash. Il atteste la publication post-tag sans appartenir au tag. L'archive sans .git ne peut prouver indépendamment le commit ni l'identité du tag ; ces éléments sont les déclarations et preuves de publication de l'opérateur.
Le contrat de démarrage est prompts/003-V0_0_3_START_PROMPT.md. Les règles applicables partent de RULES.md, puis des familles 200, 210, 300, 400, du modèle de profils 003 et des profils 500/510, 520, 600/610 selon leur scope. PGR reste un dépôt documentaire avec deux utilitaires Python ; les toolchains Rust, Java et Android ne deviennent pas des prérequis du dépôt.
Audit indépendant de la stable v0.0.2
L'inspection de l'archive, sa lecture et la comparaison des fichiers extraits avec les membres ZIP ont établi :
- ZIP lisible,
94entrées :78fichiers et16répertoires, une seule racinepgr/; aucun doublon, chemin absolu, traversée.., chemin Windows ambigu ou lien symbolique ; - exactement
78fichiers extraits ;VERSIONcontient0.0.2avec un seul retour final à la ligne ;.gitabsent comme attendu ; - octets des fichiers distribués décodables en UTF-8, sans NUL, CR, espace de fin de ligne ou retour final manquant ;
73fichiers Markdown dont les deux premières lignes correspondent exactement au chemin relatiffileet à une révision positiveversion;- contrôle local des deux scripts existants :
Markdown table audit: clean (2 table(s), 73 file(s))etMarkdown link audit: clean (50 local link(s), 73 file(s)); - aucun répertoire de build/cache ou fichier local sensible connu dans les chemins distribués ; seule la préférence Eclipse UTF-8 intentionnellement conservée est présente sous
.settings/.
La vérification de structure et de gouvernance a constaté :
12deltas et12histories appariés exactement dans chacune des séries0.0.1et0.0.2, y comprisrel.001; chaque history possède un statut explicite ;- les versions
avant/aprèsdéclarées dans tous les deltas0.0.2forment une chaîne continue de0.0.1à0.0.2; les deltas0.0.1au format homogène depuisalpha.1.fix.2forment également une chaîne continue jusqu'à la stable ; - dans
0.0.1, lesFAILdealpha.1,alpha.1.fix.1,alpha.4etrc.1sont suivis d'une tranche correctivePASS; dans0.0.2, même traitement pouralpha.1,alpha.4,beta.1etrc.1; les deuxrel.001sontPASS; README.md,ROADMAP.mdetCHANGELOG.mdprésentent0.0.2comme terminé et0.0.3comme prévu ; les plans001et002restent historiques ; le prompt003nomme l'archive et la preuve post-tag fournies ;- séparation cohérente entre objectifs durables, architecture, règles normatives, validation, plans, deltas prospectifs, histories rétrospectifs et changelog stable ; les index pointent vers les familles et profils réellement présents ;
- les profils réellement matérialisés sont
510Rust/Cargo,520Java/Maven/Gradle et610Android ; les seuls scripts d'audit PGR sont ceux des tableaux et des liens Markdown locaux. Aucun skeleton, générateur ou profil différé n'est présent.
Aucun écart bloquant n'a été constaté dans ces contrôles. Les scripts Markdown ont chacun une portée volontairement limitée : le contrôle des liens vérifie l'existence des cibles inline locales, pas les ancres ; celui des tableaux vérifie leur structure source. Leur PASS n'atteste donc pas des propriétés hors de leur contrat.
Sélection des templates
Retenu : configuration rustfmt.toml
Le profil 510-RUST_CARGO.md possède déjà le contrat de formatage et donne les paramètres issus des corpus éprouvés. Un fichier de configuration minimal, accompagné d'instructions de copie et d'adaptation de l'édition Rust au projet, apporte une valeur immédiate. Il appartient au scope Rust/Cargo, sans imposer à PGR une toolchain Rust, un pin de version ou le layout d'un projet complet.
Avant de livrer le template, vérifier dans les corpus réellement disponibles que chaque option reste utile et compatible avec la toolchain cible ; expliciter comment adapter edition et la largeur. La validation de formatage s'effectuera sur un sujet Rust de test lorsque l'environnement le permet, sans prétendre compiler PGR.
Candidat conditionnel : template de prompt manuel de nouvelle session
Les prompts 002 et 003 montrent un besoin récurrent de transmission de la baseline taggée, du rapport post-tag lorsqu'il existe et de la mission suivante. Une courte spécification Markdown réutilisable pourrait décrire les champs nécessaires et leur responsabilité, sans produire un générateur ni un prompt dupliquant tout le plan. La tranche dédiée n'est retenue qu'après avoir démontré que cette factorisation simplifie effectivement la prochaine clôture.
Différés
Les fichiers Maven/Gradle complets, wrappers, Android local.properties ou signing, règles .gitignore universelles et catalogues de versions ne sont pas copiés par anticipation. Les profils 520 et 610 définissent des contraintes, mais aucun projet sujet et aucune matrice AGP/Gradle/JDK concrète n'ont été fournis à cette session pour choisir leurs valeurs. Les wrappers restent soumis aux outils officiels et à la décision du projet ; un local.properties entièrement régénéré ne justifie pas d'exemple.
Les spécifications complètes de skeleton restent réservées à 0.0.4 ; Rust/JNI, Web/WASM, Tauri et les autres profils différés n'entrent pas dans cette release par simple proximité technologique.
Sélection des audits et patterns
Les deux audits existants (tables, liens locaux) sont les premiers patterns concrets : une propriété chacun, sélection explicite de chemins, lecture seule, messages déterministes et aucune invocation de toolchain. Ils doivent rester séparés.
Un contrôle supplémentaire de headers Markdown est candidat prioritaire. La propriété est précise : pour chaque fichier Markdown choisi, comparer <!-- file: ... --> à son chemin relatif et vérifier <!-- version: N --> avec N >= 1. Son owner est docs/rules/300-DOCUMENTATION.md, son sujet réel est le corpus de 73 Markdown PGR, et les gates précédents répètent ce contrôle en Python inline. Ni le compilateur ni les deux scripts existants ne le couvrent. Sa matérialisation doit garder la sélection de chemins explicite et tester au moins un header erroné, un header correct et un chemin absent.
Les scripts d'audit Rust historiques de KSP et sasedev-games ne sont pas inclus dans l'archive fournie. Ils restent des corpus de comparaison à examiner sur leurs sources réelles avant toute extraction d'une propriété spécialisée. Un audit Rust/Java/Android ne sera pas créé sans sujet concret et sans valeur distincte des outils officiels. Le contrôle manuel du pairing delta/history reste suffisant à ce stade ; aucune collection d'audits n'est ouverte pour remplir une taxonomie.
Trajectoire prévisionnelle
alpha.1 — intake et dimensionnement
Enregistrer l'audit de la stable, confronter le prompt au dépôt réel, inventorier les candidats, fixer le scope et produire le présent plan ainsi que le delta. Aucune matérialisation technique importante. Attendre la validation opérateur, le history distinct et le commit avant tout delta suivant.
alpha.2 — template Rust ciblé
Créer uniquement la configuration rustfmt.toml et ses instructions de sélection/adaptation ; vérifier sa conformité au profil 510 et la portée de sa validation. Si la vérification d'un corpus ou la forme du template révèle un besoin plus large, revoir le plan.
alpha.3 — audit de headers Markdown
Extraire le contrôle récurrent en un script read-only monotâche, documenter sa portée dans la matrice et vérifier des cas positifs et négatifs utiles. Ne pas fusionner cet audit avec les deux audits Markdown existants.
alpha.4 — décision sur le template de workflow
Factoriser le prompt manuel seulement si la revue des prompts et du workflow confirme un bénéfice net ; sinon constater explicitement son report et passer à la stabilisation sans artefact artificiel.
beta.1 — réconciliation
Vérifier ownership, navigation, séparation règle/template/audit, absence de versions universelles arbitraires et proportion des contrôles. Aucun nouveau domaine majeur sans REPLAN.
rc.1 — gate de release candidate
Geler le scope, préparer le changelog et le prompt de la version suivante si la trajectoire est confirmée ; exécuter la gate documentaire et les vérifications ciblées des scripts réellement ajoutés.
stable — 0.0.3
Promouvoir la RC validée, produire le history de clôture pré-tag, committer et tagger, puis contrôler séparément l'archive du tag publiée.
Points de décision et validation
Le plan doit être revu si le template exige une toolchain figée, si l'audit de headers ne peut rester fiable et monotâche, si le template de workflow duplique le plan, ou si une comparaison du corpus réel révèle des contraintes nouvelles. Un REPLAN explicite indique CONTINUE, SPLIT, CONTINUE-NEXT-SESSION ou ABANDON ; la durée d'une conversation ne crée pas une nouvelle version.
La validation alpha.1 est documentaire : identité de VERSION, portée du delta, headers et audits Markdown, revue des owners et des candidats, absence de changement historique rétroactif, contrôle Git dans le dépôt de l'opérateur. La prévalidation de l'archive source et du delta ne devient pas à elle seule un PASS opérateur ; ce résultat appartient au futur history/0.0.3/alpha.1.md.