Product engineering
The Wisent documentation system
The Wisent documentation system One record of what Wisent product documentation is, how every site is structured, and how the system evolved. The layout convention lives in this repository as DocumentationLayout ; the content lives with eac
The Wisent documentation system
One record of what Wisent product documentation is, how every site is
structured, and how the system evolved. The layout convention lives in this
repository as DocumentationLayout; the content lives with each product.
What documentation MUST achieve — the reviewable contract — is owned by product-guidelines/documentation-guidelines.md. This file records what the system IS and how it got here.
The convention
Every product documents itself at https://<product>.wisent.com/docs: its own
domain, 4–7 separate pages, one shared layout. The layout is
DocumentationLayout from @wisent-ai/components (dist/documentation.js,
styles in styles.css, types in index.d.ts):
- left: a sticky sidebar labelled "
documentation" with the page list (active page highlighted) and a source link at the bottom; - right: a ~780px reading column — breadcrumb
<Product> / Docs, title, lede,h2sections separated by hairlines, paragraphs, bullets, steps, brand-tinted captioned code blocks, callouts, previous/next pagination; - server-safe (native
details/summary, no client JS), painted on the canonical tokens, owning its own light canvas so it renders identically on light and dark host sites.
Content is data, not markup: each product ships DocPage objects
({slug, nav, title, description, sections[]}) and renders them through the
one component. Consumers vendor this package as a tarball
(vendor/wisent-components/<commit>/wisent-ai-components-<version>.tgz),
the pattern echo-web established.
wisent.com/documentation is a portal, not a mirror: a catalog page that
routes to each product's own docs (or to its repository README when the
product has no site yet).
Structure per product (restored 2026-08-22)
Recurring skeleton: Overview first (what the product owns, its surface), mechanism pages after. Each page holds 3–5 sections. There is no "Boundaries" page or section: none of the 50 documentation references in product-guidelines uses one, and a reader-facing docs page is about what the product does. Scope and security facts live inline in the page they concern; internal demarcation between products stays in ARCHITECTURE.md and READMEs.
| Product | Site repo (content module) | Pages |
|---|---|---|
| Ster | ster-landing (src/app/docs/** — the restored 77-page human corpus) |
Overview · Quick start · Python API · Multi-Modal · Representation Engineering · Contrastive Pairs · Parameter Selection · Prompt/Token Targeting · Primitives (7) · Representation Reading (3) · Representation Control (12) · Evaluation (3) · CLI Commands (34) + reference tail |
| Jeden | jeden (web/docs/pages.mjs, static HTML rendered at build time) |
Overview · Sessions · Tools |
| Skarbiec | las-landing (src/lib/docs/skarbiec.mjs) |
Overview · Quick start · Credential model · CLI · Integrations |
| Most | las-landing (src/lib/docs/most.mjs) |
Overview · Message bridge API · Transports & workers · Run it |
| Lem | las-landing (src/lib/docs/lem.mjs) |
Overview · Paper registry · Citations · Figures · MCP server |
| Probierz | las-landing (src/lib/docs/probierz.mjs) |
Overview · Journeys, discovery & runs · Evidence, receipts & gate verdicts |
| Las | las-landing (src/lib/docs/las.mjs) |
Overview · Quick start · Federation & MCP · Signed releases & trust · Security & operations |
| Skrzynka | las-landing (src/lib/docs/skrzynka.mjs) |
Overview · Getting started · Mailbox connectors · Loopback API · Operations |
| Echo | las-landing (src/lib/docs/echo.mjs) |
Overview · Admin dashboard · Product APIs · Onboarding · CLI & MCP |
| Weles | weles-landing (vendored layout, src/lib content modules) |
Overview · Quick start · Concepts (workflow, scheduler, trajectory, session, fingerprint, receipt) · CLI · Client |
las-landing serves seven products from one Vercel project by host routing;
each product is one registry module, all rendered by the same component.
The landing-cli migration of 2026-08-20 (ster-landing PR #1, las-landing
PR #2) had deleted every docs route and content module from both site repos;
on the operator's order of 2026-08-22 they were restored on top of the
migrated mains (ster-landing f5a1542, las-landing dcf8cc9) on
DocumentationLayout 0.4.1: vendored component sources, shipped fonts, and a
docs-only slice around each site's landing-cli shell — Ster reuses its
site chrome; las keeps per-product WisentMark chrome behind a docs-only
proxy rewrite while the shared landing stays at /. Publication of either
site needs a fresh landing approve, since the manifest covers files the
restoration touches (package.json, root layout.tsx). Active consumers:
Ster, the seven las-hosted products, Jeden, Spis, plus future Kronika
(docs-cli) site-pipeline emissions. The generator itself is one project
since 2026-08-23: docs-cli was absorbed into kronika as its site pipeline
(kronika 9ce1bcb; docs-cli retired with a pointer).
Without a docs site (portal points at their repositories): Brama and Tama
(no responding domain), Byk (byk.wisent.com is a wildcard), Weles
(built in weles-landing ad7fa0d, weles 0.5.21, own drift check exit 0 —
the weles.wisent.com domain still routes elsewhere), and Stado: the site
restored that morning (stado-landing 53d4d3a) was withdrawn by operator
order the same day and purged from the repository's entire git history
(git-filter-repo over all refs, force-push f719cbd; fresh anonymous
clone verifies zero commits touch the docs paths). The canonical Stado
documentation is again the repository's docs/ directory. Backup of the
pre-purge refs: ~/.stado/work/backups/stado-landing-pre-docs-purge-20260823.bundle.
External references
Reference material about other companies' surfaces lives in one repository:
product-guidelines.
For documentation specifically: documentation-site-examples/ — 50 complete,
evidence-backed references (MDN, React, Vue, ...) with structural analyses,
references.json, and the cross-example synthesis full-reference.md
(curated 2026-08-16). Sibling sets cover landing pages
(landing-page-examples/ + landing-page-best-practices.md, consumed by
landing-cli), READMEs (readme-examples/ + readme-guidelines.md), CLIs,
TUIs, web/desktop/mobile apps, dashboards, design systems, onboarding, and
app-store listings, each beside its guidelines file.
Ongoing market tracking of competitors (including their documentation) is owned by competitors-cli and delivered by Deep Analytics as analytics events (deep-analytics/docs/competition-tracking.md). Decisions about OUR convention are recorded here and in the commits this file cites.
History
2026-02 (state at
ff59cf6, wisent-landing-new). One centralized documentation atwisent.com/documentation, entirely about the representation-engineering library (today's Ster): 77 pages in a single sidebar. Guides (Overview, Quick Start, Python API, Multi-Modal, Representation Engineering, Contrastive Pairs, Parameter Selection, Prompt Construction, Token Targeting), groups Primitives (7), Representation Reading (3), Representation Control (12), Evaluation (3), CLI Commands (35), and a reference tail (Examples, CLI Reference, Arguments, Common Issues, FAQ, Integrations, Important Considerations, Definitions, Roadmap). No product documentation existed.2026-07-17 (
8b0942b). "Centralize Wisent product documentation":DocumentationSidebar+/documentation/<product>/<section>rendered all products' docs in one place on wisent.com. This is the layout this package now ships.2026-07 (
777f16e). The legacy library documentation left wisent.com for Ster.2026-08 (
da12d83). The embedded product docs were replaced by the portal-catalog: "product contracts stay with the product, not copied into a central monolith".2026-08-19. Ten products gained dedicated
/docssites. The July layout was resurrected into this package asDocumentationLayout(49675bc, canvas + token fixescf6db54, v0.2.2) and every site now imports it: one convention, content with the products. Portal entries flipped to "Dedicated site" (wisent-landing-newcb0b123).2026-08-19 (later). The Boundaries convention was removed on the operator's verdict: no page or section about what a product does not do. Facts worth keeping moved inline as positive statements; probierz, most, and jeden lost their standalone pages; las renamed its slug to security-operations.
2026-08-19 (evening). documentation-guidelines.md was rewritten from two named sources (the operator's February library-docs corpus and the 50-example evidence set) after its first version codified invented rules. Stado's docs were then restructured to the corpus-derived page kinds: guides with Quick start first, a grouped CLI reference with argument tables (DocumentationLayout 0.3.0 added
section.table), and a support tail (stado-landing76fdb91).2026-08-19 (night). Stado's generated documentation site was removed from stado-landing (
17b0ae4) the same day it shipped: the operator judged the generated pages as using undefined concepts ("fleet" was never defined). The portal entry was flipped back to "Project documentation" pointing at the repository docs, and this table dropped the Stado row.2026-08-20. The landing-cli migration stripped all product documentation from ster-landing and las-landing (eight products' worth of content modules). On the operator's order of 2026-08-22 the documentation came back on top of the migrated mains: ster-landing
f5a1542(Ster, reusing the site chrome) and las-landingdcf8cc9(the seven hosted products behind a docs-only proxy rewrite and per-product WisentMark chrome ported from Tailwind to plain CSS). Both build green with the landing untouched at/; both need a freshlanding approvebefore their next publication, because the restoration touches manifest-covered files.2026-08-22. The operator judged the resurrected layout visually unacceptable: it never applied the bundled brand typography and had replaced the February light code snippets with dark blocks. DocumentationLayout 0.4.1 restored the February design language inside the component — Hubot Sans / Hubot Sans Expanded / IBM Plex Mono, light
brand400/brand50code blocks, rotating chevrons, motion with a reduced-motion guard, numbered steps — and every docs consumer re-vendored the tarball the same day. Jeden and Spis additionally gained real font delivery (web/fonts/,public/fonts/); their copies had referenced fonts nobody shipped.2026-08-23. Three products gained or regained guideline-compliant documentation: Skarbiec's las-hosted docs gained the executable Quick start, a Support tail, and a stated version (las-landing
485a010); Stado's removed site came back rebuilt on the landing-cli shell with the fleet defined at first use and its mechanical drift check green against stado 0.7.22 (stado-landing53d4d3a); Weles got its first public docs — twelve pages on weles 0.5.21 with its own drift check (weles-landingad7fa0d). Portal entries for Stado and Weles flipped to "Dedicated site" (wisent-landing-new1b50857).2026-08-23 (later). The operator ordered the full human-written Ster corpus back: all 77 pages from
wisent-landing-new@ff59cf6now live at ster.wisent.com/docs (ster-landingbb9a0ec), styled by a scoped Tailwind-v4 utilities layer, visualizations included. The corpus and the 50-reference evidence set are codified as the writing standard AI must match; machine plans keep the extra claims/drift cage (product-guidelines45f6775, kronika83afe87). Ster is therefore an explicit exception to the DocumentationLayout-only rule — human-authored pages, site chrome.