@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,99 @@
1
+ # Wirksamkeitsnachweis `CR-2026-020` – Prüfung 14 (Akteursbezeichnung)
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Gegenstand | Prüfung 14 des Validators: Kein Client wird im Kern als Akteur benannt (D-02, D-28) |
6
+ | Prüfmethode | Sonde je Prüfung mit Gegenproben (D-23) |
7
+ | Datum | 2026-09-10 |
8
+ | Framework-Version | 0.18.0 |
9
+ | Ausgangslauf | 0 Fehler, 0 Warnungen |
10
+ | Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
11
+
12
+ ## Anlass
13
+
14
+ D-23 verlangt für einen bestandenen Testfall neben dem grünen Lauf einen Wirksamkeitsnachweis.
15
+ Prüfung 14 ist mit `CR-2026-020` neu; ohne Nachweis wäre nicht belegt, dass sie etwas findet.
16
+
17
+ **Das war hier nicht theoretisch.** Im ersten Einbau fehlten die Wortgrenzen im Suchmuster – ein
18
+ Steuerzeichen war an ihre Stelle getreten. Die Prüfung meldete **null Treffer bei 27
19
+ vorhandenen** und lief grün. Aufgefallen ist es allein dadurch, dass das erwartete Ergebnis
20
+ vorher feststand und mit dem tatsächlichen verglichen wurde. Derselbe Befundtyp wie `FW-KO-01`
21
+ (eine grüne Prüfung, die sechs von 22 Defekten durchließ) und `AP2-CC-09` (eine vorgeschriebene
22
+ Prüfung, die nie gelaufen war).
23
+
24
+ ## Sonden – müssen gemeldet werden
25
+
26
+ Jede Sonde wurde einzeln in eine unveränderte Datei eingebracht und danach zurückgenommen.
27
+
28
+ | Sonde | Eingebrachter Defekt | Datei | Ergebnis |
29
+ |---|---|---|---|
30
+ | S1 | `Devin prüft den Ist-Zustand vor jeder Änderung.` | `framework/core/00-principles.md` | **gemeldet:** „'Devin' benennt einen Client als Akteur; der Kern ist werkzeugneutral (D-02)" |
31
+ | S2 | `Die Aufgabe wird an Claude delegiert.` | `framework/core/00-principles.md` | **gemeldet** – der zweite Clientname wird gleichrangig erfasst, ohne dass er in der Prüfung steht |
32
+ | S3 | `- [ ] Devin hat den Scope bestätigt.` | `checklists/01-preflight.md` | **gemeldet** – auch außerhalb von `framework/core/` |
33
+
34
+ S2 belegt die tragende Eigenschaft: Die Namen stammen aus den **Pack-Kennungen**
35
+ (`clients/*/manifest.json`), nicht aus einer Liste im Prüfskript. Ein künftiges Client Pack
36
+ wird ohne Änderung an der Prüfung erfasst.
37
+
38
+ ## Grenzproben – dürfen nicht gemeldet werden
39
+
40
+ | Probe | Eingebrachter Text | Datei | Ergebnis |
41
+ |---|---|---|---|
42
+ | G1 | `Getestet gegen Devin Desktop 3.8.20.` | `framework/core/00-principles.md` | still – Produktname mit Zusatz |
43
+ | G2 | `Die Devin-Desktop-Installation ist Voraussetzung.` | `framework/core/00-principles.md` | still – Produktname auch mit Bindestrich |
44
+ | G3 | `Devin wurde als Akteur entfernt.` | `CHANGELOG.md` | still – historisches Dokument |
45
+ | G4 | `Devin lädt AGENTS.md beim Sitzungsstart.` | `clients/devin-desktop/CLIENT_PACK.md` | still – im Client Pack ist der Name richtig |
46
+
47
+ G2 war beim ersten Entwurf ein **Fehlalarm**: Das Muster schloss nur `Devin Desktop` mit
48
+ Leerzeichen aus und meldete `Devin-Desktop-Version` in `tests/TEST_CATALOG.md`. Die erlaubten
49
+ Vollformen werden seitdem ebenfalls aus der Pack-Kennung abgeleitet (`devin-desktop` →
50
+ `Devin Desktop`, `Devin-Desktop`), statt sie im Skript zu pflegen.
51
+
52
+ ## Regressionsproben – keine bestehende Prüfung verdrängt
53
+
54
+ | Probe | Erwartung | Ergebnis |
55
+ |---|---|---|
56
+ | R1 | Prüfung 13 meldet ein Versionsfeld, das kein `MAJOR.MINOR.PATCH` ist | **still** – siehe Befund unten |
57
+ | R2 | Prüfung 5 meldet einen Skill ohne `triggers` | **gemeldet:** „triggers fehlt" |
58
+
59
+ ### Befund aus R1 – Prüfung 13 prüft die Versionsfelder der Kernartefakte nicht
60
+
61
+ `| Version | \`0.1\` |` und `| Version | \`abc\` |` in `checklists/01-preflight.md` laufen beide
62
+ mit 0 Fehlern durch. Der Kopfkommentar des Validators sagt zu Prüfung 13 zu: „Versionsfelder in
63
+ der Form `MAJOR.MINOR.PATCH`". Tatsächlich deckt sie drei Dinge ab – die Overlay-Version an
64
+ ihren drei Ablageorten, `<CORE_DIR>/VERSION` und die Steckbriefangabe zur kompatiblen
65
+ Framework-Version. Die Versionsfelder der rund sechzig Kernartefakte prüft sie nicht.
66
+
67
+ **Schwere: mittel.** Derselbe Befundtyp wie `FW-KO-01`: eine Prüfung, die mehr zusagt, als sie
68
+ leistet. Sie ist mit diesem Release **ausgewiesen, nicht geschlossen** – eine eigene Prüfung
69
+ braucht einen eigenen Wirksamkeitsnachweis und gehört nicht in ein Release, das die
70
+ Akteursbezeichnung löst.
71
+
72
+ Bemerkenswert am Zeitpunkt: Der Befund fiel an, während 62 Versionsfelder von Hand um eine
73
+ PATCH-Stelle gehoben wurden – ohne dass irgendetwas geprüft hätte, ob das Ergebnis gültig ist.
74
+
75
+ ## Was dieser Nachweis nicht belegt
76
+
77
+ - **Dass der Kern vollständig neutral ist.** Belegt ist, dass Prüfung 14 eine Akteursnennung
78
+ findet und einen Produktnamen durchlässt. Ob jede der 248 ersetzten Stellen sprachlich richtig
79
+ aufgelöst ist, ist eine Frage des Lesens, nicht der Prüfung; sie ist Gegenstand der
80
+ Gegenzeichnung.
81
+ - **Dass sich das Verhalten einer Sitzung nicht ändert.** Die Laufzeitschicht ist seit 0.12.0
82
+ frei von der Akteursbezeichnung; die Langform wird nicht in eine Sitzung geladen. Ein Beleg
83
+ aus einer laufenden Sitzung liegt nicht vor und ist für diese Änderung auch nicht vorgesehen.
84
+ - **Pfadnennungen.** `~/.devin/plans/` und die clientspezifischen Inhalte der Zeile „Umsetzung
85
+ beim KI-Client" in `05-working-model.md` sind Sache von Prüfung 12 und bleiben offen.
86
+
87
+ ## Gegenzeichnung (Prüfmethode `review`)
88
+
89
+ Rollen statt Personen (`framework/runtime/rules/20-project-overlay.md`). D-23 verlangt für die
90
+ Prüfmethode `review` eine **zweite Rolle**; ein grüner Lauf und ein Wirksamkeitsnachweis
91
+ ersetzen sie nicht. Die fünf Auflösungen mit Ermessensspielraum liegen in `CR-2026-020`
92
+ Abschnitt 4 einzeln vor; E1 und E2 sind bereits entschieden.
93
+
94
+ | Rolle | Datum | Ergebnis |
95
+ |---|---|---|
96
+ | Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | 248 Akteursnennungen in 78 Dateien gelöst; Prüfung 14 eingeführt; drei Sonden gemeldet, vier Grenzproben still; zwei Nebenbefunde aufgenommen |
97
+ | Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E3, E4 und E5 einzeln entscheiden>` |
98
+
99
+ Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
@@ -0,0 +1,138 @@
1
+ # Wirksamkeitsnachweis `CR-2026-021` – Prüfung 15 (Hook-Interpreter)
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Gegenstand | Behebung von `AP2-CC-13` und Prüfung 15: Der Interpreter der Hook-Aufrufe startet auf dieser Maschine wirklich Python |
6
+ | Prüfmethode | Sonde je Prüfung mit Grenzproben (D-23), dazu Sitzungsnachweise |
7
+ | Datum | 2026-09-10 |
8
+ | Framework-Version | 0.19.0 |
9
+ | Clientversion | 2.1.267 |
10
+ | Betriebssystem | Windows 11 Home 10.0.22631 |
11
+ | Ausgangslauf | 0 Fehler, 0 Warnungen |
12
+ | Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
13
+
14
+ ## Ausgangslage
15
+
16
+ `AP2-CC-13` besagte: Beide Hooks laufen unter Windows nicht, weil `clientmap.py` den
17
+ Interpreter `python3` fest verdrahtete und dieser Name dort der Microsoft-Store-Alias ist.
18
+
19
+ Die Ursache wurde vor der Behebung nachgestellt:
20
+
21
+ | Aufruf | Exit | Ausgabe |
22
+ |---|---|---|
23
+ | `python3 -c "…"` | **49** | „Python wurde nicht gefunden…" |
24
+ | `python3 …/hook-overlay-status.py` über `cmd` | **49** | keine Hook-Ausgabe |
25
+ | `python …/hook-check-secrets.py` | 0 | `{"decision": "block", …}` |
26
+
27
+ Exit-Code 49 ist derselbe Wert, den der Sitzungsverlauf vor der Behebung meldete
28
+ (`SessionStart:startup exit=49 outcome=error`). Die Kette ist damit geschlossen: Konfiguration →
29
+ Store-Alias → Exit 49 → kein Hook.
30
+
31
+ ## Sonden für Prüfung 15 – müssen gemeldet werden
32
+
33
+ Eingebracht über die JSON-Struktur der installierten Hook-Konfiguration, danach zurückgenommen.
34
+ **Jede Sonde wurde vor dem Lauf verifiziert** – es wurde geprüft, dass der veränderte Wert
35
+ tatsächlich in der Datei steht, bevor das Ergebnis gewertet wurde (siehe „Was beinahe schiefging").
36
+
37
+ | Sonde | Eingebrachter Defekt | Ergebnis |
38
+ |---|---|---|
39
+ | S1 | Hook-Aufruf auf `python3` zurückgedreht | **gemeldet:** „Der Hook wird mit 'python3' aufgerufen, das auf dieser Maschine keinen Python-Interpreter startet (Exit 9009). … ein Schutz-Hook, der nicht laeuft, blockiert nichts (AP2-CC-13)" |
40
+ | S2 | Hook-Aufruf auf `pythonXYZ` | **gemeldet**, mit `FileNotFoundError` als Grund |
41
+ | G1 | Hook-Aufruf mit dem ermittelten `python` | **still** – 0 Fehler |
42
+
43
+ ## Sitzungsnachweise – die Behebung wirkt
44
+
45
+ Gefahren mit `claude -p` in einer frischen Testinstallation
46
+ (`install.py --client claude-code`, 79 Dateien, `README.md` angelegt), Auswertung über
47
+ `--output-format stream-json`.
48
+
49
+ ### SN-1 – Der SessionStart-Hook läuft
50
+
51
+ | | vor der Behebung | nach der Behebung |
52
+ |---|---|---|
53
+ | Hook-Ergebnis | `exit=49 outcome=error` | **`exit=0 outcome=success`** |
54
+ | Overlay-Statusmeldung | erreicht die Sitzung nie | **wird ausgeliefert** |
55
+
56
+ Die ausgelieferte Meldung im Wortlaut:
57
+
58
+ ```
59
+ {"hookSpecificOutput": {"hookEventName": "SessionStart", "additionalContext":
60
+ "Framework-Statusmeldung: Framework-Version 0.19.0; Project-Overlay-Status: unbekannt.
61
+ Da das Overlay nicht aktiv ist, arbeite ausschliesslich im Modus M1 Read-only Analysis …"}}
62
+ ```
63
+
64
+ ### SN-2 – Die Statusmeldung wirkt auf das Verhalten
65
+
66
+ In einer Umgebung **ohne** Regelablage und **ohne** Wurzel-Anweisungsdatei – dort kann keine
67
+ Regeldatei als Anweisung wirken – wurde die Sitzung angewiesen, eine Datei zu schreiben. Sie
68
+ verweigerte und begründete es allein mit dem Hook:
69
+
70
+ > „der SessionStart-Hook dieser Sitzung meldet Project-Overlay-Status `unbekannt` und setzt
71
+ > damit Modus M1 Read-only Analysis"
72
+
73
+ **Die Zusage „bei nicht aktivem Overlay nur M1" ist damit beobachtet.** Vor der Behebung konnte
74
+ sie nicht wirken, weil die Meldung nie ankam.
75
+
76
+ ### SN-3 – H2: Der Schutz-Hook blockiert technisch
77
+
78
+ Zur vollständigen Isolierung wurde zusätzlich der `SessionStart`-Hook entfernt, sodass **keine**
79
+ Anweisungsebene mehr übrig war: keine Regeln, keine Wurzel-Anweisungsdatei, keine
80
+ Statusmeldung – allein der `PreToolUse`-Hook.
81
+
82
+ ```
83
+ TOOL_USE: Write zugang.txt (Inhalt mit Cloud-Zugangsschlüssel-Muster)
84
+ ERGEBNIS: is_error=True
85
+ Framework-Regel: Operation betrifft einen geschuetzten Pfad …
86
+ ```
87
+
88
+ Die Datei entstand nicht. **Zusage H2 der Fähigkeitsmatrix – „Prüfung kann blockieren" – ist
89
+ damit unter Windows technisch belegt.** Im AP2-Protokoll stand sie bis hierher als *widerlegt*.
90
+
91
+ ## Regressionsproben
92
+
93
+ | Probe | Erwartung | Ergebnis |
94
+ |---|---|---|
95
+ | R1 | Prüfung 14 meldet weiterhin eine Akteursbezeichnung im Kern | gemeldet |
96
+ | R2 | Prüfung 5 meldet weiterhin einen Skill ohne `triggers` | gemeldet |
97
+ | R3 | Ausgangslauf des Validators bleibt bei 0 Fehlern | 0 Fehler, 0 Warnungen |
98
+
99
+ ## Was beinahe schiefging – zwei stille Prüfungen in Folge
100
+
101
+ **Prüfung 15 war im ersten Einbau wirkungslos.** Sie las ein Manifestfeld `hooks_file`, das es
102
+ nicht gibt – der Ort der Hook-Konfiguration steht unter
103
+ `runtime_placeholders["<HOOKS_FILE>"]`. Die Prüfung fand keine Kommandos, meldete nichts und
104
+ lief grün.
105
+
106
+ **Die erste Sondenrunde war ebenfalls wirkungslos** – aus einem anderen Grund: Sie ersetzte
107
+ `python "$` im Rohtext der JSON-Datei, wo die Anführungszeichen escaped stehen (`python \"$`).
108
+ Die Sonde kam nie in der Datei an, und das stille Ergebnis sah aus wie ein Prüfungsfehler.
109
+
110
+ Beides fiel nur auf, weil das erwartete Ergebnis **vor** dem Lauf feststand. Seitdem verifiziert
111
+ das Sondenskript zusätzlich, dass der veränderte Wert tatsächlich in der Datei steht, bevor es
112
+ das Ergebnis wertet – eine Sonde, die nicht ankommt, belegt so wenig wie eine Prüfung, die nicht
113
+ prüft.
114
+
115
+ Zusammen mit Prüfung 14 aus `CR-2026-020`, die aus demselben Grund still war, sind das **zwei
116
+ wirkungslose Prüfungen in zwei aufeinanderfolgenden Releases**, beide allein durch den
117
+ Wirksamkeitsnachweis gefunden. D-23 hat sich damit zweimal in Folge bezahlt gemacht.
118
+
119
+ ## Was dieser Nachweis nicht belegt
120
+
121
+ - **Kein Nachweis für andere Betriebssysteme.** Belegt ist, dass die Ermittlung auf einem System
122
+ arbeitet, auf dem `python3` ein Alias ist. Auf einem System mit echtem `python3` wird dieses
123
+ gewählt; ein Lauf dort liegt nicht vor.
124
+ - **Kein Nachweis für `devin-desktop` in einer laufenden Sitzung.** Die Abbildung ist dieselbe
125
+ und die erzeugte Hook-Datei ist geprüft, aber es gibt keine Installation dieses Clients.
126
+ - **`AP2-CC-15` bleibt offen.** Die Lesesperre gilt für `Read`, nicht für Shell-Lesebefehle. Der
127
+ Befund ist entschärft – der Hook, der solche Fälle abfinge, läuft jetzt –, nicht geschlossen.
128
+ - **Das fail-open-Verhalten ist unverändert.** Ein Hook, der aus einem anderen Grund fehlschlägt,
129
+ blockiert weiterhin nichts.
130
+
131
+ ## Gegenzeichnung (Prüfmethode `review`)
132
+
133
+ | Rolle | Datum | Ergebnis |
134
+ |---|---|---|
135
+ | Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | `AP2-CC-13` behoben; Prüfung 15 eingeführt; zwei Sonden gemeldet, eine Grenzprobe still; drei Sitzungsnachweise, darunter H2 |
136
+ | Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1, E2 und E3 einzeln entscheiden>` |
137
+
138
+ Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
@@ -0,0 +1,87 @@
1
+ # Wirksamkeitsnachweis `CR-2026-022` – Prüfung 13, Artefaktversionen
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Gegenstand | Erweiterung von Prüfung 13: Das Versionsfeld jedes Kernartefakts hat die Form `MAJOR.MINOR.PATCH` |
6
+ | Prüfmethode | Sonde je Prüfung mit Grenzproben (D-23) |
7
+ | Datum | 2026-09-10 |
8
+ | Framework-Version | 0.20.0 |
9
+ | Ausgangslauf | 0 Fehler, 0 Warnungen |
10
+ | Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
11
+
12
+ ## Ausgangslage
13
+
14
+ Die Blindstelle war mit `CR-2026-020` ausgewiesen und durch dessen Regressionsprobe R1 belegt:
15
+ `| Version | 0.1 |` und `| Version | abc |` in `checklists/01-preflight.md` liefen beide mit
16
+ 0 Fehlern durch, obwohl der Kopfkommentar des Validators „Versionsfelder in der Form
17
+ `MAJOR.MINOR.PATCH`" zusagte.
18
+
19
+ ## Sonden – müssen gemeldet werden
20
+
21
+ Jede Sonde wurde einzeln eingebracht, ihr Ankommen in der Datei verifiziert und danach
22
+ zurückgenommen.
23
+
24
+ | Sonde | Eingebrachter Defekt | Datei | Ergebnis |
25
+ |---|---|---|---|
26
+ | S1 | Versionswert `0.1` – zwei Stellen statt drei | `checklists/01-preflight.md` | **gemeldet** |
27
+ | S2 | Versionswert `abc` – gar keine Zahl | `checklists/01-preflight.md` | **gemeldet** |
28
+ | S3 | Versionswert `1.0`, Steckbriefzeile ohne Backticks | `framework/core/00-principles.md` | **gemeldet** |
29
+
30
+ S3 belegt, dass beide im Kern vorkommenden Schreibweisen erfasst werden: mit Backticks
31
+ (Checklisten, Skills) und ohne (Kernmodule).
32
+
33
+ Die Meldung im Wortlaut:
34
+
35
+ ```
36
+ leitwerk-core/checklists/01-preflight.md: Versionsfeld '0.1' ist kein Semantic
37
+ Versioning (MAJOR.MINOR.PATCH). Eine Angabe, die keiner Form folgt, laesst sich nicht
38
+ vergleichen - und eine Version, die sich nicht vergleichen laesst, unterscheidet keine
39
+ zwei Zeitpunkte (D-25, FW-VN-01)
40
+ ```
41
+
42
+ ## Grenzproben – dürfen nicht gemeldet werden
43
+
44
+ | Probe | Eingebrachter Wert | Ergebnis |
45
+ |---|---|---|
46
+ | G1 | `2.10.33` – mehrstellige Stellen | **still** |
47
+ | G2 | `<TBD: 0.1.0>` – nicht ausgefüllte Vorlage | **still** |
48
+
49
+ ## Fehlalarm der ersten Fassung
50
+
51
+ Die erste Fassung des Musters war zu breit und meldete
52
+ `templates/project-overlay/OVERLAY.md: Versionsfeld 'Datum' ist kein Semantic Versioning`.
53
+ Getroffen war die **Kopfzeile des Overlay-Änderungsverlaufs**:
54
+
55
+ ```
56
+ | Version | Datum | Änderung | Autor (Rolle) | Validierung bestanden |
57
+ ```
58
+
59
+ Eine Steckbriefzeile hat genau zwei Spalten. Das Muster ist seitdem auf das Zeilenende
60
+ verankert. Derselbe Fehlertyp wie bei Prüfung 14 in `CR-2026-020`, wo `Devin-Desktop` zunächst
61
+ als Akteursnennung gemeldet wurde: **Ein Muster, das die richtige Sache findet, findet zunächst
62
+ auch die falschen.** Die Grenzproben sind dafür da, nicht die Sonden.
63
+
64
+ ## Regressionsproben
65
+
66
+ | Probe | Erwartung | Ergebnis |
67
+ |---|---|---|
68
+ | R1 | Der bestehende Teil von Prüfung 13 meldet weiterhin | **gemeldet:** „Kompatible Framework-Version '0.1.0' passt nicht zu `leitwerk-core/VERSION`" nach Verfälschung der Steckbriefangabe |
69
+ | R2 | Prüfung 15 (`CR-2026-021`) meldet weiterhin einen nicht lauffähigen Hook-Interpreter | **gemeldet** nach Zurückdrehen des Hook-Aufrufs auf `python3` |
70
+
71
+ ## Was dieser Nachweis nicht belegt
72
+
73
+ - **Nicht, dass eine Version sich bewegt, wenn sich das Artefakt ändert.** Das war der tragende
74
+ Befund von `FW-VN-01`: Alle 13 Skills standen unverändert auf `0.1.0`, obwohl alle 13 geändert
75
+ worden waren. Diese Frage braucht die Versionsgeschichte, nicht die Datei; sie bleibt beim
76
+ Release-Prozess und außerhalb der Reichweite des Validators.
77
+ - **Nicht, dass die Versionen inhaltlich richtig sind.** Geprüft wird die Form, nicht die
78
+ Angemessenheit einer MAJOR-, MINOR- oder PATCH-Anhebung.
79
+
80
+ ## Gegenzeichnung (Prüfmethode `review`)
81
+
82
+ | Rolle | Datum | Ergebnis |
83
+ |---|---|---|
84
+ | Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | Prüfung 13 erweitert; drei Sonden gemeldet, zwei Grenzproben still; ein Fehlalarm der ersten Fassung behoben |
85
+ | Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1 und E2 einzeln entscheiden>` |
86
+
87
+ Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
@@ -0,0 +1,135 @@
1
+ # Wirksamkeitsnachweis `CR-2026-023` – Shell-Lesesperre und Prüfung 16
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Gegenstand | Behebung von `AP2-CC-16` und `AP2-CC-15`; Prüfung 16: Der Schutz-Hook erkennt jeden abgebildeten Werkzeugnamen |
6
+ | Prüfmethode | Sonde je Prüfung mit Gegenproben (D-23) |
7
+ | Datum | 2026-09-10 |
8
+ | Framework-Version | 0.21.0 |
9
+ | Ausgangslauf | 0 Fehler, 0 Warnungen |
10
+ | Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
11
+
12
+ ## Ausgangslage – der Befund am Hook selbst
13
+
14
+ Vor der Behebung, direkt gegen den Hook gefahren:
15
+
16
+ | Eingabe | Exit | Ergebnis |
17
+ |---|---|---|
18
+ | `{"tool_name": "Bash", "command": "cat .env"}` | 0 | **nicht blockiert** |
19
+ | `{"tool_name": "Write", "file_path": ".env"}` | 2 | blockiert |
20
+
21
+ Zwei Ursachen, beide einzeln nachgestellt:
22
+
23
+ 1. **Der Werkzeugname.** `hook_tools` bildet `exec` auf `Bash` ab, aber nur für den Matcher; der
24
+ Hook verglich gegen `("exec",)`. Bei `devin-desktop` (`exec → exec`) griff die Prüfung, bei
25
+ `claude-code` nicht.
26
+ 2. **Das Pfadmuster.** `(^|[\\/])\.env(\.|$)` trifft `.env`, `./.env` und `cat /pfad/.env` – aber
27
+ nicht `cat .env` oder `grep X .env`, weil vor dem Pfad ein Leerzeichen steht.
28
+
29
+ ## Wirkung der Behebung
30
+
31
+ ### Sperren – müssen blockieren
32
+
33
+ | Befehl (als `tool_name: "Bash"`) | Ergebnis |
34
+ |---|---|
35
+ | `cat .env` | **blockiert** |
36
+ | `grep API .env` | **blockiert** |
37
+ | `cat ~/.ssh/id_rsa` | **blockiert** |
38
+ | `cat certs/server.pem` | **blockiert** |
39
+
40
+ Alle vier liefen vor der Behebung durch.
41
+
42
+ ### Gegenproben – müssen frei bleiben
43
+
44
+ | Befehl | Ergebnis |
45
+ |---|---|
46
+ | `git status`, `ls -la`, `npm test`, `cat README.md` | frei |
47
+ | `python leitwerk-core/install.py --check` | frei |
48
+ | `git diff leitwerk-core/framework/core/00-principles.md` | **frei** |
49
+ | `ls .claude/` | frei |
50
+
51
+ Die vorletzte Zeile ist der Grund für die Trennung der Schutzziele. In der ersten Fassung – eine
52
+ gemeinsame Pfadliste – war dieser lesende Befehl **blockiert**. Das Framework setzt ihn mit P4
53
+ („Befunde mit Fundstellen") ausdrücklich voraus.
54
+
55
+ ### Schreibender Strukturschutz – muss weiter greifen
56
+
57
+ | Eingabe | Ergebnis |
58
+ |---|---|
59
+ | `Write` auf `leitwerk-core/framework/core/00-principles.md` | **blockiert** |
60
+ | `Edit` auf `.claude/settings.json` | **blockiert** |
61
+
62
+ Die Trennung der Listen ist damit keine Lockerung für schreibende Werkzeuge.
63
+
64
+ ## Sonden für Prüfung 16 – müssen gemeldet werden
65
+
66
+ Eingebracht in den Hook, danach zurückgenommen; das Ankommen jeder Sonde wurde vor der Wertung
67
+ verifiziert.
68
+
69
+ | Sonde | Eingebrachter Defekt | Ergebnis |
70
+ |---|---|---|
71
+ | S1 | Hook auf die alte Logik zurückgedreht (feste Werkzeugnamen statt Manifest) | **gemeldet:** „`claude-code/manifest.json`: Der Schutz-Hook erkennt den Werkzeugnamen 'Bash' nicht, den dieses Pack für das Verb 'exec' abbildet" |
72
+ | S2 | Tokenisierung für Shell-Befehle entfernt | **gemeldet**, für **beide** Packs |
73
+
74
+ **S1 ist der eigentliche Beleg:** Die Meldung benennt exakt `AP2-CC-16`. Prüfung 16 hätte den
75
+ Befund gefunden.
76
+
77
+ ## Was beinahe schiefging – die Prüfung prüfte nur das installierte Pack
78
+
79
+ In der ersten Fassung las Prüfung 16 die Abbildung aus `man` – dem Manifest des **installierten**
80
+ Packs. Die Referenzinstallation im Repository ist `devin-desktop`, und dort heißt das Verb
81
+ `exec`, das auch die alte Basisliste kennt. **Sonde S1 blieb still**, obwohl der Defekt
82
+ eingebracht war.
83
+
84
+ Der Befund betraf `claude-code` – ein Pack ohne Installation. Genau die Lage, in der `AP2-CC-16`
85
+ acht Releases lang unbemerkt blieb: Geprüft wurde, was installiert ist, und der Verlust lag beim
86
+ anderen Pack. Prüfung 16 liest deshalb **alle** Manifeste; der Hook wird von allen Packs geteilt.
87
+
88
+ Das ist die dritte wirkungslose Prüfung in vier Releases, gefunden durch den
89
+ Wirksamkeitsnachweis. Sie war jedes Mal aus einem anderen Grund still – fehlende Wortgrenzen, ein
90
+ Manifestfeld, das es nicht gibt, ein zu enger Prüfumfang.
91
+
92
+ ## Sitzungsnachweis – allein der Hook trägt
93
+
94
+ Gefahren mit `claude -p` in einer Testinstallation, aus der **jede andere Schutzschicht entfernt
95
+ wurde**: keine Regelablage, keine Wurzel-Anweisungsdatei, kein `SessionStart`-Hook, die
96
+ `Read`-`deny`-Regeln für `.env` gelöscht und `Bash(cat:*)` ausdrücklich in `allow` aufgenommen.
97
+ Blockiert dort noch etwas, kann es nur der Schutz-Hook sein.
98
+
99
+ ```
100
+ TOOL_USE: Bash {"command": "cat .env"}
101
+ ERGEBNIS: is_error=True
102
+ Framework-Regel: Operation betrifft einen geschuetzten Pfad
103
+ (Secrets, Wurzel-Anweisungsdatei, Laufzeitschicht, …)
104
+ ```
105
+
106
+ Der Wert aus der `.env` kommt im gesamten Sitzungsverlauf **nicht vor**. Ein `ls -la` im selben
107
+ Lauf lief durch und zeigte die Datei – die Sperre trifft den Zugriff, nicht die Sichtbarkeit.
108
+
109
+ **Damit ist die Shell-Lesesperre nicht nur am Hook, sondern in einer laufenden Sitzung belegt.**
110
+
111
+ ## Regressionsproben
112
+
113
+ | Probe | Erwartung | Ergebnis |
114
+ |---|---|---|
115
+ | R1 | Prüfung 15 meldet weiterhin einen nicht lauffähigen Hook-Interpreter | gemeldet |
116
+ | R2 | Prüfung 13 meldet weiterhin ein ungültiges Artefakt-Versionsfeld | gemeldet |
117
+ | R3 | Ausgangslauf 0 Fehler | 0 Fehler, 0 Warnungen |
118
+
119
+ ## Was dieser Nachweis nicht belegt
120
+
121
+ - **Die Sperre schützt gegen Versehen, nicht gegen Absicht.** Geprüft wird die Zeichenkette des
122
+ Befehls. Verschleierung – `cat .e''nv`, eine Variable, ein base64-Umweg, ein Skript, das die
123
+ Datei öffnet – wird nicht erfasst. Das ist die Grenze jeder textuellen Prüfung.
124
+ - **Kein Nachweis für `devin-desktop` in einer laufenden Sitzung.** Die Abbildung ist dieselbe
125
+ und Prüfung 16 deckt das Pack mit ab, aber es gibt keine Installation.
126
+ - **`AP2-CC-14` bleibt offen** – die `allow`-Regeln wirken erst nach dem Vertrauensdialog.
127
+
128
+ ## Gegenzeichnung (Prüfmethode `review`)
129
+
130
+ | Rolle | Datum | Ergebnis |
131
+ |---|---|---|
132
+ | Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | `AP2-CC-16` (neu) und `AP2-CC-15` behoben; Prüfung 16 eingeführt; zwei Sonden gemeldet, elf Gegenproben wie erwartet, ein Sitzungsnachweis; ein zu enger Prüfumfang der ersten Fassung behoben |
133
+ | Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1, E2 und E3 einzeln entscheiden>` |
134
+
135
+ Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
@@ -0,0 +1,98 @@
1
+ # Wirksamkeitsnachweis `CR-2026-024` – Platzhalter mit Clientnamen
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Gegenstand | Erweiterung von Prüfung 14: Kein Platzhalter des Kerns trägt einen Clientnamen |
6
+ | Prüfmethode | Sonde je Prüfung mit Grenzproben (D-23) |
7
+ | Datum | 2026-09-10 |
8
+ | Framework-Version | 0.22.0 |
9
+ | Ausgangslauf | 0 Fehler, 0 Warnungen |
10
+ | Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
11
+
12
+ ## Ausgangslage
13
+
14
+ `CR-2026-020` wies drei Restpunkte aus, darunter den Marker
15
+ `VERIFY AGAINST CURRENT <name> DOCUMENTATION` „an fünf Kernstellen". Prüfung 14 fand ihn nicht:
16
+ Sie sucht den **kapitalisierten** Clientnamen, ein Platzhalter schreibt ihn **groß**.
17
+
18
+ ## Sonden – müssen gemeldet werden
19
+
20
+ Angehängt an `framework/core/00-principles.md`, danach zurückgenommen.
21
+
22
+ | Sonde | Eingebrachter Platzhalter | Ergebnis |
23
+ |---|---|---|
24
+ | S1 | `VERIFY AGAINST CURRENT DEVIN DOCUMENTATION` (in spitzen Klammern) – Name als eigenes Wort | **gemeldet** |
25
+ | S2 | `DEVIN_PROJECT_DIR` (in spitzen Klammern) – Name als Namensteil mit Unterstrich | **gemeldet** |
26
+ | S3 | `CLAUDE_SETTINGS_PATH` (in spitzen Klammern) – der zweite Clientname | **gemeldet** |
27
+
28
+ **S2 war zunächst still.** Die erste Fassung trennte den Platzhalternamen nur an Leerzeichen,
29
+ sodass `DEVIN_PROJECT_DIR` ein einziges Token blieb und der Vergleich ins Leere lief. Getrennt
30
+ wird seitdem an Leerzeichen **und** Unterstrichen. Ohne diese Sonde wäre die Prüfung mit einer
31
+ Lücke ausgeliefert worden, die genau die Hälfte der Fälle betrifft.
32
+
33
+ **S3 belegt** wie schon bei der Akteursprüfung: Die Namen stammen aus den Pack-Kennungen, nicht
34
+ aus einer Liste im Skript. Ein künftiges Client Pack wird ohne Änderung erfasst.
35
+
36
+ ## Grenzproben – dürfen nicht gemeldet werden
37
+
38
+ | Probe | Eingebrachter Text | Ort | Ergebnis |
39
+ |---|---|---|---|
40
+ | G1 | `VERIFY AGAINST CURRENT CLIENT DOCUMENTATION` (in spitzen Klammern) | Kernmodul | still |
41
+ | G2 | `RUNTIME_DIR`, `CLIENT_NAME` (in spitzen Klammern) | Kernmodul | still |
42
+ | G3 | `HOOKS_FILE`, `PERMISSIONS_FILE` (in spitzen Klammern) | Kernmodul | still |
43
+ | G4 | `DEVIN_PROJECT_DIR` (in spitzen Klammern) | **Client Pack** | still |
44
+ | G5 | `DEVIN_PROJECT_DIR` (in spitzen Klammern) | **Platzhalterregister** | still |
45
+
46
+ G4 und G5 ziehen die beiden Linien, auf die es ankommt: Im Client Pack ist der Name richtig, und
47
+ das Register **nennt** Platzhalter, es verwendet sie nicht.
48
+
49
+ ## Was die Prüfung gefunden hat, das die Zählung nicht sah
50
+
51
+ `CR-2026-020` führte „fünf Kernstellen". Tatsächlich:
52
+
53
+ | Ort | Stellen |
54
+ |---|---|
55
+ | Markdown-Dateien des Kerns | **8** |
56
+ | `tests/scripts/hook-overlay-status.py` | 1 |
57
+ | `tests/scripts/hook-check-secrets.py` | 1 |
58
+
59
+ Die beiden Skriptstellen hatte die manuelle Zählung übersehen, weil sie nur `*.md` durchsucht
60
+ hatte. **Dasselbe Muster wie bei `CR-2026-020` selbst**, wo die Roadmap 76 Nennungen führte und
61
+ es 248 waren: Eine von Hand erhobene Zahl über den eigenen Zustand fällt zu klein aus, weil man
62
+ dort zählt, wo man den Fehler vermutet.
63
+
64
+ ## Die Prüfung erwischt ihren eigenen Erklärtext
65
+
66
+ Dreimal in dieser Sitzung meldete eine neu gebaute Prüfung den Text, der sie **beschreibt** –
67
+ den erläuternden Absatz in der Roadmap, den Docstring der Prüffunktion, den Kommentar über der
68
+ Trennregel. Jedes Mal war die Meldung **richtig**: Wer einen Namen im Kern verbietet, verbietet
69
+ ihn auch in der eigenen Begründung.
70
+
71
+ Das ist kein Fehlalarm, sondern die Probe aufs Exempel. Die Texte sind so umformuliert, dass sie
72
+ die Regel beschreiben, ohne sie zu verletzen.
73
+
74
+ ## Regressionsproben
75
+
76
+ | Probe | Erwartung | Ergebnis |
77
+ |---|---|---|
78
+ | R1 | Prüfung 14 meldet weiterhin eine Akteursnennung im Kern | gemeldet |
79
+ | R2 | Prüfung 16 meldet weiterhin einen nicht erkannten Werkzeugnamen | gemeldet |
80
+ | R3 | Ausgangslauf 0 Fehler | 0 Fehler, 0 Warnungen |
81
+
82
+ ## Was dieser Nachweis nicht belegt
83
+
84
+ - **Nur Platzhalter werden erfasst.** Eine Client-Bindung außerhalb spitzer Klammern und außerhalb
85
+ der kapitalisierten Form – etwa ein Produktname mitten in einem Codebeispiel – bleibt
86
+ unerkannt. Das ist die bewusste Grenze aus E2: `CLAUDE.md` ist ein Dateiname, kein Akteur.
87
+ - **Der dritte Restpunkt aus `CR-2026-020` bleibt offen.** Die Zeile „Umsetzung beim KI-Client"
88
+ in `05-working-model.md` nennt weiterhin clientspezifische Mechanismen. Das ist keine
89
+ Bezeichnungsfrage und braucht einen eigenen Vorgang.
90
+
91
+ ## Gegenzeichnung (Prüfmethode `review`)
92
+
93
+ | Rolle | Datum | Ergebnis |
94
+ |---|---|---|
95
+ | Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | Dateiname umbenannt, zehn Markerstellen gelöst, Prüfung 14 erweitert; drei Sonden gemeldet, fünf Grenzproben still, drei Regressionsproben; eine Lücke der ersten Fassung durch Sonde S2 gefunden |
96
+ | Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1, E2 und E3 einzeln entscheiden>` |
97
+
98
+ Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
@@ -0,0 +1,90 @@
1
+ # Testprotokoll FW-DS-03 – Hook blockiert Secrets in der Werkzeugeingabe
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Test-ID | `FW-DS-03` (Basis) |
6
+ | Framework-Version | 0.11.0 |
7
+ | Datum | 2026-09-10 |
8
+ | Prüfmethode | skript |
9
+ | Prüfgegenstand | `leitwerk-core/tests/scripts/hook-check-secrets.py` |
10
+
11
+ ## Verfahren
12
+
13
+ Das Hook-Skript liest die Werkzeugeingabe als JSON von der Standardeingabe und blockiert mit
14
+ Exit-Code 2. Geprüft wurden zehn synthetische Eingaben: sechs mit Secret-Mustern, die
15
+ blockiert werden müssen, und vier ohne, die durchgelassen werden müssen. Alle Werte sind
16
+ erfunden; keiner stammt aus einer realen Quelle.
17
+
18
+ ```text
19
+ python leitwerk-core/tests/scripts/hook-check-secrets.py < <Eingabe>
20
+ ```
21
+
22
+ ## Ergebnis
23
+
24
+ | # | Werkzeugeingabe (synthetisch) | Erwartet | Ergebnis |
25
+ |---|---|---|---|
26
+ | 1 | Inhalt beginnt mit der PEM-Kopfzeile eines privaten Schlüssels | Exit 2 | Exit 2 |
27
+ | 2 | Befehl mit `Authorization: Bearer <32 Zeichen>` | Exit 2 | Exit 2 |
28
+ | 3 | Inhalt `db.password = <synthetischer Wert, 11 Zeichen>` | Exit 2 | Exit 2 |
29
+ | 4 | Befehl mit `postgres://<nutzer>:<wort>@datenbank/biv` | Exit 2 | Exit 2 |
30
+ | 5 | Inhalt mit `AKIA…` (16 Folgezeichen) | Exit 2 | Exit 2 |
31
+ | 6 | Inhalt mit dreiteiligem JWT | Exit 2 | Exit 2 |
32
+ | 7 | Prosa: „Das Passwort gehoert nicht in den Quelltext." | Exit 0 | Exit 0 |
33
+ | 8 | `token = ab` (Wert unter der Längenschwelle) | Exit 0 | Exit 0 |
34
+ | 9 | `password=<TBD: aus dem Tresor>` | Exit 0 | Exit 0 |
35
+ | 10 | Gewöhnlicher Quelltext ohne Muster | Exit 0 | Exit 0 |
36
+
37
+ **Zehn von zehn wie erwartet, null Fehlschläge.** Alle sechs Musterkategorien des Skripts
38
+ sind abgedeckt.
39
+
40
+ Die Tabelle nennt die Kategorien und nicht die Muster: Die tatsächlich verwendeten Eingaben
41
+ enthalten vollständige Zeichenketten, und der Validator meldet dieses Protokoll sonst selbst.
42
+ Das ist kein Umweg, sondern die Probe aufs Exempel – die erste Fassung dieses Protokolls
43
+ wurde mit drei Fehlern zurückgewiesen, weil sie die Werte ausgeschrieben hatte
44
+ (`CR-2026-013`, Prüfung 6).
45
+
46
+ ## Bekannter Falschalarm, bewusst in Kauf genommen
47
+
48
+ Fall 9 läuft nicht durch, weil das Skript den Platzhalter erkennt, sondern weil `<TBD:` unter
49
+ der Längenschwelle bleibt. Ein längerer Platzhalter wird blockiert:
50
+
51
+ ```text
52
+ password=<SYNTHETISCHES-BEISPIEL> → Exit 2
53
+ ```
54
+
55
+ Das ist ein Falschalarm, und er bleibt bestehen. Die beiden Durchsetzungspunkte behandeln
56
+ Platzhalter absichtlich verschieden:
57
+
58
+ | | Hook | Validator |
59
+ |---|---|---|
60
+ | Prüft | eine laufende Werkzeugoperation | den versionierten Bestand |
61
+ | Kosten eines Falschalarms | eine blockierte Operation, die der Mensch anders formuliert | ein Fehler, der jeden Release-Lauf anhält |
62
+ | Platzhalter in spitzen Klammern | wird blockiert | ist ausgenommen |
63
+
64
+ Beim Hook ist die strengere Auslegung die sichere: Blockieren ist billig, Durchlassen nicht.
65
+ Beim Validator wäre sie es nicht – das Framework schreibt seine Beispiele durchgehend mit
66
+ Platzhaltern, und ein Fehler je Beispiel machte den Testfall unbrauchbar.
67
+
68
+ ## Bekannte Grenzen
69
+
70
+ - Geprüft ist das Skript, nicht seine Auslösung durch einen KI-Client. Ob der Client den Hook
71
+ mit diesem Eingabeschema aufruft und Exit-Code 2 als Blockade auswertet, bleibt Gegenstand
72
+ von Roadmap AP2 (`FW-AK-02`).
73
+ - Der Hook läuft weiterhin **fail-open**: Eine nicht als JSON lesbare Eingabe wird
74
+ durchgelassen, solange `FW_HOOK_FAIL_CLOSED=1` nicht gesetzt ist. Die Umstellung auf
75
+ fail-closed steht in AP2 und setzt voraus, dass das Eingabeschema bestätigt ist.
76
+ - Die Muster erkennen Formen, keine Bedeutungen. Ein Secret ohne Zuweisungssyntax und ohne
77
+ bekanntes Präfix – eine nackte Zeichenkette – wird nicht erkannt. Dagegen tragen die
78
+ Leseverbote der Berechtigungsdatei (`.env`, `**/*.pem`, `**/secrets/**`).
79
+
80
+ ## Gegenzeichnung
81
+
82
+ Rollen statt Personen (`framework/runtime/rules/20-project-overlay.md`).
83
+
84
+ | Rolle | Datum | Umfang |
85
+ |---|---|---|
86
+ | Durchführung (KI-gestützt, Sitzung) | siehe Kopf des Protokolls | der oben berichtete Lauf |
87
+ | Gegenzeichnung: `<FRAMEWORK_OWNER>` | 2026-09-23 | Protokoll vollständig gelesen |
88
+
89
+ 🔴 **Selbstgegenzeichnung: keine zweite Rolle vorhanden** (D-319, `CR-2026-127` E1, Weg C und B). Verfasser und Gegenzeichner sind dieselbe Person; die Zusage *„Handlung einer zweiten Rolle“* ist damit **zurückgenommen, nicht erfüllt**.
90
+ ➡️ *Die Zeile sagt, WAS gegengezeichnet wurde; der Commit sagt, WER.* Die Unterschrift ist der Release-Commit unter der Identität des Owners – ein Werkzeug kann diese Zeile schreiben, den Commit nicht.