--- type: types/type-spec.md name: project description: Structured type for a committed initiative (a GTD project) - goal, participants, durable status, open loops schema: types/project.schema.yaml subtype_field: responsibility base_dir: gtd page_ref_fields: [related, sources] layout: haus: {dir: haus, title: Haus} finanzen: {dir: finanzen, title: Finanzen} technik: {dir: technik, title: Technik} --- # Project This instance's configuration for the `project` type: its frontmatter fields as this schema requires them, and the page skeleton `wikitool new project` scaffolds. `project` is instance-owned end to end - it declares no `guidance:`, so this file's own prose (below) carries its authoring contract, the same way a type an instance invents for itself always does. ## When to use - A committed initiative in the GTD sense: something with a goal, an end state, and open loops - a household project, a piece of paid work, a piece of volunteer work. ## When NOT to use - **The artifact the initiative is about.** `project` names the *Vorhaben* - the undertaking - not the thing it produces or touches. A codebase, a deployed system, a tool: that is `entity` with `entity_type: codebase` (or `system`/`tool`/`technology`). "Ship Chemenu 7.0" is a `project`; Chemenu the codebase is an `entity`. The two are homonyms, not the same page under two types - see `kb/entities/COLLECTION.md` for the artifact side of that line. - A bare task or a day-to-day commitment with no project shape of its own - that lives in the task provider, not here (`kb/` never mirrors the tracker's momentary state, see below). ## Frontmatter | Field | Required | Use | |---|---:|---| | `type` | Yes | `types/project.md` | | `state` | Yes | One of: active, dormant, completed, abandoned - a durable characterization, not the tracker's momentary state (see `## Status` below) | | `responsibility` | Yes | `subtype_field`, one of: haus, finanzen, technik - selects the area under `kb/gtd/` | | `created` / `modified` | Yes | As everywhere | | `related` | No | Titles of related pages (entities, concepts, sources, other projects) | | `sources` | No | Titles of the source pages backing this page's claims | | `provenance` | Yes | sourced, general or mixed - `general` is the common case: a project page is usually written by the operator from their own participation, not from an ingested source | | `summary` | Yes | One-liner for `kb/index.md` | ## Authoring guidance - **`## Status` is a durable characterization, never a momentary state.** "Pilotbetrieb seit 2026-03, zwei Abteilungen angebunden" - not "warte auf Freigabe". The page never summarizes the task list; the momentary state lives in the tracker, and the two are joined only by name, never synced (`AGENTS.md` invariant 8 - one truth about "status"). - **`## Beteiligte` carries mentions, not links.** One to two lines per person, in prose, with **no `[[wikilink]]` and no page of their own.** A person earns a page only once they matter for the *knowledge*, independent of this project - at that point the mention becomes an edge with a participation label. This is a deliberate, named exception to `kb/CONTRACT.md` § "Every page should" (link to the entities it mentions): it is held by this rule, not by a checker, so read a page here with no person-links as conforming, not as incomplete. ## Template The block below is page material, so it is written in this instance's KB language (`kb/CONVENTIONS.md` `language:`) rather than in the control plane's English - its headings become the headings of every page `wikitool new project` scaffolds. ```markdown # {name} **Status:** {state|capitalize} **Bereich:** {responsibility|capitalize} ## Ziel TODO: Was ist der angestrebte Endzustand? Woran erkennt man, dass dieses Vorhaben abgeschlossen ist? ## Kontext TODO: Warum jetzt, warum überhaupt - der Hintergrund, der nicht aus dem Titel folgt. ## Beteiligte TODO: Ein bis zwei Zeilen je Person - Erwähnung im Fließtext, kein Wikilink, keine eigene Seite. ## Status TODO: Dauerhafte Charakterisierung des aktuellen Stands - keine Aufgabenliste, kein Momentzustand. ## Entscheidungen TODO: Festlegungen, die dieses Vorhaben getroffen hat, und warum. ## Gelerntes TODO: Was sich im Verlauf gezeigt hat. ``` The value behind `**Status:**` and `**Bereich:**` stays the English enum value - that is what `search --field` filters on.