From c42a228e8313cecb3afaf9356e5a23491057c6c2 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 17 Nov 2025 23:51:44 +0000 Subject: [PATCH 1/2] feat(openspec): propose Blog MVP (internal + Substack cross-post) --- .../changes/2025-11-17-blog-mvp/proposal.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 openspec/changes/2025-11-17-blog-mvp/proposal.md diff --git a/openspec/changes/2025-11-17-blog-mvp/proposal.md b/openspec/changes/2025-11-17-blog-mvp/proposal.md new file mode 100644 index 0000000..e9accb5 --- /dev/null +++ b/openspec/changes/2025-11-17-blog-mvp/proposal.md @@ -0,0 +1,37 @@ +# Proposal: Blog MVP (Internal + Substack Cross‑Posting) + +Status: draft +Authors: Content Team +Owners: Content Lead, Web Lead +Created: 2025-11-17 +Scope: spec +Related: openspec/specs/feature-blog.md + +Summary +- Build a native blog with editor, tags, scheduling, members‑only posts, RSS/Atom, and optional Substack cross‑posting with canonical link sync. + +Motivation +- Provide an accessible, SEO‑friendly blog with members‑only capability while leveraging Substack reach when desired. + +Requirements +- Accessibility: accessible editor UI, semantic output, keyboard/focus, reduced motion. +- SEO: canonical URLs, Open Graph/Twitter cards, sitemaps, RSS/Atom. +- Cross‑post: publish to Substack, sync canonical link/excerpt; import back if edited. + +API +- Posts CRUD; media; tags; cross‑post webhooks. + +Test Plan +- Axe checks on output; server‑side rendering tests; cross‑post integration tests. + +Rollout +- Feature flag; migrate selected posts from Wix; redirects. + +Acceptance Criteria +- Editor accessibility verified; SEO outputs validated; cross‑post round‑trip confirmed. + +Slash Commands +- `/review areas=web,accessibility,security` +- `/apply spec=openspec/specs/feature-blog.md` +- `/archive link=` + From a3db13308de00c6881b01e1cd4f59d8feb83011e Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 17 Nov 2025 23:58:49 +0000 Subject: [PATCH 2/2] docs(openspec): apply proposal to spec and mark approved --- openspec/specs/feature-blog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openspec/specs/feature-blog.md b/openspec/specs/feature-blog.md index 69289cb..02de43a 100644 --- a/openspec/specs/feature-blog.md +++ b/openspec/specs/feature-blog.md @@ -1,6 +1,6 @@ # Feature: Blog (Internal + Substack Cross‑Posting) -Status: draft +Status: approved Owners: Content Summary