The article corpus, and the pipeline that builds it

Featurekamo-internal
Shipped
2 Septemba 2026, 02:08 UTC
Author
Kamo
Commit
a6ff99c

307 articles across 16 categories and 29 sections, from the 248 draft articles under Documentation/ plus 59 written here: every category and section landing page, a Getting Started set covering the onboarding the drafts never reached, a Platform category the source folder only ever had a README for, and the two member-creation articles that were simply missing. Four pieces: lib/markdown-to-lexical Markdown to the shape the knowledge base stores. The node set is a whitelist of what both renderers already handle, because the public renderer draws an unknown node as a bare div -- no error, no warning, a paragraph that has quietly lost its styling on a page nobody is watching. Lists were the hard part: a blank line must not end one (the drafts have screenshot gaps between steps, and ending there restarts the numbering at 1) and an indented item is a sub-list, not a sentence appended to the step above it. lib/clean-source What a draft must stop saying before it is published. Permission constants become the words on the screen; parentheticals naming a .tsx file or an entity field go entirely; the review checkbox and the draft-method callout go; and cross-references are re-titled rather than deleted, so "see How do I view my timecard?" points at the article's published name instead of one that no longer exists. lib/titles Question titles to published ones. How-tos take a rule; the 53 concepts are named by hand, because a rule that could turn "What's the difference between Status and Sub-Status?" into a page name would have more exceptions than cases. Slugs are checked for collisions across the whole tree before an import runs -- the database constrains them per organization, not per parent. build-relations The see-also graph, built undirected because links are symmetric in the product. 594 links, 3 to 6 per article. Seeded from the drafts' own related: front matter, which somebody chose while writing; topped up from position in the tree. Text similarity ranks candidates but never qualifies one on its own -- "Notes" and "How to Search and Filter Your Leads" share every word about searching and have nothing to do with each other. No page is related to its own parent or child: a section already lists its articles, and an article already has breadcrumbs. 57 tests, and vitest's include list grows a line so they actually run.

All changes

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei