fix/nuwayze-dogfood-findings #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/nuwayze-dogfood-findings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Solution
Rule changes
adjudication where possible — see
tool/adjudicate.py)Release Note
Breaking Changes
Tests
pipe recall --root <dir> --strict)Documentation
Conventional Commit subjects, so check those read well; do not edit
CHANGELOG.md by hand
AI usage
`pipe verify .` failed with "verify needs --baseline" even in a repo whose baseline sits where the README's CI recipe writes it. nuwayze's scripts/testing/pipe_state_flow_gate.sh commits exactly that file, .pipe-baseline.json at the repo root, so every verify there had to repeat the path. Without --baseline, verify now reads <path>/.pipe-baseline.json when it exists and says so on stderr ("pipe: no --baseline given; using ..."), so a run never silently picks a file nobody named. With neither, the error names both remedies: pass --baseline, or write the conventional file with `pipe check <path> --write-baseline <path>/.pipe-baseline.json` before the fix. pipe had no baseline-name constant; defaultBaselineName is now the one place it is spelled. Tests (test/verify_default_baseline_test.dart): an explicit --baseline wins and announces nothing; the conventional file is used and announced; with neither the error carries both remedies; and end to end, `pipe verify <copy>` against a baseline written at the copy's root reads it (--expect-resolved fails on the 28 still-present findings). README and docs/usage.md show the shorter form. On nuwayze-w3, `pipe verify /Users/.../nuwayze-w3` with no flag reads its .pipe-baseline.json (65 accepted findings). 225 tests pass.Found by dogfooding on nuwayze: `pipe queries lib` from the repo root failed with no resolved package graph at .dart_tool/package_config.json remedy: run `flutter pub get` or `dart pub get` in .../nuwayze-w3/lib It failed even with the package resolved, because the path was taken as the project root: pipe looked for lib/.dart_tool/package_config.json, which never exists, and the remedy sent the user to run pub get in a directory that has no pubspec. enclosingPackage() (project.dart) splits a path into the package that contains it (the path itself when it holds a pubspec.yaml, else the nearest ancestor that does) and the directory it names under that root. `pipe queries` loads the package root and scans only that directory, so `pipe queries lib/services` is `--dir lib/services` on the package; an explicit --dir with such a path is relative to it. Without a resolved graph the error now names the package root. loadProject's own remedy uses the same lookup, so `pipe check lib` (and the other commands, which still take the path as the root) now says the path is inside the package at <root> and suggests passing that with `--dir lib`, instead of pub get in lib. Tests: enclosingPackage on a root, a nested directory, a nested package and a missing path; loadProject's remedy for a directory inside a package; and `pipe queries` on the fixture's lib/data (root reported as the package, one file discovered), with `lib --dir data`, and on an unresolved package where the remedy names the root, not lib. On nuwayze-w3: `pipe queries lib` exits 0 with 313 queries over 847 files, identical to `pipe queries .`; `pipe queries lib/services` scans 161 files and every one of its 212 queries sits under lib/services. 233 tests pass.