WordloopWordloop
Operations

Documentation Freshness

Review windows, freshness statuses, ownership rules, and stale-document handling for Wordloop documentation.

Documentation Freshness

TL;DR

Every active documentation page needs an owner, a review cadence, and a visible freshness state. Stale docs are not automatically wrong, but they are lower-trust until reviewed. Historical records such as ADRs and delivered bets are handled differently: they are preserved, corrected with explicit notes when necessary, or superseded.

Freshness states

StateMeaningReader guidance
Freshlast_reviewed is inside the review window.Treat as current unless code or contracts prove otherwise.
Review dueThe review window has passed.Use with caution; verify against source of truth before making major changes.
StaleThe page is more than one review window overdue.Do not use as authoritative without checking code, specs, traces, or owners.
GeneratedThe page is produced from code, contracts, or schemas.Regenerate from source instead of editing by hand.
HistoricalThe page records past intent or decisions.Preserve history; supersede or add correction notes instead of rewriting.

Review windows

SurfaceDefault review windowStatus modelSource of truth
Principles6 monthsActiveDocs and accepted ADRs
Service handbooks3 monthsActiveCode, package metadata, architecture docs
How-to guides6 monthsActiveCommands, workflows, and tested paths
Runbooks3 monthsActiveOperational reality and incident follow-up
API referenceEvery contract changeGeneratedOpenAPI specs
Event referenceEvery contract changeGeneratedAsyncAPI specs
Database referenceEvery schema changeGenerated or activeMigrations and schema introspection
Glossary6 monthsActiveDomain vocabulary and product language
Active bet TDD docsEvery material implementation changeActiveCurrent delivery intent and code reality
Delivered bet docsNo expiryHistoricalArchived design record
ADRsNo expiryHistoricalAppend-only decision record
Agent skillsEvery skill or mapped docs changeActiveSkill source plus mapped docs pages

Required frontmatter

Active authored pages should include:

title: Documentation
description: One sentence describing the page.
audience: engineers
owner: docs-platform
last_reviewed: 2026-05-01
review_frequency: P6M
status: active
source_of_truth: docs

Generated pages should declare that they are generated where the generator supports it:

status: generated
source_of_truth: specs/core-openapi.json

Historical pages should not be forced into an active freshness cycle:

status: historical
source_of_truth: accepted-adr

Review triggers

Review a page before its normal review window when one of these events happens:

  • A package, language runtime, framework, or infrastructure version changes.
  • A public command, environment variable, port, endpoint, event, or schema changes.
  • A service boundary or data-flow diagram changes.
  • A skill starts depending on the page for agent execution.
  • An incident exposes missing or misleading operational guidance.
  • An ADR supersedes a decision that the page explains.
  • A user or agent reports confusion caused by the page.

Stale-page handling

  1. Classify the page. Decide whether it is active, generated, or historical.
  2. Find the source of truth. Use code, specs, migrations, traces, ADRs, or active design docs depending on the claim.
  3. Update the page or mark it historical. Do not silently keep stale active guidance.
  4. Update last_reviewed. Only update the date after checking the claims, not after touching formatting.
  5. Run documentation health checks. Confirm metadata, internal links, skill-doc references, and generated corpora are still valid.
  6. Review affected skills. If a skill depends on the page, check whether the skill's routing or verification steps need to change.

What not to do

  • Do not refresh last_reviewed without reviewing the claims.
  • Do not rewrite accepted ADRs to make them current.
  • Do not edit generated reference pages by hand.
  • Do not hide stale badges because they are inconvenient.
  • Do not rely on humans to notice stale stack versions, command names, or broken links when a script can check them.

Commands

Run the health check from the platform root:

./dev docs health

Run the underlying docs script directly when working inside the docs service:

cd services/wordloop-docs
pnpm run docs:health

On this page