Skip to content

Writing — Editorial

One surface for everyone who writes: /editorial.

It is open to any grant holder, not only moderators. It shows the queues over the branches you hold, and the library itself below them — browsable and searchable, every row opening straight in the editor.

The editorial workflow

draft  ──►  in_review  ──►  published
  • draft — invisible to learners. An article with generated_by set is a machine draft nobody has read yet.
  • in_review — submitted. submitted_at is stamped.
  • published — live. reviewed_at and reviewed_by are stamped, cross- references are linked, and the article is reindexed for search.

first_published_at is stamped on the first publish and never cleared. It is what decides whether deleting the article bins it or removes it outright.

Moving an article through these states is moderator-only, even for an article a grant holder may otherwise rewrite entirely. Editing is editorial work; publishing is a decision about what the library contains.

Where the write paths are

Address Gate
/editorial any grant holder
/editorial/articles/:id any grant holder, scoped
/questions/manage, /questions/:id, /questions/new any grant holder, scoped
/categories moderator
/upload, /tools, /jobs moderator
/trash moderator
/changes moderator
/access moderator
/handbook admin

The change log

GET /access/changes (moderator-only, /changes in the interface) records nothing new of its own. It reads question_versions and article_revisions directly and merges them into one newest-first list: kind, id, title, who, when, and the note. Filterable by user, capped at 500.

It is moderator-only rather than open to grant holders because it names people and what they did — oversight, rather than editorial work.