@renoxar/koolie 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/.gitattributes +16 -0
  2. package/.gitignore +51 -0
  3. package/.koolie/QUELLREPOSITORIUM.md +18 -0
  4. package/.koolie/core/CHANGELOG.md +11832 -0
  5. package/.koolie/core/LICENSE +674 -0
  6. package/.koolie/core/LICENSE-HINWEIS.md +98 -0
  7. package/.koolie/core/OWNERS.md +36 -0
  8. package/.koolie/core/VERSION +1 -0
  9. package/.koolie/core/banner.py +397 -0
  10. package/.koolie/core/build/README.md +34 -0
  11. package/.koolie/core/build/assemble.py +354 -0
  12. package/.koolie/core/build/build-docx.py +194 -0
  13. package/.koolie/core/build/doc/00-kopf.md +18 -0
  14. package/.koolie/core/build/doc/01-executive-summary.md +24 -0
  15. package/.koolie/core/build/doc/02-zielbild.md +13 -0
  16. package/.koolie/core/build/doc/03-ziele-nichtziele.md +28 -0
  17. package/.koolie/core/build/doc/04-geltungsbereich.md +25 -0
  18. package/.koolie/core/build/doc/05-glossar.md +47 -0
  19. package/.koolie/core/build/doc/06-leitprinzipien.md +5 -0
  20. package/.koolie/core/build/doc/07-architektur.md +60 -0
  21. package/.koolie/core/build/doc/07a-abbildungsschicht.md +66 -0
  22. package/.koolie/core/build/doc/08-trennung.md +24 -0
  23. package/.koolie/core/build/doc/09-betriebsmodi.md +18 -0
  24. package/.koolie/core/build/doc/10-arbeitsablauf.md +5 -0
  25. package/.koolie/core/build/doc/11-datenschutz.md +5 -0
  26. package/.koolie/core/build/doc/12-sicherheit.md +5 -0
  27. package/.koolie/core/build/doc/13-risiko.md +5 -0
  28. package/.koolie/core/build/doc/14-rollen.md +9 -0
  29. package/.koolie/core/build/doc/15-referenzstruktur.md +124 -0
  30. package/.koolie/core/build/doc/16-agentenanweisung.md +8 -0
  31. package/.koolie/core/build/doc/17-overlay.md +29 -0
  32. package/.koolie/core/build/doc/18-skill-standard.md +5 -0
  33. package/.koolie/core/build/doc/19-skill-template.md +5 -0
  34. package/.koolie/core/build/doc/20-referenz-skills.md +70 -0
  35. package/.koolie/core/build/doc/21-prompts.md +53 -0
  36. package/.koolie/core/build/doc/22-checklisten.md +49 -0
  37. package/.koolie/core/build/doc/23-entscheidungsbaeume.md +29 -0
  38. package/.koolie/core/build/doc/24-onboarding.md +33 -0
  39. package/.koolie/core/build/doc/25-governance.md +35 -0
  40. package/.koolie/core/build/doc/26-qs-test.md +9 -0
  41. package/.koolie/core/build/doc/27-pilot.md +13 -0
  42. package/.koolie/core/build/doc/28-uebernahme.md +5 -0
  43. package/.koolie/core/build/doc/29-grenzen.md +87 -0
  44. package/.koolie/core/build/doc/30-roadmap.md +5 -0
  45. package/.koolie/core/build/doc/31-anhaenge.md +151 -0
  46. package/.koolie/core/build/doc/32-abschluss.md +92 -0
  47. package/.koolie/core/build/ref-a4.docx +0 -0
  48. package/.koolie/core/checklists/01-preflight.md +54 -0
  49. package/.koolie/core/checklists/02-privacy-context.md +51 -0
  50. package/.koolie/core/checklists/03-before-code-change.md +51 -0
  51. package/.koolie/core/checklists/04-review-ai-code.md +58 -0
  52. package/.koolie/core/checklists/05-testing.md +48 -0
  53. package/.koolie/core/checklists/06-security.md +50 -0
  54. package/.koolie/core/checklists/07-new-dependency.md +57 -0
  55. package/.koolie/core/checklists/08-merge-request.md +47 -0
  56. package/.koolie/core/checklists/09-onboarding.md +52 -0
  57. package/.koolie/core/checklists/10-project-adoption.md +74 -0
  58. package/.koolie/core/checklists/11-framework-release.md +71 -0
  59. package/.koolie/core/checklists/README.md +28 -0
  60. package/.koolie/core/clientmap.py +1358 -0
  61. package/.koolie/core/clients/README.md +113 -0
  62. package/.koolie/core/clients/_template/CLIENT_PACK.md +197 -0
  63. package/.koolie/core/clients/claude-code/CLIENT_PACK.md +383 -0
  64. package/.koolie/core/clients/claude-code/manifest.json +232 -0
  65. package/.koolie/core/clients/claude-code/root-template/.claude/README.md +127 -0
  66. package/.koolie/core/clients/cursor/CLIENT_PACK.md +229 -0
  67. package/.koolie/core/clients/cursor/manifest.json +330 -0
  68. package/.koolie/core/clients/cursor/root-template/.cursor/README.md +36 -0
  69. package/.koolie/core/clients/devin-desktop/CLIENT_PACK.md +251 -0
  70. package/.koolie/core/clients/devin-desktop/manifest.json +163 -0
  71. package/.koolie/core/clients/devin-desktop/root-template/.devin/README.md +79 -0
  72. package/.koolie/core/clients/kiro/CLIENT_PACK.md +223 -0
  73. package/.koolie/core/clients/kiro/manifest.json +300 -0
  74. package/.koolie/core/clients/kiro/root-template/.kiro/README.md +37 -0
  75. package/.koolie/core/clients/openai-codex/CLIENT_PACK.md +257 -0
  76. package/.koolie/core/clients/openai-codex/manifest.json +208 -0
  77. package/.koolie/core/clients/openai-codex/root-template/.codex/README.md +35 -0
  78. package/.koolie/core/decision-trees/01-context-allowed.md +46 -0
  79. package/.koolie/core/decision-trees/02-may-ai-do-task.md +47 -0
  80. package/.koolie/core/decision-trees/03-analyze-or-modify.md +50 -0
  81. package/.koolie/core/decision-trees/04-required-review.md +49 -0
  82. package/.koolie/core/decision-trees/05-stop-or-escalate.md +47 -0
  83. package/.koolie/core/decision-trees/06-rule-placement.md +58 -0
  84. package/.koolie/core/decision-trees/README.md +14 -0
  85. package/.koolie/core/docs/ADOPTION_GUIDE.md +582 -0
  86. package/.koolie/core/docs/DOCUMENTATION_STANDARD.md +91 -0
  87. package/.koolie/core/docs/PLACEHOLDER_REGISTRY.md +79 -0
  88. package/.koolie/core/docs/ROADMAP.md +848 -0
  89. package/.koolie/core/docs/RUNTIME_GLOSSARY.md +113 -0
  90. package/.koolie/core/examples/README.md +11 -0
  91. package/.koolie/core/examples/example-ergebnisbericht.md +31 -0
  92. package/.koolie/core/examples/example-mr-description.md +31 -0
  93. package/.koolie/core/examples/example-overlay-runtime.md +48 -0
  94. package/.koolie/core/framework/core/00-principles.md +93 -0
  95. package/.koolie/core/framework/core/01-governance.md +58 -0
  96. package/.koolie/core/framework/core/02-privacy.md +141 -0
  97. package/.koolie/core/framework/core/03-security.md +86 -0
  98. package/.koolie/core/framework/core/04-quality.md +48 -0
  99. package/.koolie/core/framework/core/05-working-model.md +199 -0
  100. package/.koolie/core/framework/core/06-prompting-rules.md +51 -0
  101. package/.koolie/core/framework/core/07-review-rules.md +52 -0
  102. package/.koolie/core/framework/core/08-skill-conventions.md +115 -0
  103. package/.koolie/core/framework/core/09-risk-model.md +87 -0
  104. package/.koolie/core/framework/core/10-error-escalation.md +53 -0
  105. package/.koolie/core/framework/org-policies/MAPPING_CLASSIFICATION.md +16 -0
  106. package/.koolie/core/framework/org-policies/README.md +29 -0
  107. package/.koolie/core/framework/overlay-patterns/general/documents/branching-strategy/muster-general.md +43 -0
  108. package/.koolie/core/framework/overlay-patterns/general/documents/coding-guidelines/muster-general.md +82 -0
  109. package/.koolie/core/framework/overlay-patterns/general/documents/definition-of-done/muster-general.md +52 -0
  110. package/.koolie/core/framework/overlay-patterns/general/documents/definition-of-ready/muster-general.md +54 -0
  111. package/.koolie/core/framework/overlay-patterns/general/documents/quality/muster-general.md +59 -0
  112. package/.koolie/core/framework/overlay-patterns/general/documents/security/muster-general.md +52 -0
  113. package/.koolie/core/framework/overlay-patterns/general.md +150 -0
  114. package/.koolie/core/framework/role-packs/README.md +63 -0
  115. package/.koolie/core/framework/role-packs/_template/ROLE_PACK.md +58 -0
  116. package/.koolie/core/framework/role-packs/requirements-engineering/ROLE_PACK.md +158 -0
  117. package/.koolie/core/framework/role-packs/requirements-engineering/runtime/30-role-requirements-engineering.md +88 -0
  118. package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/CHANGELOG.md +10 -0
  119. package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/EXAMPLES.md +148 -0
  120. package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/SKILL.md +195 -0
  121. package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/TESTS.md +22 -0
  122. package/.koolie/core/framework/role-packs/software-development/ROLE_PACK.md +95 -0
  123. package/.koolie/core/framework/role-packs/software-development/runtime/30-role-software-development.md +26 -0
  124. package/.koolie/core/framework/runtime/agents/fw-reviewer.md +34 -0
  125. package/.koolie/core/framework/runtime/client-settings.json +3 -0
  126. package/.koolie/core/framework/runtime/hooks.json +20 -0
  127. package/.koolie/core/framework/runtime/mcp-config.example.json +4 -0
  128. package/.koolie/core/framework/runtime/permissions.json +106 -0
  129. package/.koolie/core/framework/runtime/root-instruction-local.example.md +19 -0
  130. package/.koolie/core/framework/runtime/root-instruction.md +116 -0
  131. package/.koolie/core/framework/runtime/rules/00-framework-core.md +49 -0
  132. package/.koolie/core/framework/runtime/rules/10-privacy-security.md +49 -0
  133. package/.koolie/core/framework/runtime/rules/15-development-rules.md +41 -0
  134. package/.koolie/core/framework/runtime/rules/16-plan-spezifikation.md +32 -0
  135. package/.koolie/core/framework/runtime/rules/20-project-overlay.md +60 -0
  136. package/.koolie/core/framework/skills/fw-bugfix-prepare/CHANGELOG.md +14 -0
  137. package/.koolie/core/framework/skills/fw-bugfix-prepare/EXAMPLES.md +57 -0
  138. package/.koolie/core/framework/skills/fw-bugfix-prepare/SKILL.md +177 -0
  139. package/.koolie/core/framework/skills/fw-bugfix-prepare/TESTS.md +15 -0
  140. package/.koolie/core/framework/skills/fw-change-analyze/CHANGELOG.md +12 -0
  141. package/.koolie/core/framework/skills/fw-change-analyze/EXAMPLES.md +66 -0
  142. package/.koolie/core/framework/skills/fw-change-analyze/SKILL.md +167 -0
  143. package/.koolie/core/framework/skills/fw-change-analyze/TESTS.md +16 -0
  144. package/.koolie/core/framework/skills/fw-change-small/CHANGELOG.md +13 -0
  145. package/.koolie/core/framework/skills/fw-change-small/EXAMPLES.md +68 -0
  146. package/.koolie/core/framework/skills/fw-change-small/SKILL.md +175 -0
  147. package/.koolie/core/framework/skills/fw-change-small/TESTS.md +13 -0
  148. package/.koolie/core/framework/skills/fw-code-explain/CHANGELOG.md +11 -0
  149. package/.koolie/core/framework/skills/fw-code-explain/EXAMPLES.md +61 -0
  150. package/.koolie/core/framework/skills/fw-code-explain/SKILL.md +163 -0
  151. package/.koolie/core/framework/skills/fw-code-explain/TESTS.md +11 -0
  152. package/.koolie/core/framework/skills/fw-docs-update/CHANGELOG.md +10 -0
  153. package/.koolie/core/framework/skills/fw-docs-update/EXAMPLES.md +59 -0
  154. package/.koolie/core/framework/skills/fw-docs-update/SKILL.md +160 -0
  155. package/.koolie/core/framework/skills/fw-docs-update/TESTS.md +12 -0
  156. package/.koolie/core/framework/skills/fw-error-analyze/CHANGELOG.md +10 -0
  157. package/.koolie/core/framework/skills/fw-error-analyze/EXAMPLES.md +67 -0
  158. package/.koolie/core/framework/skills/fw-error-analyze/SKILL.md +160 -0
  159. package/.koolie/core/framework/skills/fw-error-analyze/TESTS.md +12 -0
  160. package/.koolie/core/framework/skills/fw-mr-description/CHANGELOG.md +12 -0
  161. package/.koolie/core/framework/skills/fw-mr-description/EXAMPLES.md +69 -0
  162. package/.koolie/core/framework/skills/fw-mr-description/SKILL.md +170 -0
  163. package/.koolie/core/framework/skills/fw-mr-description/TESTS.md +12 -0
  164. package/.koolie/core/framework/skills/fw-overlay-pflege/CHANGELOG.md +7 -0
  165. package/.koolie/core/framework/skills/fw-overlay-pflege/EXAMPLES.md +48 -0
  166. package/.koolie/core/framework/skills/fw-overlay-pflege/SKILL.md +147 -0
  167. package/.koolie/core/framework/skills/fw-overlay-pflege/TESTS.md +13 -0
  168. package/.koolie/core/framework/skills/fw-plan/CHANGELOG.md +14 -0
  169. package/.koolie/core/framework/skills/fw-plan/EXAMPLES.md +69 -0
  170. package/.koolie/core/framework/skills/fw-plan/SKILL.md +168 -0
  171. package/.koolie/core/framework/skills/fw-plan/TESTS.md +14 -0
  172. package/.koolie/core/framework/skills/fw-refactor/CHANGELOG.md +10 -0
  173. package/.koolie/core/framework/skills/fw-refactor/EXAMPLES.md +70 -0
  174. package/.koolie/core/framework/skills/fw-refactor/SKILL.md +173 -0
  175. package/.koolie/core/framework/skills/fw-refactor/TESTS.md +14 -0
  176. package/.koolie/core/framework/skills/fw-repo-analyze/CHANGELOG.md +10 -0
  177. package/.koolie/core/framework/skills/fw-repo-analyze/EXAMPLES.md +52 -0
  178. package/.koolie/core/framework/skills/fw-repo-analyze/SKILL.md +149 -0
  179. package/.koolie/core/framework/skills/fw-repo-analyze/TESTS.md +11 -0
  180. package/.koolie/core/framework/skills/fw-review-support/CHANGELOG.md +12 -0
  181. package/.koolie/core/framework/skills/fw-review-support/EXAMPLES.md +69 -0
  182. package/.koolie/core/framework/skills/fw-review-support/SKILL.md +179 -0
  183. package/.koolie/core/framework/skills/fw-review-support/TESTS.md +13 -0
  184. package/.koolie/core/framework/skills/fw-tests/CHANGELOG.md +9 -0
  185. package/.koolie/core/framework/skills/fw-tests/EXAMPLES.md +65 -0
  186. package/.koolie/core/framework/skills/fw-tests/SKILL.md +169 -0
  187. package/.koolie/core/framework/skills/fw-tests/TESTS.md +12 -0
  188. package/.koolie/core/framework/tech-packs/README.md +15 -0
  189. package/.koolie/core/framework/tech-packs/_template/TECH_PACK.md +61 -0
  190. package/.koolie/core/governance/ADOPTION_REGISTRY.md +89 -0
  191. package/.koolie/core/governance/CHANGE_REQUEST_TEMPLATE.md +60 -0
  192. package/.koolie/core/governance/DECISION_LOG.md +779 -0
  193. package/.koolie/core/governance/EXCEPTION_PROCESS.md +31 -0
  194. package/.koolie/core/governance/FEEDBACK_PROCESS.md +34 -0
  195. package/.koolie/core/governance/FRAMEWORK_DEV_PROFILE.md +135 -0
  196. package/.koolie/core/governance/INCIDENT_HANDLING.md +47 -0
  197. package/.koolie/core/governance/PRIORITY_HIERARCHY.md +61 -0
  198. package/.koolie/core/governance/RACI.md +37 -0
  199. package/.koolie/core/governance/RELEASE_PROCESS.md +183 -0
  200. package/.koolie/core/governance/change-requests/CR-2026-001-definition-release-1-0-0.md +67 -0
  201. package/.koolie/core/governance/change-requests/CR-2026-002-client-packs.md +63 -0
  202. package/.koolie/core/governance/change-requests/CR-2026-003-install-client-schalter.md +70 -0
  203. package/.koolie/core/governance/change-requests/CR-2026-004-client-pack-claude-code.md +82 -0
  204. package/.koolie/core/governance/change-requests/CR-2026-005-kern-neutralisierung.md +75 -0
  205. package/.koolie/core/governance/change-requests/CR-2026-006-gemeinsame-skill-quelle.md +77 -0
  206. package/.koolie/core/governance/change-requests/CR-2026-007-geteilte-kernbestandteile.md +80 -0
  207. package/.koolie/core/governance/change-requests/CR-2026-008-berechtigungen-und-hooks.md +85 -0
  208. package/.koolie/core/governance/change-requests/CR-2026-009-umbenennung-leitwerk.md +77 -0
  209. package/.koolie/core/governance/change-requests/CR-2026-010-restduplikation.md +73 -0
  210. package/.koolie/core/governance/change-requests/CR-2026-011-hauptdokument.md +72 -0
  211. package/.koolie/core/governance/change-requests/CR-2026-012-schreibschutz-kernverzeichnis.md +106 -0
  212. package/.koolie/core/governance/change-requests/CR-2026-013-validator-blindstellen.md +128 -0
  213. package/.koolie/core/governance/change-requests/CR-2026-014-kurzform-langform.md +125 -0
  214. package/.koolie/core/governance/change-requests/CR-2026-015-versionskette.md +150 -0
  215. package/.koolie/core/governance/change-requests/CR-2026-016-ap2-claude-code.md +127 -0
  216. package/.koolie/core/governance/change-requests/CR-2026-017-ladebedingungen-claude-code.md +173 -0
  217. package/.koolie/core/governance/change-requests/CR-2026-018-quellenliste-claude-code.md +121 -0
  218. package/.koolie/core/governance/change-requests/CR-2026-019-strukturentscheidungen-fortschreiben.md +143 -0
  219. package/.koolie/core/governance/change-requests/CR-2026-020-akteursbezeichnung.md +118 -0
  220. package/.koolie/core/governance/change-requests/CR-2026-021-hook-interpreter.md +113 -0
  221. package/.koolie/core/governance/change-requests/CR-2026-022-artefaktversionen.md +73 -0
  222. package/.koolie/core/governance/change-requests/CR-2026-023-shell-lesesperre.md +128 -0
  223. package/.koolie/core/governance/change-requests/CR-2026-024-clientbindungen.md +78 -0
  224. package/.koolie/core/governance/change-requests/CR-2026-025-betriebsmodi.md +110 -0
  225. package/.koolie/core/governance/change-requests/CR-2026-026-fail-closed.md +134 -0
  226. package/.koolie/core/governance/change-requests/CR-2026-027-zeichenlimit-einstufung.md +105 -0
  227. package/.koolie/core/governance/change-requests/CR-2026-028-berechtigungsmodi.md +130 -0
  228. package/.koolie/core/governance/change-requests/CR-2026-029-hook-ablageort.md +115 -0
  229. package/.koolie/core/governance/change-requests/CR-2026-030-lesende-werkzeuge.md +143 -0
  230. package/.koolie/core/governance/change-requests/CR-2026-031-regelquellen-ausserhalb.md +182 -0
  231. package/.koolie/core/governance/change-requests/CR-2026-032-fremde-skill-ablage.md +151 -0
  232. package/.koolie/core/governance/change-requests/CR-2026-033-modusabhaengige-durchsetzung.md +131 -0
  233. package/.koolie/core/governance/change-requests/CR-2026-034-nachweisbedingungen.md +116 -0
  234. package/.koolie/core/governance/change-requests/CR-2026-035-readme-in-der-regelablage.md +115 -0
  235. package/.koolie/core/governance/change-requests/CR-2026-036-ortsangaben-hook-konfiguration.md +108 -0
  236. package/.koolie/core/governance/change-requests/CR-2026-037-meldender-hook-clientgebunden.md +133 -0
  237. package/.koolie/core/governance/change-requests/CR-2026-038-importsteuerung.md +159 -0
  238. package/.koolie/core/governance/change-requests/CR-2026-039-normative-saetze-in-kommentaren.md +124 -0
  239. package/.koolie/core/governance/change-requests/CR-2026-040-erh01-ist-clientgebunden.md +115 -0
  240. package/.koolie/core/governance/change-requests/CR-2026-041-s5-nicht-abbildbar.md +128 -0
  241. package/.koolie/core/governance/change-requests/CR-2026-042-abwesenheitsnachweis-suchwerkzeug.md +102 -0
  242. package/.koolie/core/governance/change-requests/CR-2026-043-validator-gibt-trefferwerte-aus.md +135 -0
  243. package/.koolie/core/governance/change-requests/CR-2026-044-aktivierungspruefung-clientgebunden.md +112 -0
  244. package/.koolie/core/governance/change-requests/CR-2026-045-update-verliert-die-clientwahl.md +116 -0
  245. package/.koolie/core/governance/change-requests/CR-2026-046-erstinstallation-ueberschreibt-projektdatei.md +125 -0
  246. package/.koolie/core/governance/change-requests/CR-2026-047-zusagen-je-zugriffskanal.md +133 -0
  247. package/.koolie/core/governance/change-requests/CR-2026-048-modusgrenze-ohne-durchsetzung.md +137 -0
  248. package/.koolie/core/governance/change-requests/CR-2026-049-sondenlauf-kodierungsabhaengig.md +126 -0
  249. package/.koolie/core/governance/change-requests/CR-2026-050-allowed-tools-und-verworfene-permissions.md +110 -0
  250. package/.koolie/core/governance/change-requests/CR-2026-051-quellenkarte-und-ueberholter-stand.md +110 -0
  251. package/.koolie/core/governance/change-requests/CR-2026-052-drei-regelkonflikte.md +166 -0
  252. package/.koolie/core/governance/change-requests/CR-2026-053-lesesperre-und-entwicklungsprofil.md +144 -0
  253. package/.koolie/core/governance/change-requests/CR-2026-054-aktivierung-verlangt-aktivitaet.md +124 -0
  254. package/.koolie/core/governance/change-requests/CR-2026-055-domain-ausnahme-ohne-mechanismus.md +173 -0
  255. package/.koolie/core/governance/change-requests/CR-2026-056-eingabeschema-und-pfadidentitaet.md +245 -0
  256. package/.koolie/core/governance/change-requests/CR-2026-057-disallowed-tools-und-s3.md +148 -0
  257. package/.koolie/core/governance/change-requests/CR-2026-058-unteragent-reichweite.md +203 -0
  258. package/.koolie/core/governance/change-requests/CR-2026-059-unteragent-tiefe-und-widerspruch.md +125 -0
  259. package/.koolie/core/governance/change-requests/CR-2026-060-stumme-brueche.md +170 -0
  260. package/.koolie/core/governance/change-requests/CR-2026-061-berechtigungsdatei-ohne-pruefung.md +169 -0
  261. package/.koolie/core/governance/change-requests/CR-2026-062-werkzeugabbildung-des-frontmatters.md +178 -0
  262. package/.koolie/core/governance/change-requests/CR-2026-063-skillaufruf-ohne-freigabe.md +207 -0
  263. package/.koolie/core/governance/change-requests/CR-2026-064-pruefregister-nicht-nachgezaehlt.md +141 -0
  264. package/.koolie/core/governance/change-requests/CR-2026-065-devin-suchwerkzeuge-erhoben.md +170 -0
  265. package/.koolie/core/governance/change-requests/CR-2026-066-schlitzdeckung-ohne-abgleich.md +153 -0
  266. package/.koolie/core/governance/change-requests/CR-2026-067-hookblock-und-praeparationsregister.md +140 -0
  267. package/.koolie/core/governance/change-requests/CR-2026-068-sondenlauf-nebenlaeufig.md +106 -0
  268. package/.koolie/core/governance/change-requests/CR-2026-069-bytecode-des-kerns.md +108 -0
  269. package/.koolie/core/governance/change-requests/CR-2026-070-d11-zaehler.md +114 -0
  270. package/.koolie/core/governance/change-requests/CR-2026-071-strukturentscheidungen-bestaetigen.md +322 -0
  271. package/.koolie/core/governance/change-requests/CR-2026-072-modulstatus-heben.md +315 -0
  272. package/.koolie/core/governance/change-requests/CR-2026-073-nicht-skill-traeger-heben.md +246 -0
  273. package/.koolie/core/governance/change-requests/CR-2026-074-restliche-nicht-skill-traeger-heben.md +271 -0
  274. package/.koolie/core/governance/change-requests/CR-2026-075-ap2-zielversion-devin-desktop.md +335 -0
  275. package/.koolie/core/governance/change-requests/CR-2026-076-erster-sitzungstest.md +455 -0
  276. package/.koolie/core/governance/change-requests/CR-2026-077-sitzungstest-schranken.md +425 -0
  277. package/.koolie/core/governance/change-requests/CR-2026-078-planung-nach-1-0-0.md +294 -0
  278. package/.koolie/core/governance/change-requests/CR-2026-079-umbenennung-vorziehen.md +233 -0
  279. package/.koolie/core/governance/change-requests/CR-2026-080-clientbindung-des-kerns.md +321 -0
  280. package/.koolie/core/governance/change-requests/CR-2026-081-produktnamen-im-kern.md +297 -0
  281. package/.koolie/core/governance/change-requests/CR-2026-082-sitzungstest-pi-ds-2.md +145 -0
  282. package/.koolie/core/governance/change-requests/CR-2026-083-sitzungstest-ne-sc.md +300 -0
  283. package/.koolie/core/governance/change-requests/CR-2026-084-trockenlauf-gegen-den-committeten-stand.md +117 -0
  284. package/.koolie/core/governance/change-requests/CR-2026-085-vorbedingungen-sitzungstest-5.md +182 -0
  285. package/.koolie/core/governance/change-requests/CR-2026-086-grenzfaelle-gegen-die-fassungen.md +164 -0
  286. package/.koolie/core/governance/change-requests/CR-2026-087-produktbeobachtung-quellenliste.md +206 -0
  287. package/.koolie/core/governance/change-requests/CR-2026-088-vorbedingungen-testblaetter.md +127 -0
  288. package/.koolie/core/governance/change-requests/CR-2026-089-herrichtung-uebungsrepositorium.md +226 -0
  289. package/.koolie/core/governance/change-requests/CR-2026-090-vorbedingungen-sitzungstest-5-zweiter-durchgang.md +255 -0
  290. package/.koolie/core/governance/change-requests/CR-2026-091-sitzungstest-5.md +163 -0
  291. package/.koolie/core/governance/change-requests/CR-2026-092-pruefmittelwort-und-buendelschnitt.md +226 -0
  292. package/.koolie/core/governance/change-requests/CR-2026-093-sechzehnte-praeparation.md +151 -0
  293. package/.koolie/core/governance/change-requests/CR-2026-094-testblaetter-buendel-1.md +113 -0
  294. package/.koolie/core/governance/change-requests/CR-2026-095-pruefapparat-filter.md +65 -0
  295. package/.koolie/core/governance/change-requests/CR-2026-096-vorbedingungen-buendel-2.md +225 -0
  296. package/.koolie/core/governance/change-requests/CR-2026-097-testblaetter-buendel-2.md +162 -0
  297. package/.koolie/core/governance/change-requests/CR-2026-098-anforderungen-auslieferung.md +93 -0
  298. package/.koolie/core/governance/change-requests/CR-2026-099-k74-und-vorbedingungen-buendel-3.md +119 -0
  299. package/.koolie/core/governance/change-requests/CR-2026-100-testblaetter-buendel-3.md +120 -0
  300. package/.koolie/core/governance/change-requests/CR-2026-101-k77-eigener-posten.md +165 -0
  301. package/.koolie/core/governance/change-requests/CR-2026-102-k77-entschieden.md +118 -0
  302. package/.koolie/core/governance/change-requests/CR-2026-103-vorbedingungen-buendel-4.md +76 -0
  303. package/.koolie/core/governance/change-requests/CR-2026-104-herrichtung-buendel-4.md +82 -0
  304. package/.koolie/core/governance/change-requests/CR-2026-105-messapparat-buendel-4.md +227 -0
  305. package/.koolie/core/governance/change-requests/CR-2026-106-uebergabe-einchecken.md +91 -0
  306. package/.koolie/core/governance/change-requests/CR-2026-107-uebergabe-im-release-commit.md +111 -0
  307. package/.koolie/core/governance/change-requests/CR-2026-108-testblaetter-buendel-4.md +118 -0
  308. package/.koolie/core/governance/change-requests/CR-2026-109-berichtsweg-des-aufraeumers.md +108 -0
  309. package/.koolie/core/governance/change-requests/CR-2026-110-vorbedingungen-des-nachlaufs.md +184 -0
  310. package/.koolie/core/governance/change-requests/CR-2026-111-der-apparat-auf-dem-weg-der-wiederaufnahme.md +127 -0
  311. package/.koolie/core/governance/change-requests/CR-2026-112-der-arbeitsplatz-im-kern.md +103 -0
  312. package/.koolie/core/governance/change-requests/CR-2026-113-nachlauf-buendel-4.md +103 -0
  313. package/.koolie/core/governance/change-requests/CR-2026-114-vorbedingungen-buendel-5.md +317 -0
  314. package/.koolie/core/governance/change-requests/CR-2026-115-herrichtung-buendel-5.md +244 -0
  315. package/.koolie/core/governance/change-requests/CR-2026-116-messtag-buendel-5.md +178 -0
  316. package/.koolie/core/governance/change-requests/CR-2026-117-sammelzellen-zentraler-katalog.md +251 -0
  317. package/.koolie/core/governance/change-requests/CR-2026-118-quellenzuordnung-matrixzeilen.md +115 -0
  318. package/.koolie/core/governance/change-requests/CR-2026-119-umbenennung-koolie.md +204 -0
  319. package/.koolie/core/governance/change-requests/CR-2026-120-ap2-rest-devin-desktop.md +96 -0
  320. package/.koolie/core/governance/change-requests/CR-2026-121-verify-marker-abschaffen.md +185 -0
  321. package/.koolie/core/governance/change-requests/CR-2026-122-umbenennung-koolie-lauf.md +131 -0
  322. package/.koolie/core/governance/change-requests/CR-2026-123-vortrag-und-namensabsatz.md +170 -0
  323. package/.koolie/core/governance/change-requests/CR-2026-124-hauptdokument-ap11.md +237 -0
  324. package/.koolie/core/governance/change-requests/CR-2026-125-word-fassung-und-blinder-fleck.md +204 -0
  325. package/.koolie/core/governance/change-requests/CR-2026-126-lizenz-gpl3.md +112 -0
  326. package/.koolie/core/governance/change-requests/CR-2026-127-gegenzeichnung-rollenfrage.md +96 -0
  327. package/.koolie/core/governance/change-requests/CR-2026-128-freigabelauf-1.0.0.md +278 -0
  328. package/.koolie/core/governance/change-requests/CR-2026-129-archiv-zeilenenden.md +90 -0
  329. package/.koolie/core/governance/change-requests/CR-2026-130-reihenfolge-des-hebens.md +204 -0
  330. package/.koolie/core/governance/change-requests/CR-2026-131-chronik-und-vorlage.md +194 -0
  331. package/.koolie/core/governance/change-requests/CR-2026-132-erhebung-openai-codex.md +185 -0
  332. package/.koolie/core/governance/change-requests/CR-2026-133-bau-openai-codex.md +97 -0
  333. package/.koolie/core/governance/change-requests/CR-2026-134-uebergabe-lokal.md +117 -0
  334. package/.koolie/core/governance/change-requests/CR-2026-135-pfadlisten-nul-getrennt.md +139 -0
  335. package/.koolie/core/governance/change-requests/CR-2026-136-overlay-werte-einordnung.md +156 -0
  336. package/.koolie/core/governance/change-requests/CR-2026-137-kopierweg-kern.md +144 -0
  337. package/.koolie/core/governance/change-requests/CR-2026-138-overlay-muster-general.md +118 -0
  338. package/.koolie/core/governance/change-requests/CR-2026-139-overlay-muster-dokumente.md +105 -0
  339. package/.koolie/core/governance/change-requests/CR-2026-140-installer-je-zielsystem.md +120 -0
  340. package/.koolie/core/governance/change-requests/CR-2026-141-lieferumfang.md +123 -0
  341. package/.koolie/core/governance/change-requests/CR-2026-142-dokumentationsstandard.md +90 -0
  342. package/.koolie/core/governance/change-requests/CR-2026-143-klasse-b-core-laufzeit.md +89 -0
  343. package/.koolie/core/governance/change-requests/CR-2026-144-klasse-b-governance.md +90 -0
  344. package/.koolie/core/governance/change-requests/CR-2026-145-klasse-b-skills.md +81 -0
  345. package/.koolie/core/governance/change-requests/CR-2026-146-code-pack-posten.md +84 -0
  346. package/.koolie/core/governance/change-requests/CR-2026-147-regel-register-posten.md +78 -0
  347. package/.koolie/core/governance/change-requests/CR-2026-148-mehrprojekt-tokenlast.md +70 -0
  348. package/.koolie/core/governance/change-requests/CR-2026-149-regelablage-pfadtoken.md +71 -0
  349. package/.koolie/core/governance/change-requests/CR-2026-150-client-pack-kiro.md +76 -0
  350. package/.koolie/core/governance/change-requests/CR-2026-151-skill-anweisungen.md +71 -0
  351. package/.koolie/core/governance/change-requests/CR-2026-152-testblaetter-modellwechsel.md +78 -0
  352. package/.koolie/core/governance/change-requests/CR-2026-153-attributionszeile.md +88 -0
  353. package/.koolie/core/governance/change-requests/CR-2026-154-auffindbarkeit.md +102 -0
  354. package/.koolie/core/governance/change-requests/CR-2026-155-client-pack-cursor.md +80 -0
  355. package/.koolie/core/governance/change-requests/CR-2026-156-mandat-und-reibung.md +100 -0
  356. package/.koolie/core/governance/change-requests/CR-2026-157-mcp-anbindung.md +93 -0
  357. package/.koolie/core/governance/change-requests/CR-2026-158-registerpflege.md +69 -0
  358. package/.koolie/core/governance/change-requests/CR-2026-159-powershell.md +49 -0
  359. package/.koolie/core/governance/change-requests/CR-2026-160-messapparat.md +59 -0
  360. package/.koolie/core/governance/change-requests/CR-2026-161-pruefwerkzeuge.md +52 -0
  361. package/.koolie/core/governance/change-requests/CR-2026-162-schutzschicht.md +65 -0
  362. package/.koolie/core/governance/change-requests/CR-2026-163-pfadsemantik.md +61 -0
  363. package/.koolie/core/governance/change-requests/CR-2026-164-modi-ausnahmen.md +65 -0
  364. package/.koolie/core/governance/change-requests/CR-2026-165-installer-banner.md +406 -0
  365. package/.koolie/core/governance/change-requests/CR-2026-166-nachlauf-aufzeichnungen.md +59 -0
  366. package/.koolie/core/governance/change-requests/CR-2026-167-einsatzarchitektur.md +60 -0
  367. package/.koolie/core/governance/change-requests/CR-2026-168-paketquellen.md +64 -0
  368. package/.koolie/core/governance/change-requests/CR-2026-169-modusbindung-messfragen.md +58 -0
  369. package/.koolie/core/governance/change-requests/CR-2026-170-erste-veroeffentlichung.md +62 -0
  370. package/.koolie/core/governance/change-requests/CR-2026-171-befehl-im-projektverzeichnis.md +57 -0
  371. package/.koolie/core/governance/change-requests/CR-2026-172-auftritt-npm-suche.md +58 -0
  372. package/.koolie/core/install.py +2402 -0
  373. package/.koolie/core/install_dialog.py +227 -0
  374. package/.koolie/core/koexistenz.py +112 -0
  375. package/.koolie/core/mandat.py +605 -0
  376. package/.koolie/core/onboarding/COMPLETION_CRITERIA.md +37 -0
  377. package/.koolie/core/onboarding/GUIDE.md +103 -0
  378. package/.koolie/core/onboarding/KNOWLEDGE_CHECK.md +48 -0
  379. package/.koolie/core/onboarding/MENTOR_CHECKLIST.md +40 -0
  380. package/.koolie/core/onboarding/QUICKSTART.md +50 -0
  381. package/.koolie/core/onboarding/REFERENCE.md +69 -0
  382. package/.koolie/core/onboarding/exercises/EXERCISES.md +78 -0
  383. package/.koolie/core/onboarding/exercises/README.md +120 -0
  384. package/.koolie/core/pilot/METRICS.md +59 -0
  385. package/.koolie/core/pilot/PILOT_CONCEPT.md +42 -0
  386. package/.koolie/core/prompts/01-understand-codebase.md +99 -0
  387. package/.koolie/core/prompts/02-impact-analysis.md +104 -0
  388. package/.koolie/core/prompts/03-implementation-planning.md +102 -0
  389. package/.koolie/core/prompts/04-code-generation.md +100 -0
  390. package/.koolie/core/prompts/05-test-generation.md +103 -0
  391. package/.koolie/core/prompts/06-refactoring.md +102 -0
  392. package/.koolie/core/prompts/07-debugging.md +97 -0
  393. package/.koolie/core/prompts/08-security-review.md +92 -0
  394. package/.koolie/core/prompts/09-performance-analysis.md +89 -0
  395. package/.koolie/core/prompts/10-documentation.md +91 -0
  396. package/.koolie/core/prompts/11-merge-request-review.md +94 -0
  397. package/.koolie/core/prompts/12-developer-training.md +90 -0
  398. package/.koolie/core/prompts/README.md +88 -0
  399. package/.koolie/core/templates/MR_AI_DISCLOSURE.md +37 -0
  400. package/.koolie/core/templates/PLAN_TEMPLATE.md +57 -0
  401. package/.koolie/core/templates/SKILL_TEMPLATE.md +159 -0
  402. package/.koolie/core/templates/project-overlay/OVERLAY.md +315 -0
  403. package/.koolie/core/templates/project-overlay/documents/README.md +43 -0
  404. package/.koolie/core/templates/project-overlay/documents/ai-governance/.gitkeep.md +3 -0
  405. package/.koolie/core/templates/project-overlay/documents/ai-process-model/.gitkeep.md +3 -0
  406. package/.koolie/core/templates/project-overlay/documents/architecture/.gitkeep.md +3 -0
  407. package/.koolie/core/templates/project-overlay/documents/architecture/decisions/README.md +3 -0
  408. package/.koolie/core/templates/project-overlay/documents/branching-strategy/.gitkeep.md +3 -0
  409. package/.koolie/core/templates/project-overlay/documents/coding-guidelines/.gitkeep.md +3 -0
  410. package/.koolie/core/templates/project-overlay/documents/definition-of-done/.gitkeep.md +3 -0
  411. package/.koolie/core/templates/project-overlay/documents/definition-of-ready/.gitkeep.md +3 -0
  412. package/.koolie/core/templates/project-overlay/documents/deployment/.gitkeep.md +3 -0
  413. package/.koolie/core/templates/project-overlay/documents/glossary/.gitkeep.md +3 -0
  414. package/.koolie/core/templates/project-overlay/documents/quality/.gitkeep.md +3 -0
  415. package/.koolie/core/templates/project-overlay/documents/roadmap/.gitkeep.md +3 -0
  416. package/.koolie/core/templates/project-overlay/documents/roles/.gitkeep.md +3 -0
  417. package/.koolie/core/templates/project-overlay/documents/security/.gitkeep.md +3 -0
  418. package/.koolie/core/templates/project-overlay/exceptions/EXCEPTIONS.md +9 -0
  419. package/.koolie/core/templates/project-overlay/forbidden-terms.txt +8 -0
  420. package/.koolie/core/templates/project-overlay/overlay-manifest.yaml +73 -0
  421. package/.koolie/core/templates/rules/21-overlay-TEMPLATE.md.template +28 -0
  422. package/.koolie/core/templates/rules/40-tech-TEMPLATE.md.template +33 -0
  423. package/.koolie/core/tests/EDGE_CASES.md +67 -0
  424. package/.koolie/core/tests/TEST_CATALOG.md +170 -0
  425. package/.koolie/core/tests/erhebungen/README.md +326 -0
  426. package/.koolie/core/tests/erhebungen/ablage.py +357 -0
  427. package/.koolie/core/tests/erhebungen/apparat/__init__.py +22 -0
  428. package/.koolie/core/tests/erhebungen/apparat/baum.py +214 -0
  429. package/.koolie/core/tests/erhebungen/apparat/belege.py +91 -0
  430. package/.koolie/core/tests/erhebungen/apparat/clients.py +321 -0
  431. package/.koolie/core/tests/erhebungen/apparat/freigabe.py +74 -0
  432. package/.koolie/core/tests/erhebungen/apparat/kontingent.py +64 -0
  433. package/.koolie/core/tests/erhebungen/apparat/laeufer.py +155 -0
  434. package/.koolie/core/tests/erhebungen/apparat/reihe.py +202 -0
  435. package/.koolie/core/tests/erhebungen/apparat/selbsttest.py +280 -0
  436. package/.koolie/core/tests/erhebungen/apparat/stand.py +30 -0
  437. package/.koolie/core/tests/erhebungen/apparat/vorpruefung.py +70 -0
  438. package/.koolie/core/tests/erhebungen/auswerten-b4.py +468 -0
  439. package/.koolie/core/tests/erhebungen/auswerten-b5.py +517 -0
  440. package/.koolie/core/tests/erhebungen/auswerten-dd.py +172 -0
  441. package/.koolie/core/tests/erhebungen/baeume-b4.py +334 -0
  442. package/.koolie/core/tests/erhebungen/baeume-b5.py +339 -0
  443. package/.koolie/core/tests/erhebungen/baeume_loeschen.py +138 -0
  444. package/.koolie/core/tests/erhebungen/cc-overlay-fuellen.py +277 -0
  445. package/.koolie/core/tests/erhebungen/dossier-b4.py +178 -0
  446. package/.koolie/core/tests/erhebungen/dossier-b5.py +202 -0
  447. package/.koolie/core/tests/erhebungen/historie-bauen-b4.py +642 -0
  448. package/.koolie/core/tests/erhebungen/k-bauen-b3.py +841 -0
  449. package/.koolie/core/tests/erhebungen/lauf-dd.py +146 -0
  450. package/.koolie/core/tests/erhebungen/lauf.py +114 -0
  451. package/.koolie/core/tests/erhebungen/mcp-waechter.py +278 -0
  452. package/.koolie/core/tests/erhebungen/messbaum-schnitt.py +256 -0
  453. package/.koolie/core/tests/erhebungen/messen.py +72 -0
  454. package/.koolie/core/tests/erhebungen/node-waechter.py +74 -0
  455. package/.koolie/core/tests/erhebungen/packaktivierung.py +403 -0
  456. package/.koolie/core/tests/erhebungen/prompts-schreiben-b4.py +210 -0
  457. package/.koolie/core/tests/erhebungen/prompts-schreiben-b5.py +251 -0
  458. package/.koolie/core/tests/erhebungen/reihe-b4.py +171 -0
  459. package/.koolie/core/tests/erhebungen/reihe-b5.py +172 -0
  460. package/.koolie/core/tests/erhebungen/stand-b4.py +135 -0
  461. package/.koolie/core/tests/erhebungen/stand-b5.py +137 -0
  462. package/.koolie/core/tests/erhebungen/trust-b4.py +56 -0
  463. package/.koolie/core/tests/erhebungen/trust-b5.py +56 -0
  464. package/.koolie/core/tests/erhebungen/turn2-schreiben-b4.py +105 -0
  465. package/.koolie/core/tests/erhebungen/umgebungen-bauen-b4.py +377 -0
  466. package/.koolie/core/tests/erhebungen/umgebungen-bauen-b5.py +363 -0
  467. package/.koolie/core/tests/erhebungen/zaehlen46.py +74 -0
  468. package/.koolie/core/tests/erhebungen/zustand-b4.py +82 -0
  469. package/.koolie/core/tests/erhebungen/zustand-b5.py +82 -0
  470. package/.koolie/core/tests/protocols/2026-09-10-AP2-claude-code-wirkungsnachweise.md +194 -0
  471. package/.koolie/core/tests/protocols/2026-09-10-AP2-claude-code.md +468 -0
  472. package/.koolie/core/tests/protocols/2026-09-10-CR-2026-020-akteursbezeichnung.md +99 -0
  473. package/.koolie/core/tests/protocols/2026-09-10-CR-2026-021-hook-interpreter.md +138 -0
  474. package/.koolie/core/tests/protocols/2026-09-10-CR-2026-022-artefaktversionen.md +87 -0
  475. package/.koolie/core/tests/protocols/2026-09-10-CR-2026-023-shell-lesesperre.md +135 -0
  476. package/.koolie/core/tests/protocols/2026-09-10-CR-2026-024-clientbindungen.md +98 -0
  477. package/.koolie/core/tests/protocols/2026-09-10-FW-DS-03.md +90 -0
  478. package/.koolie/core/tests/protocols/2026-09-10-FW-KO-01.md +105 -0
  479. package/.koolie/core/tests/protocols/2026-09-10-FW-KO-02.md +123 -0
  480. package/.koolie/core/tests/protocols/2026-09-10-FW-KO-04.md +73 -0
  481. package/.koolie/core/tests/protocols/2026-09-10-FW-RE-02.md +99 -0
  482. package/.koolie/core/tests/protocols/2026-09-10-FW-VN-01-wiederholung.md +108 -0
  483. package/.koolie/core/tests/protocols/2026-09-10-FW-VN-01.md +249 -0
  484. package/.koolie/core/tests/protocols/2026-09-10-FW-ZA-05.md +99 -0
  485. package/.koolie/core/tests/protocols/2026-09-11-AP2-devin-desktop.md +257 -0
  486. package/.koolie/core/tests/protocols/2026-09-11-CR-2026-026-fail-closed.md +113 -0
  487. package/.koolie/core/tests/protocols/2026-09-11-erhebungen-K21-K26.md +243 -0
  488. package/.koolie/core/tests/protocols/2026-09-11-wirkungsnachweise-0.26.0.md +101 -0
  489. package/.koolie/core/tests/protocols/2026-09-12-B01-allowed-tools.md +152 -0
  490. package/.koolie/core/tests/protocols/2026-09-12-B04-B05-gegenpruefung.md +204 -0
  491. package/.koolie/core/tests/protocols/2026-09-12-erhebungen-K28-S5-B9-bypass.md +268 -0
  492. package/.koolie/core/tests/protocols/2026-09-12-mehrprojekt-arbeitsbereich.md +154 -0
  493. package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.26.1.md +126 -0
  494. package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.27.0.md +114 -0
  495. package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.28.0.md +129 -0
  496. package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.29.0.md +121 -0
  497. package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.30.0.md +112 -0
  498. package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.31.0.md +107 -0
  499. package/.koolie/core/tests/protocols/2026-09-13-B06-gegenpruefung.md +370 -0
  500. package/.koolie/core/tests/protocols/2026-09-13-B07-B09-gegenpruefung.md +211 -0
  501. package/.koolie/core/tests/protocols/2026-09-13-B08-B11-gegenpruefung.md +179 -0
  502. package/.koolie/core/tests/protocols/2026-09-13-erhebung-disallowed-tools.md +147 -0
  503. package/.koolie/core/tests/protocols/2026-09-13-erhebung-unteragent-tiefe.md +139 -0
  504. package/.koolie/core/tests/protocols/2026-09-13-erhebung-unteragent.md +214 -0
  505. package/.koolie/core/tests/protocols/2026-09-13-gegenpruefung-berechtigungsdatei.md +253 -0
  506. package/.koolie/core/tests/protocols/2026-09-13-gegenpruefung-stumme-brueche.md +202 -0
  507. package/.koolie/core/tests/protocols/2026-09-13-gegenpruefung-werkzeugabbildung.md +219 -0
  508. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.32.0.md +133 -0
  509. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.33.0.md +169 -0
  510. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.34.0.md +187 -0
  511. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.35.0.md +187 -0
  512. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.36.0.md +137 -0
  513. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.37.0.md +112 -0
  514. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.38.0.md +154 -0
  515. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.39.0.md +188 -0
  516. package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.40.0.md +214 -0
  517. package/.koolie/core/tests/protocols/2026-09-14-erhebung-devin-werkzeuge.md +267 -0
  518. package/.koolie/core/tests/protocols/2026-09-14-erhebung-skillaufruf.md +238 -0
  519. package/.koolie/core/tests/protocols/2026-09-14-gegenpruefung-pruefregister.md +156 -0
  520. package/.koolie/core/tests/protocols/2026-09-14-gegenpruefung-schlitzdeckung.md +206 -0
  521. package/.koolie/core/tests/protocols/2026-09-14-gegenpruefung-skillwahl.md +127 -0
  522. package/.koolie/core/tests/protocols/2026-09-14-migrationslauf-pilot.md +134 -0
  523. package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.41.0.md +175 -0
  524. package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.42.0.md +180 -0
  525. package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.43.0.md +165 -0
  526. package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.44.0.md +130 -0
  527. package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-d11-zaehlregeln.md +311 -0
  528. package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-modulstatus.md +524 -0
  529. package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-nicht-skill-traeger.md +225 -0
  530. package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-restliche-nicht-skill-traeger.md +345 -0
  531. package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-strukturentscheidungen.md +392 -0
  532. package/.koolie/core/tests/protocols/2026-09-15-herrichtung-uebungsrepositorium.md +213 -0
  533. package/.koolie/core/tests/protocols/2026-09-15-migrationslauf-pilot-0.46.0.md +143 -0
  534. package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.45.0.md +127 -0
  535. package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.46.0.md +193 -0
  536. package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.47.0.md +149 -0
  537. package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.49.0.md +202 -0
  538. package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.50.0.md +183 -0
  539. package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.51.0.md +202 -0
  540. package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.52.0.md +168 -0
  541. package/.koolie/core/tests/protocols/2026-09-16-AP2-zielversion-devin-desktop.md +231 -0
  542. package/.koolie/core/tests/protocols/2026-09-16-wirkungsnachweise-0.53.0.md +350 -0
  543. package/.koolie/core/tests/protocols/2026-09-17-nachtrag-migrationshinweis-0.54.1.md +121 -0
  544. package/.koolie/core/tests/protocols/2026-09-17-sitzungstest-pi-ds.md +523 -0
  545. package/.koolie/core/tests/protocols/2026-09-17-sitzungstest-schranken.md +433 -0
  546. package/.koolie/core/tests/protocols/2026-09-17-wirkungsnachweise-0.54.0.md +159 -0
  547. package/.koolie/core/tests/protocols/2026-09-18-FW-AK-01.md +442 -0
  548. package/.koolie/core/tests/protocols/2026-09-18-FW-KO-05.md +231 -0
  549. package/.koolie/core/tests/protocols/2026-09-18-herrichtung-uebungsrepositorium.md +273 -0
  550. package/.koolie/core/tests/protocols/2026-09-18-nachtrag-preis-umbenennung-0.56.1.md +102 -0
  551. package/.koolie/core/tests/protocols/2026-09-18-sitzungstest-5.md +349 -0
  552. package/.koolie/core/tests/protocols/2026-09-18-sitzungstest-ne-sc.md +430 -0
  553. package/.koolie/core/tests/protocols/2026-09-18-sitzungstest-pi-ds-2.md +499 -0
  554. package/.koolie/core/tests/protocols/2026-09-18-vorbedingungen-sitzungstest-5-zweiter-durchgang.md +170 -0
  555. package/.koolie/core/tests/protocols/2026-09-18-vorbedingungen-testblaetter.md +184 -0
  556. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.55.0.md +202 -0
  557. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.56.0.md +135 -0
  558. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.56.2.md +154 -0
  559. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.57.0.md +228 -0
  560. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.57.1.md +262 -0
  561. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.58.0.md +135 -0
  562. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.59.0.md +150 -0
  563. package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.60.0.md +340 -0
  564. package/.koolie/core/tests/protocols/2026-09-19-herrichtung-buendel-4.md +235 -0
  565. package/.koolie/core/tests/protocols/2026-09-19-k77-zurechenbarkeit.md +236 -0
  566. package/.koolie/core/tests/protocols/2026-09-19-pruefapparat-filter.md +50 -0
  567. package/.koolie/core/tests/protocols/2026-09-19-pruefmittelwort-und-buendelschnitt.md +239 -0
  568. package/.koolie/core/tests/protocols/2026-09-19-sechzehnte-praeparation.md +135 -0
  569. package/.koolie/core/tests/protocols/2026-09-19-testblaetter-buendel-1.md +250 -0
  570. package/.koolie/core/tests/protocols/2026-09-19-testblaetter-buendel-2.md +229 -0
  571. package/.koolie/core/tests/protocols/2026-09-19-testblaetter-buendel-3.md +293 -0
  572. package/.koolie/core/tests/protocols/2026-09-19-vorbedingungen-buendel-2.md +236 -0
  573. package/.koolie/core/tests/protocols/2026-09-19-vorbedingungen-buendel-3.md +253 -0
  574. package/.koolie/core/tests/protocols/2026-09-19-vorbedingungen-buendel-4.md +138 -0
  575. package/.koolie/core/tests/protocols/2026-09-20-messapparat-buendel-4.md +433 -0
  576. package/.koolie/core/tests/protocols/2026-09-20-testblaetter-buendel-4.md +321 -0
  577. package/.koolie/core/tests/protocols/2026-09-20-uebergabe-im-release-commit.md +146 -0
  578. package/.koolie/core/tests/protocols/2026-09-20-vorbedingungen-nachlauf-b4.md +259 -0
  579. package/.koolie/core/tests/protocols/2026-09-21-arbeitsplatz-im-kern.md +127 -0
  580. package/.koolie/core/tests/protocols/2026-09-21-nachlauf-buendel-4.md +157 -0
  581. package/.koolie/core/tests/protocols/2026-09-21-vorbedingungen-buendel-5.md +247 -0
  582. package/.koolie/core/tests/protocols/2026-09-21-wiederaufnahme-nachlauf-b4.md +190 -0
  583. package/.koolie/core/tests/protocols/2026-09-22-ap2-rest-devin-desktop.md +614 -0
  584. package/.koolie/core/tests/protocols/2026-09-22-hauptdokument-ap11.md +443 -0
  585. package/.koolie/core/tests/protocols/2026-09-22-herrichtung-buendel-5.md +224 -0
  586. package/.koolie/core/tests/protocols/2026-09-22-messtag-buendel-5.md +327 -0
  587. package/.koolie/core/tests/protocols/2026-09-22-quellenzuordnung-matrixzeilen.md +230 -0
  588. package/.koolie/core/tests/protocols/2026-09-22-sammelzellen-zentraler-katalog.md +354 -0
  589. package/.koolie/core/tests/protocols/2026-09-22-umbenennung-koolie.md +296 -0
  590. package/.koolie/core/tests/protocols/2026-09-22-verify-marker-abschaffen.md +283 -0
  591. package/.koolie/core/tests/protocols/2026-09-22-vortrag-und-name.md +261 -0
  592. package/.koolie/core/tests/protocols/2026-09-22-wirkungsnachweise-0.86.0.md +158 -0
  593. package/.koolie/core/tests/protocols/2026-09-23-archiv-zeilenenden.md +113 -0
  594. package/.koolie/core/tests/protocols/2026-09-23-bau-openai-codex.md +168 -0
  595. package/.koolie/core/tests/protocols/2026-09-23-chronik-und-vorlage.md +224 -0
  596. package/.koolie/core/tests/protocols/2026-09-23-erhebung-openai-codex.md +309 -0
  597. package/.koolie/core/tests/protocols/2026-09-23-freigabelauf-1.0.0-vorbereitung.md +119 -0
  598. package/.koolie/core/tests/protocols/2026-09-23-freigabelauf-1.0.0.md +150 -0
  599. package/.koolie/core/tests/protocols/2026-09-23-gegenzeichnung-rollenfrage.md +198 -0
  600. package/.koolie/core/tests/protocols/2026-09-23-reihenfolge-des-hebens.md +220 -0
  601. package/.koolie/core/tests/protocols/2026-09-23-word-fassung-und-blinder-fleck.md +307 -0
  602. package/.koolie/core/tests/protocols/2026-09-24-kopierweg-kern.md +98 -0
  603. package/.koolie/core/tests/protocols/2026-09-24-overlay-werte-einordnung.md +111 -0
  604. package/.koolie/core/tests/protocols/2026-09-24-pfadlisten-nul-getrennt.md +128 -0
  605. package/.koolie/core/tests/protocols/2026-09-24-uebergabe-lokal.md +85 -0
  606. package/.koolie/core/tests/protocols/2026-09-25-code-pack-posten.md +86 -0
  607. package/.koolie/core/tests/protocols/2026-09-25-dokumentationsstandard.md +101 -0
  608. package/.koolie/core/tests/protocols/2026-09-25-installer-je-zielsystem.md +134 -0
  609. package/.koolie/core/tests/protocols/2026-09-25-klasse-b-core-laufzeit.md +126 -0
  610. package/.koolie/core/tests/protocols/2026-09-25-klasse-b-governance.md +133 -0
  611. package/.koolie/core/tests/protocols/2026-09-25-klasse-b-skills.md +91 -0
  612. package/.koolie/core/tests/protocols/2026-09-25-lieferumfang.md +76 -0
  613. package/.koolie/core/tests/protocols/2026-09-25-overlay-muster-dokumente.md +107 -0
  614. package/.koolie/core/tests/protocols/2026-09-25-overlay-muster-general.md +100 -0
  615. package/.koolie/core/tests/protocols/2026-09-25-regel-register-posten.md +87 -0
  616. package/.koolie/core/tests/protocols/2026-09-26-attributionszeile.md +83 -0
  617. package/.koolie/core/tests/protocols/2026-09-26-auffindbarkeit.md +85 -0
  618. package/.koolie/core/tests/protocols/2026-09-26-bau-cursor.md +68 -0
  619. package/.koolie/core/tests/protocols/2026-09-26-bau-kiro.md +75 -0
  620. package/.koolie/core/tests/protocols/2026-09-26-mehrprojekt-tokenlast.md +174 -0
  621. package/.koolie/core/tests/protocols/2026-09-26-regelablage-pfadtoken.md +133 -0
  622. package/.koolie/core/tests/protocols/2026-09-26-skill-anweisungen.md +111 -0
  623. package/.koolie/core/tests/protocols/2026-09-26-testblaetter-modellwechsel.md +106 -0
  624. package/.koolie/core/tests/protocols/2026-09-27-mandat-und-reibung.md +58 -0
  625. package/.koolie/core/tests/protocols/2026-09-28-mcp-anbindung.md +72 -0
  626. package/.koolie/core/tests/protocols/2026-09-29-messapparat.md +75 -0
  627. package/.koolie/core/tests/protocols/2026-09-29-powershell.md +58 -0
  628. package/.koolie/core/tests/protocols/2026-09-29-pruefwerkzeuge.md +64 -0
  629. package/.koolie/core/tests/protocols/2026-09-29-registerpflege.md +228 -0
  630. package/.koolie/core/tests/protocols/2026-09-29-schutzschicht.md +95 -0
  631. package/.koolie/core/tests/protocols/2026-09-30-einsatzarchitektur.md +104 -0
  632. package/.koolie/core/tests/protocols/2026-09-30-modi-ausnahmen.md +77 -0
  633. package/.koolie/core/tests/protocols/2026-09-30-nachlauf-banner.md +85 -0
  634. package/.koolie/core/tests/protocols/2026-09-30-paketquellen.md +65 -0
  635. package/.koolie/core/tests/protocols/2026-09-30-pfadsemantik.md +79 -0
  636. package/.koolie/core/tests/protocols/2026-10-01-auftritt-und-suche.md +58 -0
  637. package/.koolie/core/tests/protocols/2026-10-01-befehl-im-projektverzeichnis.md +47 -0
  638. package/.koolie/core/tests/protocols/2026-10-01-erste-veroeffentlichung.md +60 -0
  639. package/.koolie/core/tests/protocols/2026-10-01-modusbindung-messfragen.md +107 -0
  640. package/.koolie/core/tests/protocols/README.md +14 -0
  641. package/.koolie/core/tests/scripts/hook-check-secrets.py +1307 -0
  642. package/.koolie/core/tests/scripts/hook-overlay-status.py +120 -0
  643. package/.koolie/core/tests/scripts/mermaid_renderer.py +67 -0
  644. package/.koolie/core/tests/scripts/overlay_status.py +130 -0
  645. package/.koolie/core/tests/scripts/probe-pruefungen.py +110 -0
  646. package/.koolie/core/tests/scripts/pruefungen/__init__.py +4 -0
  647. package/.koolie/core/tests/scripts/pruefungen/berechtigungen.py +1559 -0
  648. package/.koolie/core/tests/scripts/pruefungen/bestand.py +1433 -0
  649. package/.koolie/core/tests/scripts/pruefungen/dokumente.py +1262 -0
  650. package/.koolie/core/tests/scripts/pruefungen/gemeinsam.py +784 -0
  651. package/.koolie/core/tests/scripts/pruefungen/hooks.py +1188 -0
  652. package/.koolie/core/tests/scripts/pruefungen/overlay.py +1251 -0
  653. package/.koolie/core/tests/scripts/pruefungen/packs.py +1314 -0
  654. package/.koolie/core/tests/scripts/pruefungen/register.py +950 -0
  655. package/.koolie/core/tests/scripts/pruefungen/testkatalog.py +1202 -0
  656. package/.koolie/core/tests/scripts/pruefungen/werkzeuge.py +957 -0
  657. package/.koolie/core/tests/scripts/sonden/__init__.py +4 -0
  658. package/.koolie/core/tests/scripts/sonden/apparat.py +653 -0
  659. package/.koolie/core/tests/scripts/sonden/teil01_grundbestand_und_installation.py +999 -0
  660. package/.koolie/core/tests/scripts/sonden/teil02_packs_mandat_mcp.py +942 -0
  661. package/.koolie/core/tests/scripts/sonden/teil03_pruefungen_26_bis_36.py +1184 -0
  662. package/.koolie/core/tests/scripts/sonden/teil04_pruefungen_37_bis_45.py +1491 -0
  663. package/.koolie/core/tests/scripts/sonden/teil05_pruefungen_46_bis_55.py +1447 -0
  664. package/.koolie/core/tests/scripts/sonden/teil06_pruefungen_57_bis_65.py +739 -0
  665. package/.koolie/core/tests/scripts/sonden/teil07_overlay_und_lieferung.py +1014 -0
  666. package/.koolie/core/tests/scripts/sonden/teil08_pruefungen_66_bis_80.py +1325 -0
  667. package/.koolie/core/tests/scripts/sonden/teil09_pruefmittel_81_und_82.py +505 -0
  668. package/.koolie/core/tests/scripts/sonden/teil10_pruefungen_83_bis_95.py +1218 -0
  669. package/.koolie/core/tests/scripts/sonden/teil11_pruefungen_104_und_105.py +149 -0
  670. package/.koolie/core/tests/scripts/sonden/teil12_pruefungen_106_und_107.py +136 -0
  671. package/.koolie/core/tests/scripts/sonden/teil13_pfad_und_mustersemantik.py +150 -0
  672. package/.koolie/core/tests/scripts/sonden/teil14_modi_ausnahmen_skills.py +204 -0
  673. package/.koolie/core/tests/scripts/sonden/teil15_banner_und_nachlauf.py +193 -0
  674. package/.koolie/core/tests/scripts/sonden/teil16_koexistenz.py +114 -0
  675. package/.koolie/core/tests/scripts/sonden/teil17_paketquellen.py +115 -0
  676. package/.koolie/core/tests/scripts/sonden/teil18_modusbindung_m3_m5.py +113 -0
  677. package/.koolie/core/tests/scripts/validate-framework.py +1104 -0
  678. package/.koolie/core/tests/scripts/validate-output.py +296 -0
  679. package/.koolie/core/wirksamkeit.py +430 -0
  680. package/CONTRIBUTING.md +119 -0
  681. package/LICENSE +674 -0
  682. package/QUICKSTART.en.md +135 -0
  683. package/QUICKSTART.md +129 -0
  684. package/README.en.md +108 -0
  685. package/README.md +107 -0
  686. package/install.cmd +44 -0
  687. package/install.command +46 -0
  688. package/package.json +21 -0
  689. package/paketquellen/README.md +41 -0
  690. package/paketquellen/bauen.py +411 -0
  691. package/paketquellen/koolie.cmd +23 -0
  692. package/paketquellen/koolie_befehl.py +82 -0
  693. package/paketquellen/npm/koolie.js +26 -0
