diff --git a/docs/business/social-launch-copy.md b/docs/business/social-launch-copy.md index 6fb13a75..637d3424 100644 --- a/docs/business/social-launch-copy.md +++ b/docs/business/social-launch-copy.md @@ -5,7 +5,7 @@ Use these templates as launch-ready starting points. Review channel tone before ## X Post: Release Announcement ```text -ECC v2.0.0-rc.1 is live. +ECC v2.0.0-rc.1 preview pack is ready for final release review. The repo is moving from a Claude Code config pack into a cross-harness operating system for agentic work. @@ -55,7 +55,7 @@ ECC v2.0.0-rc.1 pushes that further: reusable skills, thin harness adapters, and ## LinkedIn Post: Partner-Friendly Summary ```text -ECC v2.0.0-rc.1 is live. +ECC v2.0.0-rc.1 preview pack is ready for final release review. The practical shift: ECC is no longer just a Claude Code config pack. It is becoming a cross-harness operating system for agentic work. diff --git a/docs/releases/2.0.0-rc.1/linkedin-post.md b/docs/releases/2.0.0-rc.1/linkedin-post.md index e2d3d86f..38e3507a 100644 --- a/docs/releases/2.0.0-rc.1/linkedin-post.md +++ b/docs/releases/2.0.0-rc.1/linkedin-post.md @@ -1,6 +1,6 @@ # LinkedIn Draft - ECC v2.0.0-rc.1 -ECC v2.0.0-rc.1 is live as the first release-candidate pass at the 2.0 direction. +ECC v2.0.0-rc.1 is ready for final release review as the first release-candidate pass at the 2.0 direction. The practical shift is simple: ECC is no longer framed as only a Claude Code plugin or config bundle. diff --git a/tests/docs/ecc2-release-surface.test.js b/tests/docs/ecc2-release-surface.test.js index 5c7637d2..3c34b258 100644 --- a/tests/docs/ecc2-release-surface.test.js +++ b/tests/docs/ecc2-release-surface.test.js @@ -105,6 +105,10 @@ test('release docs do not contain unresolved public-link placeholders', () => { test('business launch copy stays aligned with the rc.1 public surface', () => { const source = read('docs/business/social-launch-copy.md'); assert.ok(source.includes('ECC v2.0.0-rc.1'), 'business launch copy should use the rc.1 release'); + assert.ok( + source.includes('preview pack is ready for final release review'), + 'business launch copy should stay pre-publication until release URLs exist' + ); assert.ok( source.includes('https://github.com/affaan-m/everything-claude-code'), 'business launch copy should include the public repo URL' @@ -119,6 +123,21 @@ test('business launch copy stays aligned with the rc.1 public surface', () => { assert.ok(!source.includes('v1.8.0'), 'business launch copy should not stay pinned to v1.8.0'); }); +test('announcement drafts avoid live-release claims before publication', () => { + const announcementFiles = [ + 'docs/releases/2.0.0-rc.1/linkedin-post.md', + 'docs/business/social-launch-copy.md', + ]; + + for (const relativePath of announcementFiles) { + const source = read(relativePath); + assert.ok( + !/ECC v2\.0\.0-rc\.1 is live\./.test(source), + `${relativePath} must not claim rc.1 is live before the release gate completes` + ); + } +}); + test('Hermes setup uses release-candidate wording for the rc.1 surface', () => { const source = read('docs/HERMES-SETUP.md'); assert.ok(source.includes('Public Release Candidate Scope'));