--- profile: none outbound: entities: [see-also] concepts: [see-also] sources: [see-also] gtd: [see-also] required_by_stack: true --- # kb/gtd/ - Collection Contract One page per committed initiative (a project in the GTD sense): the goal, the participants, the durable status, the open loops. This is the half of Muster 4 that `kb/` owns - the other half, the moment-to-moment task list, lives in the task tracker and is joined to a page here only by name (`AGENTS.md` invariant 8, § "Two truths about status are forbidden"). **Quality goal:** a page here should still make sense once the initiative is over. A reader should come away knowing what was attempted, who was in it, what was decided, and what was learned - not a snapshot of what was still open at some point in time. 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 hedging rule. Neither is restated here. **This collection is `required_by_stack`.** A type-spec declaring `name: project` whose schema requires `state:` must exist (`types/type-spec.md` § "What the stack still requires of the type layer"), and `kb/gtd/` is whichever collection that type writes into - derived, not hardcoded, so renaming it stays consistent instead of tripping a stale name. ## Types offered `project` (`tools/wikitool types describe project`). The `responsibility:` field selects the area: | Area | Holds | |------|-------| | `haus/` | Household initiatives | | `finanzen/` | Financial initiatives | | `technik/` | Technical initiatives outside any tracked codebase's own scope | These are areas, not collections: they inherit this contract and carry no `COLLECTION.md` of their own. The initial three values are this instance's own starting vocabulary (`types/project.md` § Frontmatter) - not a stack requirement, and free to extend. ## Two rules unique to this collection - **`## Status` is durable, never a momentary state (D7).** The page never summarizes the task list. "Pilotbetrieb seit 2026-03, zwei Abteilungen angebunden" is a status; "warte auf Freigabe" is a tracker state and does not belong here. The join between a page and its tracker project happens at read time, over the normalized title, and is never stored. - **`## Beteiligte` carries mentions, not links (D28).** One to two lines per person, in prose, with no `[[wikilink]]` and no page of their own. This is a deliberate, named exception to `kb/CONTRACT.md` § "Every page should" - a project page with unlinked people in its `## Beteiligte` section is conforming, not incomplete. A person earns their own page, and the mention becomes an edge, only once they matter for the knowledge independent of this one initiative. ## Authorised labels Only `see-also` is authorised in every direction for now. The vocabulary a participation edge (person -> project) would use is a deliberate later addition, not an oversight - adding it is a collection-contract change made when that label exists, not a way around a refusal. ## Outbound linking A project page links to the entities and concepts its initiative actually touches - the codebase it ships, the system it changes, the concept it applies - and to other project pages it depends on or was split from. ## What does not belong here - A summary of the tracker's current task list. The tracker owns tasks; this page owns the initiative's durable memory. - A person's own page reached from `## Beteiligte` - see above. - An initiative's *artifact* - the codebase, system or tool it is about. That is `entity` (`kb/entities/COLLECTION.md`), a different page under a different type.