Coverage ledger

TL;DR

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.

QuestionAnswer lives in
What an aftikker, a combideal and order intake areClassifications, summarised in the glossary
Which costs belong in voc and which in vmcContribution margin
Whether transitive grouping is the definition of one customerCustomer matching
Whether historic metrics moving after a merge is acceptedCustomer merges and splits
Whether expected margin omitting returns is intendedExpected margin
Whether the seeded rates are current commercial termsLearn 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 .base files, 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.

SkillDecision
checklinksAdapted as checkdocs. Its vault-hub and Base checks are gone; screen-route, duplicate-claim and schema checks are added
audit-vaultPattern 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-markdownTaken, with a CCC preamble stating which features this renderer supports. The upstream MIT licence travels with it
obsidian-basesRejected. No .base files here, by decision
json-canvasRejected. No canvas here, by decision
obsidian-cliRejected 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
defuddleRejected. It fetches web pages, which is not documentation maintenance, and it is already available session-wide
LICENSE-obsidian-skillsCopied, 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.

DecisionState
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

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.