diff --git a/openspec/README.md b/openspec/README.md index 244dffcd..8526d77a 100644 --- a/openspec/README.md +++ b/openspec/README.md @@ -257,12 +257,6 @@ description. and `.webm` stay as they are; a new picture is a PNG. - **The branch rules above.** One piece of work, one pull request, and the branch ends when it merges. -- **A claim about the product cites where it comes from.** A version, a - count of templates, a capability: name the file or the spec beside it. - `README.md` claimed "16 templates across 9 categories" for three weeks - while the answer was 17 across 10, and nothing failed. An article is read - by people who cannot check it against the tree, so the citation is what - makes it checkable later. **An article under `docs/articles/site/` tells the homepage.** That subtree is what the campaign's own site serves, and a merge to the default diff --git a/openspec/changes/articles-drop-the-citation-section/.openspec.yaml b/openspec/changes/articles-drop-the-citation-section/.openspec.yaml new file mode 100644 index 00000000..f91437c8 --- /dev/null +++ b/openspec/changes/articles-drop-the-citation-section/.openspec.yaml @@ -0,0 +1,4 @@ +schema: spec-driven +created: 2026-10-12 +# One runbook section edit: no requirement of any capability changes. +skip_specs: true diff --git a/openspec/changes/articles-drop-the-citation-section/design.md b/openspec/changes/articles-drop-the-citation-section/design.md new file mode 100644 index 00000000..0ea2157a --- /dev/null +++ b/openspec/changes/articles-drop-the-citation-section/design.md @@ -0,0 +1,36 @@ +# Design + +## Context + +`openspec/README.md`, under "Editorial content is not a change", lists what +still applies to editorial work. One bullet requires that a claim about the +product cites the file or spec it came from, and explains why: `README.md` +claimed "16 templates across 9 categories" for three weeks while the answer +was 17 across 10. The bullet was introduced by +`an-article-is-editorial-not-a-change` (2026-09-20). + +## Goals + +Lift the citation obligation so future articles are not required to carry a +`## Where each claim comes from` section. + +## Non-Goals + +Removing the section from already-published articles, and changing any other +editorial rule (English-only, pictures beside the article, no SVG, branch +rules). + +## Decisions + +1. Remove the single bullet, leave the editorial section otherwise intact. + Rejected: delete the whole editorial section, which would also drop the + OpenSpec exemption and the picture rules that `lint:articles` enforces. + +## Risks / Trade-offs + +- A claim in a future article can go stale without the citation that made + it checkable. This is accepted: the owner asked for the section to go, + and a wrong figure in an article is no worse than a wrong figure in any + other place an article is read. +- `scripts/check-articles.mjs` never checked for the section, so nothing + that enforces it needs to change. diff --git a/openspec/changes/articles-drop-the-citation-section/proposal.md b/openspec/changes/articles-drop-the-citation-section/proposal.md new file mode 100644 index 00000000..90829aea --- /dev/null +++ b/openspec/changes/articles-drop-the-citation-section/proposal.md @@ -0,0 +1,47 @@ +# Proposal + +## Why + +`openspec/README.md`, under "Editorial content is not a change", requires +that a claim about the product — a version, a count of templates, a +capability — cite the file or spec it came from. The rule was added by +`an-article-is-editorial-not-a-change` (2026-09-20) after `README.md` +carried a wrong template count for three weeks, so that a reader who cannot +check an article against the tree could still check a claim. + +In practice the obligation became a fixed `## Where each claim comes from` +section repeated verbatim across every venue. The owner has asked the +publishing agent to stop writing it, so the requirement it serves must go +rather than be silently ignored. + +## What Changes + +- Remove the editorial bullet in `openspec/README.md` that says a claim + about the product cites where it comes from. The rest of the editorial + section stays: `docs/articles/**` is still exempt from OpenSpec changes, + still English-only, its pictures still live beside it, and an editorial + pull request is still titled `article: `. + +## Capabilities + +### New Capabilities + +(none) + +### Modified Capabilities + +(none - process documentation only) + +## Impact + +- `openspec/README.md` only. No `packages/*` change, no changeset, and no + change to `scripts/check-articles.mjs`, which never checked for the + section — it verifies only that pictures exist and are where they belong. + +## Explicitly out of scope + +- Deleting the section from articles already published. Those stay as + written; this change lifts the requirement for future articles only. +- Any other editorial rule: English-only, pictures beside the article, + no SVG, and the one-piece-of-work-per-pull-request branch rule all stay + in force. diff --git a/openspec/changes/articles-drop-the-citation-section/tasks.md b/openspec/changes/articles-drop-the-citation-section/tasks.md new file mode 100644 index 00000000..8d5e771e --- /dev/null +++ b/openspec/changes/articles-drop-the-citation-section/tasks.md @@ -0,0 +1,22 @@ +# Tasks + +## 1. The runbook drops the citation requirement + +- [x] 1.1 In `openspec/README.md`, remove the bullet "A claim about the + product cites where it comes from" from the editorial section, leaving the + other bullets (English only, pictures beside the article, no SVG, branch + rules) intact. +- [x] 1.2 Confirm no other file requires the section: search the repository + for "claim comes from" outside `docs/articles/` and record that only the + removed bullet matched. + +## 2. Checks + +- [x] 2.1 Run `npm run lint:articles` and record "Article check passed". + + Done 2026-10-12: `npm run lint:articles` printed "Article check passed". +- [x] 2.2 Validate this change with + `openspec change validate --strict articles-drop-the-citation-section`. + + Done 2026-10-12: "Change 'articles-drop-the-citation-section' is valid" + (`skip_specs` is set in `.openspec.yaml`, zero deltas accepted).