3916cb9541
Files changed: - CHANGES.md - VERSION - instructions/link-taxonomy.md - kb/concepts/COLLECTION.md - kb/entities/COLLECTION.md - kb/entities/people/Andrej Karpathy.md - kb/entities/people/Vannevar Bush.md - tools/chemenu/evals/scorecard.py - tools/chemenu/links.py - tools/chemenu/lint_core.py - tools/chemenu/tests/test_lint.py
82 lines
4.3 KiB
Markdown
82 lines
4.3 KiB
Markdown
---
|
|
profile: concepts
|
|
outbound:
|
|
concepts: [extends, grounds, rests-on, enables, precondition, exemplifies, abstracted-from, contrasts, compares-with, contradicts, addresses, alternative-to, composition, part-of, supersedes, derived-from, adapted-from, see-also]
|
|
entities: [operationalized-from, mechanism, procedure, applies-when, operates-on, invokes, exemplifies, alternative-to, see-also]
|
|
sources: [evidenced-by, derived-from, adapted-from, defined-in, see-also]
|
|
comparisons: [compares-with, see-also]
|
|
required_by_stack: 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](../CONTRACT.md) for the rules the stack enforces - linking mechanics,
|
|
provenance, citation, the confidence machinery - and
|
|
[kb/CONVENTIONS.md](../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`).
|
|
|
|
## 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](../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](../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](../../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](../../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.
|