Skip to content

Stabilize non-database CLI error envelopes - #4953

Merged
Widthdom merged 3 commits into
mainfrom
fix-issue4855
Jul 28, 2026
Merged

Stabilize non-database CLI error envelopes#4953
Widthdom merged 3 commits into
mainfrom
fix-issue4855

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Add a shared stable JSON error envelope for non-database CLI failures.
  • Route outline, hooks, doctor, and validate-config failures through semantic error codes, stable exit metadata, safe diagnostics, and consistent stdout/stderr behavior.
  • Add table-driven regression coverage for the supported command and failure combinations.

Root cause and impact

These commands previously constructed errors independently, so JSON fields, codes, hints, command context, exit metadata, and stream behavior varied by command and failure path. Scripts can now consume a consistent contract while human-readable invocations retain concise diagnostics.

Validation

  • dotnet build CodeIndex.sln -c Release --no-restore
  • dotnet build CodeIndex.sln -c Debug --no-restore
  • dotnet format CodeIndex.sln --verify-no-changes --no-restore
  • dotnet run --project tools/CodeIndex.Changelog -- check
  • Focused Release contract and hooks tests on net8.0 and net9.0
  • Manual JSON-path sanitization and stdout/stderr checks
  • Two adversarial Codex review rounds; all actionable findings addressed
  • Full solution test run attempted; unrelated follow-up is tracked in Stabilize the batch timeout concurrency test under parallel suite execution #4947

Documentation and changelog

  • Updated the English and Japanese sections in README.md, USER_GUIDE.md, DEVELOPER_GUIDE.md, and TESTING_GUIDE.md.
  • Added changelog.d/unreleased/4855.fixed.md.

Follow-up

Fixes #4855

@Widthdom
Widthdom marked this pull request as ready for review July 28, 2026 06:58
@Widthdom
Widthdom merged commit ed55da3 into main Jul 28, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4855 branch July 28, 2026 06:58
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.

Use the stable JSON error envelope for non-database CLI failures

1 participant