Skip to content

fix: plan returns missing references as a typed list - #12

Merged
debabsah merged 1 commit into
mainfrom
fix/plan-structured-errors
Oct 3, 2026
Merged

debabsah merged 1 commit into
mainfrom
fix/plan-structured-errors

Conversation

@debabsah

@debabsah debabsah commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Item C from the 0.2.0 triage.

Before: a plan blocked by missing references returned
"detail": "target spec has referential errors: [{'code': 'column_not_found', ...}]", a Python repr no script could parse.

After: plan returns resolution_errors, the same typed list check and apply return (column_not_found carries candidates from #11), and detail reads "the spec names 2 things this instance doesn't have; see resolution_errors". Exit codes, the other fields, and blocked for a slug Chartwright didn't build are unchanged.

Tests: three offline cases in tests/test_plan_errors.py (each fails on main). No live-specific behaviour: the references come from the same resolver the live check exercises.

Offline suite: 357 passed.

A plan blocked by the spec put `[e.as_dict() ...]` as a Python repr inside
`detail`. It now returns `resolution_errors`, the same list check and apply
return (column_not_found carries `candidates`), and `detail` is a short
sentence. Exit codes and the other fields are unchanged.
@debabsah
debabsah merged commit e983ae2 into main Oct 3, 2026
7 checks passed
@debabsah
debabsah deleted the fix/plan-structured-errors branch October 3, 2026 21:56
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.

1 participant