Skip to content

fix: stop on a broken project config instead of ignoring it - #329

Closed
vibgrate-team wants to merge 2 commits into
mainfrom
cursor/config-parse-errors-c394
Closed

vibgrate-team wants to merge 2 commits into
mainfrom
cursor/config-parse-errors-c394

Conversation

@vibgrate-team

@vibgrate-team vibgrate-team commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Summary

A malformed .vibgrate/config.yml or vibgrate.config.json used to crash with a parser dump or continue as if the file were empty. vg scan, vg build, and vg review now stop with a non-zero exit. The message names the file and, when the parser can tell, the line and the key to fix. The broken line is not printed, so a token-like value on that line is not echoed.

An exclude value that is not a list of strings is rejected instead of being treated as "exclude nothing." An empty file is still an empty config. .ts and .js configs are unchanged. vg doctor prints the same message and does not exit because of it.

Fixes #316

Related issues

Fixes #316

Checklist

  • pnpm test passes
  • pnpm lint is clean
  • pnpm typecheck is clean
  • Docs updated (README / DOCS / ARCHITECTURE) where behavior changed
  • Determinism preserved — identical input still produces identical graph.json / report output (content-hashed IDs, stable sorts; no time, randomness, or filesystem-order dependence)
  • No proprietary or internal references — public, Apache-2.0 content only
  • Commits use Conventional Commits and are signed off (git commit -s, DCO)

Notes for reviewers

The error text is shared with vg doctor, which still only reports it. Parse failures no longer include the parser's source excerpt.

Open in Web Open in Cursor 

cursoragent and others added 2 commits October 3, 2026 15:20
A malformed .vibgrate/config.yml or JSON config now makes vg scan, vg
build, and vg review exit non-zero. The message names the file and, when
the parser can tell, the line and the key, without printing the broken
line. An exclude value that is not a list of strings is rejected. Empty
files and .ts/.js configs are unchanged, and vg doctor reports the same
message without exiting.

Fixes #316

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: vibgrate-team <vibgrate-team@users.noreply.github.com>
The base-branch fixture was answering every git show with review.toml
text, including .vibgrate/config.yml. That file is now a hard error
when it does not parse, so the fixture returns the policy only for
review.toml.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: vibgrate-team <vibgrate-team@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: actionable error when .vibgrate/config.yml is malformed or fails schema

2 participants