Skip to content

Add JSON byte budgeting to outline - #4980

Merged
Widthdom merged 4 commits into
mainfrom
fix-issue4880
Jul 29, 2026
Merged

Add JSON byte budgeting to outline#4980
Widthdom merged 4 commits into
mainfrom
fix-issue4880

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Add outline --max-json-bytes using the shared whole-row bounded JSON envelope.
  • Preserve outline hierarchy and ordering across response:v2 cursor pages, with authoritative totals and complete UTF-8 JSON rows.
  • Preserve uncapped output and native option validation, and document the feature in the bilingual guides.

Root cause

outline had its own pagination and output shape but was not registered for the shared bounded-response path. Supporting it also required outline-specific row extraction and validation handling so byte capping could not silently change existing option semantics.

Validation

  • dotnet build --no-restore (0 warnings, 0 errors)
  • Focused Issue Add a byte budget to outline JSON #4880 tests on net8.0 and net9.0 (4/4 each)
  • Broad Outline|JsonEnvelopeWrapper|CliFlagSchema tests on net8.0 and net9.0 (160/160; 158 passed, 2 skipped)
  • Help and Issue Add a byte budget to outline JSON #4880 tests (281/281)
  • make lint
  • Changelog fragment validation (51 fragments)
  • git diff --check
  • Codex adversarial review; all actionable findings were addressed and covered by tests

The combined full-suite run reported 4 failures on net8.0 and 3 on net9.0. The Issue #4872 and Issue #4602 cases passed when rerun. The remaining watcher instability is already tracked by #4955 and #4966.

Documentation and changelog

  • Updated the English and Japanese sections of README.md, USER_GUIDE.md, DEVELOPER_GUIDE.md, and TESTING_GUIDE.md.
  • Added changelog.d/unreleased/4880.added.md.

Fixes #4880

@Widthdom
Widthdom marked this pull request as ready for review July 29, 2026 12:37
@Widthdom
Widthdom merged commit ee7c784 into main Jul 29, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4880 branch July 29, 2026 12:37
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.

Add a byte budget to outline JSON

1 participant