Coverage ledger
What this collection deliberately does not cover, which screens have no help and why, and which questions are open because only a person can answer them.
This ledger records scope limits and unresolved decisions. A recorded omission is still a coverage limit; it does not establish that the missing explanation is unnecessary.
It does not track per-document state. Every document carries its own status, /docs lists the collection live, and checkdocs fails on anything unfinished, so a table of statuses here would be the same information written twice and wrong first.
Screen coverage
Help claims cover the operational, reporting, reference and configuration screens. Shared guides cover related screens without duplicating their common behaviour:
The deliberate exceptions are homepage, the landing page, and docs/index and docs/view, which are the documentation navigation and reader themselves. They do not need a second Help page. Run checkdocs to compare current controllers with the claims rather than relying on a stored count.
Commercial definitions, answered by the data owner
The code shows what happens; these say what the business means by it. Each is written into the document that needed it, and recorded here so the source of the answer is not lost.
| Question | Answer lives in |
|---|---|
| What an aftikker, a combideal and order intake are | Classifications, summarised in the glossary |
Which costs belong in voc and which in vmc | Contribution margin |
| Whether transitive grouping is the definition of one customer | Customer matching |
| Whether historic metrics moving after a merge is accepted | Customer merges and splits |
| Whether expected margin omitting returns is intended | Expected margin |
| Whether the seeded rates are current commercial terms | Learn from existing rules |
The downstream tools are deliberately not named or described. They read the database directly, so the tables and columns are their contract; who runs which report is not a fact this collection carries. See consumption contracts for what that contract is.
What is out of scope by decision
Recorded so it is not re-litigated.
- No retrieval server and no import into another documentation system. See proposed machine retrieval.
- No
.basefiles, no canvas, no embeds. The renderer supports wikilinks and this collection still authors relative links, for the reason in documentation maintenance. - Field meanings are authored as data; the generated Markdown copy makes them readable without dictionary-page access. Hand-written prose explains the relationships. See field meaning.
- No live customer examples. Examples are synthetic.
Which vault skills this repository took
docs-kato ships eight skills. Three ideas transferred and five did not, recorded so the question is not reopened.
| Skill | Decision |
|---|---|
checklinks | Adapted as checkdocs. Its vault-hub and Base checks are gone; screen-route, duplicate-claim and schema checks are added |
audit-vault | Pattern taken, content rejected. Its checks are Article 30 properties, adoption gates and department folders, none of which exist here. What transferred is its shape: a deterministic script with an exit code |
obsidian-markdown | Taken, with a CCC preamble stating which features this renderer supports. The upstream MIT licence travels with it |
obsidian-bases | Rejected. No .base files here, by decision |
json-canvas | Rejected. No canvas here, by decision |
obsidian-cli | Rejected for now. It needs the Obsidian CLI installed and the vault registered, a dependency nobody in this repository has. Worth revisiting if someone works in docs/ through Obsidian daily |
defuddle | Rejected. It fetches web pages, which is not documentation maintenance, and it is already available session-wide |
LICENSE-obsidian-skills | Copied, because obsidian-markdown is one of the four upstream skills it covers |
Access decisions
config/reference/userroles.json holds two roles: System administrator, which has everything, and Guest, which new users are auto-provisioned into.
Guest reads the whole docs module. Without that the collection would be readable by administrators alone, which would leave it unreachable by every department it was written for. The collection contains system explanations and synthetic examples. Production access is behind the proxy; local identity follows the development authorization configuration.
Guest does not reach dictionary/fields, because that page follows the dictionary module, which Guest does not reach. Guest can read the generated field reference in docs, but cannot inspect its live-schema coverage through that screen. The open decision concerns live-schema access; authored field meaning is already available in docs.
Both are permission facts in a reference/ file, so a change to either reaches production on the next deploy.
Open decisions
Recorded here rather than in a working file, because a decision nobody wrote down gets made again.
| Decision | State |
|---|---|
Should Guest reach dictionary/fields? | No today, matching the dictionary module rather than the docs module |
Should reference/generated/ carry more than the field reference? | Undecided. Nothing else has a settled generation basis |
Should docs/ be imported into the company docs site for search and connector access? | Deferred. That importer reads a single location, so it needs work there first |
Should the vault's ccc note point at the in-app docs? | Undecided. Separate repository, separate change |
Related
Evidence
Screen claims are checked against app/http/ by checkdocs. Access statements are code-checked against config/reference/userroles.json, public/index.php and app/models/authorization.php. Commercial answers were supplied by the data owner and are cited in their concept pages. Field family scope is defined in app/models/dictionaryfields.php; it is not a full-database dictionary.
- Type
reference - Status
active - Updated
2026-09-14 - Created
2026-09-13