Repository navigation
fix(changelog): Synthesize concise AI release overviews - #913
Merged
Merged
Conversation
Report fixed failure reasons and stages without logging provider payloads or credentials. Replay the original release commit range through the built CLI with live inference.
Require the requested number of digests and restrict IDs in each structured response. Retain runtime coverage validation and replace obsolete test-only response diagnostics.
Contributor
|
Share allowed and required fact sets between generation and validation. Bind each node to its valid source fact IDs and required fact count in the response schema.
MathurAditya724
marked this pull request as ready for review
October 21, 2026 00:05
BYK
approved these changes
Oct 21, 2026
8 tasks
8 tasks
This was referenced Oct 22, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AI summaries now form a hierarchy: scope digests describe concrete changes, category digests synthesize the scope themes, and one final model request synthesizes all category digests into a short release overview. The renderer displays that generated overview directly instead of joining category paragraphs. It also stops appending the internal critical-fact ledger to visible prose, which repeated facts the model had already paraphrased. Visible prose has enforced character limits of 1200 per scope, 600 per category and 400 for the release. The prompt, structured generation and runtime validation share those limits and count Unicode code points consistently; critical-fact text is bounded during generation as well as validation.
Structured generation constrains digest counts, node IDs and per-node fact IDs. Runtime checks still enforce unique/exact coverage, source-linked critical facts and unsafe-claim rejection. Every release reduction additionally returns and validates its covered child IDs, checking every child through bounded reductions of large releases. Critical facts remain validated internal context for higher levels; every original entry is preserved in the output. Invalid responses atomically retain the original changelog, with sanitized stage/reason/HTTP-status diagnostics. Expired deadlines are reported separately from request-count exhaustion, and late responses are rejected even if an overdue timer callback has not run yet. Request budgets, deadlines, inert prose, AI-free previews/dry runs/version analysis and existing configuration remain intact.
Replace the one-sentence smoke test and its helper with a built-CLI replay of the 2.35.1 inputs: source head
ddd9ad01cfbaa891260ab1c20df73e1141451d56, base2.35.0, and historical summary settings. The replay also exercises today's repository connection and shared defaults with the built-in workflow token. It checks a single short overview, visible lower-level summaries, all three originals, an unchanged patch bump/configuration and a clean temporary checkout. It runs no release or publish commands; uploaded reports only mark success after every assertion passes.Local validation: 339 focused tests, CLI/Action HTTP fixtures, type checking, lint, formatting and the documentation build pass. Fixtures are distinct from the full live Copilot replay, which passed all three configurations on
e8f2f8e8944fe742a8195553531632aa0ef206de. The generated changelogs and reports are available for review. CI covers the full Node 22/24 suites and all five native platforms. No dependencies, organization policies, released changelogs or release-distribution machinery change.