feat(release): dev-rel friendly github release notes with hero banner#597
Merged
Conversation
Replaces the spartan angular-preset semantic-release output with a dev-rel optimized format that reads well in the GitHub releases feed: - hero banner pulled from the README so each release card has a visual preview in the GitHub feed - commit groups prefixed with emojis and ordered by reader interest (Features → Bug Fixes → Performance → Refactoring → Reverts) - Breaking changes section flagged with a 🚨 prefix - install / update commands keyed to the published version - community CTAs (Discord, docs, stars, issues) at the bottom - autonomous-by-Shep credit line Implemented as scripts/release-notes-template.mjs and merged into the angular preset writerOpts via release.config.mjs. Covered by tests/unit/scripts/release-notes-template.test.ts. Spec: specs/095-devrel-release-notes Co-Authored-By: Shep Bot <shep-agent@users.noreply.github.com>
Co-Authored-By: Shep Bot <shep-agent@users.noreply.github.com>
Workers consuming the claude CLI subprocess for one-shot graph nodes were paying the cost of --include-partial-messages: claude emitted per-token stream_event deltas, the executor JSON-parsed each line, yielded a progress event to an AsyncIterable, and discarded it because the worker never drains progress events. For a 695-second run with 40k output tokens that is ~40k extra parse-and-discard lines, plus the matching stdout pipe pressure that made worker logs balloon and harder to tail in real time. Solution: gate --include-partial-messages on a new AgentExecutionOptions.streamProgress flag. The flag defaults to false so the worker path drops to assistant + result events only (no behavior change to logStreamEvent, which already filtered to those types). StreamingExecutorProxy auto-injects streamProgress: true so the CLI streaming UX (shep run agent in stream mode) keeps its per-token typing output untouched. Web chat is unaffected — it goes through the SDK-based interactive executor, which is a separate code path that does not use this flag. Co-Authored-By: Shep Bot <shep-agent@users.noreply.github.com>
oneLiner had no folded-scalar marker but spanned multiple lines, and userQuery / summary used >-folded scalars whose continuation lines were not indented, so YAML parsed them as new top-level mapping keys. spec-yaml-backward-compatibility.test.ts caught this on windows-latest and ubuntu-latest, blocking pr 597 with mergeStateStatus BLOCKED. Replaced oneLiner with a real one-line summary, switched userQuery / summary / content to literal block scalars with proper 2-space indentation. Verified with the offending unit test locally. Co-Authored-By: Shep Bot <shep-agent@users.noreply.github.com>
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.
Summary
Replaces the spartan angular-preset semantic-release output with a dev-rel optimized format that reads well in the GitHub releases feed.
The previous release notes were a flat list of commit subjects with no visual hook, no install instructions, and no community CTAs — invisible in the GitHub feed and unhelpful for new contributors. This change rewrites the release-notes template so each release reads like a small launch post.
What changed
Implementation
scripts/release-notes-template.mjs— new template module that wraps the angular preset writerOptsrelease.config.mjs— wires the template into the semantic-release angular presettests/unit/scripts/release-notes-template.test.ts— unit coverage for the template rendererSpec
specs/095-devrel-release-notes/Verification
pnpm validate(lint + format + typecheck + tsp) — passingpnpm build— passingpnpm test:unit— 1 failing test:tests/unit/infrastructure/spec-yaml-backward-compatibility.test.tsfails to parsespecs/095-devrel-release-notes/spec.yamlbecause the auto-generatedoneLiner:/userQuery:/summary:/content:fields have malformed multiline indentation. The continuation lines in those fields are not indented under the block-scalar header, so the parser bails at line 16. This is a spec generation bug — the user query contained newlines and@/pathattachment refs that were dumped into the YAML without proper escaping. Needs a separate fix to the spec generator that emits these fields. All other 6850 unit tests pass.Test plan
BREAKING CHANGE:trailer is present🐑 Built with Shep.bot