Documentation Ownership¶
Each documentation surface has one durable responsibility. Duplication is acceptable only when the consumer and level of detail differ; scientific facts must still resolve to the same canonical implementation, schema, artifact, or evidence record.
Ownership Map¶
| Surface | Primary responsibility | Must not become |
|---|---|---|
root README.md |
repository identity, installation, capability map, first executable path | exhaustive command or API reference |
| runtime package README | installable distribution contract and representative use | repository maintenance manual |
| alias package README | compatibility behavior and naming differences | a second scientific product description |
| product handbook | methods, architecture, interfaces, operations, quality, limits | source-tree inventory |
| Evidence Book guide | scientific questions and bounded study verdicts | a substitute for bundle records |
| checked-in evidence dossier | provenance, inputs, checks, results, verdicts | marketing narrative |
| maintainer handbook | ownership, change impact, verification, publication | end-user method tutorial |
| generated references | exhaustive CLI/API/index output | hand-edited explanation |
Canonicality Rules¶
- Runtime behavior resolves to curated source and contract tests.
- CLI inventory resolves to registered commands and generated reference data.
- Service behavior resolves to the pinned OpenAPI schema and hash.
- Artifact meaning resolves to result, manifest, and schema contracts.
- Evidence status resolves to bundle records and generated indexes.
- Package identity resolves to package metadata and built-artifact inspection.
Prose explains these sources; it does not override them.
Resolve A Statement To Its Owner¶
Before editing a claim, identify the object that can prove or falsify it.
| Statement kind | Canonical owner | Documentation responsibility |
|---|---|---|
| public name, signature, or default | curated source and contract tests | explain use and link to generated reference detail |
| command availability and options | CLI registry and generated command reference | provide task-oriented examples without copying the inventory |
| service request or response | pinned OpenAPI schema and server contract tests | explain workflow, failure semantics, and compatibility |
| result or manifest field | versioned schema plus producer/consumer tests | explain interpretation, units, omissions, and migration |
| numerical or topological behavior | implementation plus named validation lane | state corpus, tolerance, assumptions, and exclusions |
| comparison or study verdict | governed evidence bundle and generated index | interpret the bounded result without widening its scope |
| distribution identity | package metadata and built-artifact inspection | state install and compatibility behavior |
If no canonical owner exists, the statement is not ready to be copied across public surfaces. Establish the contract or narrow the statement first.
Review A Statement As A Connected Record¶
A material public statement should be reviewable as one connected packet. The packet makes ownership and projection visible without turning prose into a second contract.
| Packet component | Required content | Review failure |
|---|---|---|
| statement identity | exact capability, behavior, value, status, or limitation being asserted | the sentence can expand or contract during review |
| canonical owner | source, schema, generated inventory, benchmark, or evidence record that decides the statement | proof is inferred from nearby implementation or prose |
| scope | versions, methods, corpora, models, datasets, and excluded cases | a bounded result is written as repository-wide truth |
| public projections | every README, guide, generated reference, or index carrying the statement | one reader surface can remain contradictory |
| freshness trigger | owner changes that require revalidation or removal | the projection has no defined invalidation event |
| verification | commands and review evidence appropriate to the owner | rendering success is used as semantic validation |
When the owner changes, review the packet before editing wording. Either re-establish the statement, narrow it, mark the owning status honestly, or remove the unsupported projection. Leaving old prose in place is a claim decision, not a neutral documentation omission.
Retire Claims Deliberately¶
Removing a capability, comparison, or evidence statement is a dependency change. Locate every projection, replace executable examples with current routes or migration guidance, and remove generated references through their owner. Preserve the historical result in its governed record when that record remains valid for an earlier revision; do not leave public navigation pointing to it as current behavior.
The retirement record names the last supported identity, replacement or absence of replacement, affected artifacts and consumers, and the first release in which the public statement no longer applies. Silence on one page must not coexist with an affirmative promise on another.
Duplication And Projection¶
Repeated prose is acceptable only when each copy serves a distinct reader decision. Keep one canonical explanation and use shorter projections elsewhere:
- entry surfaces identify the product, install path, and supported first action;
- guides explain decisions, workflows, diagnostics, and scientific meaning;
- generated references enumerate public interfaces;
- evidence guides interpret governed records;
- maintainer pages define ownership and change obligations.
Do not duplicate schemas, command inventories, benchmark tables, or verdict ledgers by hand. Those values drift silently and are better linked or generated.
Public Writing Standard¶
Describe the scientific object, method, input, result, assumption, and limit directly. Avoid editorial statements about how impressive, serious, polished, or trustworthy the repository appears. Trust follows from concrete contracts, inspectable provenance, explicit verdicts, and reproducible examples.
Navigation should answer a real user decision. A page made mostly of “read next,” “why this page matters,” or “what this section should do” is incomplete until it contains the domain explanation itself.
Change Propagation¶
flowchart LR
behavior["Behavior or contract change"]
canonical["Canonical source and tests"]
generated["Generated references<br/>and schemas"]
explanatory["README and guides"]
evidence["Benchmarks and<br/>evidence freshness"]
behavior --> canonical
canonical --> generated
canonical --> explanatory
canonical --> evidence
Update every affected projection in the same coherent change. If generated output and handwritten interpretation are independently reviewable, keep their commit boundaries separate.
Contract removals and semantic changes require a compatibility decision. State whether consumers receive a backward-compatible extension, a governed deprecation, or a breaking schema/interface change; then update migration and artifact-consumption guidance with the owning contract.
Review Checklist¶
- Does the text name a real public import, command, schema, artifact, or study?
- Are native methods and external engines attributed correctly?
- Does the example execute through a supported surface?
- Are defaults and assumptions visible where they affect interpretation?
- Are machine contracts linked instead of reproduced manually?
- Does evidence language match current bundle verdicts and freshness?
- Are limitations stated next to the capability they qualify?
- Does the page contain domain content rather than commentary about writing?
Generated Content¶
Do not hand-edit synchronized shared assets, generated CLI reference blocks, schema hashes, or evidence indexes. Change their canonical source, run the supported generator, inspect the diff, and validate the governing checksum or integrity command before commit.