fix(cli): architecture rules select nothing on Windows — every path helper returns backslashes
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Start in cli/tests/architecture/helpers.ts, especially sourceFiles() and the other helpers that return relative() paths; inspect how the 15 architecture test consumers use those paths. Run the architecture project on Windows, then verify that forward-slash matching works and that the 100 tests either pass or report genuine violations rather than selecting no files.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
cli/tests/architecture/helpers.ts builds every path it hands to a rule with
relative(CLI_ROOT, full), which is platform-native. On Windows that yields
src\contexts\tools\..., while the rules themselves match on forward slashes —
startsWith("src/contexts/"), includes("/profiles/"), and similar.
Nothing throws. The rules simply select nothing, and 21 architecture tests fail on
Windows with messages that read like the repository drifted rather than like the
harness did: "the rule selects no file — its scope is stale", "no profile
directory found", "pattern matches nothing under src/".
The more serious half is not the noise, it is the silence on the other side: any
architecture rule a contributor adds is unverifiable on Windows, and a Windows
contributor cannot tell a real violation from a harness that selected zero files.
Affected file(s)
cli/tests/architecture/helpers.ts—sourceFiles(), and every helper returning a
relative()path- 15 of the 25 files under
cli/tests/architecture/, as consumers
Expected behaviour
The architecture project passes on Windows, or names a real violation when one exists.
Observed behaviour
On next at 126e88da, a pristine checkout, no local modification:
--project=architecture 21 failed | 79 passed (100)
The same commit is green in CI (cli CI: success), so this is platform-specific and
invisible to the pipeline.
Root cause, reproduced directly:
relative(CLI_ROOT, join(CLI_ROOT, "src", "contexts", "tools", "domain", "x.ts"))
// -> "src\contexts\tools\domain\x.ts"
// startsWith("src/contexts/tools") === false
// includes("/profiles/") === false
normalize is imported in the file but is not applied at this point.
Additional context
Found while implementing #862, and it is the same defect class: a path or shell
assumption that holds on Linux and macOS, breaks on Windows, and reports nothing.
#862 is one hook that never runs; this is 21 rules that never select. Both are
invisible to a Linux-only CI, which is what #707 exists to close.
Deliberately not fixed inside the #862 branch: normalising the separators would make
21 rules run on Windows for the first time, and some may then surface genuine
findings. That is a discovery task with an unbounded cost, and how this harness should
treat Windows is a maintainer decision.
| AI tool | Claude Code |
| aidd-cli version | 5.3.0 |
| OS | Windows 11 Pro (10.0.26100) |
| node | 24.12.0 |
I agree to follow this project's Code of Conduct.
- Lingua principale
- TypeScript
- Stelle
- 481
- Fork
- 45
- Merge medio
- 14h 36m
- PR unite (30g)
- 110
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ai-driven-dev/framework
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one round Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ai-driven-dev/framework#887 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
ai-driven-dev/framework#873 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
ai-driven-dev/framework#872 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
ai-driven-dev/framework#625 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ai-driven-dev/framework#467 · 1 commento ·
Tutte le issue di ai-driven-dev/framework
Issue simili
-
comp/desktop P3 type/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
NousResearch/hermes-agent#118866 ·
-
Browser Waiting for: Product Owner
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
getsentry/sentry-javascript#24577 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
agilepathway/label-checker#640 ·
-
Plugin stuck at "loading" on DSH 0.1.6-alpha.2 — turnTail list slot registration missing options.id Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Add 2021 Cup data to website Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
chrisparsons83/flexspotff#153 ·