fix(cli): close the remaining rough edges in paths, recall, yams and baselines #4

Merged
trevon merged 2 commits from trevon/cli-rough-edges into main 2026-09-24 02:36:11 +00:00 AGit
Owner

Fixes the CLI gaps from the review that main still had.

  • A second project path is now a usage error; it used to analyse only the first.
  • recall finds recall/manifest.json in the working directory, else in the pipe checkout the binary was built from, so it works outside the repo.
  • guide --yams --write-baseline writes the baseline even when yams fails.
  • The yams child's stdout is drained, so a chatty yams add cannot block.
  • Unexpected exceptions print one line and exit 2; PIPE_DEBUG=1 prints the stack.
  • Baselines record root relative to the file, so a committed baseline carries no machine path and does not churn.

Verification: dart test 148 passed, dart analyze clean, lint hook passed.

Fixes the CLI gaps from the review that main still had. - A second project path is now a usage error; it used to analyse only the first. - recall finds recall/manifest.json in the working directory, else in the pipe checkout the binary was built from, so it works outside the repo. - guide --yams --write-baseline writes the baseline even when yams fails. - The yams child's stdout is drained, so a chatty yams add cannot block. - Unexpected exceptions print one line and exit 2; PIPE_DEBUG=1 prints the stack. - Baselines record root relative to the file, so a committed baseline carries no machine path and does not churn. Verification: dart test 148 passed, dart analyze clean, lint hook passed.
- reject a second project path as a usage error instead of analysing
  only the first
- resolve the default recall manifest from the working directory, else
  from the pipe checkout the binary was built from, so recall works
  outside the repo
- write --write-baseline even when guide --yams fails to persist
- drain the yams child's stdout so a chatty yams cannot block pipe
- report any unexpected exception in one line with exit 2; PIPE_DEBUG=1
  prints the stack trace
fix(baseline): record the project root relative to the baseline file
Some checks failed
Lint Commits / commitlint (pull_request) Successful in 18s
Tests / Static Analysis (pull_request) Has been cancelled
Tests / Tests (pull_request) Has been cancelled
6a700222eb
A committed baseline carried one machine's absolute path and churned whenever another checkout rewrote it. Matching never reads root.
trevon merged commit aab1903431 into main 2026-09-24 02:36:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
trevon/pipe!4
No description provided.