177c7e9ce8
Files changed: - .gitea/workflows/ci.yml - AGENTS.md - CHANGES.md - VERSION - instructions/CONTRACT.md - instructions/link-taxonomy.md - instructions/migrations/4.0.0-link-taxonomy.md - instructions/setup-instance.md - kb/CONTRACT.md - kb/CONVENTIONS.md - kb/CONVENTIONS.md.template - kb/comparisons/COLLECTION.md - kb/concepts/COLLECTION.md - kb/entities/COLLECTION.md - kb/sources/COLLECTION.md - tools/CONTRACT.md - tools/README.md - tools/chemenu/blocks.py - tools/chemenu/cli.py - tools/chemenu/commands/cite_cmd.py - tools/chemenu/commands/dist_cmd.py - tools/chemenu/commands/docs_verify.py - tools/chemenu/commands/doctor.py - tools/chemenu/commands/links_cmd.py - tools/chemenu/commands/migrate_cmd.py - tools/chemenu/commands/new_page.py - tools/chemenu/commands/page_ops.py - tools/chemenu/commands/run_budget.py - tools/chemenu/commands/xref.py - tools/chemenu/conventions.py - tools/chemenu/corpus_diff.py - tools/chemenu/frontmatter_io.py - tools/chemenu/kb_collections.py - tools/chemenu/kb_state.py - tools/chemenu/links.py - tools/chemenu/lint_core.py - tools/chemenu/provenance.py - tools/chemenu/sections.py - tools/chemenu/tests/conftest.py - tools/chemenu/tests/test_blocks.py - tools/chemenu/tests/test_cite_cmd.py - tools/chemenu/tests/test_conventions.py - tools/chemenu/tests/test_dist_cmd.py - tools/chemenu/tests/test_doctor.py - tools/chemenu/tests/test_migrate_cmd.py - tools/chemenu/tests/test_new_page.py - tools/chemenu/tests/test_pipeline_l0.py - tools/chemenu/tests/test_types_cmd.py - tools/chemenu/tests/test_xref.py - types/concept.schema.yaml - types/entity.md - types/entity.schema.yaml - types/instruction.schema.yaml - types/type-spec.md - work/link-taxonomy-migration/README.md - work/link-taxonomy-migration/plan.md
69 lines
3.1 KiB
Markdown
69 lines
3.1 KiB
Markdown
---
|
|
profile: concepts
|
|
outbound:
|
|
concepts: [extends, grounds, rests-on, enables, precondition, exemplifies, abstracted-from, contrasts, compares-with, contradicts, composition, part-of, supersedes, derived-from, adapted-from, see-also]
|
|
entities: [operationalized-from, mechanism, procedure, applies-when, operates-on, invokes, exemplifies, 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 and ADRs
|
|
|
|
An architectural decision is a concept page, prefixed as
|
|
[kb/CONVENTIONS.md § Naming](../CONVENTIONS.md#naming) says. It records:
|
|
|
|
- **Context** - what forced a decision.
|
|
- **Decision** - what was chosen.
|
|
- **Consequences** - what this costs, not only what it buys.
|
|
- **Status** - proposed / accepted / deprecated / superseded.
|
|
- Links to every entity the decision affects.
|
|
|
|
A superseded ADR is never deleted or rewritten. The new one declares `supersedes` pointing at
|
|
it; the old one needs no edge back, because its inbound view renders the replacement.
|
|
|
|
## 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.
|
|
|
|
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.
|