I2464 — Cesta obsahující mezeru je pro doktrínu rozsahu jedna cesta
Číst soubory, kterých se úloha dotkla, jako jednu cestu na řádek, s výstupem git -z, všude, kde je shellová vrstva vypisuje, aby se název souboru obsahující mezeru posuzoval jako ta jedna cesta, kterou je.
HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně
Cíl
Číst soubory, kterých se úloha dotkla, jako jednu cestu na řádek, s výstupem git -z, všude, kde je shellová vrstva vypisuje, aby se název souboru obsahující mezeru posuzoval jako ta jedna cesta, kterou je.
Proč
Dne 2026-10-11 pre-push relace 25 odmítl #931 kvůli čtyřem konceptovým obrázkům v jejím rozsahu, každý pojmenovaný jako \"Futuristic PR Drain Developer Dashboard.png\": lib/check.sh iteroval `for f in $(mj_git_touched ...)`, což dělí na bílých znacích, a mj_git_touched četl `git status --porcelain` bez -z, což takovou cestu obalí uvozovkami. Jeden obrázek se stal pěti „cestami“ mimo rozsah (\"assets/concept/Futuristic, PR, Drain, Developer, Dashboard.png\"). Relace soubory přejmenovala, aby prošla vlastní kontrolou. lib/context.sh, lib/changed.sh, lib/evidence.sh a lib/derive.sh čtou stejný uvozovkovaný výstup.
Aktuální stav
mj_git_touched a čtyři další čtečky berou `git status --porcelain` bez -z a dva volající jeho výstup dělí na slova; cesta s mezerou je odmítnuta jako několik cest mimo rozsah.
Cílový stav
mj_git_touched čte status a log s -z přes jednoho pomocníka, mj_git_dirty_paths, a každý volající čte řádky; případ 1073 drží commitnutou, připravenou, změněnou, nesledovanou a přejmenovanou cestu s mezerami uvnitř rozsahu a cestu mimo rozsah hlášenou celou.
Rozsah
- lib/common.sh
- lib/check.sh
- lib/context.sh
- lib/changed.sh
- lib/evidence.sh
- lib/derive.sh
- test/cases/1073_a_path_with_a_space_is_one_path.sh
- .ai/repo/project/issues/I2464.yaml
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- majordomus check projde úlohu, jejíž soubory v rozsahu obsahují mezery, commitnuté, staged, změněné, nesledované i přejmenované
- cesta mimo rozsah s mezerou se hlásí jednou, celá, nikdy po kouscích ani v uvozovkách
- případ 1073 selže proti masteru bez změny
Validace
- bash test/run.sh 1073_a_path_with_a_space_is_one_path 04_start_check 108_scope_after_trunk_merge 108b_scope_after_trunk_fast_forward
- bin/majordomus plan validate
Požadované důkazy
- path_with_space_case
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| path_with_space_case | test | bash test/run.sh 1073_a_path_with_a_space_is_one_path | testy: 1 prošel, 0 selhalo, 0 přeskočeno (běh 2026-10-14 před 07:36Z na master ce5959db59) | ce5959d |
Časová osa
- zahájeno
- 2026-10-14T07:39:09Z
- ověřeno
- —
- dokončeno
- 2026-10-14T07:39:18Z
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Kanonický záznam: .ai/repo/project/issues/I2464.yaml. Přečtěte ho zpět pomocí majordomus plan show I2464.