{ "entries": [ { "id": "KB-PS1-ENCODING-UTF8BOM", "title": "Windows PowerShell 5.1 parsing requires UTF-8 with BOM or pure ASCII for .ps1", "blocking": false, "workaround": "Save .ps1 as UTF-8 BOM; avoid typographic punctuation; or run in pwsh Core.", "note": "", "fix": "", "tags": [ "powershell", "encoding", "utf8-bom", "compat" ], "seen_in_threads": "2025-10-18", "last_seen": "" }, { "id": "KB-PS1-TYPO-PUNCT", "title": "Typographic quotes and em/en dash break PowerShell parser when file is read as ANSI", "blocking": false, "workaround": "Normalize to ASCII: replace curly quotes and dashes and NBSP; keep scripts ASCII-safe.", "note": "", "fix": "", "tags": [ "powershell", "quotes", "emdash", "ansi" ], "seen_in_threads": "2025-10-18", "last_seen": "" }, { "id": "KB-EXEC-POLICY-BYPASS", "title": "ExecutionPolicy AllSigned blocks unsigned scripts on network shares", "blocking": false, "workaround": "Use -ExecutionPolicy Bypass per-process; generate .cmd wrappers that call powershell.exe -ExecutionPolicy Bypass", "note": "", "fix": "", "tags": [ "powershell", "executionpolicy", "bypass", "netshare" ], "seen_in_threads": "2025-10-18", "last_seen": "" }, { "id": "BUGKB-ONE-SHOT-GATING-2025-10-17", "title": "Execution apres N due to non-hermetic gating and ternary misuse", "blocking": false, "workaround": "", "note": "", "fix": "@{summary=Encapsulation hermetique \u0026 { } + EXECUTE uniquement si ( -eq \u0027O\u0027); suppression du ternary; code_guardrail=System.Object[]; recipe_steps=System.Object[]}", "tags": [ "powershell", "paste-ready", "gating", "safe-create", "governance" ], "seen_in_threads": [ ], "last_seen": "" }, { "id": "BUGKB-BOOT-PACK-KB-MISSING-2025-10-17", "title": "Boot-pack incomplet (KB et Patch History absents) entraine boucles et incoherences", "blocking": false, "workaround": "", "note": "", "fix": "@{summary=Rendre KB et Patch History obligatoires dans le BOOT-PACK + enforcer et audit; code_guardrail=System.Object[]; recipe_steps=System.Object[]}", "tags": [ "governance", "boot-pack", "kb", "patch-history", "paste-ready", "safe-create" ], "seen_in_threads": [ ], "last_seen": "" }, { "id": "KB-20251018-130600", "title": "Unhandled script error: Out-File : Le processus ne peut pas accÃÃâ€Ãâââ€Å...", "blocking": false, "workaround": "Analyser le message, reproduire, ajouter une rÃÃâ€Ãâ€Ãâ...", "note": "", "fix": "", "tags": [ "powershell", "autolog", "ps51", "unclassified", "oneshot", "slof" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T13:06:00+02:00" }, { "id": "KB-20251018-131432", "title": "Unhandled script error: Out-File : Le processus ne peut pas accÃÃâ€Ãâââ€Å...", "blocking": false, "workaround": "Analyser le message, reproduire, ajouter une rÃÃâ€Ãâ€Ãâ...", "note": "", "fix": "", "tags": [ "powershell", "autolog", "ps51", "unclassified", "oneshot", "slof" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T13:14:31+02:00" }, { "id": "KB-AUTO-selftest-pipeline-unc-only-20251018_134930", "title": "Selftest pipeline (UNC-only)", "blocking": false, "workaround": "n/a", "note": "synthetic for pipeline check", "fix": "n/a", "tags": [ "selftest", "slof" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-ps-5-1-operateur-ternaire-non-supporte-20251018_135633", "title": "PS 5.1: operateur ternaire non supporte", "blocking": true, "workaround": "Remplacer par if()/else ou logique equivalente", "note": "Syntaxe ? : non prise en charge par le parser PS 5.1", "fix": "Tous les ternaires remplaces par if()/else", "tags": [ "powershell", "ps51", "syntax", "ternary", "ps5-compat", "parser" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-ps-5-1-select-string-sans-recurse-20251018_135633", "title": "PS 5.1: Select-String sans -Recurse", "blocking": false, "workaround": "Boucler sur Get-ChildItem et appeler Select-String fichier par fichier", "note": "Parametre -Recurse indisponible en PS 5.1", "fix": "Toujours pattern PS5.1-compat pour la recherche", "tags": [ "powershell", "ps51", "select-string", "compat" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T13:56:32+02:00" }, { "id": "KB-AUTO-safe-write-creer-dossiers-avant-tmp-20251018_135633", "title": "SAFE-WRITE: creer dossiers avant .tmp", "blocking": false, "workaround": "Ensure-Parent(Split-Path Dest) + creer stage en amont", "note": "Copy-Item vers \u003cDest\u003e.tmp echoue si parent manquant", "fix": "Write-SafeTxt garantit parents avant copy/move", "tags": [ "safe-write", "io", "dirs", "compat" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T13:56:32+02:00" }, { "id": "KB-AUTO-bug-kb-json-txt-entries-tableau-strip-footer-20251018_135633", "title": "BUG_KB.json.txt: entries = tableau [] + strip footer", "blocking": false, "workaround": "Forcer entries=@(...) et retirer footer a la lecture", "note": "entries en {} + footer melange au JSON -\u003e parsing KO", "fix": "Read-KbObj normalise entries[] et strip footer", "tags": [ "kb", "json", "footer", "compat" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T13:56:32+02:00" }, { "id": "KB-AUTO-join-path-ne-doit-pas-recevoir-un-tableau-de-childpath-ps-5-1-20251018_155750", "title": "Join-Path ne doit pas recevoir un tableau de ChildPath (PS 5.1)", "blocking": false, "workaround": "Boucler sur chaque segment ou construire la liste puis Join-Path par segment; ne pas passer un tableau directement a ChildPath", "note": "Join-Path a recu plusieurs ChildPath en tableau -\u003e objet System.Object[] au lieu d\u0027un chemin (erreur de binding)", "fix": "SAFE-SYNC corrige en bouclant sur TargetRel et Join-Path par element; PS 5.1 proof", "tags": [ "powershell", "join-path", "ps5-compat", "safe-sync" ], "seen_in_threads": [ ], "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-ps-5-1-select-string-sans-recurse-boucler-fichiers-20251018_160307", "title": "PS 5.1: Select-String sans -Recurse (boucler fichiers)", "blocking": true, "workaround": "Lister les fichiers avec Get-ChildItem puis appeler Select-String sur chaque chemin", "note": "Select-String -Recurse n\u0027existe pas sur PS 5.1 -\u003e parametre introuvable", "fix": "Remplacement par boucle foreach sur la liste de fichiers", "tags": [ "powershell", "ps5-compat", "select-string", "recurse" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-bug-kb-json-txt-entries-tableau-strip-footer-avant-convertfrom-json-20251018_160433", "title": "BUG_KB.json.txt: entries = tableau [] + strip footer avant ConvertFrom-Json", "blocking": true, "workaround": "Toujours entries=[...] et retirer le footer avant parsing", "note": "entries detecte comme objet {} et footer SAFE-WRITE casse ConvertFrom-Json", "fix": "Canonisation ecriture JSON avec entries=[...] et de-strip footer a la lecture", "tags": [ "kb", "json", "footer", "safe-write", "parser" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-safe-write-creer-repertoires-avant-tmp-20251018_160648", "title": "SAFE-WRITE: creer repertoires avant .tmp", "blocking": true, "workaround": "Ensure-Parent avant ecriture / copie .tmp", "note": "Copy/Move sur .tmp dans un dossier parent inexistant -\u003e DirectoryNotFound", "fix": "Ensure-Parent ajoute dans les helpers d\u0027ecriture", "tags": [ "safe-write", "io", "windows" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-join-path-ne-pas-passer-un-tableau-en-childpath-20251018_161141", "title": "Join-Path: ne pas passer un tableau en ChildPath", "blocking": true, "workaround": "Joindre segment par segment dans une boucle", "note": "Passage d\u0027un tableau a ChildPath -\u003e System.Object[] et erreur de binding", "fix": "SAFE-SYNC corrige: boucle sur TargetRel", "tags": [ "powershell", "path", "join-path", "bugfix" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-ps-5-1-ps1-en-utf-8-avec-bom-ou-ascii-strict-20251018_162239", "title": "PS 5.1: .ps1 en UTF-8 avec BOM (ou ASCII strict)", "blocking": true, "workaround": "Sauver .ps1 en UTF-8 BOM ou normaliser ASCII", "note": "Fichiers UTF-8 sans BOM + typo-chars -\u003e erreurs parser", "fix": "Ecriture .ps1 avec UTF-8 BOM dans les scripts d\u0027installation", "tags": [ "powershell", "encoding", "utf8-bom" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-typo-quotes-dashes-nbsp-normaliser-ascii-20251018_164836", "title": "Typo quotes/dashes/nbsp: normaliser ASCII", "blocking": false, "workaround": "Remplacer par quotes/tirets ASCII et espaces normaux", "note": "Guillemets typographiques, tirets en/em, nbsp provoquent erreurs de parsing", "fix": "Etape de normalisation ajoutee lors de correctifs", "tags": [ "encoding", "ascii", "parser" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-executionpolicy-allsigned-sur-unc-utiliser-bypass-ou-wrapper-cmd-20251018_165000", "title": "ExecutionPolicy AllSigned sur UNC: utiliser Bypass ou wrapper .cmd", "blocking": true, "workaround": "powershell.exe -ExecutionPolicy Bypass -File ...", "note": "AllSigned bloque .ps1 non signes sur partages UNC", "fix": "Wrappers .cmd ASCII + appels Bypass systematise", "tags": [ "executionpolicy", "unc", "security", "wrapper" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-wrapper-cmd-ascii-et-appel-bypass-20251018_165010", "title": "Wrapper .cmd: ASCII et appel Bypass", "blocking": false, "workaround": "Wrapper ASCII sans BOM, appel powershell.exe -ExecutionPolicy Bypass", "note": ".cmd avec BOM ou appels sans Bypass posent souci", "fix": "New-CmdWrapper et run_in_govshell.cmd standardises", "tags": [ "wrapper", "cmd", "ascii", "bypass" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-boot-pack-sections-obligatoires-boot-pack-bug-kb-json-policy-20251018_165019", "title": "Boot-pack sections obligatoires: [BOOT-PACK],[BUG_KB_JSON],[POLICY]", "blocking": true, "workaround": "Verifier/ajouter sections et JSON valide", "note": "Sections manquantes -\u003e validation et gating incoherents", "fix": "Scripts de sync mettent a jour bootpack.txt", "tags": [ "bootpack", "policy", "governance" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-deprecation-bug-kb-jsonl-au-profit-de-bug-kb-json-txt-20251018_165029", "title": "Deprecation BUG_KB.jsonl au profit de BUG_KB.json.txt", "blocking": false, "workaround": "Converger vers BUG_KB.json.txt canonique", "note": "Deux sources KB (jsonl et json.txt) entrainent divergences", "fix": "Script de convergence + update bootpack", "tags": [ "kb", "canonical", "jsonl", "cleanup" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-unc-health-check-avant-ecritures-20251018_165039", "title": "UNC health check avant ecritures", "blocking": false, "workaround": "Ecriture test et verif sha256 avant operations", "note": "Handles ou verrous peuvent casser writes sur UNC", "fix": "UNC_HEALTH ecrit en logs + gating", "tags": [ "unc", "io", "healthcheck" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-pas-de-lecteur-z-unc-only-staging-local-20251018_165050", "title": "Pas de lecteur Z: UNC only + staging local", "blocking": false, "workaround": "Toujours UNC + staging C:\\\\Temp_Gouvernance", "note": "Lecteur mappes non persistants et sources d\u0027erreurs", "fix": "Scripts normalises sur UNC-only", "tags": [ "unc", "staging", "infra" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "BUGKB-ONE-SHOT-GATING-2025-10-17", "title": "Unhandled script error: Out-File : Le processus ne peut pas accéder au fichier", "blocking": true, "workaround": "Analyser le message, reproduire, ajouter une r�gle pr�cise.", "note": "Erreur non classifi�e (voir log).", "fix": "SAFE-SYNC corrige en bouclant sur TargetRel et Join-Path par element; PS 5.1 proof", "tags": [ "powershell", "encoding", "utf8-bom", "compat", "quotes", "emdash", "ansi", "executionpolicy", "bypass", "netshare", "paste-ready", "gating", "safe-create", "governance", "boot-pack", "kb", "patch-history", "autolog", "ps51", "unclassified", "oneshot", "slof", "selftest", "syntax", "ternary", "ps5-compat", "parser", "select-string", "safe-write", "io", "dirs", "json", "footer", "join-path", "safe-sync", "recurse", "windows", "path", "bugfix", "ascii", "unc", "security", "wrapper", "cmd", "bootpack", "policy", "canonical", "jsonl", "cleanup", "healthcheck", "staging", "infra" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" }, { "id": "KB-AUTO-selftest-pipeline-v1-2-preview-20251018_182309", "title": "Selftest pipeline v1.2 (preview)", "blocking": false, "workaround": "n/a", "note": "synthetic", "fix": "n/a", "tags": [ "selftest", "v1.2" ], "seen_in_threads": "2025-10-18", "last_seen": "2025-10-18T18:23:08+02:00" } ], "updated": "2025-10-19T00:13:11+02:00" } --- DOC-VERSION-FOOTER --- Generated: 2025-10-19T00:13:11+02:00 SHA-256: 15a759c21d5c91b13bebc111caab8ec8acb63dcf8815093e9935765c4953e018 Policy: TXT-ONLY v1.0; SAFE-WRITE v1.1; GOV_SCRIPT_GATE v1.3 Source: KB_SALVAGE_v1.0c