Documentation policy¶
CCB-Docs is the formal tutorial, explanation, architecture, reference, and navigation site. It does not share authority equally with the game repository.
Authority model¶
| Subject | Authority |
|---|---|
| Runtime behaviour | CCB source and tests |
| JSON, Lua, and API contracts | Schemas, LuaLS declarations, registrations, generated inventories |
| Build and validation | CI, CMake, Makefile, Gradle, repository validators |
| Contribution and governance | CCB AGENTS.md, CONTRIBUTING.md, GOVERNANCE.md |
| Explanation and navigation | CCB-Docs, checked against the sources above |
If prose conflicts with its source contract, mark the page stale, exclude it from the AI index, and repair it. Do not change runtime behaviour merely to match documentation.
Bilingual publication¶
New active pages publish with both Chinese and English. After a Chinese update,
English may be translation-stale for at most 30 days and gets a tracking
issue. An overdue translation blocks only a PR changing that pair or the same
high-risk documentation subsystem; unrelated fixes remain mergeable. An
incomplete migrated pair stays draft and out of production navigation, search,
and AI indexes.
Source drift and generated content¶
Every page declares exact source_paths, a verified commit and date, and a
fingerprint. Drift is scoped to those paths; an arbitrary master commit does
not make every page stale. No actual change means no bot PR. Drift updates are
aggregated, stay human-reviewed, and are never auto-merged.
docs-catalog.yml is the sole hand-maintained machine catalog. It generates
navigation, bilingual mappings, search/AI/archive policy, redirects, sitemap
metadata, llms.txt, and JSON indexes. Edit the catalog or generator, never a
derived index.
Legacy paths¶
A migrated repository path permanently retains a lightweight bilingual moved stub. The old body may be removed after six months, but historical PRs, issues, forks, and external links must continue to reach the stable document ID and both current language URLs.