Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@

## Unreleased

## v0.1.0-alpha.4

### Added

- Canonical release-note and post-publication closure verification for the public alpha workflow.
- Machine-readable bundle-size attribution and release size evidence for candidate and public workflow review.
- Clip preview now shows the actual social crop and live caption composition before export.
- Clip discovery validates, ranks, bounds, and diversifies transcript-grounded suggestions, targeting a small review queue of useful moments.
- Clip review provides bounded preview with recoverable Approve and Skip decisions.
- Crop/framing and caption composition can be previewed before export.

### Changed

- Batch clip export now preserves completed clips and makes interrupted or failed exports easy to resume.
- Publishing copy is now optional and resilient; AI copy generation no longer controls clip export readiness.
- Clip discovery now validates and ranks distinct transcript-grounded suggestions and targets a five-clip review queue.
- Clip review now previews exact clip ranges and preserves Approve/Skip decisions.
- Release qualification now separates product identity, public release identity, and maintainer evidence.
- Public release preparation can use curated, creator-oriented changes without duplicating them in generator code.
- Publishing copy is optional and resilient, so AI copy generation does not block clip export.
- Batch export preserves completed clips and supports recovery and continuation after interruption or failure.

### Fixed

- Post-publication release verification now has an explicit reusable check of the live GitHub release state.
- Diarization compatibility is restored across supported pyannote APIs, with source video audio normalized where required.
- Exported caption timestamps align with the trimmed and concatenated output timeline, with honest sidecar SRT fallback when burn-in is unavailable.
- Release notes, public release identity, post-publication verification, and bundle-size evidence now have canonical validation and attribution.

## v0.1.0-alpha.3

Expand Down
8 changes: 6 additions & 2 deletions scripts/smoke-release-notes.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,13 @@ async function main() {
const sections = parseChangelog(changelog);
assert(sections.has('Unreleased'), 'repository changelog lacks Unreleased');
assert(sections.has('v0.1.0-alpha.3'), 'repository changelog lacks alpha.3 history');
assert(selectReleaseNotes({ releaseTag: 'v0.1.0-alpha.4' }).source === 'Unreleased', 'dry-run did not select Unreleased');
assert(sections.has('v0.1.0-alpha.4'), 'repository changelog lacks alpha.4 release notes');
const repositoryDryRun = selectReleaseNotes({ releaseTag: 'v0.1.0-alpha.4' });
assert(repositoryDryRun.source === 'v0.1.0-alpha.4', 'repository dry-run did not select exact alpha.4 notes');
assert(repositoryDryRun.markdown.trim().length > 0, 'repository alpha.4 notes are empty');
const repositoryPublication = selectReleaseNotes({ releaseTag: 'v0.1.0-alpha.4', publicationNotesRequired: true });
assert(repositoryPublication.source === 'v0.1.0-alpha.4', 'repository publication did not select exact alpha.4 notes');
assert(selectReleaseNotes({ releaseTag: 'v0.1.0-alpha.3' }).source === 'v0.1.0-alpha.3', 'exact release section did not win');
expectFailure(() => selectReleaseNotes({ releaseTag: 'v0.1.0-alpha.4', publicationNotesRequired: true }), 'missing exact publication section');

const fixtureRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'scriptcut-release-notes-'));
try {
Expand Down