@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,115 @@
1
+ # Änderungsantrag `CR-2026-029`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Hook-Konfiguration des Packs `devin-desktop` liegt in einer Datei, die der Client nicht liest |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-11 |
8
+ | Betroffene Artefakte | `clients/devin-desktop/manifest.json`, `clients/devin-desktop/CLIENT_PACK.md` (H1–H3), `clientmap.py`, `install.py`, `tests/scripts/validate-framework.py` (Prüfung 15 und 17), `docs/PLACEHOLDER_REGISTRY.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Client Pack und Abbildung; Schutzmechanismus |
10
+ | Art | Behebung von `AP2-DD-10` (Schwere: **hoch**) |
11
+ | Dringlichkeit | **erhöht** – drei Zusagen der Fähigkeitsmatrix sind wirkungslos |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Das Pack legt die Hook-Konfiguration nach `.devin/hooks.v1.json`. Aus dieser Datei führt
16
+ Devin **keinen Hook aus**. Gemessen mit einem Aufzeichnungs-Hook, der jede Eingabe
17
+ wegschreibt und nie blockiert (Devin CLI 3000.10.21):
18
+
19
+ | Konfiguration | Hook-Aufrufe |
20
+ |---|---|
21
+ | `.devin/hooks.v1.json`, Kommando mit `$DEVIN_PROJECT_DIR` | **0** |
22
+ | `.devin/hooks.v1.json`, Kommando mit absolutem Pfad | **0** |
23
+ | `.devin/hooks.v1.json`, Matcher leer – trifft jedes Werkzeug | **0** |
24
+ | dieselben Hooks in `.devin/config.json` unter `"hooks"` | **sofort ausgelöst** |
25
+
26
+ Der Unterschied ist allein der **Ort**. Kommando, Matcher, Schema und Interpreter sind in
27
+ allen vier Zeilen identisch.
28
+
29
+ **Damit sind H1, H2 und H3 wirkungslos:** keine Prüfung vor der Werkzeugausführung, keine
30
+ Blockierung, keine Overlay-Statusmeldung beim Sitzungsstart. Die Matrix führt H1 und H3 als
31
+ `[TECHNISCH]` mit Beleg `[DOK]`.
32
+
33
+ ### Warum das keine falsche Dokumentation ist
34
+
35
+ Die Hook-Dokumentation nennt `.devin/hooks.v1.json` ausdrücklich als Projektort – neben
36
+ `.devin/config.json`, `.devin/config.local.json` und weiteren. Die Angabe des Packs folgt
37
+ also der Dokumentation. **Belegt war die Dokumentation, nicht das Verhalten** – derselbe
38
+ Befundtyp wie `AP2-CC-13` und `FW-KO-01`, und genau der, gegen den D-23 gerichtet ist.
39
+
40
+ Ob der Ort im **Desktop** gelesen wird, ist offen; die Messung stammt aus der CLI. Das ist
41
+ eine der drei Gegenproben des AP2-Protokolls. Für die Entscheidung ist das nachrangig: Ein
42
+ Ort, der bei einem der beiden Frontends nicht trägt, ist als Ablage ungeeignet.
43
+
44
+ ### Warum die Prüfungen es nicht fanden
45
+
46
+ Prüfung 15 (Interpreter) und Prüfung 17 (fail-closed) lesen die Hook-Kommandos **aus der
47
+ erzeugten Konfiguration** und rufen sie selbst auf. Sie belegen damit, dass das Kommando
48
+ funktioniert – nicht, dass der Client die Datei je liest. Die Kette hat ein Glied mehr, als
49
+ die Prüfungen sehen: Manifest → Abbildung → Datei → **Client liest sie** → Aufruf.
50
+
51
+ Dieses Glied lässt sich nur mit einer laufenden Sitzung prüfen. Genau das ist AP2.
52
+
53
+ ## 2. Vorgeschlagene Änderung
54
+
55
+ **Die Hooks des Packs `devin-desktop` wandern in `.devin/config.json` unter den Schlüssel
56
+ `"hooks"`** – den Ort, an dem sie nachweislich ausgeführt werden. Der Mechanismus dafür
57
+ existiert bereits: Für `claude-code` bettet `render_permissions()` die Hooks in die
58
+ Berechtigungsdatei ein, weil dieser Client keine eigene Hook-Datei kennt
59
+ (`hooks_in_permissions()`). Bei `devin-desktop` ist die Lage nach dieser Messung dieselbe –
60
+ die Abbildung muss das nur sagen.
61
+
62
+ Konkret entfällt die Zuordnung `<HOOKS_FILE>` → `.devin/hooks.v1.json` aus der
63
+ Platzhalterabbildung, womit `hooks_in_permissions()` für dieses Pack wahr wird.
64
+
65
+ **Der Validator prüft künftig das fehlende Glied.** Eine Prüfung kann nicht feststellen, ob
66
+ ein Client eine Datei liest – das kann nur eine Sitzung. Sie kann aber feststellen, **ob die
67
+ Hook-Konfiguration an einem Ort steht, der für dieses Pack als wirksam belegt ist**. Der
68
+ Beleg gehört ins Manifest, mit Fundstelle auf das Protokoll, und die Prüfung hält die
69
+ Konfiguration dagegen.
70
+
71
+ Das ist bewusst schwächer als eine Wirkungsprüfung, und der Antrag sagt das: Es ist eine
72
+ Konsistenzprüfung gegen einen Beleg, kein Nachweis. Ein Nachweis bleibt der Sitzungstest.
73
+
74
+ ## 3. Was dieser Antrag nicht ändert
75
+
76
+ - **`claude-code`.** Dort liegen die Hooks bereits in der Berechtigungsdatei und laufen
77
+ nachweislich (`AP2-CC-13`, Prüfung 15).
78
+ - **Den Hook selbst.** `hook-check-secrets.py` und `hook-overlay-status.py` bleiben
79
+ unverändert. Sie waren nie das Problem – sie wurden nur nie aufgerufen.
80
+ - **Die Kernquelle.** `framework/runtime/hooks.json` bleibt, wie sie ist; sie beschreibt,
81
+ *was* konfiguriert wird, nicht *wohin*.
82
+
83
+ ## 4. Grenze der Zusage
84
+
85
+ **Gemessen wurde die CLI, nicht der Desktop.** Sollte der Desktop `hooks.v1.json` lesen, wäre
86
+ die Verlagerung trotzdem richtig – ein Ort, der für beide trägt, ist einem vorzuziehen, der
87
+ nur für eines trägt. Ergibt die Gegenprobe, dass auch `config.json` im Desktop nicht gelesen
88
+ wird, ist H1 bis H3 dort als `[NICHT ABBILDBAR]` zu führen; dieser Antrag deckt diesen Fall
89
+ **nicht** ab.
90
+
91
+ **Eine Folge ist auszuweisen:** Liegen die Hooks in `config.json`, teilen sie deren Schicksal
92
+ als Saat – `install.py --update` fasst sie dann nicht mehr an, wie schon bei `claude-code`.
93
+ Eine Änderung an den Hooks des Kerns erreicht ein bestehendes Projekt nicht mehr von selbst.
94
+ Das ist der Preis und gehört in die Migrationshinweise.
95
+
96
+ ## 5. Vorlage zur Entscheidung
97
+
98
+ | Nr. | Frage | Auflösung | Preis |
99
+ |---|---|---|---|
100
+ | E1 | Ort wechseln oder auf Herstellerkorrektur warten? | **Wechseln.** Drei Zusagen sind wirkungslos; ein Schutzmechanismus, der nicht läuft, ist schlimmer als ein fehlender (D-29) | Die Hooks werden Teil der Saat und sind beim Release-Wechsel von Hand nachzuziehen |
101
+ | E2 | Vor der Gegenprobe im Desktop entscheiden? | **Ja.** Der belegte Ort trägt in beiden Fällen; der unbelegte in mindestens einem nicht | Sollte der Desktop abweichen, ist erneut zu messen |
102
+ | E3 | Prüfung auf Ort oder auf Wirkung? | **Auf den Ort, gegen einen im Manifest hinterlegten Beleg.** Ob ein Client eine Datei liest, kann kein Validator feststellen | Eine Konsistenzprüfung, die als solche zu kennzeichnen ist – sie belegt nichts, sie hält einen Beleg fest |
103
+ | E4 | H1/H3 bis zur Gegenprobe herabstufen? | **Ja, auf `[TEXTUELL]`** mit Verweis auf dieses Protokoll | Das Pack weist zwei technische Zusagen weniger aus |
104
+
105
+ ## 6. Entscheidung
106
+
107
+ | Feld | Inhalt |
108
+ |---|---|
109
+ | Entscheidung | **angenommen** |
110
+ | Datum | 2026-09-11 |
111
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
112
+ | Auflagen | **E1 bis E4 wie in Abschnitt 5 vorgelegt**: Der Ort wird gewechselt, statt auf eine Herstellerkorrektur zu warten; entschieden wird **vor** der Gegenprobe im Desktop; Prüfung 18 misst den **Ort** gegen einen im Manifest hinterlegten Beleg und nicht die Wirkung; H1 und H3 werden bis zur Gegenprobe auf `[TEXTUELL]` herabgestuft. **Folge, die bis heute trägt:** Für keines der beiden Packs wird eine eigene Hook-Datei erzeugt |
113
+ | Umsetzung | **mit Release 0.25.0** – Einzelheiten und Nachweise in `.koolie/core/CHANGELOG.md` |
114
+
115
+ Abschnitt 6 ist am 2026-09-22 mit `CR-2026-124` (`AP11`) **nachgetragen**, nicht neu entschieden: Die Entscheidung selbst steht seit 2026-09-11 in **D-32**, die Umsetzung im `CHANGELOG.md` zu Release 0.25.0. 🔴 **Der Releaseplan nannte für diesen Nachtrag zwei Anträge; gezählt am 2026-09-22 sind es sieben** – `CR-2026-020`, `-021`, `-023`, `-025`, `-026`, `-029` und `-030`.
@@ -0,0 +1,143 @@
1
+ # Änderungsantrag `CR-2026-030`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | D-30 setzt Secret-Pfade auch gegen lesende Werkzeuge durch – der Kern löst das nicht ein |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-11 |
8
+ | Betroffene Artefakte | `framework/runtime/hooks.json`, `tests/scripts/hook-check-secrets.py`, `tests/scripts/validate-framework.py` (Prüfung 16), beide `manifest.json`, beide `CLIENT_PACK.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Schutzmechanismus und Prüfung; betrifft **beide** Client Packs |
10
+ | Art | Behebung von `AP2-DD-11` (Schwere: **hoch**); Einlösung von D-30 |
11
+ | Dringlichkeit | **erhöht** – betrifft die Vertraulichkeit von Secrets |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ D-30 entschied am 2026-09-10 wörtlich:
16
+
17
+ > Zweitens trennt er seine Pfadlisten nach Schutzziel: **Secret-Pfade sind vertraulich** und
18
+ > werden auch gegen **lesende** Werkzeuge durchgesetzt, **Strukturpfade sind
19
+ > integritätsgeschützt** und gelten nur für schreibende.
20
+
21
+ **Der Kern löst den ersten Halbsatz nicht ein.** Ein lesendes Werkzeug erreicht die
22
+ Pfadprüfung nicht – auf zwei voneinander unabhängigen Wegen.
23
+
24
+ ### Ebene 1 – Der Hook wird für lesende Werkzeuge nicht aufgerufen
25
+
26
+ `framework/runtime/hooks.json` führt für `PreToolUse`:
27
+
28
+ ```json
29
+ "on": ["exec", "write"]
30
+ ```
31
+
32
+ Kein Pack bildet ein Leseverb ab, weil die Quelle keines nennt. Erzeugt werden die Matcher
33
+ `Bash|Edit|Write|NotebookEdit` (`claude-code`) und `exec|edit|write` (`devin-desktop`).
34
+
35
+ In einer AP2-Sitzung wurden die realen Werkzeugnamen erhoben: **`exec` und `read`.** Das
36
+ Lesewerkzeug löst den Hook nicht aus.
37
+
38
+ ### Ebene 2 – Er würde auch nicht blockieren
39
+
40
+ `hook-check-secrets.py:221` lässt nur schreibende und ausführende Werkzeuge in die
41
+ Pfadprüfung:
42
+
43
+ ```python
44
+ if tool_name in WRITE_TOOLS + EXEC_TOOLS or not tool_name:
45
+ ```
46
+
47
+ Direkttest gegen das Skript:
48
+
49
+ | Eingabe | Exit | nach D-30 erwartet |
50
+ |---|---|---|
51
+ | `{"tool_name": "read", "tool_input": {"file_path": ".env"}}` | **0** | 2 |
52
+ | `{"tool_name": "Read", "tool_input": {"file_path": ".env"}}` | **0** | 2 |
53
+ | `{"tool_name": "exec", "tool_input": {"command": "cat .env"}}` | 2 | 2 |
54
+
55
+ Selbst wenn die Quelle ein Leseverb führte, bliebe der Zugriff unbemerkt.
56
+
57
+ ### Wie es sich zeigte
58
+
59
+ In der Sitzung blockierte der Hook `cat .env` korrekt. Der Agent antwortete darauf wörtlich:
60
+
61
+ > Ich kann die Datei stattdessen direkt mit dem read-Tool lesen:
62
+
63
+ und gab den Inhalt aus. **Die Sperre wurde nicht umgangen, sie war an dieser Stelle nie
64
+ vorhanden.**
65
+
66
+ ### Warum Prüfung 16 das nicht fand
67
+
68
+ Prüfung 16 prüft die Wirkung – aber nur für die Verben, die das Manifest führt:
69
+
70
+ ```python
71
+ sonden = {"exec": {"command": "cat .env"}, "write": {"file_path": ".env", "content": "x"}}
72
+ ```
73
+
74
+ Sie sondiert `hook_tools`, und `hook_tools` kennt kein Leseverb. **Die Prüfung misst die
75
+ Abbildung an sich selbst.** Eine Zusage über ein Verb, das die Abbildung nicht führt, kann
76
+ sie nicht widerlegen – sie kann nicht einmal danach suchen.
77
+
78
+ Das ist der vierte Fall desselben Musters in acht Releases (`FW-KO-01`, `AP2-CC-09`,
79
+ `AP2-CC-13`, `CR-2026-022`) und der erste, bei dem die Lücke nicht in einer Prüfung liegt,
80
+ sondern **zwischen einer Entscheidung und ihrer Umsetzung**.
81
+
82
+ ## 2. Vorgeschlagene Änderung
83
+
84
+ 1. **Die Kernquelle nennt ein Leseverb.** Der `PreToolUse`-Eintrag spricht künftig auf
85
+ `["read", "exec", "write"]` an. Die Packs bilden `read` auf ihre Lesewerkzeuge ab –
86
+ `Read` bei `claude-code`, `read` bei `devin-desktop`.
87
+ 2. **Der Hook prüft lesende Werkzeuge gegen die Secret-Pfade**, nicht gegen die
88
+ Strukturpfade. Das ist genau die Trennung, die D-30 beschlossen hat: Ein Lesezugriff auf
89
+ den Kern bleibt erlaubt (P4 setzt ihn voraus), ein Lesezugriff auf ein Secret nicht.
90
+ 3. **Prüfung 16 erhält eine Sonde für das Leseverb** – `{"file_path": ".env"}` gegen jedes
91
+ abgebildete Lesewerkzeug, mit erwartetem Exit 2.
92
+ 4. **Eine Gegenprobe sichert die Trennung:** Ein lesender Zugriff auf einen **Kernpfad** muss
93
+ weiterhin **durchgehen**. Ohne sie verwandelt die Erweiterung die Lesesperre in eine
94
+ Lesesperre auf das gesamte Kernverzeichnis und bricht P4.
95
+
96
+ ## 3. Was dieser Antrag nicht ändert
97
+
98
+ - **Die Strukturpfade.** Sie bleiben auf schreibende Werkzeuge beschränkt. `git diff` auf
99
+ den Kern, `install.py --check`, der Validator – alles unverändert.
100
+ - **Die Berechtigungsregeln.** `deny` auf Secret-Pfade bleibt unverändert; der Hook ist die
101
+ zweite Linie, nicht die erste.
102
+ - **Die Entscheidung D-30.** Sie wird nicht geändert, sondern erstmals eingelöst.
103
+
104
+ ## 4. Grenze der Zusage
105
+
106
+ **Die zweite Linie ist nicht die erste.** Bei `claude-code` werden Pfadregeln für `Read`
107
+ ausgewertet, die `deny`-Regel greift dort also ohnehin. Der Hook wird dort erst wichtig, wenn
108
+ die Berechtigungsschranke ausfällt – und genau das ist beobachtet worden: **Im Bypass-Modus
109
+ las der Agent die Secret-Datei trotz `deny`-Regel** (`AP2-DD-12`). Für diesen Fall ist der
110
+ Hook gebaut.
111
+
112
+ **Ein Lesewerkzeug, das den Pfad nicht im Klartext führt, bleibt unerfasst** – dieselbe
113
+ Grenze, die `CR-2026-023` für Shell-Befehle ausgewiesen hat. Die Sperre schützt gegen
114
+ Versehen und gegen den Ausfall der ersten Linie, nicht gegen Absicht.
115
+
116
+ **Nicht erhoben ist, wie das schreibende Werkzeug bei `devin-desktop` heißt.** In keinem Lauf
117
+ kam ein Schreibvorgang vor; `hook_tools` führt `edit` und `write` unbelegt.
118
+
119
+ ## 5. Vorlage zur Entscheidung
120
+
121
+ | Nr. | Frage | Auflösung | Preis |
122
+ |---|---|---|---|
123
+ | E1 | Leseverb in die Kernquelle aufnehmen? | **Ja.** Ohne es kann kein Pack ein Lesewerkzeug abbilden, und D-30 bleibt uneingelöst | Der Hook läuft bei jedem Lesevorgang – der häufigsten Operation überhaupt. Ein Prozessstart je gelesener Datei |
124
+ | E2 | Secret-Pfade oder alle Pfade für lesende Werkzeuge? | **Nur Secret-Pfade**, wie D-30 es sagt | Ein lesender Zugriff auf den Kern bleibt möglich – beabsichtigt, aber die Regel wird erklärungsbedürftiger |
125
+ | E3 | Prüfung 16 erweitern oder eigene Prüfung? | **Erweitern.** Der Befund liegt in ihrer Sondenmenge, nicht in ihrer Bauart | Sie prüft weiterhin nur, was das Manifest führt – die Blindstelle verschiebt sich, sie verschwindet nicht |
126
+ | E4 | Gegenprobe für Kernpfade verbindlich? | **Ja.** Ohne sie bricht die Erweiterung P4, und zwar still | Eine Probe mehr je Validatorlauf |
127
+
128
+ **Zu E3 im Klartext:** Die Prüfung misst auch künftig die Abbildung an sich selbst. Führte
129
+ ein Client ein viertes Werkzeugverb, fiele das genauso wenig auf wie jetzt. Was dagegen hilft,
130
+ ist kein Validator, sondern eine Sitzung, die die Werkzeugnamen **erhebt** – so wie AP2 es
131
+ getan hat. Das gehört in den Testkatalog, nicht in dieses Skript.
132
+
133
+ ## 6. Entscheidung
134
+
135
+ | Feld | Inhalt |
136
+ |---|---|
137
+ | Entscheidung | **angenommen** |
138
+ | Datum | 2026-09-11 |
139
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
140
+ | Auflagen | **E1 bis E4 wie in Abschnitt 5 vorgelegt**: Das Leseverb kommt in die Kernquelle; gemessen wird es an den **Secret-Pfaden** und nicht an allen geschützten Pfaden; Prüfung 16 wird erweitert statt verdoppelt; die Gegenprobe für Kernpfade ist verbindlich – *ohne sie bricht die Erweiterung einen Grundsatz, und zwar still* |
141
+ | Umsetzung | **mit Release 0.25.0** – Einzelheiten und Nachweise in `.koolie/core/CHANGELOG.md` |
142
+
143
+ Abschnitt 6 ist am 2026-09-22 mit `CR-2026-124` (`AP11`) **nachgetragen**, nicht neu entschieden: Die Entscheidung selbst steht seit 2026-09-11 in **D-33**, die Umsetzung im `CHANGELOG.md` zu Release 0.25.0. 🔴 **Der Releaseplan nannte für diesen Nachtrag zwei Anträge; gezählt am 2026-09-22 sind es sieben** – `CR-2026-020`, `-021`, `-023`, `-025`, `-026`, `-029` und `-030`.
@@ -0,0 +1,182 @@
1
+ # Änderungsantrag `CR-2026-031`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Eine Regelquelle außerhalb des Projekts lädt in jeder Sitzung mit – die Prioritätshierarchie kennt für sie keine Ebene |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-11 |
8
+ | Betroffene Artefakte | `governance/PRIORITY_HIERARCHY.md` (0.1.1), `framework/runtime/root-instruction.md`, `framework/core/02-privacy.md` (Abschnitt 3 Nr. 10), `clients/README.md`, beide `CLIENT_PACK.md`, `clients/_template/CLIENT_PACK.md`, `tests/scripts/validate-framework.py` (neue Prüfung 19) |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Governance (Prioritätshierarchie) und Abbildungsschicht; betrifft **beide** Client Packs |
10
+ | Art | Behebung von `AP2-DD-15` (Schwere: mittel); Schließung einer Lücke in B9 in der Gegenrichtung zu `AP2-CC-11` |
11
+ | Dringlichkeit | regulär |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ `devin rules list` führt in der AP2-Sitzung eine Regel, die aus keinem Projekt stammt:
16
+
17
+ ```text
18
+ global_rules [Windsurf] always-on ~/.codeium/windsurf/memories/global_rules.md
19
+ ```
20
+
21
+ Die Datei liegt **außerhalb jedes Repositoriums**, im Benutzerprofil. Sie lädt `always-on`, also
22
+ unbedingt, **auch in einem Verzeichnis ohne jeden Regeltext**. Gegenprobe G-1 hat sie in allen
23
+ drei geprüften Oberflächen mit vollem Pfad unter den geladenen Dateien gefunden – sie steht damit
24
+ nicht nur im Register, sondern **im Kontext**.
25
+
26
+ Dass sie derzeit 0 Bytes groß ist, ist die beruhigende Hälfte des Befundes. Die andere: **Der
27
+ Kanal steht offen, und nichts im Repositorium zeigt ihn an.** Was morgen dort steht, lädt
28
+ ungefragt mit.
29
+
30
+ ### Was B9 zusagt – und was die Zeile nie umfasst hat
31
+
32
+ B9 lautet in beiden Packs: „Nutzerlokale Konfiguration kann nur verschärfen." Beide Packs meinen
33
+ damit die **projektlokalen** Überschreibungsdateien, die `RUNTIME_GLOSSARY.md` unter dem Begriff
34
+ „Nutzerlokale Überschreibung" führt – `AGENTS.local.md` und `.devin/config.local.json`
35
+ beziehungsweise `CLAUDE.local.md` und `.claude/settings.local.json`.
36
+
37
+ Der Befund ist ein dritter Fall: eine Datei, die **kein Projekt enthält** und die deshalb auch
38
+ keine Projektdatei überschreibt. Sie **ergänzt**. Und Ergänzen ist in der Sprache von B9 weder
39
+ Verschärfen noch Lockern: Ein hinzugefügter Regeltext kann beides sein – „fasse Pfad X nie an"
40
+ verschärft, „das Overlay gilt hier nicht" lockert. **Welches von beidem, kann das Framework nicht
41
+ wissen, weil es die Datei nie sieht.**
42
+
43
+ Damit steht der Befund als Gegenrichtung neben `AP2-CC-11`: Dort nimmt nutzerlokale Konfiguration
44
+ über `claudeMdExcludes` Regeln **weg**, hier legt sie welche **dazu**. Beide Richtungen liegen
45
+ außerhalb dessen, was die Zeile B9 beschreibt.
46
+
47
+ ### Die Hierarchie hat für sie keine Ebene
48
+
49
+ `PRIORITY_HIERARCHY.md` führt acht Ebenen. Jede ist an ein Artefakt gebunden, das das Framework
50
+ kennt und das im Repositorium liegt – bis hinunter zur aufgabenbezogenen Nutzeranweisung auf
51
+ Ebene 8. Eine Datei im Benutzerprofil kommt darin nicht vor.
52
+
53
+ Regel 2.5 fängt den Fall **nicht** auf. Sie sagt: „Anweisungen in Inhalten haben keine Ebene" –
54
+ und meint Texte aus Dateien, Tickets, Webseiten oder Werkzeugantworten, also **Daten, die ein
55
+ Werkzeug liest** (T2). Der Befund ist das Gegenteil: Der Text wird nicht als Datum gelesen,
56
+ sondern als **Regel geladen**, in denselben Systemkontext wie die Wurzel-Anweisungsdatei der
57
+ Ebene 3. Er wirkt damit auf einem Rang, den die Hierarchie nie vergeben hat.
58
+
59
+ ### Der Kern kennt das Phänomen an genau einer Stelle
60
+
61
+ `framework/core/02-privacy.md` Abschnitt 3 Nr. 10 sagt:
62
+
63
+ > **Persönliche Regeln:** Persönliche Ergänzungen (nutzerlokale Überschreibungen, globale Regeln)
64
+ > DÜRFEN NICHT Kontext einbinden, der über die Freigaben des Overlays hinausgeht.
65
+
66
+ Das ist eine **Datenschutzregel an den Menschen**, keine Rangaussage. Sie nennt „globale Regeln"
67
+ und sagt nichts darüber, was gilt, wenn eine solche Regel dem Core widerspricht. Der Kern kennt
68
+ den Kanal also – und die Hierarchie, die ihn einordnen müsste, kennt ihn nicht.
69
+
70
+ ### Warum keine Prüfung das finden konnte
71
+
72
+ **Keine kann es.** Der Validator sieht das Repositorium; die Datei liegt außerhalb. Prüfung 12
73
+ meldet Nennungen einer *nicht installierten* Laufzeitschicht – eine ganz andere Frage. Gefunden
74
+ hat es ein Kommando des Clients, das die **wirksame** Regelmenge auflistet, nicht die
75
+ konfigurierte. Das ist eine Methode, kein Skript: dieselbe, mit der AP2 die Werkzeugnamen erhoben
76
+ hat.
77
+
78
+ ### Für `claude-code` ist die Frage nicht erhoben
79
+
80
+ Das AP2-Protokoll vom 2026-09-10 hat nicht danach gefragt; das Pack `claude-code` nennt keine
81
+ Regelquelle außerhalb des Projekts. **Ob es dort eine gibt, ist damit unbekannt – nicht
82
+ verneint.** Genau diese Unterscheidung ist der Grund für Abschnitt 2 Nummer 3 dieses Antrags: Ein
83
+ Pack, das keine Quelle nennt, sagt heute nichts darüber aus, ob es keine gibt oder ob nie jemand
84
+ nachgesehen hat.
85
+
86
+ ## 2. Vorgeschlagene Änderung
87
+
88
+ 1. **Die Hierarchie bekommt eine Regel für Quellen, die sie nicht führt.** Neue Regel 2.6 in
89
+ `PRIORITY_HIERARCHY.md`, Formulierungsvorschlag:
90
+
91
+ > **Anweisungsquellen außerhalb des Projekts:** Lädt der KI-Client Regeltexte, Skills oder
92
+ > Profile aus einer Ablage außerhalb des Repositoriums – etwa aus dem Benutzerprofil –, so hat
93
+ > diese Quelle **keine Ebene dieser Hierarchie**. Sie wird behandelt wie eine Nutzeranweisung
94
+ > nach Regel 2.2: Sie DARF den Handlungsspielraum jederzeit **einschränken**, ihn aber nie
95
+ > über die Ebenen 1 bis 4 hinaus **erweitern**. Governance-, Datenschutz- und
96
+ > Sicherheitsregeln DARF sie nicht setzen (Regel 2.3). Widerspricht ihr Inhalt einer höheren
97
+ > Ebene, gilt die höhere Ebene, und der KI-Client meldet den Widerspruch im Ergebnisbericht.
98
+
99
+ 2. **Die Laufzeitfassung trägt denselben Satz.** `framework/runtime/root-instruction.md`
100
+ Abschnitt 2 wird um einen Satz ergänzt. Ohne ihn stünde die Regel nur in der Langform, und
101
+ D-24 hat entschieden, dass eine normative Aussage, die nicht in die Sitzung geladen wird,
102
+ nicht wirkt.
103
+
104
+ 3. **Jedes Client Pack gibt Auskunft.** Neuer Abschnitt „Anweisungsquellen außerhalb des
105
+ Projekts" in `CLIENT_PACK.md`, mit je einer Zeile pro bekannter Quelle (Pfad, Ladebedingung,
106
+ Belegstatus) – **oder** der ausdrücklichen Angabe „keine bekannt, Stand `<JJJJ-MM-TT>`,
107
+ erhoben mit `<Kommando>`". Ein Abwesenheitsbeleg mit Datum, wie ihn `AP2-DD-04` für die
108
+ Indexierung geführt hat (K-20).
109
+
110
+ 4. **Eine Matrixzeile macht die Auskunft prüfbar.** Neue Zeile **R5**: „Die geladenen
111
+ Regelquellen sind vollständig aufzählbar." Für `devin-desktop` ist sie **beobachtet** –
112
+ `devin rules list` führt sie samt Herkunftspfad; für `claude-code` trägt sie bis zur Erhebung
113
+ einen VERIFY-Marker.
114
+
115
+ 5. **Zwei offene Punkte kommen in die Klärungstabelle.**
116
+ - **K-21:** Lässt sich eine Regelquelle außerhalb des Projekts projektseitig ausschließen?
117
+ Offen je Pack, VERIFY-Marker. Das ist die Frage, an der hängt, ob aus der Auskunft je eine Schranke
118
+ werden kann.
119
+ - **K-22:** Führt `claude-code` eine solche Quelle? Nicht erhoben.
120
+
121
+ 6. **Prüfung 19 hält die Auskunft fest.** Jedes Pack unter `clients/` MUSS den Abschnitt führen,
122
+ mit mindestens einer Quellenzeile oder einem datierten Abwesenheitsbeleg. Sonde nach D-23: Der
123
+ Abschnitt wird in einer Kopie entfernt – die Prüfung meldet. Gegenprobe: Ein Pack mit
124
+ datiertem Abwesenheitsbeleg läuft durch.
125
+
126
+ **Was Prüfung 19 nicht leistet, steht in ihrem Kopfkommentar:** Sie prüft die **Anwesenheit**
127
+ der Auskunft, nicht deren **Richtigkeit**. Eine falsche oder veraltete Zeile besteht sie. Die
128
+ Richtigkeit hängt an einer Sitzung, die die Quellen erhebt – nicht an einem Skript. Das ist
129
+ dieselbe Grenze, die `CR-2026-030` für Prüfung 16 ausgewiesen hat, und sie wird hier vorab
130
+ benannt statt später gefunden.
131
+
132
+ ## 3. Was dieser Antrag nicht ändert
133
+
134
+ - **Die acht Ebenen bleiben acht.** Regel 2.6 führt **keine** neue Ebene ein, sie erklärt eine
135
+ Quelle für ebenenlos. D-06 und `clients/README.md` Abschnitt 2 bleiben unberührt.
136
+ - **B9 bleibt, wie es ist.** Die Zeile beschreibt nutzerlokale **Konfiguration** und beschreibt
137
+ sie richtig. Der Befund liegt daneben, nicht darin.
138
+ - **Es entsteht keine technische Schranke.** Das Framework liest das Benutzerprofil nicht und
139
+ sperrt dort nichts. Wer dort schreibt, ist ein Mensch mit Rechten auf seinem eigenen Rechner.
140
+ - **Berechtigungsregeln, Secret-Pfade und Hooks** bleiben unverändert. Was eine fremde Regel
141
+ **anweist**, muss weiterhin durch die Werkzeuge des Clients – und dort steht die Schranke.
142
+
143
+ ## 4. Grenze der Zusage
144
+
145
+ **Eine Auskunft ist keine Schranke.** Der neue Abschnitt macht die Quelle sichtbar; er verhindert
146
+ sie nicht. Wer das Framework für eine Kontrolle des Arbeitsplatzes hält, liest hier mehr, als
147
+ dasteht.
148
+
149
+ **Ein Abwesenheitsbeleg altert.** „Keine bekannt, Stand 2026-09-11" ist am Tag der nächsten
150
+ Clientversion eine Behauptung über die Vergangenheit. Nur eine neue Erhebung hebt ihn wieder auf
151
+ den Stand – Prüfung 19 sieht den Unterschied nicht.
152
+
153
+ **Regel 2.6 ist bei jedem Client `[TEXTUELL]`, und das ist keine Schwäche der Abbildung.** Sie
154
+ sagt, welchen Rang ein Text hat; Rang erzwingt keine Engine. Sie wirkt, wie Ebene 8 wirkt – weil
155
+ das Modell sie liest.
156
+
157
+ **Die leere Datei belegt nichts über den Inhalt.** Beobachtet ist, **dass** sie lädt, nicht, wie
158
+ sich ein Text darin auswirkt. Ein Widerspruchsfall ist nicht erhoben.
159
+
160
+ ## 5. Vorlage zur Entscheidung
161
+
162
+ | Nr. | Frage | Auflösung | Preis |
163
+ |---|---|---|---|
164
+ | E1 | Welchen Rang bekommt eine Quelle außerhalb des Projekts? | **Wie Ebene 8** – einschränken ja, erweitern nein | Ein Text im Benutzerprofil behält eine legitime Wirkung: Wer dort verschärft, tut es wirksam und für das Projekt unsichtbar. Das bleibt unprüfbar |
165
+ | E2 | Stattdessen für unwirksam erklären? | **Nein.** Das wäre eine Zusage ohne Deckung – das Modell liest den Text trotzdem –, und ein legitimer Gebrauch (persönliche Einschränkung) würde mitverboten | Die Hierarchie duldet damit eine Quelle, die sie nicht kontrolliert. Sichtbar statt stillschweigend |
166
+ | E3 | Eine Matrixzeile (Aufzählbarkeit) oder zwei (auch Unterbindbarkeit)? | **Eine** – R5; die Unterbindbarkeit ist unbelegt und steht als K-21 offen | Die schwerere Frage hat keine Zeile und kann übersehen werden; sie hängt allein an der Klärungstabelle |
167
+ | E4 | Prüfung 19 aufnehmen? | **Ja**, mit ausdrücklich benannter Grenze im Kopfkommentar | Eine Prüfung, die Anwesenheit belegt und nicht Richtigkeit – der wiederkehrende Befundtyp dieses Projekts, hier bewusst eingegangen und benannt |
168
+ | E5 | Die Quellen beim Sitzungsstart melden (H3)? | **Nein, nicht in diesem Antrag.** H3 ist bei `devin-desktop` unbeobachtet, der Hook müsste in das Benutzerprofil lesen (K2/K3-Fragen) und Pfade kennen, die der werkzeugneutrale Kern nicht nennen darf | Die Meldung wäre der einzige Mechanismus, der eine **neu hinzugekommene** Quelle zwischen zwei AP2-Läufen bemerkt. Ohne sie altert die Auskunft still |
169
+
170
+ **Zu E5 im Klartext:** Solange H3 nicht beobachtet ist, wäre eine Meldung beim Sitzungsstart eine
171
+ zweite Zusage auf einem unbelegten Mechanismus – genau die Konstruktion, die `AP2-DD-10` acht
172
+ Releases lang getragen hat. Erst wenn H3 belegt ist, lohnt die Frage erneut.
173
+
174
+ ## 6. Entscheidung
175
+
176
+ | Feld | Inhalt |
177
+ |---|---|
178
+ | Entscheidung | **angenommen** |
179
+ | Datum | 2026-09-11 |
180
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
181
+ | Auflagen | E1 bis E5 wie vorgelegt: Rang **wie Ebene 8** (einschränken ja, erweitern nein); keine Unwirksamkeitserklärung; **eine** Matrixzeile (R5), die Unterbindbarkeit bleibt als K-21 offen; Prüfung 19 mit der im Antrag benannten Grenze im Kopfkommentar; **keine** SessionStart-Meldung, solange H3 unbeobachtet ist. Ziel-Release 0.26.0 |
182
+ | Umsetzung | **mit Release 0.26.0** – Einzelheiten und Nachweise in `leitwerk-core/CHANGELOG.md` |
@@ -0,0 +1,151 @@
1
+ # Änderungsantrag `CR-2026-032`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Skill-Ablage eines anderen Clients füllt Ebene 7 mit modellaufrufbaren Verfahren |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-11 |
8
+ | Betroffene Artefakte | `framework/core/08-skill-conventions.md` (0.1.1), beide `CLIENT_PACK.md` (Zeile S4, neuer Abschnitt), `clients/_template/CLIENT_PACK.md`, `governance/DECISION_LOG.md` (Klärungstabelle) |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Skill-Konventionen und Abbildungsschicht; betrifft **beide** Client Packs |
10
+ | Art | Behebung von `AP2-DD-16` (Schwere: mittel); Ausweisung der Reichweite von S4 |
11
+ | Dringlichkeit | regulär |
12
+ | Abhängigkeit | Baut auf dem Abschnitt „Anweisungsquellen außerhalb des Projekts" aus `CR-2026-031` auf (siehe E2) |
13
+
14
+ ## 1. Anlass und Problem
15
+
16
+ `devin skills list` führt in der AP2-Sitzung neben den zwölf `fw-*`-Skills des Frameworks
17
+ **Dutzende Skills aus `~\.claude\skills\`** – der nutzerglobalen Skill-Ablage eines anderen
18
+ Clients. Sämtlich als `[user,model]`, also **vom Modell selbst aufrufbar**.
19
+
20
+ Daneben steht in derselben Ausgabe der Beleg, dass die Zusage des Frameworks für seine eigene
21
+ Ablage hält: **9 der 12 `fw-*`-Skills sind `[user]`** – exakt die Verteilung der Kernquelle. Ohne
22
+ `triggers` wäre der Default `["user","model"]`.
23
+
24
+ **Beides in einer Liste: eine Zusage, die genau so weit reicht wie die Ablage, die das Framework
25
+ schreibt – und daneben eine Ablage, die es nicht schreibt.**
26
+
27
+ ### Was daran den Kern betrifft
28
+
29
+ 1. **Ebene 7 ist von außen befüllt.** Die Prioritätshierarchie führt Skills als Ebene 7. Was dort
30
+ aus dem Benutzerprofil hineinkommt, hat keinen Owner im Sinne der `RACI.md`, keine Version,
31
+ keinen Änderungsverlauf und keine Testfälle – alles Dinge, die
32
+ `08-skill-conventions.md` für einen Framework-Skill normativ verlangt (Pflichtfelder 3, 21,
33
+ 23). Die Konventionen gelten für die Ablage des Frameworks; die Hierarchieebene gilt für
34
+ beide.
35
+
36
+ 2. **`[user,model]` heißt: ohne menschlichen Anstoß.** S4 sagt zu, dass schreibende Skills nur
37
+ benutzergetriggert sind. Die Zusage ist **nicht verletzt** – ihr Gegenstand sind die Skills
38
+ des Frameworks, und dort hält sie nachweislich. Aber ihr **Zweck** – dass kein Verfahren ohne
39
+ menschlichen Anstoß anläuft – wird in der Sitzung nicht erreicht, weil neben der geregelten
40
+ Ablage eine ungeregelte liegt.
41
+
42
+ **S4 verspricht nicht mehr, als es hält. Es hält weniger, als sein Zweck verlangt.** Das ist
43
+ der wiederkehrende Befundtyp dieses Projekts von der anderen Seite gesehen, und er fällt nur
44
+ auf, wenn man die Reichweite einer Zusage neben ihre Wirkung legt.
45
+
46
+ 3. **Regel 2.3 der Hierarchie beruht auf einer Annahme.** „Packs (5, 6) und Skills (7) enthalten
47
+ keine Governance-, Datenschutz- oder Sicherheitsregeln; damit sind Konflikte strukturell
48
+ ausgeschlossen." Strukturell ausgeschlossen sind sie, solange das Framework die Artefakte
49
+ dieser Ebenen schreibt. Für eine fremde Ablage gilt die Annahme nicht – dort kann stehen, was
50
+ will.
51
+
52
+ ### Woher die fremde Ablage kommt
53
+
54
+ Nicht aus einer Installation dieses Frameworks. `install.py` schreibt Skills ausschließlich in
55
+ die **projektbezogene** Ablage des gewählten Packs (`skills_dir` im Manifest, ein relativer
56
+ Pfad). Die Dutzende Skills im Benutzerprofil gehören dem **Arbeitsplatz**, nicht einem Projekt.
57
+
58
+ Bemerkenswert ist die Richtung: Das Framework führt zwei Packs für zwei Clients, und auf einer
59
+ Arbeitsstation, auf der beide Clients installiert sind, **liest der eine die nutzerglobale Ablage
60
+ des anderen mit**. Der Befund ist damit keine Eigenschaft des Repositoriums, sondern eine der
61
+ Arbeitsstation – und das ist genau der Grund, warum ihn kein Validatorlauf erreicht.
62
+
63
+ ## 2. Vorgeschlagene Änderung
64
+
65
+ 1. **Der Abschnitt aus `CR-2026-031` umfasst auch Skills.** „Anweisungsquellen außerhalb des
66
+ Projekts" listet nicht nur Regeltexte, sondern jede Ablage, aus der der Client Anweisungen
67
+ lädt: Regeln, **Skills**, Agentenprofile. Für `devin-desktop` ist der erste Eintrag damit
68
+ belegt: `~\.claude\skills\`, Aufrufbarkeit `[user,model]`, erhoben mit
69
+ `devin skills list --json` am 2026-09-11.
70
+
71
+ 2. **Eine Matrixzeile für die Aufzählbarkeit.** Neue Zeile **S5**: „Die geladenen Skills sind
72
+ vollständig aufzählbar, samt Herkunft und Aufrufbarkeit." Für `devin-desktop`
73
+ **beobachtet** (`devin skills list --json` führt Herkunftspfad und `[user,model]`), für
74
+ `claude-code` bis zur Erhebung mit VERIFY-Marker.
75
+
76
+ 3. **Die Reichweite von S4 wird ausgewiesen, nicht erweitert.** Zusatz in der Belegspalte beider
77
+ Packs und in `08-skill-conventions.md` Abschnitt 7, Formulierungsvorschlag:
78
+
79
+ > Die Zusage gilt für die **Skill-Ablage, die das Framework schreibt**. Skills aus Ablagen
80
+ > außerhalb des Repositoriums unterliegen diesen Konventionen nicht; sie sind nach Regel 2.6
81
+ > der Prioritätshierarchie ebenenlos und dürfen den Handlungsspielraum nur einschränken.
82
+
83
+ 4. **Zwei offene Punkte kommen in die Klärungstabelle.**
84
+ - **K-23:** Lässt sich die Mitnutzung einer fremden Skill-Ablage projektseitig abschalten?
85
+ Offen je Pack, VERIFY-Marker. Die Frage ist billig zu beantworten – `devin skills list --json` und
86
+ `devin doctor` sind Diagnosekommandos ohne Agentenlauf.
87
+ - **K-24:** Erzeugt der Aufruf eines Skills Werkzeugaufrufe, die Berechtigungsregeln und
88
+ Schutz-Hook sehen? In AP2 kam kein Skill-Aufruf vor; erhoben sind nur `exec` und `read`.
89
+ **An dieser Frage hängt die Schwere des Befundes.**
90
+
91
+ 5. **Keine eigene Prüfung.** Prüfung 19 aus `CR-2026-031` deckt die Auskunftspflicht mit ab,
92
+ sobald ihre Abschnittsdefinition Skills einschließt. Eine zweite Prüfung würde dieselbe
93
+ Anwesenheit ein zweites Mal belegen und keine Wirkung mehr.
94
+
95
+ ## 3. Was dieser Antrag nicht ändert
96
+
97
+ - **S4 selbst.** Die Zusage bleibt wörtlich, wie sie ist – sie wird nicht erweitert, sondern in
98
+ ihrer Reichweite beschrieben. Eine Erweiterung wäre eine Zusage über fremde Verzeichnisse, die
99
+ das Framework nicht schreibt und nicht prüfen kann.
100
+ - **Die zwölf `fw-*`-Skills**, die `triggers`-Abbildung und die statische Prüfung darauf. Der
101
+ belegte Teil bleibt unberührt.
102
+ - **Die Prioritätshierarchie.** Regel 2.6 aus `CR-2026-031` deckt Skills bereits ab; hier kommt
103
+ keine weitere Regel hinzu.
104
+ - **Den Arbeitsplatz.** Das Framework stellt keine Anforderung an nutzerglobale Verzeichnisse
105
+ (siehe E4).
106
+
107
+ ## 4. Grenze der Zusage
108
+
109
+ **Aufzählbarkeit ist keine Kontrolle.** Die Liste zeigt, was lädt. Sie verhindert nichts, und sie
110
+ entsteht nur, wenn ein Mensch das Kommando ausführt – im Repositorium beobachtet sie niemand.
111
+ Zwischen zwei AP2-Läufen erscheint ein neuer Skill im Benutzerprofil unbemerkt.
112
+
113
+ **Die zweite Linie steht vermutlich – belegt ist sie nicht.** Was ein fremder Skill tut, muss
114
+ durch die Werkzeuge des Clients, und die sind von den Berechtigungsregeln und – seit 0.25.0 auch
115
+ für das Leseverb – vom Schutz-Hook abgedeckt. **Ob ein Skill-Aufruf tatsächlich als
116
+ Werkzeugaufruf erscheint, ist nicht erhoben** (K-24). Solange das offen ist, ist die Einstufung
117
+ „mittel" eine Annahme, keine Messung.
118
+
119
+ **Nicht erhoben ist auch, ob ein fremder Skill je aufgerufen wurde.** Die Ausgabe zeigt
120
+ Verfügbarkeit, nicht Gebrauch.
121
+
122
+ **Für `claude-code` gilt die Frage spiegelbildlich und ist unbeantwortet.** Ob dieser Client
123
+ seinerseits fremde Skill-Ablagen mitliest, hat AP2 am 2026-09-10 nicht erhoben.
124
+
125
+ ## 5. Vorlage zur Entscheidung
126
+
127
+ | Nr. | Frage | Auflösung | Preis |
128
+ |---|---|---|---|
129
+ | E1 | S4 erweitern oder seine Reichweite ausweisen? | **Ausweisen.** Eine Zusage über Verzeichnisse, die das Framework weder schreibt noch prüft, wäre nicht einlösbar | Die Zusage bleibt kleiner, als ihr Zweck verlangt – künftig sichtbar, statt stillschweigend vorausgesetzt |
130
+ | E2 | Eigener Abschnitt oder Mitnutzung aus `CR-2026-031`? | **Mitnutzung.** Eine Quelle, eine Auskunftspflicht, eine Prüfung | Abhängigkeit: Wird `CR-2026-031` abgelehnt, trägt dieser Antrag den Abschnitt selbst – dann ohne Prüfung 19 und damit ohne jede Durchsetzung |
131
+ | E3 | Neue Matrixzeile S5 oder nur Fließtext in Abschnitt 5? | **Zeile.** Was keine Zeile hat, hat keine Einstufung und keinen Belegstatus | Die Matrix wächst mit R5 aus `CR-2026-031` von 26 auf 28 Zeilen; drei Packs, die Zusammenfassung der Durchsetzungstiefe und das Hauptdokument sind nachzuziehen, und beide Zeilen tragen bei `claude-code` zunächst einen VERIFY-Marker |
132
+ | E4 | Darf das Overlay eine leere fremde Skill-Ablage fordern? | **Nein.** Das Framework regelt das Repositorium, nicht die Arbeitsstation. Eine Forderung, die niemand prüfen kann, ist eine Zusage ohne Deckung | Der Weg, die Lücke wirklich zu schließen, bleibt außerhalb des Frameworks – eine Vorgabe auf Ebene 2 (Organisation) oder eine Clienteinstellung, falls K-23 eine hergibt |
133
+ | E5 | K-24 (Werkzeugweg eines Skill-Aufrufs) jetzt erheben? | **Ja, als Folgearbeit in AP2** – nicht als Teil dieses Antrags. Eine Sitzung mit Aufzeichnungs-Hook in der Umgebung ohne Regeltexte beantwortet sie | Bis dahin bleibt unbelegt, ob Berechtigungsschranke und Schutz-Hook einen fremden Skill überhaupt sehen. Die Schwere des Befundes steht damit unter Vorbehalt |
134
+
135
+ **Zu E5 im Klartext:** Fällt die Erhebung so aus, dass ein Skill-Aufruf **keine** Werkzeugaufrufe
136
+ im Sinne des Hooks erzeugt, ist dies kein Befund der Schwere mittel mehr, sondern einer, der den
137
+ Kern betrifft – dann führt Ebene 7 Verfahren, die an beiden Linien vorbeilaufen. Diese Möglichkeit
138
+ ist der Grund, den Punkt zu erheben und nicht zu schätzen.
139
+
140
+ ## 6. Entscheidung
141
+
142
+ | Feld | Inhalt |
143
+ |---|---|
144
+ | Entscheidung | **angenommen** (2026-09-11, nach Erfüllung der Auflage) |
145
+ | Datum | 2026-09-11 |
146
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
147
+ | Auflagen | E1 bis E5 wie vorgelegt: Die Reichweite von S4 wird **ausgewiesen, nicht erweitert**; der Auskunftsabschnitt aus `CR-2026-031` wird mitgenutzt; Zeile **S5** kommt in die Matrix; das Overlay fordert **keine** leere Fremdablage – die technische Maßnahme liegt in `CR-2026-038` (nicht importieren statt Ablage leer fordern); E5 ist mit der Erhebung erledigt. Ziel-Release 0.26.0 |
148
+ | Umsetzung | **mit Release 0.26.0** – Einzelheiten und Nachweise in `leitwerk-core/CHANGELOG.md` |
149
+
150
+
151
+ **Nachtrag 2026-09-11 – K-24 ist erhoben** (`tests/protocols/2026-09-11-erhebungen-K21-K26.md`): Eine Sonde in der fremden Skill-Ablage erzeugte zwei `read`-Werkzeugaufrufe; beide erreichten den Schutz-Hook, der Zugriff auf die Secret-Datei wurde blockiert – auch im Modus ohne Rückfragen und mit Positivkontrolle im selben Lauf. Der Skill-Aufruf selbst erzeugt **keinen** eigenen Werkzeugaufruf. **Die Schwere bleibt mittel, der vorgelegte Zuschnitt trägt.** Dazu ist K-23 beantwortet: Die fremde Ablage lässt sich projektseitig abschalten (`read_config_from.claude: false`, gemessen 69 → 2 Skills) – E4 ist damit neu zu bewerten, und `CR-2026-038` legt den Mechanismus vor