Files changed: - .gitignore - CHANGES.md - EVALS.md - INSTALL.md - README.md - VERSION - docs/pipeline-rationale.md - instructions/CONTRACT.md - instructions/bootstrap.md - instructions/dev/issue-tracking.md - instructions/evolve-subtypes.md - instructions/kb-profiles.md - instructions/mcp-read-server.md - instructions/wiki-ingest/SKILL.md - kb/CONTRACT.md - kb/concepts/COLLECTION.md - kb/sources/COLLECTION.md - raw/CONTRACT.md - tools/.coveragerc - tools/CONTRACT.md - tools/README.md - tools/chemenu/commands/docs_verify.py - tools/chemenu/tests/test_docs_verify.py - types/source.schema.yaml - types/type-spec.md
5.7 KiB
profile, outbound, required_by_stack
| profile | outbound | required_by_stack | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| concepts |
|
false |
kb/concepts/ - Collection Contract
Ideas rather than things: architectures, patterns, protocols, workflows, recurring problems, and the decisions taken about them. A concept explains how or why, where an entity page records what.
Quality goal: explanatory sufficiency - the page should answer why it is done this way without the reader having to open the entity pages that use it. If the explanation only makes sense once you already know the system, it is on the wrong page.
Inherits kb/CONTRACT.md for the rules the stack enforces - linking mechanics, provenance, citation, the confidence machinery - and kb/CONVENTIONS.md for what this instance decided: language, naming forms, tone, relationship labels, the confidence rubric. Neither is restated here.
Types offered
concept (tools/wikitool types describe concept). Das Feld concept_type:
wählt die Area:
| Area | Hält |
|---|---|
architectures/ |
Aufbau und Struktur: wie ein System geschnitten ist und warum die Schnitte dort liegen |
patterns/ |
Wiederverwendbare Lösungsformen, die über mehr als einen Gegenstand hinweg gelten |
protocols/ |
Kommunikationsprotokolle und Standards, in ihrer üblichen Schreibweise benannt |
workflows/ |
Abläufe und Prozesse, die projektübergreifend wiederkehren |
decisions/ |
Architektur- und Entwurfsentscheidungen (siehe unten) |
problems/ |
Wiederkehrende Problemstellungen und ihre Lösungsansätze |
Das sind Areas, keine Collections: sie erben diesen Contract und tragen keine
eigene COLLECTION.md.
Die Zuordnung trifft niemand von Hand — sie steht als layout: in
types/concept.md, und wikitool new legt eine neue Seite direkt dort ab.
Eine Seite, die anderswo liegt, meldet wikitool lint als misplaced;
wikitool move --page "<Titel>" bringt sie an ihren berechneten Ort.
Die Aufteilung ist keine Geschmacksfrage, sondern das, was die Shard-Schwelle
des Katalogs überhaupt wirksam macht: index rebuild teilt pro Area, und
eine Collection ohne Areas teilt sich nie — mit 80 Seiten in einer einzigen
Tabelle war die Schwelle hier ein toter Wert. Keine der sechs
Areas liegt derzeit über der Schwelle, also bekommt auch keine einen eigenen
Shard; wächst eine hinein, passiert das ohne Zutun.
Decisions
An architectural decision is an ordinary concept page with concept_type: decision
(tools/wikitool types describe concept) - not a separate format, and not a separate location.
There is no adr-NNN--prefixed filename and no dedicated directory: naming follows
kb/CONVENTIONS.md § Naming like every other concept, and the page
lives in kb/concepts/ like every other concept.
The body is organic prose under this collection's usual sections, not a fixed template. What it
still has to carry: what was decided, what forced the decision, what it costs (not only what it
buys), and a link to every entity the decision affects. A **Status:** line is optional - most
decision pages in this instance carry none, because the page's own prose already says whether the
decision stands.
A decision superseded by a later one is never deleted or rewritten. The new page declares
supersedes pointing at it; the old one needs no edge back, because its inbound view renders the
replacement.
concept_type: decision is also the one subtype kb/CONTRACT.md's confidence
machinery treats differently: confidence decay skips it structurally, because elapsed time does
not falsify a decision - only a later decision superseding it does.
Authorised labels
The outbound: block above is what wikitool lint and xref add check: which labels a page in
this collection may use, per destination. The catalogue they are drawn from - and what each one
asserts - is instructions/link-taxonomy.md, which binds
nothing on its own.
The widest authorisation in this instance, because argumentation is what concept pages do. Note that the operational labels are absent: a concept does not depend-on anything - the entity implementing it does.
addresses is the one that pairs with this collection's own subtypes: a concept_type: decision
or a mechanism pointing at the concept_type: problem it answers. Without it, the collection can
declare a problem and never say what was done about it. alternative-to is self-dual and written
once per pair - see instructions/link-taxonomy.md.
Adding a label here is a deliberate contract change, not a way around a refusal.
Outbound linking
A concept links to every entity that implements or uses it. A concept with no inbound entity
link is usually either premature or misfiled - wikitool lint reports it as an orphan.
Where two concepts compete, do not argue the comparison inside either page; create a page in
kb/comparisons/ and link both to it.
What does not belong here
- A concrete, pointable thing - that is an entity.
- A head-to-head evaluation of alternatives - that is a comparison.
- Generic textbook explanation with no connection to anything in this wiki. If no entity here uses it, the page is not earning its keep.