@@ -0,0 +1,77 @@
1
+ # Änderungsantrag `CR-2026-009`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Das Framework heißt Leitwerk; das Kernverzeichnis heißt `leitwerk-core/` |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-10 |
8
+ | Betroffene Artefakte | Verzeichnis `devin-core-framework/` → `leitwerk-core/`; 182 Dateien mit Pfad- oder Namensnennungen; `README.md`, `build/doc/00-kopf.md`, `build/build-docx.py`, `install.py`, `.gitignore`, `governance/RELEASE_PROCESS.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Core (Struktur) |
10
+ | Art | Änderung |
11
+ | Dringlichkeit | regulär (Review-Zyklus); vor 1.0.0 durchzuführen |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Seit `CR-2026-005` ist der Kern inhaltlich werkzeugneutral: Er bezeichnet die Bestandteile der Laufzeitschicht mit Begriffen statt mit Pfaden, und die Abbildung auf einen konkreten Client leistet ein Client Pack. Seit `CR-2026-008` gilt das auch für die Berechtigungs- und Hook-Regeln.
16
+
17
+ Der **Name** ist dieser Entwicklung nicht gefolgt. Er trug den Produktnamen eines einzelnen Clients an drei Stellen:
18
+
19
+ | Stelle | Bisher | Vorkommen |
20
+ |---|---|---|
21
+ | Kernverzeichnis | `devin-core-framework/` | 994 |
22
+ | Repository und Projektverzeichnis | `devin-desktop-framework` | – |
23
+ | Eigenname in Prosa und Erzeugnissen | „Devin Desktop Framework" | 6 |
24
+
25
+ Das ist mehr als eine Schönheitsfrage. Ein Projekt, das `claude-code` installiert, liest durchgehend einen Pfad, der den Namen eines Werkzeugs nennt, das dort nicht im Einsatz ist – und dieselbe Beobachtung hatte bereits `CR-2026-005` ausgelöst. Die Roadmap führte die Umbenennung deshalb seit 0.5.0 als P3.
26
+
27
+ ## 2. Vorgeschlagene Änderung
28
+
29
+ **Der Name ist `Leitwerk`.** Ein Leitwerk fliegt das Flugzeug nicht – es hält es stabil und auf Kurs. Das trifft die Selbstbeschreibung des Frameworks genauer als ein Regelbegriff: Es schreibt nicht vor, wie Software entsteht, sondern hält den Prozess in einer Spur, die prüfbar, nachvollziehbar und übertragbar bleibt. Der Name ist zudem herstellerneutral, kurz und im Repository eindeutig.
30
+
31
+ | Ebene | Neu |
32
+ |---|---|
33
+ | Kernverzeichnis | `leitwerk-core/` |
34
+ | Repository und Projektverzeichnis | `leitwerk` |
35
+ | Eigenname | Leitwerk |
36
+ | Titel des Hauptdokuments | „Leitwerk – Framework für den professionellen Einsatz von KI-Codierassistenten in Softwareentwicklungsteams" |
37
+
38
+ **Nicht betroffen** und ausdrücklich unverändert: das Client Pack `devin-desktop` (59 Nennungen), die Laufzeitschicht `.devin/` (250 Nennungen) und alle Produktnennungen „Devin Desktop", „Devin Local", „Devin Cloud" dort, wo tatsächlich der Client gemeint ist. Sie benennen einen realen Client korrekt.
39
+
40
+ **Ein Nebeneffekt, der zur Sache gehört:** Der längste relative Pfad sinkt von 110 auf 103 Zeichen. Unter `MAX_PATH` (260) bleiben damit rund 156 statt 149 Zeichen für den Projektpfad – die Einschränkung, die `CR-2026-003` bei einer Testinstallation unter Windows zum Scheitern gebracht hatte.
41
+
42
+ **Klarstellung im Release-Prozess.** Die Umbenennung ist eine brechende Änderung; `RELEASE_PROCESS.md` Punkt 1 verlangt dafür ein MAJOR-Release. Das ist hier nicht möglich, ohne Schaden anzurichten: `1.0.0` ist durch D-11 an fünf prüfbare Kriterien gebunden, von denen keines erfüllt ist. Eine Hauptversion für eine Verzeichnisumbenennung zu verbrauchen, würde diese Kriterien behaupten und das Release-Gate `FW-CL-11` entwerten. Semantic Versioning stellt `0.y.z` ausdrücklich für die Entwicklungsphase frei; der Punkt wird entsprechend ergänzt, damit die Regel nicht künftig erneut kollidiert. Ziel-Release ist **0.7.0** mit Migrationsabschnitt.
43
+
44
+ ## 3. Prüffragen (durch Owner auszufüllen)
45
+
46
+ - [x] Richtige Ebene nach Entscheidungsbaum 6? — Ja, Core (Struktur). Keine Regel ändert sich inhaltlich.
47
+ - [x] Verschärfungsprinzip eingehalten? — Nicht berührt. Die Regelmenge ist identisch; **nachgewiesen**: Die aus dem Kern erzeugten Kernregeln unterscheiden sich ausschließlich in dem einen Pfadbestandteil, der umbenannt wurde (`Write(leitwerk-core/framework/**)` statt `Write(devin-core-framework/framework/**)`), und dieser Wert stammt aus dem Platzhalter `<CORE_DIR>`, nicht aus einer bearbeiteten Zeile.
48
+ - [x] Widerspruchsfreiheit geprüft? — `FW-KO-04` ist die dafür gebaute Prüfung und meldet gegen beide Installationen **0 Fehler**. Genau diese Absicherung war der Grund, die Umbenennung nicht vor 0.5.0 zu versuchen.
49
+ - [x] Laufzeitfassungen betroffen? — Nur über den Pfad. Installationsumfang unverändert: 80 / 79 Dateien. Die erzeugten Berechtigungs- und Hookdateien tragen den neuen Kernpfad, **ohne dass ein Manifest angefasst wurde** – `<CORE_DIR>` aus `CR-2026-008` hat sich hier zum ersten Mal bewährt.
50
+ - [x] Belegstatus korrekt? — Unverändert. Kein VERIFY-Marker wird berührt.
51
+ - [x] Test- und Validierungsbedarf? — Siehe Abschnitt 5.
52
+ - [x] Auswirkungen auf Overlays und laufende Onboardings? — **Ja, hier liegt der Aufwand.** Ein bestehendes Projekt muss das Verzeichnis umbenennen und die Nennungen in seiner Berechtigungsdatei und seinen Overlay-Dokumenten nachziehen. Der Weg ist durchgespielt und im Änderungsverzeichnis als Migrationsabschnitt dokumentiert.
53
+ - [x] Dokumentation? — CHANGELOG, Decision Log, `README.md`, Titelblatt des Hauptdokuments, `RELEASE_PROCESS.md`.
54
+
55
+ ## 4. Entscheidung
56
+
57
+ | Feld | Inhalt |
58
+ |---|---|
59
+ | Entscheidung | angenommen |
60
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
61
+ | Begründung | Der Kern ist seit 0.5.0 werkzeugneutral, sein Name war es nicht. Die Umbenennung ist ein Breaking Change und gehört deshalb vor 1.0.0 – abgesichert durch `FW-KO-04`, das eine solche Änderung nachweislich vollständig erfasst. |
62
+ | Ziel-Release | 0.7.0 |
63
+ | Decision-Log-Eintrag | D-19 |
64
+
65
+ ## 5. Umsetzung (nach Annahme)
66
+
67
+ - [x] Verzeichnis umbenannt; 994 Pfadnennungen und 6 Namensnennungen in 182 Dateien ersetzt
68
+ - [x] `README.md` und Titelblatt des Hauptdokuments auf den neuen Namen und die Mehrclient-Sicht gebracht
69
+ - [x] `.gitignore`: veralteten Verweis auf `root-template/` im Wurzelverzeichnis korrigiert (liegt seit 0.5.0 je Client Pack)
70
+ - [x] `RELEASE_PROCESS.md` Punkt 1 um die `0.y.z`-Klarstellung ergänzt
71
+ - [x] **`FW-KO-04` gegen beide Installationen: 0 Fehler.** Kein toter Verweis, keine übersehene Nennung; `git grep` nach den drei alten Namensformen ist leer
72
+ - [x] Erstinstallation beider Packs: 80 / 79 Dateien wie zuvor; `--check` fehlerfrei; Dateiliste gegen eine Referenzinstallation abgeglichen und deckungsgleich
73
+ - [x] Erzeugte Artefakte tragen den neuen Kernpfad automatisch: `Write(leitwerk-core/framework/**)` in den Kernregeln beider Packs, `$DEVIN_PROJECT_DIR/leitwerk-core/...` im Hook-Befehl
74
+ - [x] Dokumentbau intakt: alle Einbettungspfade auflösbar, 8.559 Zeilen erzeugt
75
+ - [x] **Migration durchgespielt** an einem Projekt auf Stand 0.6.0 mit eigenen Werten in der Berechtigungsdatei: Nach Umbenennung und `--update` meldet der Validator genau zwei Fehler und benennt die betroffene Kernregel; nach dem Ersetzen der fünf Nennungen 0 Fehler, die Projektwerte unverändert erhalten
76
+ - [ ] **Außerhalb des Repositorys, durch den Owner:** Git-Repository umbenennen, Remote-URL der Arbeitskopien nachziehen, lokales Projektverzeichnis umbenennen
77
+ - [ ] **Folgearbeit:** Der Fließtext des Hauptdokuments (`build/doc/`, Kapitel 1 bis 32) steht weiterhin auf 0.1.0 und ist aus der Sicht eines einzelnen Clients geschrieben. Das Titelblatt weist diesen Stand jetzt ausdrücklich aus; die Einarbeitung ist eigene Arbeit
@@ -0,0 +1,73 @@
1
+ # Änderungsantrag `CR-2026-010`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Restduplikation: Overlay-Laufzeitregel, nutzerlokale Ergänzung und MCP-Vorlage in den Kern |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-10 |
8
+ | Betroffene Artefakte | neu: `framework/runtime/rules/20-project-overlay.md`, `framework/runtime/root-instruction-local.example.md`, `framework/runtime/mcp-config.example.json`; entfallen: die sechs entsprechenden Dateien in den beiden Client Packs; geändert: `clients/*/manifest.json`, `install.py`, `clients/README.md`, beide `CLIENT_PACK.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Core (Struktur) |
10
+ | Art | Änderung |
11
+ | Dringlichkeit | regulär (Review-Zyklus) |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Nach `CR-2026-008` bestand ein Client Pack aus sieben Dateien. Eine Messung der verbliebenen Ähnlichkeit – nach Normalisierung der Client- und Pfadnamen – ergab:
16
+
17
+ | Dateipaar | Zeilen | abweichend | Befund |
18
+ |---|---|---|---|
19
+ | `20-project-overlay.md` | 119 | 11 | 91 Prozent identisch |
20
+ | `*.local.md.example` | 38 | 8 | 79 Prozent identisch |
21
+ | MCP-Vorlage | 8 | 2 | bis auf zwei Zeilen identisch |
22
+ | Laufzeit-`README.md` | 86 | 64 | **zu Recht getrennt** |
23
+
24
+ Die ersten drei sind derselbe Fall wie in `CR-2026-007`: Der Inhalt gehört dem Framework, nur Pfad- und Namensnennungen hängen vom Client ab. Die vierte Zeile ist die Gegenprobe – die beiden Laufzeit-READMEs beschreiben tatsächlich verschiedene Mechanismen und bleiben, wo sie sind.
25
+
26
+ Bemerkenswert an der Untersuchung: **Jede der elf abweichenden Zeilen der Overlay-Regel und jede der acht der nutzerlokalen Ergänzung enthielt ausschließlich Werte, für die bereits ein Laufzeit-Platzhalter registriert ist** (`<RUNTIME_DIR>`, `<ROOT_INSTRUCTION_FILE>`, `<ROOT_INSTRUCTION_LOCAL>`, `<MCP_FILE>`). Es war also keine Abbildung zu erfinden, sondern nur eine bereits vorhandene anzuwenden.
27
+
28
+ ## 2. Vorgeschlagene Änderung
29
+
30
+ **Drei Quellen im Kern**, alle über die vorhandenen Mechanismen aus `CR-2026-007` installiert:
31
+
32
+ | Quelle | Ziel | Art | Transformation |
33
+ |---|---|---|---|
34
+ | `framework/runtime/rules/20-project-overlay.md` | `<RULES_DIR>/20-project-overlay.md` | Saat | `render_rule` + Platzhalter |
35
+ | `framework/runtime/root-instruction-local.example.md` | `<ROOT_INSTRUCTION_LOCAL>.example` | Core | nur Platzhalter |
36
+ | `framework/runtime/mcp-config.example.json` | `<MCP_FILE>.example` | Core | nur Platzhalter |
37
+
38
+ Kein neuer Mechanismus, kein neues Manifestfeld. Die Overlay-Regel liegt unter `framework/runtime/rules/` und wird dadurch von der Regeltransformation aus `CR-2026-007` erfasst, ohne dass `install.py` eine weitere Fallunterscheidung braucht. Dass sie – anders als ihre drei Nachbarn dort – **Saat** und nicht Core ist, entscheidet allein der Eintrag im Manifest (`shared_seed` statt `shared_core`); die Ablage trifft darüber keine Aussage.
39
+
40
+ **Ergebnis:** Ein Client Pack besteht aus vier Dateien: `CLIENT_PACK.md`, `manifest.json` und zwei Laufzeit-READMEs. `seed_paths` ist in beiden Manifesten leer – die gesamte Saat kommt jetzt aus dem Kern.
41
+
42
+ **Zwei Korrekturen an der MCP-Vorlage**, die durch die Zusammenführung nötig wurden und beide eine Ungenauigkeit beseitigen: „laut Devin-Dokumentation" wird zu „laut Dokumentation dieses Clients", und der Marker `<VERIFY AGAINST CURRENT DEVIN DOCUMENTATION>` zu seiner clientneutralen Form. In der Fassung des Packs `claude-code` standen beide bislang falsch – ein Rest aus der Konvertierung, der dort nie zutraf.
43
+
44
+ ## 3. Prüffragen (durch Owner auszufüllen)
45
+
46
+ - [x] Richtige Ebene nach Entscheidungsbaum 6? — Ja. Die Overlay-Laufzeitregel ist die Kurzfassung von Ebene 4 und damit Framework-Gut in der Form, Projekt-Gut im Inhalt – genau deshalb Saat. Die beiden Vorlagen sind Core.
47
+ - [x] Verschärfungsprinzip eingehalten? — Ja, und **nachgewiesen**: Fünf der sechs erzeugten Dateien sind gegenüber 0.7.0 zeichengleich. Die sechste – die Overlay-Regel des Packs `claude-code` – unterscheidet sich in drei Zeilen ihres erzeugten Kommentars; siehe Abschnitt 5.
48
+ - [x] Widerspruchsfreiheit geprüft? — `FW-KO-04` gegen beide Installationen: 0 Fehler.
49
+ - [x] Laufzeitfassungen betroffen? — Nur ihr Ursprung. Installationsumfang unverändert: 80 / 79 Dateien.
50
+ - [x] Belegstatus korrekt? — Der Belegstatus der MCP-Vorlage wird von einem client­spezifischen auf den clientneutralen Marker gehoben. Inhaltlich ist das keine Änderung des Nachweisstands, sondern die Korrektur einer falschen Zuordnung im Pack `claude-code`.
51
+ - [x] Test- und Validierungsbedarf? — Siehe Abschnitt 5.
52
+ - [x] Auswirkungen auf Overlays und laufende Onboardings? — Keine. Die beiden Vorlagen sind Core und werden von `--update` erneuert; die Overlay-Regel ist Saat und wird nie überschrieben. Ein bestehendes Projekt behält seine ausgefüllte Fassung unverändert.
53
+ - [x] Dokumentation? — CHANGELOG, Decision Log, `clients/README.md`, beide `CLIENT_PACK.md`.
54
+
55
+ ## 4. Entscheidung
56
+
57
+ | Feld | Inhalt |
58
+ |---|---|
59
+ | Entscheidung | angenommen |
60
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
61
+ | Begründung | Die Zusammenführung braucht keinen neuen Mechanismus – die Abbildung lag bereits vollständig als Laufzeit-Platzhalter vor. Ein Client Pack enthält damit ausschließlich, was zwei Clients tatsächlich unterscheidet: die Pfadabbildung, die Semantikabbildung, die Fähigkeitsmatrix und zwei erklärende READMEs. |
62
+ | Ziel-Release | 0.8.0 |
63
+ | Decision-Log-Eintrag | D-20 |
64
+
65
+ ## 5. Umsetzung (nach Annahme)
66
+
67
+ - [x] Drei Quellen unter `framework/runtime/` angelegt, Client-Bindungen durch registrierte Platzhalter ersetzt
68
+ - [x] Manifeste: Einträge aus `core_paths` und `seed_paths` in `shared_core` beziehungsweise `shared_seed` überführt; `seed_paths` ist jetzt in beiden Packs leer
69
+ - [x] Sechs Dateien aus den Client Packs entfernt; ein Pack umfasst noch vier Dateien statt sieben
70
+ - [x] **Zeichenweiser Vergleich gegen 0.7.0:** `20-project-overlay.md` (`devin-desktop`), beide `*.local.md.example` und beide MCP-Vorlagen bis auf die zwei gewollten Wortkorrekturen identisch
71
+ - [x] Erstinstallation beider Packs: 80 / 79 Dateien wie zuvor; `--check` gegen beide fehlerfrei; Validator gegen beide Installationen und die Wurzelinstallation: 0 Fehler
72
+ - [x] **Befund und Korrektur an `render_rule`:** Die Formulierung des Ladeverhaltens war invertiert – ausgerechnet eine Regel mit `trigger: always_on` erhielt den Satz *ohne* das Wort „immer", während eine Regel mit `model_decision` ihn *mit* erhielt. Der Fehler war ohne Wirkung auf das Verhalten, aber irreführend: Er behauptete den schwächeren Ladezustand für die Regel, die tatsächlich ausnahmslos lädt. Beide Fälle sagen jetzt „immer geladen"; nur die Verschärfungsnotiz unterscheidet sie. Dadurch weicht die Overlay-Regel des Packs `claude-code` in drei Kommentarzeilen von ihrer 0.7.0-Fassung ab – sie liest sich jetzt wie ihre drei Nachbarregeln
73
+ - [ ] **Beobachtung ohne Handlungsbedarf:** `root-template/` enthält je Pack nur noch zwei READMEs. Die Ablage bleibt, weil ein künftiges Pack wieder eigene Wurzelartefakte mitbringen kann; `seed_paths` bleibt aus demselben Grund im Manifest, obwohl es derzeit überall leer ist
@@ -0,0 +1,72 @@
1
+ # Änderungsantrag `CR-2026-011`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Hauptdokument: reproduzierbarer Bau aus einer Referenzinstallation, Abbildungsschicht eingearbeitet |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-10 |
8
+ | Betroffene Artefakte | `build/assemble.py`; neu: `build/doc/07a-abbildungsschicht.md`; geändert: 20 Kapitelquellen, insbesondere `00`, `01`, `04`, `05`, `07`, `15`, `31`, `32` |
9
+ | Ebene laut Entscheidungsbaum 6 | Core (Dokumentation und Werkzeug) |
10
+ | Art | Änderung |
11
+ | Dringlichkeit | regulär (Review-Zyklus) |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Das Hauptdokument stand auf Framework-Release 0.1.0 und beschrieb ein Framework für genau einen KI-Client. Eine Auszählung der Kapitelquellen ergab drei Befunde, von denen nur der zweite erwartet war.
16
+
17
+ **Der Bau war nicht reproduzierbar.** 28 der 91 Einbettungen zeigten nicht auf den Kern, sondern auf die **installierte Laufzeitschicht dieses Repositorys** – Pfade, die in der `.gitignore` stehen. Der Bau gelang nur, weil zufällig eine `devin-desktop`-Installation im Arbeitsverzeichnis lag; in einem frischen Auscheckstand brach `assemble.py` ab. Das Dokument zeigte damit die Darstellung *eines* Clients, ohne das zu sagen, und niemand außerhalb dieses Arbeitsplatzes konnte es erzeugen.
18
+
19
+ **Die Prosa war ungleich veraltet.** 25 von 33 Kapiteln nannten einen einzelnen Client, aber fünf Kapitel trugen 110 der 173 Fundstellen. Die übrigen zwanzig hatten ein bis drei – meist „Devin“ als Synonym für „der Assistent“.
20
+
21
+ **Zwei Kapitel waren durch Repository-Artefakte überholt.** Kapitel 15 führte von Hand eine Tabelle der Client-Mechanismen mit Belegstatus – genau das, was seit 0.5.0 Pfadabbildung und Fähigkeitsmatrix eines Client Packs leisten. Kapitel 31 pflegte ein Inventar auf dem Stand von 0.2.0, das beschrieb, was das Dateisystem ohnehin weiß.
22
+
23
+ Nur rund ein Zehntel des Dokuments ist handgeschriebene Prosa: 843 Zeilen erzeugen 8.573 Zeilen Ergebnis. Der Umbau war deshalb kleiner als „32 Kapitel“ – und an anderer Stelle unangenehmer.
24
+
25
+ ## 2. Vorgeschlagene Änderung
26
+
27
+ **Eine Referenzinstallation als zweite Quelle.** `assemble.py` legt beim Bau eine frische Installation des gewählten Client Packs in einem temporären Verzeichnis an und liest die Laufzeitartefakte von dort. Ein Einbettungspfad mit **Laufzeit-Platzhalter** (`<RUNTIME_DIR>`, `<SKILLS_DIR>`, `<PERMISSIONS_FILE>`, …) meint die Laufzeitschicht; jeder andere Pfad meint das Repository. Die Regel ist am Pfad ablesbar und braucht keine zweite Angabe.
28
+
29
+ Die Alternative – die werkzeugneutralen Kernquellen einzubetten – wurde verworfen: Sie hätte gezeigt, was im Kern steht, nicht was ein Projekt vorfindet. Gerade bei der Berechtigungsdatei ist die gerenderte Form die Aussage.
30
+
31
+ **Herkunft an der Datei.** Jede aus der Installation gelesene Einbettung trägt die Angabe, aus welchem Client Pack sie stammt. Das gehört an die Datei und nicht in eine Fußnote, weil sie bei einem anderen Pack anders aussieht.
32
+
33
+ **`--client` als Schalter.** Das Dokument lässt sich für jedes Pack bauen. Zeigen zwei Platzhalter auf dieselbe Datei – bei einem Client ohne eigene Hook-Datei etwa `<HOOKS_FILE>` und `<PERMISSIONS_FILE>` –, bekommt die zweite Stelle einen Verweis statt eines zweiten Abdrucks.
34
+
35
+ **Ein neues Kapitel 7a „Client Packs: die Abbildungsschicht".** Der inhaltliche Kern der Releases 0.5.0 bis 0.8.0 kam im Dokument nicht vor. Das Kapitel bettet die Regeln der Schicht und die Fähigkeitsmatrix des zweiten Packs ein, statt sie abzuschreiben. Die Nummerierung bleibt stabil: `07a` sortiert zwischen `07` und `08`, kein bestehender Verweis bricht.
36
+
37
+ **Ein Pack als durchgehendes Beispiel.** `devin-desktop`, ausdrücklich als solches benannt. Beide Packs überall zu zeigen würde Umfang und Pflege verdoppeln; die Fähigkeitsmatrix beider steht im neuen Kapitel nebeneinander – das ist die Stelle, an der der Unterschied hingehört.
38
+
39
+ **Kapitel 15 und 31 verlieren ihre handgepflegten Tabellen** an die Artefakte, die dieselbe Aussage versioniert führen. Kapitel 31 gewinnt dafür das Laufzeitglossar als neuen Anhang 31.2.
40
+
41
+ ## 3. Prüffragen (durch Owner auszufüllen)
42
+
43
+ - [x] Richtige Ebene nach Entscheidungsbaum 6? — Ja. Keine Regel ändert sich; betroffen sind Dokumentation und das Assemblierungswerkzeug.
44
+ - [x] Verschärfungsprinzip eingehalten? — Nicht berührt. Die eingebetteten Artefakte sind unverändert; sie kommen nur aus einer anderen, nachvollziehbaren Quelle.
45
+ - [x] Widerspruchsfreiheit geprüft? — Die Kapitel 4, 5, 7, 15 und 31 nannten Mechanismen, die seit 0.5.0 anders geregelt sind; genau diese Widersprüche werden hier aufgelöst. `FW-KO-04` und der Validator: 0 Fehler.
46
+ - [x] Laufzeitfassungen betroffen? — Nein. Installationsumfang unverändert: 80 / 79 Dateien.
47
+ - [x] Belegstatus korrekt? — Der Verifikationsbedarf verweist jetzt auf die Fähigkeitsmatrizen, die ihn versioniert führen, statt ihn im Anhang zu duplizieren. Belegstand unverändert: 13 von 26 Zeilen bei `devin-desktop`, 9 von 26 bei `claude-code` tragen einen VERIFY-Marker.
48
+ - [x] Test- und Validierungsbedarf? — Siehe Abschnitt 5.
49
+ - [x] Auswirkungen auf Overlays und laufende Onboardings? — Keine. Kein installiertes Artefakt ändert sich.
50
+ - [x] Dokumentation? — CHANGELOG, Decision Log, Roadmap.
51
+
52
+ ## 4. Entscheidung
53
+
54
+ | Feld | Inhalt |
55
+ |---|---|
56
+ | Entscheidung | angenommen |
57
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
58
+ | Begründung | Ein Dokument, das nur auf einem einzelnen Arbeitsplatz baut, ist kein Lieferbestandteil, sondern ein Zufall. Die Referenzinstallation macht den Bau reproduzierbar und zeigt zugleich die Fassung, die ein Projekt tatsächlich vorfindet – benannt nach dem Client Pack, aus dem sie stammt. |
59
+ | Ziel-Release | 0.9.0 |
60
+ | Decision-Log-Eintrag | D-21 |
61
+
62
+ ## 5. Umsetzung (nach Annahme)
63
+
64
+ - [x] `assemble.py`: Referenzinstallation, Platzhalterauflösung über das Manifest, Herkunftsangabe je Einbettung, `--client`, Verweis statt Doppelabdruck bei gleichem Zielpfad
65
+ - [x] 23 Direktiven auf Laufzeit-Platzhalter umgestellt, 5 auf Kernquellen (Overlay-Saat und Regelvorlage liegen versioniert unter `templates/`)
66
+ - [x] **Bau aus einem frischen Auscheckstand ohne jede Installation: gelingt** – vorher Abbruch mit „eingebettete Datei fehlt“. Geprüft für beide Client Packs
67
+ - [x] Neues Kapitel 7a; Kapitel 15 und 31 auf Einbettungen umgestellt; Kapitel 00, 01, 04, 05, 07, 32 neu geschrieben
68
+ - [x] Begriffsablösung im Langlauf: 28 Ersetzungen in 19 Kapiteln
69
+ - [x] **Messung:** Einclient-Nennungen in der Prosa von 173 auf 50 gesunken, betroffene Kapitel von 25 auf 14. Die verbleibenden benennen einen realen Client, wo einer gemeint ist – Quellenliste der Produktdokumentation (19), clientspezifische Annahme A-05 und Herstellernennungen (7), Glossareinträge, die den Client *definieren* (6), sowie das durchgehende Beispiel
70
+ - [x] Validator und `install.py --check` gegen die Wurzelinstallation: 0 Fehler; Installationsumfang unverändert
71
+ - [ ] **Folgearbeit:** Die Word-Fassung (`build-docx.py`) ist nicht Teil dieser Änderung. Sie folgt dem Markdown, wurde aber seit dem Umbau nicht erzeugt – `pandoc` und `mmdc` sind hier nicht installiert
72
+ - [ ] **Beobachtung:** Kapitel 32 ist eine Selbstprüfung der Erstfassung. Sie ist fortgeschrieben, bleibt aber ihrer Anlage nach ein Rückblick auf 0.1.0. Ob sie als Abschlussteil erhalten bleibt oder in einen Release-Bericht überführt wird, ist eigene Arbeit
@@ -0,0 +1,106 @@
1
+ # Änderungsantrag `CR-2026-012`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Schreibschutz auf das gesamte Kernverzeichnis statt nur auf `framework/**` |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-10 |
8
+ | Betroffene Artefakte | `framework/runtime/permissions.json`; `tests/scripts/hook-check-secrets.py`; `framework/core/03-security.md`; `clients/devin-desktop/CLIENT_PACK.md`, `clients/claude-code/CLIENT_PACK.md`, `clients/_template/CLIENT_PACK.md`; `tests/TEST_CATALOG.md`; `build/doc/08-trennung.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Core (Kernregelmenge, Ebene 3) |
10
+ | Art | Verschärfung |
11
+ | Dringlichkeit | regulär (Review-Zyklus) |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Befund aus `CR-2026-008`, dort ausdrücklich für einen eigenen Antrag zurückgestellt: Das
16
+ Schreibverbot der Kernregelmenge lautete `<CORE_DIR>/framework/**`. Es schützte damit die
17
+ Regeltexte – und ließ ungeschützt, was unmittelbar daneben liegt:
18
+
19
+ | Datei | Rolle |
20
+ |---|---|
21
+ | `install.py` | legt die Laufzeitschicht an und aktualisiert sie |
22
+ | `clientmap.py` | bildet die Kernregelmenge auf den Client ab und erzwingt die drei Zusicherungen aus D-18 |
23
+ | `tests/scripts/validate-framework.py` | gleicht die installierte Berechtigungsdatei gegen die Kernquelle ab |
24
+ | `tests/scripts/hook-check-secrets.py` | blockiert Secrets und geschützte Pfade vor der Werkzeugausführung |
25
+ | `tests/scripts/hook-overlay-status.py` | meldet den Overlay-Status beim Sitzungsstart |
26
+
27
+ Das ist die unangenehme Form einer Lücke: Ungeschützt war nicht irgendein Randbereich,
28
+ sondern **genau die fünf Skripte, die die Schutzzusagen durchsetzen**. Wer `clientmap.py`
29
+ ändern kann, ändert die Kernregeln jeder künftigen Installation; wer
30
+ `validate-framework.py` ändern kann, schaltet die Prüfung ab, die das bemerken würde. Die
31
+ Lücke war älter als `CR-2026-008` – dieser Antrag hatte sie nur sichtbar gemacht, weil er
32
+ `clientmap.py` hinzufügte.
33
+
34
+ Der Hook trug dieselbe Enge in zweiter Fassung: Seine Musterliste schützte
35
+ `framework/core/`, also noch weniger als die Berechtigungsdatei.
36
+
37
+ ## 2. Vorgeschlagene Änderung
38
+
39
+ **Die Kernregel lautet `<CORE_DIR>/**` statt `<CORE_DIR>/framework/**`.** Eine Regel wird
40
+ durch eine breitere ersetzt, keine kommt hinzu: Die Zahl der Kernregeln bleibt bei 13
41
+ (`devin-desktop`) beziehungsweise 17 (`claude-code`, dort trägt jeder Schreibschutz zwei
42
+ Regeln).
43
+
44
+ **Kein Ausnahmemuster für einzelne Unterverzeichnisse.** Das ist keine Härte um der Härte
45
+ willen, sondern Mechanik: In der Berechtigungsdatei gewinnt `deny` immer, und keine der
46
+ beiden abgebildeten Clientformen kennt ein Ausnahmemuster innerhalb eines Verbots. „Der
47
+ Kern bis auf ein Verzeichnis" ist schlicht nicht ausdrückbar – ausdrückbar ist nur ein
48
+ engeres Verbot, und genau das war der Zustand, der die Skripte ungeschützt ließ.
49
+
50
+ Die Frage stellt sich für zwei Verzeichnisse, die wie Arbeitsbereiche aussehen:
51
+ `tests/protocols/` und `governance/change-requests/`. Beide sind Framework-Gut und werden
52
+ über ein Release ausgetauscht. Ein aufnehmendes Projekt legt seine Testergebnisse nach
53
+ `CL-10` ohnehin als Anlage der Overlay-Aktivierung ab, nicht im Kern. Wo ein Projekt
54
+ dennoch im Kernverzeichnis schreiben müsste, ist entweder der Ablageort falsch gewählt
55
+ oder es liegt ein Fall für den Ausnahmeprozess vor – beides bessere Antworten als eine
56
+ Lücke in der Regel.
57
+
58
+ **Der Hook schützt das Kernverzeichnis, aber nur gegen schreibende Werkzeuge.** Die
59
+ bestehende Musterliste gilt auch für `exec`. Hätte das Kernmuster dort gestanden, wäre
60
+ jeder Befehl blockiert, der einen Kernpfad nennt – der Aufruf des Validators,
61
+ `install.py --check`, ein `git diff leitwerk-core/`. Das Framework hätte sich seine eigene
62
+ Prüfung verboten. Das Muster steht deshalb in einer zweiten Liste, die nur für `edit`,
63
+ `write` und `notebookedit` ausgewertet wird. Die Ergänzung ist rein additiv: Sie
64
+ verschärft, ohne eine bisher blockierte Operation freizugeben.
65
+
66
+ **Den Namen des Kernverzeichnisses leitet der Hook aus seinem eigenen Ort ab**
67
+ (`<CORE_DIR>/tests/scripts/`), statt ihn festzuschreiben. Damit erreicht ihn eine
68
+ Umbenennung des Kerns von selbst – dieselbe Überlegung, die `<CORE_DIR>` in `CR-2026-008`
69
+ eingeführt hatte.
70
+
71
+ ## 3. Prüffragen (durch Owner auszufüllen)
72
+
73
+ - [x] Richtige Ebene nach Entscheidungsbaum 6? — Ja. Die Kernregelmenge (Ebene 3) ändert sich; deshalb dieser Antrag und nicht ein Nebenbefund in `CR-2026-008`.
74
+ - [x] Verschärfungsprinzip eingehalten? — Ja, in beide Richtungen geprüft: `<CORE_DIR>/framework/**` ist eine echte Teilmenge von `<CORE_DIR>/**`, und die zweite Hook-Musterliste ergänzt Blockaden, ohne eine bestehende aufzuheben. Kein Overlay kann die Regel lockern; sie steht als Kernzusage in `_core_rules_integrity`.
75
+ - [x] Widerspruchsfreiheit geprüft? — Drei Stellen beschrieben den Schutz enger oder anders, als er nun ist, und wurden nachgezogen: die Berechtigungspolitik in `03-security.md` Abschnitt 4, die Zeile B4 beider Fähigkeitsmatrizen und die Mechaniktabelle in Kapitel 8 des Hauptdokuments. Validator und `FW-KO-04`: 0 Fehler.
76
+ - [x] Laufzeitfassungen betroffen? — Ja, die Berechtigungsdatei. Sie ist **Saat** und wird bei `--update` nie überschrieben; bestehende Installationen migrieren von Hand (Abschnitt 5 und Migrationshinweis im CHANGELOG). Der Installationsumfang bleibt unverändert.
77
+ - [x] Belegstatus korrekt? — Der Hook-Anteil ist geprüft (`FW-ZA-05`, skript). Dass ein Client die `deny`-Regel durchsetzt, bleibt unbelegt wie alle Einstufungen der Fähigkeitsmatrizen – dafür steht `FW-ZA-06` neu im Katalog (sitzung, Roadmap AP2). Belegstand der Matrizen unverändert: 13 von 26 Zeilen bei `devin-desktop`, 9 von 26 bei `claude-code`.
78
+ - [x] Test- und Validierungsbedarf? — Zwei neue Testfälle, siehe Abschnitt 5.
79
+ - [x] Auswirkungen auf Overlays und laufende Onboardings? — Ein Overlay ändert sich nicht. Ein Projekt, das die Migration unterlässt, fällt beim nächsten Validatorlauf auf (nachgewiesen, Abschnitt 5).
80
+ - [x] Dokumentation? — CHANGELOG, Decision Log, Roadmap, Testkatalog, Testprotokoll.
81
+
82
+ ## 4. Entscheidung
83
+
84
+ | Feld | Inhalt |
85
+ |---|---|
86
+ | Entscheidung | angenommen |
87
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
88
+ | Begründung | Ein Schutz, der die Regeltexte umfasst, aber nicht die Skripte, die sie durchsetzen, schützt die Aussage und nicht ihre Grundlage. Die Verschärfung kostet nichts, was das Framework braucht: Der Kern gehört dem Framework Owner und wird ausschließlich über ein Release ausgetauscht – das war seit D-17 die Ablageregel, ohne dass die Berechtigungsdatei sie abbildete. |
89
+ | Ziel-Release | 0.10.0 |
90
+ | Decision-Log-Eintrag | D-22 |
91
+
92
+ ## 5. Umsetzung (nach Annahme)
93
+
94
+ - [x] `framework/runtime/permissions.json`: `<CORE_DIR>/framework/**` → `<CORE_DIR>/**`, weiterhin `"core": true`
95
+ - [x] Erzeugte Kernregeln geprüft: `Write(leitwerk-core/**)` bei `devin-desktop`, `Edit(leitwerk-core/**)` **und** `Write(leitwerk-core/**)` bei `claude-code`. Anzahl der Kernregeln unverändert (13 / 17)
96
+ - [x] `hook-check-secrets.py`: zweite Musterliste für das Kernverzeichnis, nur für schreibende Werkzeuge; Verzeichnisname aus dem eigenen Ort abgeleitet
97
+ - [x] **Zweiter Nebenbefund:** `NotebookEdit` stand in keiner der geprüften Werkzeugklassen und lief an der **gesamten** Musterliste vorbei – auch an den Mustern für Secrets-Pfade, Laufzeitschicht und Overlay. Die Werkzeugklassen stehen jetzt einmal in `WRITE_TOOLS` und werden von beiden Listen verwendet
98
+ - [x] **Nebenbefund im selben Zug behoben:** Fünf Vorkommen der Zeichenklasse `[\/]` trafen nur den Schrägstrich, nicht den umgekehrten. Die Muster für Wurzel-Anweisungsdatei und Laufzeitschicht griffen unter Windows nicht. Alle fünf lauten jetzt `[\\/]`
99
+ - [x] `FW-ZA-05` (skript) **bestanden**: vierzehn synthetische Werkzeugeingaben, vierzehnmal wie erwartet. Protokoll: `leitwerk-core/tests/protocols/2026-09-10-FW-ZA-05.md`. Sieben der acht Blockadefälle liefen vor der Änderung durch – darunter der Schreibzugriff auf das Hook-Skript selbst
100
+ - [x] `FW-ZA-06` (sitzung) neu im Katalog, Status `offen`: Ob ein Client die `deny`-Regel durchsetzt, ist Gegenstand von AP2
101
+ - [x] **Migration erzwungen, nicht angekündigt:** Gegen eine nicht migrierte Installation meldet der Validator zwei Fehler (`Kernregel fehlt in deny` und `… in _core_rules_integrity.deny_must_contain`). Nachgewiesen durch Rückbau der Referenzinstallation dieses Repositorys und erneuten Lauf
102
+ - [x] Frische Installation beider Client Packs in leeren Verzeichnissen: erzeugt die neue Regel; Validator und `install.py --check` ohne Befund aus dieser Änderung
103
+ - [x] Referenzinstallation dieses Repositorys migriert; Validator: 0 Fehler, 0 Warnungen
104
+ - [x] Dokumentation nachgezogen: `03-security.md` Abschnitt 4 (dort zugleich zwei Client-Bindungen aus dem Kern entfernt, D-15), B4 in beiden Packs und in der Vorlage, Kapitel 8 des Hauptdokuments
105
+ - [ ] **Bewusst offen:** Ein Shell-Befehl, der in den Kern schreibt, wird vom Hook nicht erfasst – dort trägt allein die `deny`-Liste der Berechtigungsdatei. Das gilt für jedes Pfadverbot des Frameworks gleichermaßen und ist keine Eigenschaft dieser Änderung
106
+ - [ ] **Bewusst offen:** Im Framework-Repository selbst schützt die Regel den Kern auch vor dem KI-Client, der am Framework arbeitet. Das ist beabsichtigt – V10 verlangt für Änderungen an Framework-Regeln ohnehin den Änderungsantrag. Wer den Client dort schreiben lassen will, führt das über den Ausnahmeprozess (`leitwerk-core/governance/EXCEPTION_PROCESS.md`), nicht über eine Lücke in der Regel
@@ -0,0 +1,128 @@
1
+ # Änderungsantrag `CR-2026-013`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Vier Blindstellen des Validators, gefunden beim Ausführen von `FW-KO-01` |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-10 |
8
+ | Betroffene Artefakte | `tests/scripts/validate-framework.py`; `tests/TEST_CATALOG.md`; `docs/ROADMAP.md`; neu: `tests/protocols/2026-09-10-FW-KO-01.md`, `tests/protocols/2026-09-10-FW-DS-03.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Core (Werkzeug) |
10
+ | Art | Fehlerbehebung und Verschärfung |
11
+ | Dringlichkeit | regulär (Review-Zyklus) |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ `FW-KO-01` („Struktur- und Formatkonsistenz", Basistest, Prüfmethode `skript`) verlangt
16
+ `0 Fehler` aus `validate-framework.py`. Der Testfall war seit der Erstfassung `offen`. Beim
17
+ Ausführen zeigte sich, was ein grüner Lauf allein nicht zeigt: **Von 22 gezielt eingebrachten
18
+ Defekten blieben sechs unbemerkt.** Zwei gingen auf falsch gesetzte Sonden zurück. Vier waren
19
+ echte Blindstellen.
20
+
21
+ **Die Pfadvergleiche der Inhaltsprüfung liefen unter Windows ins Leere.**
22
+ `os.path.relpath` liefert dort Backslashes; verglichen wurde gegen Präfixe mit Schrägstrich.
23
+ Folge: Prüfung 11 (Codeblöcke mit vier oder mehr Backticks) hat unter Windows **nie**
24
+ ausgelöst – auf dem Betriebssystem, auf dem das Framework entwickelt wird. Ebenso griff die
25
+ Ausnahme für `project-overlay/forbidden-terms.txt` nicht. In diesem Repository fiel das nicht
26
+ auf, weil die Sperrbegriffsliste des Übungsrepositorys leer ist; in einem echten Projekt
27
+ stehen dort die realen Kunden-, Produkt- und Systemnamen, und der Validator hätte die Datei
28
+ gegen sich selbst geprüft – ein Fehler je Begriff. `check_links` normalisiert den Pfad seit
29
+ jeher, `check_content` nicht.
30
+
31
+ **Die Quellen des Hauptdokuments waren von der Inhaltsprüfung ausgenommen.** `build` steht in
32
+ der Überspringliste, weil dort die Erzeugnisse eines Projekts liegen. Unter dem Kern liegen
33
+ darunter aber die 33 handgeschriebenen Kapitelquellen – ungeprüft auf Secrets, E-Mail-Adressen,
34
+ IP-Adressen, Sperrbegriffe und vier Backticks. Das ist die unangenehmste Stelle für diese
35
+ Lücke: Vier Backticks brechen genau dort die Assemblierung, und ein Secret erschiene im
36
+ ausgelieferten Dokument.
37
+
38
+ **Die Statusprüfung kannte nur eine von zwei Schreibweisen.** Ein Overlay erklärt seinen
39
+ Status zweimal – als Zeile im Projektsteckbrief und als Aussage im Aktivierungsabschnitt.
40
+ `--strict-overlay` suchte nur die zweite Form. Der Steckbrief konnte `inaktiv` sagen, während
41
+ die Prüfung grün meldete.
42
+
43
+ **Die Secret-Muster des Validators waren enger als die des Schutz-Hooks.** Der Hook blockiert
44
+ sechs Kategorien in einer Werkzeugeingabe, der Validator suchte drei im Bestand. Was der Hook
45
+ im Vorbeigehen verhindert – `api_key = …`, Bearer-Token, Verbindungszeichenfolge mit
46
+ Anmeldedaten –, durfte versioniert im Repository stehen. Dieselbe Zusage war an zwei Stellen
47
+ unterschiedlich streng, ohne dass irgendwo stand, warum.
48
+
49
+ **Nebenbefund zur Aussagekraft.** Der erste Durchgang lief ohne PyYAML. Die Prüfungen 4, 5
50
+ und 8 prüfen dann nur, ob ein Frontmatter vorhanden ist, nicht was darin steht – eine
51
+ entfernte `description` blieb unbemerkt, das Overlay-Manifest wurde gar nicht geprüft. Der
52
+ Validator schwieg dazu. Ein Release-Nachweis unter dieser Bedingung behauptet mehr, als er
53
+ geprüft hat.
54
+
55
+ ## 2. Vorgeschlagene Änderung
56
+
57
+ **Pfade normalisieren.** `check_content` normalisiert den relativen Pfad wie `check_links`
58
+ seit jeher (`.replace(os.sep, "/")`). Eine Zeile.
59
+
60
+ **Die Quellen des Hauptdokuments prüfen, das Erzeugnis nicht.** `build` bleibt in der
61
+ Überspringliste – dort liegen die Build-Verzeichnisse eines Projekts. `<CORE_DIR>/build/doc`
62
+ wird zusätzlich durchlaufen. Das Werkzeug daneben (`assemble.py`, `build/README.md`) bleibt
63
+ außen vor: Es führt eigene Marker in spitzen Klammern, die keine Framework-Platzhalter sind
64
+ und sonst als unregistriert gemeldet würden.
65
+
66
+ **Jede Statuserklärung prüfen.** Beide Schreibweisen werden erfasst, aber nur am Zeilenanfang:
67
+ eine Erwähnung im Fließtext oder in einem Ausnahmeregister ist keine Erklärung. Fehlt jede
68
+ Angabe, ist auch das ein Fehler – bisher galt „nicht gefunden" wie „nicht `aktiv`", was
69
+ zufällig dasselbe Ergebnis lieferte, aber nicht dasselbe meint.
70
+
71
+ **Die Secret-Muster angleichen.** Der Validator übernimmt die drei fehlenden Kategorien des
72
+ Hooks. Ein Wert in spitzen Klammern ist ausgenommen: Ein Platzhalter ist konstruktionsbedingt
73
+ kein Secret, und das Framework schreibt seine Beispiele durchgehend so.
74
+
75
+ Die naheliegende Gegenthese – die engeren Muster seien Absicht, weil das Repository
76
+ Zugangsdaten-Muster *beschreibt* und sich sonst selbst melden würde – wurde geprüft und
77
+ widerlegt: Über beide Repositorys ergeben die breiteren Muster **einen** Treffer, und der ist
78
+ ein als synthetisch gekennzeichneter Platzhalter. Die Ausnahme für spitze Klammern deckt ihn
79
+ ab; eine Ausnahmeliste braucht es nicht.
80
+
81
+ Die umgekehrte Angleichung – dem Hook die Platzhalterausnahme zu geben – unterbleibt
82
+ bewusst. Beim Hook ist die strengere Auslegung die sichere: Ein Falschalarm blockiert eine
83
+ Operation, die der Mensch anders formuliert. Beim Validator hielte derselbe Falschalarm jeden
84
+ Release-Lauf an. Der Unterschied ist begründet und im Protokoll zu `FW-DS-03` festgehalten.
85
+
86
+ **Sagen, wenn eingeschränkt geprüft wird.** Fehlt PyYAML, meldet der Validator eine Warnung
87
+ und benennt die drei betroffenen Prüfungen.
88
+
89
+ **Zwei kleinere Ergänzungen im selben Zug:** Das Overlay-Manifest wird auch auf seine
90
+ Kopfschlüssel geprüft (`manifest_version`, `project_code`, `overlay_version`) – bisher nur die
91
+ Dokumenteinträge, während die Kurzbeschreibung „YAML-Schema" versprach. Und der Name des
92
+ Kernverzeichnisses steht im Skript einmal statt an drei Stellen.
93
+
94
+ ## 3. Prüffragen (durch Owner auszufüllen)
95
+
96
+ - [x] Richtige Ebene nach Entscheidungsbaum 6? — Ja. Keine Regel ändert sich; betroffen ist das Prüfwerkzeug. Die Kernregelmenge, die Client Packs und die Laufzeitschicht bleiben unberührt.
97
+ - [x] Verschärfungsprinzip eingehalten? — Ja. Jede Änderung erweitert, was gemeldet wird; keine hebt eine bestehende Meldung auf. Die einzige neue Ausnahme (Platzhalter in spitzen Klammern) betrifft ein Muster, das es vorher gar nicht gab.
98
+ - [x] Widerspruchsfreiheit geprüft? — Die Kurzbeschreibung des Skripts nannte für die Prüfungen 6, 8, 9 und 11 einen größeren Umfang, als tatsächlich geprüft wurde; sie ist nachgezogen. Validator, `FW-KO-04` und `install.py --check`: 0 Fehler.
99
+ - [x] Laufzeitfassungen betroffen? — Nein. Kein installiertes Artefakt ändert sich; der Validator liegt im Kern und wird von `--update` mitgeführt.
100
+ - [x] Belegstatus korrekt? — `FW-KO-01` und `FW-DS-03` sind mit Protokoll belegt. Beide prüfen Skripte, nicht das Verhalten eines Clients; das bleibt AP2.
101
+ - [x] Test- und Validierungsbedarf? — Zwei Testfälle ausgeführt, siehe Abschnitt 5.
102
+ - [x] Auswirkungen auf Overlays und laufende Onboardings? — Ein bestehendes Projekt kann nach dem Wechsel Fehler sehen, die es vorher nicht sah: vier Backticks in geschützten Ablagen, ein widersprüchlicher Overlay-Status, ein Secret-Muster im Bestand. Das sind keine neuen Regeln, sondern Regeln, die vorher nicht durchgesetzt wurden. Migrationshinweis im CHANGELOG.
103
+ - [x] Dokumentation? — CHANGELOG, Decision Log, Roadmap, Testkatalog, zwei Testprotokolle.
104
+
105
+ ## 4. Entscheidung
106
+
107
+ | Feld | Inhalt |
108
+ |---|---|
109
+ | Entscheidung | angenommen |
110
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
111
+ | Begründung | Eine Prüfung, die nichts findet, weil sie nichts prüft, ist schlimmer als keine Prüfung: Sie erzeugt Vertrauen, das sie nicht deckt. Prüfung 11 hat auf dem Entwicklungsbetriebssystem nie ausgelöst, die Quellen des Hauptdokuments waren ausgenommen, ein Overlay konnte sich widersprechen, und derselbe Schutz war an zwei Stellen unterschiedlich streng. Alle vier Befunde stammen aus dem Wirksamkeitsnachweis eines Testfalls, der ohne ihn grün gewesen wäre. |
112
+ | Ziel-Release | 0.11.0 |
113
+ | Decision-Log-Eintrag | D-23 |
114
+
115
+ ## 5. Umsetzung (nach Annahme)
116
+
117
+ - [x] `check_content` normalisiert den relativen Pfad wie `check_links`
118
+ - [x] `iter_text_files` durchläuft zusätzlich `<CORE_DIR>/build/doc`; `build/out` und das Werkzeug daneben bleiben außen vor
119
+ - [x] `_overlay_status_angaben` erfasst beide Schreibweisen am Zeilenanfang; fehlende Angabe ist ein eigener Fehler
120
+ - [x] `SECRET_PATTERNS` um Bearer-Token, Zugangsdaten-Zuweisung und Verbindungszeichenfolge erweitert, Platzhalter in spitzen Klammern ausgenommen
121
+ - [x] Warnung, wenn PyYAML fehlt, mit Nennung der drei eingeschränkten Prüfungen
122
+ - [x] Kopfschlüssel des Overlay-Manifests werden geprüft; `KERN` steht einmal statt dreimal
123
+ - [x] Sammelnennungen mit Auslassungszeichen (`framework/core/…`) gelten nicht mehr als Pfadangabe – ein Falschalarm, den erst die neue Abdeckung von `build/doc` sichtbar gemacht hat
124
+ - [x] **`FW-KO-01` (skript) bestanden**: 22 von 22 Sonden gemeldet, nachdem im ersten Durchgang sechs unbemerkt blieben. Protokoll: `leitwerk-core/tests/protocols/2026-09-10-FW-KO-01.md`
125
+ - [x] **`FW-DS-03` (skript) bestanden**: zehn synthetische Werkzeugeingaben, alle sechs Musterkategorien abgedeckt. Protokoll: `leitwerk-core/tests/protocols/2026-09-10-FW-DS-03.md`
126
+ - [x] Validator gegen beide Repositorys: 0 Fehler, 0 Warnungen. `install.py --check` ohne Abweichung; Hauptdokument baut für beide Client Packs
127
+ - [ ] **Bewusst offen:** Die Sonden sind nicht Teil des Repositorys. Ein Wiederholungslauf folgt der Tabelle im Protokoll. Ein fester Sondenlauf wäre eine eigene Änderung – er erzeugt ein Werkzeug, das selbst gepflegt und selbst geprüft werden will
128
+ - [ ] **Bewusst offen:** Prüfung 10 (Mermaid) bleibt ungeprüft, weil `mmdc` in dieser Umgebung fehlt. Sie ist optional und nicht Teil des Standardlaufs
@@ -0,0 +1,125 @@
1
+ # Änderungsantrag `CR-2026-014`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Sieben Abweichungen zwischen Kurz- und Langform, gefunden beim Ausführen von `FW-KO-02` |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-10 |
8
+ | Betroffene Artefakte | `framework/runtime/root-instruction.md`; `framework/runtime/rules/00-framework-core.md`, `10-privacy-security.md`, `15-development-rules.md`, `20-project-overlay.md`; `framework/core/05-working-model.md`, `10-error-escalation.md`; `tests/TEST_CATALOG.md`; neu: `tests/protocols/2026-09-10-FW-KO-02.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Core (Regeltexte, Ebene 3) |
10
+ | Art | Fehlerbehebung und Verschärfung |
11
+ | Dringlichkeit | regulär (Review-Zyklus) |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Das Framework führt seine Regeln in zwei Fassungen (D-02): der kanonischen Langform unter
16
+ `framework/core/` und der kompakten Laufzeitfassung, die in jeder Sitzung geladen wird. Die
17
+ Kurzfassungen tragen den Satz „Diese Fassung ist normativ; bei Abweichungen gilt die
18
+ Langform." `FW-KO-02` prüft, ob dieser Satz trägt.
19
+
20
+ Er trug nicht durchgehend. Der Abgleich ergab **sieben Befunde** – drei Widersprüche, vier
21
+ Lücken – dazu zwei begriffliche Abweichungen.
22
+
23
+ **Der wichtigste Befund ist eine Lücke, kein Widerspruch.** Die Delegationsverbotsliste ist
24
+ die schärfste Regel des Frameworks: Sie gilt unabhängig von der Kontrollstufe, und das
25
+ Overlay darf sie erweitern, aber nicht verkürzen. **Vier ihrer zwölf Einträge kamen in
26
+ keiner geladenen Datei vor** – V6 (Produktionssysteme, Infrastruktur, Berechtigungen,
27
+ Sicherheitskonfigurationen), V9 (Entscheidung über die Fortsetzung bei einem
28
+ Sicherheitsvorfall), V11 (Kommunikation nach außen) und V12 (Löschen von Branches, Historie,
29
+ Daten außerhalb des Arbeitsbereichs). Die Langform steht nicht im Kontext einer Sitzung; was
30
+ dort steht und in der Kurzform fehlt, erreicht das Werkzeug nicht.
31
+
32
+ **Zwei Widersprüche betreffen Rechte und Einstufungen:**
33
+
34
+ Die Kurzform verbot in M1 jede Befehlsausführung, die Langform erlaubt lesende
35
+ Analysebefehle – und die ausgelieferte Berechtigungsdatei stellt `git status`, `diff`, `log`,
36
+ `show` und `blame` in jedem Modus auf `allow`. Die Kurzform behauptete also ein Verbot, das
37
+ an keiner Stelle durchgesetzt wird. Der Testfall nennt Modusrechte ausdrücklich als
38
+ Beispiel für unzulässiges Verhalten.
39
+
40
+ Die Kurzform stufte jede Berührung personenbezogener Datenverarbeitung als mindestens
41
+ Kontrollstufe hoch ein. Die Langform unterscheidet: ein Code-Pfad, der personenbezogene
42
+ Daten verarbeitet, ohne dass sich die Verarbeitungslogik ändert, ist **mittel** – das
43
+ Rechenbeispiel in `09-risk-model.md` Abschnitt 5 stuft genau so ein. Zwei gegensätzliche
44
+ Aussagen über dieselbe Kontrollstufe.
45
+
46
+ **Ein Widerspruch liegt innerhalb der Langform selbst:** `10-error-escalation.md` lässt in
47
+ S10 „mehr als zwei Versuche" zu, verlangt in Abschnitt 3.1 desselben Moduls aber den Abbruch
48
+ „nach zwei fehlgeschlagenen Korrekturschleifen". Die Wurzel-Anweisung folgt der strengeren
49
+ Lesart.
50
+
51
+ **Zwei begriffliche Befunde:** Der Nutzungsvermerk im Merge Request hieß an drei Stellen
52
+ verschieden, eine Bezeichnung davon an einen Client gebunden. Und `20-project-overlay.md` –
53
+ eine Kernvorlage, die in **jedes** Client Pack installiert wird – nannte an vier Stellen
54
+ „Devin" als Akteur; ein Projekt mit dem Pack `claude-code` liest dort den Produktnamen eines
55
+ Werkzeugs, das bei ihm nicht im Einsatz ist.
56
+
57
+ ## 2. Vorgeschlagene Änderung
58
+
59
+ Die Richtung der Auflösung ist bei jedem Widerspruch begründungspflichtig, weil beide
60
+ Fassungen normativ sind.
61
+
62
+ **M1-Befehlsrecht: Die Kurzform folgt der Langform.** Lesende Analysebefehle bleiben
63
+ zulässig; sie sind in der Berechtigungsdatei ohnehin erlaubt, und ein Verbot, das nirgends
64
+ greift, erzeugt nur ein falsches Bild der Durchsetzungstiefe. Im selben Zug wird die
65
+ Langform mit sich selbst in Einklang gebracht: M2 führte „Alles aus M1" und
66
+ „Befehlsausführung: nein" nebeneinander.
67
+
68
+ **Kontrollstufe bei personenbezogenen Daten: Die Kurzform folgt der Langform.** Die
69
+ Gegenrichtung – jede Berührung auf hoch – hätte die Abstufung in R4 und ihr Rechenbeispiel
70
+ entwertet und die Stufe hoch inflationär gemacht. Die Kurzform übernimmt die Unterscheidung
71
+ im Wortlaut.
72
+
73
+ **Abbruchschwelle: Die Langform folgt der Kurzform.** S10 wird auf „zwei erfolglose
74
+ Versuche" gesetzt – die strengere Lesart, die zugleich mit Abschnitt 3.1 desselben Moduls
75
+ und mit der Wurzel-Anweisung übereinstimmt.
76
+
77
+ **Die vier Lücken werden in der Kurzform geschlossen.** Die fehlenden Delegationsverbote,
78
+ die K3-Auffangkategorie („alles, was die Organisation als vertraulich oder höher eingestuft
79
+ hat" – eine Aufzählung ohne Auffangkategorie lädt zum Umkehrschluss ein), die
80
+ Größenschwelle aus Q8 und die Erleichterung bei Kontrollstufe niedrig, die bisher nur in
81
+ der Langform stand.
82
+
83
+ **Die Laufzeitschicht wird client-neutral.** „KI-Nutzungsvermerk" mit Verweis auf die
84
+ Vorlage; in `20-project-overlay.md` direkte Anrede statt Produktname. Damit enthalten alle
85
+ fünf Dateien der Laufzeitschicht null Client-Bindungen.
86
+
87
+ Die 74 Nennungen von „Devin" in den elf Langform-Modulen bleiben unangetastet. Sie sind der
88
+ Rest der Neutralisierung aus D-15 – dort wurden Pfade ersetzt, nicht die Akteursbezeichnung
89
+ – und wirken nicht auf das Verhalten, weil die Langform nicht in die Sitzung geladen wird.
90
+ Das ist eine eigene Aufgabe und gehört in die Roadmap, nicht in diesen Antrag.
91
+
92
+ ## 3. Prüffragen (durch Owner auszufüllen)
93
+
94
+ - [x] Richtige Ebene nach Entscheidungsbaum 6? — Ja. Die Regeltexte der Ebene 3 ändern sich; deshalb ein Änderungsantrag und keine redaktionelle Korrektur.
95
+ - [x] Verschärfungsprinzip eingehalten? — Sechs der sieben Befunde werden durch Verschärfung oder Klarstellung aufgelöst. Zwei Auflösungen erweitern den Spielraum und sind deshalb einzeln begründet: das M1-Befehlsrecht (die Kurzform behauptete ein Verbot, das die Berechtigungsdatei nicht kennt) und die Kontrollstufe bei personenbezogenen Daten (die Kurzform übersteuerte eine bewusste Abstufung der Langform). In beiden Fällen galt bereits die Langform – der Spielraum wird nicht erweitert, sondern richtig beschrieben.
96
+ - [x] Widerspruchsfreiheit geprüft? — Das ist der Gegenstand dieses Antrags. Nach der Änderung: keine widersprüchlichen Anweisungen; die verbliebenen Abweichungen sind im Protokoll dokumentiert. Validator und `FW-KO-04`: 0 Fehler.
97
+ - [x] Laufzeitfassungen betroffen? — Ja, alle fünf. Sie sind **Core** und werden von `install.py --update` überschrieben; einzige Ausnahme ist `20-project-overlay.md`, das als Saat in einem bestehenden Projekt seine ausgefüllte Fassung behält. Migrationshinweis im CHANGELOG.
98
+ - [x] Belegstatus korrekt? — Unverändert. Dieser Antrag berührt keine Aussage über Produktfunktionen eines Clients.
99
+ - [x] Test- und Validierungsbedarf? — `FW-KO-02` ist durchgeführt; die Gegenzeichnung durch eine zweite Rolle steht aus, siehe Abschnitt 5.
100
+ - [x] Auswirkungen auf Overlays und laufende Onboardings? — Die Kurzfassungen werden länger (00: 3.301 → 3.946 Zeichen, weit unter der Grenze von 12.000). Ein Projekt mit ausgefülltem `20-project-overlay.md` zieht die vier neutralisierten Stellen von Hand nach oder belässt sie – sie sind erläuternd, nicht normativ.
101
+ - [x] Dokumentation? — CHANGELOG, Decision Log, Roadmap, Testkatalog, Testprotokoll.
102
+
103
+ ## 4. Entscheidung
104
+
105
+ | Feld | Inhalt |
106
+ |---|---|
107
+ | Entscheidung | angenommen |
108
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
109
+ | Begründung | Zwei Fassungen derselben Regel sind nur so lange ein Gewinn, wie sie dasselbe sagen. Die Kurzform ist die einzige, die das Werkzeug je zu sehen bekommt – eine Regel, die nur in der Langform steht, ist eine Regel, die nicht wirkt. Dass ein Drittel der Delegationsverbotsliste nirgends geladen wurde, ist der Befund, der diesen Antrag trägt; die drei Widersprüche sind der Anlass, aus dem er gefunden wurde. |
110
+ | Ziel-Release | 0.12.0 |
111
+ | Decision-Log-Eintrag | D-24 |
112
+
113
+ ## 5. Umsetzung (nach Annahme)
114
+
115
+ - [x] W1: M1 und M2 in Kurz- und Langform auf „nur lesende Analysebefehle" angeglichen
116
+ - [x] W2: Kurzform übernimmt die Abstufung aus R4 (mittel bei unveränderter Verarbeitungslogik, hoch bei Änderung an Erhebung, Speicherung, Weitergabe oder Löschung)
117
+ - [x] W3: S10 auf „zwei erfolglose Versuche" gesetzt, im Einklang mit Abschnitt 3.1 und der Wurzel-Anweisung
118
+ - [x] L1: Alle zwölf Delegationsverbote stehen in der Kurzform; die Wurzel-Anweisung nennt zusätzlich Sicherheitsvorfall, Außenkommunikation und Löschen außerhalb des Arbeitsbereichs als Haltegründe
119
+ - [x] L2: K3-Auffangkategorie, Keystores und Verbindungszeichenfolgen mit Anmeldedaten ergänzt; Hinweis, dass eine K2-Freigabe dokumentiert sein muss
120
+ - [x] L3: Größenschwelle aus Q8 in `15-development-rules.md`
121
+ - [x] L4: Erleichterung bei Kontrollstufe niedrig in der Kurzform benannt
122
+ - [x] B1/B2: „KI-Nutzungsvermerk" mit Verweis auf die Vorlage; `20-project-overlay.md` neutralisiert. **Client-Bindungen in der Laufzeitschicht: 4 → 0**
123
+ - [x] Validator, `FW-KO-04` und `install.py --check`: 0 Fehler. Hauptdokument baut für beide Client Packs
124
+ - [x] Gegenzeichnung durch `<FRAMEWORK_OWNER>` am 2026-09-10 erfolgt; die beiden Auflösungen mit Ermessensspielraum wurden einzeln vorgelegt und bestätigt (M1-Befehlsrecht: erlaubt; Kontrollstufe bei unveränderter Verarbeitungslogik: mittel). `FW-KO-02` steht damit auf `bestanden`
125
+ - [ ] **Folgearbeit:** 74 Nennungen von „Devin" als Akteur in den elf Langform-Modulen. Sie wirken nicht auf das Verhalten, widersprechen aber der Zusage eines werkzeugneutralen Kerns (D-15). Eigene Änderung, in der Roadmap vermerkt