stack: Typ project und Collection kb/gtd/ (#123)
CI / verify (push) Successful in 45s
Release / release (push) Successful in 36s

Files changed:
- CHANGES.md
- README.md
- VERSION
- kb/CONTRACT.md
- kb/CONVENTIONS.md
- kb/entities/COLLECTION.md
- kb/gtd/COLLECTION.md
- kb/gtd/INDEX.md
- kb/index.md
- tools/CONTRACT.md
- tools/chemenu/kb_collections.py
- tools/chemenu/tests/test_conventions.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_kb_collections.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_type_resolver.py
- tools/chemenu/tests/test_types_cmd.py
- types/project.md
- types/project.schema.yaml
- types/type-spec.md
This commit is contained in:
torben committed 2026-09-19 21:13:24 +02:00
1 parent 3c9d669729
commit ee24b6e5b8
20 files changed
+507 -38

No files matched your search

+78
View File
@@ -0,0 +1,78 @@
# YAML Schema for project type
type: object
properties:
type:
type: string
const: "types/project.md"
description: Must reference the project type-spec
state:
type: string
enum: [active, dormant, completed, abandoned]
default: active
description: >-
Durable characterization of this initiative, not the tracker's momentary
state. `active` and `dormant` both mean the initiative is ongoing -
`dormant` is a deliberate pause, so the weekly review does not flag it as
stalled the way an `active` project with no next action is flagged.
`completed` and `abandoned` both mean it is over; the distinction is for
the record, not for review behaviour.
responsibility:
type: string
enum: [haus, finanzen, technik]
description: >-
Which area of responsibility this initiative belongs to. No default -
the machine must not pick one on the author's behalf. Must match a key
in this type-spec's own `layout:`, or placement falls back to a naively
pluralized directory with no catalog title (see `types/type-spec.md`
§ Anatomy of a type).
created:
type: string
format: date
pattern: "^\\d{4}-\\d{2}-\\d{2}$"
description: Creation date in YYYY-MM-DD format
modified:
type: string
format: date
pattern: "^\\d{4}-\\d{2}-\\d{2}$"
description: Last modification date in YYYY-MM-DD format
related:
type: array
items:
oneOf:
- type: string
- type: object
minProperties: 1
maxProperties: 1
additionalProperties:
type: string
description: >-
Declared outbound edges. Each entry is either `<label>: <page title>` -
the label drawn from instructions/link-taxonomy.md and authorised per
destination by kb/gtd/COLLECTION.md's `outbound:` block - or a bare page
title for an edge whose label has not been declared yet.
sources:
type: array
items:
type: string
description: Source page titles that support claims on this page
provenance:
type: string
enum: [sourced, general, mixed]
default: general
description: >-
Provenance classification. `general` is the common case: a project page
is usually written by the operator from their own participation, not
from an ingested source.
summary:
type: string
description: 1-line summary for index.md
minLength: 1
required:
- type
- state
- responsibility
- created
- modified
- provenance
- summary
additionalProperties: false