[BUG_KB_JSON] ```json { "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": "", "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-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 acceder 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" }, { "id": "bug-ps-5-1-operateur-ternaire-interdit-20251019144124", "title": "PS 5.1: operateur ternaire interdit", "blocking": true, "workaround": "", "note": "Parse error sur \u0027? :\u0027 dans PS5.1. Correction: remplacer par if/else.", "fix": "", "tags": [ "powershell", "ps51", "parser" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T14:41:24+02:00" }, { "id": "bug-scripts-ps1-litteraux-mojibake-utf-8-typographiques-provoque-20251019150738", "title": "Scripts .ps1: litteraux mojibake/UTF-8 typographiques provoquent ParserError", "blocking": true, "workaround": "", "note": "Guillemets/tirets typographiques encodes en CP1252 (affiches en \u0027a \u0027, \u0027a \u0027, \u0027a \u0027) cassent PS5.1. Corrections: forcer UTF-8 BOM, utiliser des escapes Unicode (U+2013/U+2014) ou ASCII, bannir les litteraux non-ASCII dans .ps1.", "fix": "", "tags": [ "powershell", "encoding", "utf8bom", "mojibake", "ps51", "parser" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T15:07:38+02:00" }, { "id": "bug-kb-bug-intake-gate-v1-2-ecriture-temporaire-dans-chemin-scri-20251019151802", "title": "kb_bug_intake_gate v1.2: ecriture temporaire dans chemin script DirectoryNotFoundException", "blocking": true, "workaround": "", "note": "En v1.2, l\u0027AUTO etait ecrit via un chemin temporaire derive du repertoire du script (ex: kb_bug_intake_gate_v1.2.ps1\\write_xxx), provoquant DirectoryNotFoundException et la non-creation de l\u0027AUTO. Correctifs: StageRoot dedie (C:\\Temp_Gouvernance\\stage_io), Ensure-Parent/Ensure-Dir avant ecriture, ecriture atomique (.tmp -\u003e Move-Item), UTF-8 BOM.", "fix": "", "tags": [ "powershell", "io", "safe-write", "staging", "ps51" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T15:18:02+02:00" }, { "id": "bug-ps-5-1-et-non-supportes-parsererror-20251019152554", "title": "PS 5.1: ?. et ?? non supportes -\u003e ParserError", "blocking": true, "workaround": "", "note": "En PS 5.1, les operateurs ?. (null-conditional) et ?? (null-coalescing) ne sont pas pris en charge: ParserError. Corrections: remplacer par if/else, verifs explicites ($obj -and $obj.Prop), helpers (TryGet), et bannir ?. / ?? dans les scripts PS5.1.", "fix": "", "tags": [ "powershell", "ps51", "parser", "compatibility", "null-conditional", "null-coalescing" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T15:25:54+02:00" }, { "id": "bug-nowiso-parsing-function-nowiso-vs-f-formatting-20251019234618", "title": "NowIso parsing: function NowIso vs -f formatting", "blocking": true, "workaround": "", "note": "Symptoms: ExpectedExpression/UnexpectedToken quand 2025-10-19T23:46:17/(NowIso()) est mele au -f. Fix: function NowIso { (Get-Date).ToString(\u0027s\u0027) } + usage propre (precompute var ou -f correct).", "fix": "", "tags": [ "powershell", "parsing", "formatting", "ps51", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:46:18+02:00" }, { "id": "bug-arg-passing-concat-preview-root-et-root-root-20251019234630", "title": "Arg passing: concat -Preview-Root et Root:-Root", "blocking": true, "workaround": "", "note": "Symptoms: -Preview-Root, Root:-Root, chemins vides. Cause: concatenation/sequencage d\u0027args. Fix: tableau d\u0027arguments propre; ne passer -Root qu\u0027aux steps qui le prennent.", "fix": "", "tags": [ "powershell", "args", "binding", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:46:30+02:00" }, { "id": "bug-runner-switches-injection-execute-preview-forces-param-error-20251019234641", "title": "Runner switches injection: -Execute/-Preview forces -\u003e param errors", "blocking": true, "workaround": "", "note": "Erreur quand le runner force -Execute/-Preview sur des scripts sans ces switches. Fix: detecter switches supportes et n\u0027ajouter que si pertinent; -Root seulement si requis.", "fix": "", "tags": [ "wrapper", "runner", "params", "preview", "execute", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:46:41+02:00" }, { "id": "bug-cmd-bom-header-ef-bb-bf-echo-off-20251019234653", "title": "CMD BOM header: EF BB BF -\u003e ???@echo off", "blocking": false, "workaround": "", "note": "Cause: wrappers .cmd en UTF-8 BOM. Fix: enregistrer wrappers .cmd en ASCII/UTF-8 sans BOM (texte pur).", "fix": "", "tags": [ "encoding", "cmd", "utf8", "bom", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:46:53+02:00" }, { "id": "bug-wrapper-recursion-stack-overflow-20251019234704", "title": "Wrapper recursion -\u003e stack overflow", "blocking": true, "workaround": "", "note": "Symptome: recursion involontaire du wrapper (re-entree). Fix: appel PS direct sur cache, trace entree, garde anti-reentree.", "fix": "", "tags": [ "wrappers", "controlflow", "stack", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:47:04+02:00" }, { "id": "bug-root-null-empty-join-path-test-path-errors-20251019234715", "title": "Root Null/Empty -\u003e Join-Path/Test-Path errors", "blocking": true, "workaround": "", "note": "Symptome: ParameterArgumentValidationErrorEmpty/NullNotAllowed. Cause: binding casse. Fix: valider -Root avant Join-Path/Test-Path; passer -Root uniquement aux steps qui le prennent.", "fix": "", "tags": [ "paths", "validation", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:47:15+02:00" }, { "id": "bug-regex-refactor-fragile-ireplace-badreplaceargument-20251019234726", "title": "Regex refactor fragile (-ireplace) -\u003e BadReplaceArgument", "blocking": false, "workaround": "", "note": "Lecon: eviter regex intelligents pour refactor; preferer reecriture atomique/sure.", "fix": "", "tags": [ "regex", "refactor", "risk", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:47:26+02:00" }, { "id": "bug-acceptance-pointer-null-invokemethodonnull-20251019234737", "title": "Acceptance pointer null -\u003e InvokeMethodOnNull", "blocking": false, "workaround": "", "note": "Symptome: .ToLower() sur null. Fix: null-guards avant comparaisons; PASS ensuite.", "fix": "", "tags": [ "null-guards", "acceptance", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:47:37+02:00" }, { "id": "bug-manifest-emit-resume-manifest-erreurs-de-bloc-parentheses-20251019234748", "title": "Manifest (emit_resume_manifest) -\u003e erreurs de bloc/parentheses", "blocking": false, "workaround": "", "note": "Symptomes: Expression manquante apres , ; bloc non ferme. Cause: saisie manuelle. Statut: non bloquant.", "fix": "", "tags": [ "manifest", "syntax", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:47:48+02:00" }, { "id": "bug-cache-local-script-not-found-20251019234800", "title": "Cache local: script not found", "blocking": false, "workaround": "", "note": "Fix: robocopy du NAS vers cache + verif existence avant execution; comparer SHA NAS vs cache.", "fix": "", "tags": [ "cache", "robocopy", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:48:00+02:00" }, { "id": "bug-cli-tags-tokens-orphelins-mal-routes-ps5-1-20251019234813", "title": "CLI Tags: tokens orphelins mal routes (PS5.1)", "blocking": true, "workaround": "", "note": "Tokens residuels non quotes glissaient vers Workaround/Fix. Fix: capture remainder en Tags + normalisation CSV/guillemets/espaces.", "fix": "", "tags": [ "powershell", "parser", "ps51", "tags", "normalize", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:48:13+02:00" }, { "id": "bug-executionpolicy-allsigned-unc-bloque-ps1-20251019234824", "title": "ExecutionPolicy AllSigned: UNC bloque .ps1", "blocking": true, "workaround": "", "note": "AllSigned interdit l\u0027execution directe depuis UNC. Solution: wrappers .cmd ASCII, copie en cache local, powershell.exe -ExecutionPolicy Bypass.", "fix": "", "tags": [ "powershell", "AllSigned", "UNC", "wrapper", "Bypass", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:48:24+02:00" }, { "id": "bug-join-path-avec-tableau-chemins-invalides-ps5-1-20251019234836", "title": "Join-Path avec tableau -\u003e chemins invalides (PS5.1)", "blocking": true, "workaround": "", "note": "Join-Path appele avec un tableau multi-segments genere des chemins errones. Fix: composer segment par segment (boucle).", "fix": "", "tags": [ "powershell", "join-path", "ps51", "io", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:48:36+02:00" }, { "id": "bug-select-string-recurse-indisponible-ps5-1-20251019234847", "title": "Select-String -Recurse indisponible (PS5.1)", "blocking": true, "workaround": "", "note": "PS5.1 ne supporte pas -Recurse sur Select-String. Fix: boucler explicitement sur les fichiers (Get-ChildItem) puis Select-String.", "fix": "", "tags": [ "powershell", "ps51", "select-string", "compat", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:48:47+02:00" }, { "id": "bug-wrapper-cmd-bug-shift-args-positionnels-20251019234858", "title": "Wrapper .cmd: bug %* / SHIFT (args positionnels)", "blocking": true, "workaround": "", "note": "Le batch utilisait %* (non impacte par SHIFT) =\u003e doublons/erreurs. Fix: reconstruire ARGS en boucle, %~f1, PowerShell -ExecutionPolicy Bypass.", "fix": "", "tags": [ "cmd", "batch", "wrapper", "executionpolicy", "args", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:48:58+02:00" }, { "id": "bug-kb-bug-intake-gate-v1-2-ecriture-temporaire-directorynotfoun-20251019234910", "title": "kb_bug_intake_gate v1.2: ecriture temporaire -\u003e DirectoryNotFoundException", "blocking": true, "workaround": "", "note": "WriteAllText echouait car chemin temporaire derive du dossier du script. Fix: StageRoot dedie (C:\\Temp_Gouvernance\\stage_io), Ensure-Parent/Ensure-Dir, ecriture atomique (.tmp -\u003e Move-Item), UTF-8 BOM.", "fix": "", "tags": [ "powershell", "io", "safe-write", "staging", "ps51", "session:guard-20251019", "kb_bug_intake_gate_v1.6.ps1" ], "seen_in_threads": [ ], "last_seen": "2025-10-19T23:49:10+02:00" }, { "id": "KB-AUTO-untitled-kb-entry-20251022_204857", "title": "Untitled KB entry", "blocking": false, "note": null, "workaround": null, "fix": null, "tags": [ ], "seen_in_threads": [ ], "last_seen": "2025-10-28T19:11:45+01:00" } ], "updated": "2025-10-28T19:11:45+01:00" }