@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,202 @@
1
+ # Gegenprüfung: der stumme Bruch – eine halb greifende Präparation, eine ungezählte Tabelle, und eine Prüfung, die den richtigen Text beanstandet
2
+
3
+ | Feld | Wert |
4
+ |---|---|
5
+ | Gegenstand | Zwei seit mehreren Releases benannte, nicht umgesetzte Punkte: (1) die **Ermessensfrage**, ob eine Gegenprobe ihre Summen ableiten soll – viermal in Folge aufgetreten; (2) der **Prüfvorschlag** aus dem 0.35.0-Protokoll, Abschnitt 7: die Zellen der Decision-Log-Tabellen zählt nichts |
6
+ | Anlass | Beide stehen in der Roadmap und in der Übergabe als offen. Nach D-23 gehört ein Befund vor der Umsetzung gegengeprüft, auch wenn er aus dem eigenen Haus stammt |
7
+ | Datum | 2026-09-13 |
8
+ | Framework-Version | 0.37.0 (Auscheckstand `a8132fd`, Arbeitsbaum sauber, Validator 0/0) |
9
+ | Prüfmethode | **Drei Messungen an Kopien des Repositoriums, keine Codelektüre allein.** (1) Die heutige Präparation der Gegenprobe 30 auf einen Baum angewandt, der einen zwanzigsten Grenzfall trägt – der Zustand, den ein Release hinterlässt; (2) die Zellenzahlen des Decision Logs über sechs Auscheckstände hinweg gezählt, mit und ohne Rücksicht auf maskierte Striche; (3) ein maskierter Strich in eine Grenzfallzeile gesetzt und der Validator dagegen gefahren |
10
+ | Umgebung | Windows 11, Python 3.14.4, NTFS |
11
+ | Ergebnis | **Beide Befunde bestätigen sich. Die Gegenprüfung findet einen dritten, den keiner der beiden nennt** – und er ist der einzige, der heute einen falschen Fehler erzeugen kann |
12
+
13
+ ## 0. Der Zusammenhang in einem Satz
14
+
15
+ **Alle drei Punkte sind dieselbe Bauform: eine Prüfung oder eine Sonde, deren Bruch nicht als
16
+ Bruch erscheint.** Die halbe Präparation sieht aus wie ein Prüfungsfehler, die ungezählte
17
+ Tabelle sieht aus wie eine geprüfte, und die naive Spaltenzählung sieht aus wie ein Befund.
18
+ Der wiederkehrende Befundtyp des Projekts lautet *eine Zusage, die mehr verspricht, als sie
19
+ leistet*; hier steht er dreimal in derselben Woche.
20
+
21
+ ## 1. Befund 1: Die halb greifende Präparation meldet sich nicht als solche
22
+
23
+ ### 1.1 Was behauptet wird
24
+
25
+ Aus dem 0.34.0-Protokoll, seither dreimal wiederholt: Die Gegenproben 30 und 31 verankern
26
+ Summen **wörtlich**, die die jeweilige Prüfung ausrechnet. Ändert ein Release die Summe,
27
+ greift der Suchtext ins Leere. Die Übergabe fügt hinzu: *„Zwei melden sich selbst als
28
+ `[nichts praepariert]` – die anderen präparieren halb und fallen an der Zahl."*
29
+
30
+ ### 1.2 Was gemessen dabei herauskommt
31
+
32
+ Eine Kopie bekam einen **echten** zwanzigsten Grenzfall samt nachgezogener Anzahl – der
33
+ Zustand, den ein Release hinterlässt. Der Validator meldet darauf `0 Fehler, 0 Warnungen`.
34
+ Danach lief die Präparation der Gegenprobe 30 wörtlich so, wie sie heute im Skript steht.
35
+
36
+ | Schritt | Ergebnis |
37
+ |---|---|
38
+ | Anzahl im Steckbrief von 19 auf 20 (erste Ersetzung) | **trifft nicht** – dort steht bereits 20 |
39
+ | Zeile `G-99` vor Abschnitt 3 einfügen (zweite Ersetzung) | **trifft** |
40
+ | `baumhash` vorher gegen nachher | **verschieden** – der Wächter meldet nichts |
41
+ | Validatorlauf | `FEHLER … 21 Grenzfallzeilen, der Steckbrief nennt 20. Eine Zahl, die nicht stimmt, ist kein Nachweis` |
42
+ | Gegenprobe 30 | **FEHL**, mit genau dieser Meldung |
43
+
44
+ **Der Befund bestätigt sich, und er ist schärfer als seine Beschreibung.** Die Gegenprobe fällt
45
+ nicht nur – sie fällt mit einer Meldung, die den Eindruck erweckt, sie habe einen **echten
46
+ Fehler im Repositorium** gefunden. Wer die Ausgabe liest, sucht den Fehler in `EDGE_CASES.md`.
47
+ Dort ist keiner: Die Sonde hat ihren eigenen Suchtext verloren.
48
+
49
+ > **`baumhash` ist ein Alles-oder-nichts-Wächter.** Bei einer Präparation aus *n* Ersetzungen
50
+ > belegt er „mindestens eine hat gegriffen", nie „alle". Genau deshalb melden sich die
51
+ > einteiligen Präparationen selbst und die mehrteiligen nicht. **Das ist keine Nachlässigkeit
52
+ > beim Schreiben der Sonden, sondern eine Lücke im Runner** – und sie schließt sich nicht
53
+ > dadurch, dass man die Suchtexte sorgfältiger pflegt.
54
+
55
+ ### 1.3 Wie weit die Lücke reicht – und wo `baumhash` deckt
56
+
57
+ Ausgezählt über den Syntaxbaum von `probe-pruefungen.py`. **Drei Lagen, und nur zwei davon
58
+ sind Befund:**
59
+
60
+ | Lage | Anzahl | Deckt `baumhash`? |
61
+ |---|---|---|
62
+ | **a** Präparation über einen Runner mit `baumhash`, **eine** Ersetzung | der Regelfall | **ja** – und die Meldung sagt sogar, was zu tun ist: „vermutlich passt der Suchtext der Sonde nicht mehr" |
63
+ | **b** Präparation über einen solchen Runner, **mehrere** Ersetzungen | **3** Stellen: `_grenzfall_ergaenzen` (2), `_zeile_mit_summe` (5 plus eine Einfügung, in 2 Dateien), `_zusaetzliches_pfadfeld` (dieselbe Ersetzung in 2 Manifesten) | **nein** – eine gegriffene Ersetzung genügt ihm |
64
+ | **c** Bündelfunktionen, die `melde()` direkt rufen | **9** Funktionen mit zusammen **35** Meldestellen, darin **3** mit Textpräparation (7 Ersetzungen) | **nein, gar nicht** – diese Runner haben keinen Wächter |
65
+
66
+ **Lage a ist kein Befund.** Der Runner meldet dort genau das Richtige, und das ist der Grund,
67
+ warum die Übergabe von „zwei melden sich selbst" spricht. **Runner mit `baumhash` gibt es
68
+ drei:** `sonde()`, `gegenprobe()` und `sonde_ohne_wert()`.
69
+
70
+ **Lage b und c sind der Befund.** Die neun Bündelfunktionen haben **gar keinen** Wächter; ihre
71
+ 35 Meldestellen sind damit die größere Fläche, auch wenn heute nur drei von ihnen einen
72
+ Suchtext führen, der ins Leere gehen könnte. Die übrigen präparieren über Installationsläufe,
73
+ Dateilöschungen und Umgebungsvariablen.
74
+
75
+ **Zu ändern sind damit sechs Präparationen** mit zusammen **14 Ersetzungsstellen und zwei
76
+ Zeileneinfügungen**. Das ist ein kleiner Gegenstand; viermal von Hand nachgezogen ist er
77
+ trotzdem.
78
+
79
+ > **Die erste Auszählung war zu grob, und das gehört hierher.** Über den Syntaxbaum gezählt
80
+ > ergaben sich zunächst „zehn Bündelfunktionen, neun Ersetzungen" – der Zähler hielt eine
81
+ > Ersetzung in einer **Diagnosemeldung** (`ausgabe.replace(marker, "<Marker entfernt>")`) für
82
+ > eine Präparation und `sonde_ohne_wert()` für wächterlos, obwohl die Funktion einen
83
+ > `baumhash` trägt. **Ein Zähler unterscheidet Präparation und Diagnose nicht**; das musste
84
+ > ein Blick in die sechs Stellen tun. Wie schon 76 statt 248 und 25 statt 20: **Wer hier eine
85
+ > Zahl liest, zählt sie besser nach – auch die eigene.**
86
+
87
+ ## 2. Befund 2: Die Zellen der Decision-Log-Tabellen zählt nichts
88
+
89
+ ### 2.1 Was behauptet wird
90
+
91
+ 0.35.0-Protokoll Abschnitt 7: Vier zerrissene Zeilen wurden von Hand berichtigt, drei davon
92
+ aus dem Vorgängerrelease, eine seit 0.10.x. **Gezählt hat das nichts.** Prüfung 30 tut
93
+ dasselbe längst für `EDGE_CASES.md`.
94
+
95
+ ### 2.2 Was gemessen dabei herauskommt
96
+
97
+ Die Zellenzahlen wurden über sechs Auscheckstände gezählt – je Tabelle des Decision Logs die
98
+ Zellenzahl ihrer Kopfzeile als Sollwert, maskierte Striche als Inhalt behandelt:
99
+
100
+ | Stand | Abweichende Zeilen |
101
+ |---|---|
102
+ | 0.32.0 (`a76778e`) | **1** – D-29 |
103
+ | 0.33.0 (`47fa382`) | **1** – D-29 |
104
+ | 0.34.0 (`2c1351b`) | **4** – D-29, D-61, D-62, D-63 |
105
+ | 0.35.0 (`7082ef3`) | 0 |
106
+ | 0.36.0 (`4444c83`) | 0 |
107
+ | 0.37.0 (`74e087b`, heute) | 0 |
108
+
109
+ **Der Befund bestätigt sich – und er ist heute behoben.** Eine Prüfung, die jetzt entsteht,
110
+ fängt **nichts**. Das ist dieselbe Lage wie bei Prüfung 35 und bei dem fünften Gegenstand der
111
+ Prüfung 32, und sie gehört mit derselben Ehrlichkeit begründet: **eine Verankerung, keine
112
+ Behebung.**
113
+
114
+ > **Der Unterschied zu Prüfung 35 ist allerdings erheblich und spricht für diese Prüfung:**
115
+ > Prüfung 35 fand auch im Vorstand nichts, weil ihr Gegenstand dort nicht existiert. Diese
116
+ > Prüfung hätte gegen 0.34.0 **vier** Fundstellen gemeldet und gegen 0.32.0 und 0.33.0 je
117
+ > eine. Ihr Gegenbeweis ist damit keine Konstruktion, sondern ein Abzählen.
118
+
119
+ ### 2.3 Und D-29 stand fünfundzwanzig Releases lang zerrissen
120
+
121
+ D-29 entstand mit 0.10.x. Die Zeile wurde zwischen 0.10.x und 0.35.0 von jedem Validatorlauf
122
+ und von jedem Wirkungsnachweis gesehen und von keinem gezählt. **Gefunden hat sie ein Mensch
123
+ beim Eintragen einer anderen Zeile.**
124
+
125
+ ## 3. Befund 3, nicht gesucht: Prüfung 30 zählt einen maskierten Strich als Spaltentrenner
126
+
127
+ ### 3.1 Der Fund
128
+
129
+ Prüfung 30 zerlegt eine Grenzfallzeile mit `zeile.strip().strip("|").split("|")`. GFM verlangt
130
+ für einen Strich **innerhalb** einer Tabellenzelle die Maskierung `\|`; gerendert bleibt die
131
+ Zeile dann vollständig. `.split("|")` sieht die Maskierung nicht.
132
+
133
+ Gemessen an einer Kopie: In Grenzfall **G-14** wurde in der Prosa ein Codespan mit maskiertem
134
+ Strich ergänzt – dieselbe Schreibweise, die **D-69 des Decision Logs seit 0.36.0 trägt**:
135
+
136
+ ```text
137
+ FEHLER leitwerk-core/tests/EDGE_CASES.md: Grenzfall G-14 hat 9 Spalten statt 7
138
+ (Nr., Grenzfall, Entscheidung, Betriebsmodus, Kontrollstufe, Rollen, Fundstelle)
139
+ ```
140
+
141
+ **Prüfung 30 beanstandet einen GFM-korrekten Text.** Das ist genau die Bauform, vor der der
142
+ Wirkungsnachweis zu Prüfung 28 warnt: *eine Prüfung ohne die nötige Unterscheidung hätte den
143
+ richtigen Text beanstandet.*
144
+
145
+ ### 3.2 Warum das heute niemand sieht – und warum es trotzdem zählt
146
+
147
+ Keine Grenzfallzeile trägt heute einen maskierten Strich. **Der Fehlalarm ist latent, nicht
148
+ aktuell.** Er zählt trotzdem aus zwei Gründen:
149
+
150
+ 1. **Er verbietet es, die neue Prüfung naiv zu bauen.** Nach der naiven Zählweise trügen D-29
151
+ und D-69 heute **acht** Zellen statt sechs – die neue Prüfung meldete an ihrem ersten Lauf
152
+ **zwei Fehlalarme auf korrektem Text.** Ohne diese Messung wäre das erst nach dem Bau
153
+ aufgefallen, wie bei Prüfung 34 beim ersten Lauf.
154
+ 2. **Die Zählweise liegt viermal im Validator**, jedes Mal eigenhändig: `check_hook_ablageort`
155
+ (`:1686`, erste Zelle), `_tabellenzeilen` (`:1838`, Prüfungen 20/27), `check_grenzfaelle`
156
+ (`:2528`, Prüfung 30), `_uebersicht_pruefen` (`:3033`, Prüfung 31). Eine fünfte Stelle wäre
157
+ die fünfte Gelegenheit für denselben Fehler.
158
+
159
+ **Betroffen ist heute nur Prüfung 30** – die anderen drei nehmen entweder nur die erste Zelle
160
+ oder suchen in der ganzen Zeile. Das mindert den Fund nicht: Eine Prüfung, die den richtigen
161
+ Text beanstandet, wiegt schwerer als eine, die einen falschen durchlässt, denn sie kostet
162
+ Vertrauen in alle anderen.
163
+
164
+ ## 4. Die Ermessensfrage, um die es eigentlich geht
165
+
166
+ Sie steht seit dem 0.34.0-Protokoll und ist nie entschieden worden:
167
+
168
+ > Soll die Gegenprobe ihre Summen aus der Tabelle **ableiten** – und beweist sie dann noch,
169
+ > was sie beweisen soll, oder verdoppelt sie nur die Rechenweise der Prüfung?
170
+
171
+ **Die Gegenfrage ist echt, und die Messung entscheidet sie nicht.** Was die Messung beiträgt,
172
+ ist die Trennung zweier Dinge, die bisher als eines behandelt wurden:
173
+
174
+ | | Frage | Art |
175
+ |---|---|---|
176
+ | **a** | Woher nimmt die Gegenprobe ihre Zielsumme? | **Ermessen** – eine abgeleitete Summe ist bequemer und belegt weniger |
177
+ | **b** | Was passiert, wenn ein Suchtext der Präparation nicht mehr trifft? | **kein Ermessen** – heute erscheint es als Prüfungsfehler, und das ist schlicht falsch |
178
+
179
+ **Punkt b ist unabhängig von Punkt a zu beheben.** Wird er behoben, verliert Punkt a den
180
+ größten Teil seines Drucks: Der wörtlich verankerte Wert bleibt der teurere Weg, aber sein
181
+ Bruch kostet dann eine Zeile Diagnose statt einer Fehlersuche im Repositorium.
182
+
183
+ ## 5. Was diese Gegenprüfung nicht leistet
184
+
185
+ - **Sie misst keine Clientsitzung.** Alle drei Messungen laufen gegen den Validator und gegen
186
+ Kopien des Repositoriums. Das ist hier der richtige Gegenstand – es geht um Prüfungen, nicht
187
+ um Durchsetzung –, aber es ist zu benennen.
188
+ - **Sie sagt nichts darüber, ob die Einstufungen richtig sind**, die in den gezählten Tabellen
189
+ stehen. Die Zellenzahl ist Arithmetik, nicht Inhalt; dieselbe Grenze, die Prüfung 31 für
190
+ sich selbst benennt.
191
+ - **Sie hat die anderen drei Zählstellen nicht durchgemessen**, sondern gelesen. Dass
192
+ `check_hook_ablageort` nur die erste Zelle nimmt und `_uebersicht_pruefen` eine Zelle über
193
+ ein Muster sucht, steht im Code; ein maskierter Strich an der jeweils entscheidenden Stelle
194
+ ist nicht eingesetzt worden.
195
+ - **Sie prüft nicht, ob GFM in jeder Renderumgebung gleich maskiert.** Zugrunde gelegt ist die
196
+ GFM-Spezifikation und das Verhalten, das D-69 und `CR-2026-055` bereits voraussetzen.
197
+
198
+ ## 6. Gegenzeichnung
199
+
200
+ | Rolle | Name/Kennung | Datum | Ergebnis bestätigt |
201
+ |---|---|---|---|
202
+ | `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` | `<TBD>` |
@@ -0,0 +1,219 @@
1
+ # Gegenprüfung: zwei Listen für dieselbe Sache – es sind vier, und eine davon ist unbewacht
2
+
3
+ | Feld | Wert |
4
+ |---|---|
5
+ | Gegenstand | **Kandidat 1 der Übergabe:** „`skill_frontmatter.tool_names` und `hook_tools` vereinheitlichen – zwei Listen für dieselbe Sache, auseinandergelaufen: `tool_names.edit` führt kein `NotebookEdit`." Seit 0.35.0 vertagt, mit Grund: Die Vereinheitlichung ändere `allowed-tools` still mit |
6
+ | Anlass | Der Kandidat steht seit fünf Releases und ist nach der Übergabe „der größte offene Posten, der ohne Messinstrument auskommt". Nach D-23 gehört ein Befund vor der Umsetzung gegengeprüft, auch wenn er aus dem eigenen Haus stammt |
7
+ | Datum | 2026-09-13 |
8
+ | Framework-Version | 0.39.0 (Auscheckstand `7701db2`, Arbeitsbaum sauber, Validator 0/0) |
9
+ | Prüfmethode | **Zwanzig Messungen an den Abbildungsfunktionen und an echten Installationen, keine Codelektüre allein.** M1 bis M5 rufen die Abbildung je Verb und je Pack auf; M6 bis M12 greifen in eine Kopie des Repositoriums ein und lassen den ausgelieferten Validator laufen; M13 bis M20 präparieren das Manifest und installieren wirklich. **Sieben der zwanzig sind Kontrollläufe** – dieselbe Lücke in den *anderen* Abbildungen desselben Manifests. Ohne sie wäre „läuft durch" kein Messwert, sondern womöglich ein nicht gestarteter Lauf |
10
+ | Umgebung | Windows 11, Python 3.14.4, NTFS; Kopien und Testinstallationen im Scratchpad |
11
+ | Ergebnis | **Der Befund bestätigt sich – und er ist ein anderer, als der Kandidat sagt.** Es sind **vier** Werkzeugabbildungen, nicht zwei. Der inhaltliche Unterschied, den der Kandidat nennt, ist **richtungsrichtig und harmlos**; die vorgeschlagene Behebung wäre eine **Ausweitung**. Der eigentliche Befund liegt daneben: **Drei der vier Abbildungen brechen ab, wenn ihnen ein Verb fehlt. Die vierte reicht es wörtlich durch – und sie kommt zweimal vor** |
12
+
13
+ ## 0. Der Zusammenhang in einem Satz
14
+
15
+ **Ein Frontmatter des Kerns schreibt fünf Verben, und drei verschiedene Stellen bilden sie
16
+ ab – jede mit ihrem eigenen Vokabular, und genau die, die eine echte Sperre trägt, kennt
17
+ zwei der fünf Verben nicht.**
18
+
19
+ ## 1. Wie viele Listen es wirklich sind
20
+
21
+ | Stelle | Vokabular | Wofür | Bewacht? |
22
+ |---|---|---|---|
23
+ | `skill_frontmatter.tool_names` | `read, grep, glob, edit, exec` | `allowed-tools` des Skills – eine **Vorabfreigabe** (B01) | **nein** |
24
+ | `agent_frontmatter.tool_names` | dieselben fünf, zeichengleicher Block | `tools` des Agentenprofils – eine **Entfernung aus dem Vorrat** (A1, D-68) | **nein** |
25
+ | `hook_tools` | `read, search, exec, write` | Hook-Matcher **und** `disallowed-tools` je Skill – eine echte **Sperre** (S3, D-64) | ja |
26
+ | `permission_tools` | `read, search, write, exec, fetch, mcp` | Berechtigungsdatei – die Kernzusagen B1 bis B6 | ja |
27
+ | *daneben:* `agent_start_tools` | – | Startwerkzeug für Unteragenten (D-70) | ja (Prüfungen 34, 35) |
28
+
29
+ **Die Übergabe zählt zwei. Es sind vier, und die Zählung war damit wieder zu klein** – zum
30
+ sechsten Mal an diesem Tag.
31
+
32
+ Dazu ein drittes Vokabular, das keine Liste ist: `DENY_VERB_EIMER` in `install.py` – die
33
+ Brücke, über die `permissions.deny` der Quelle auf `hook_tools` abgebildet wird. Sie führt
34
+ `edit`, `write`, `exec`, `read` und `search`: **drei Verben der Quelle und zwei der
35
+ Durchsetzungsschicht**, und sie kennt `grep` und `glob` nicht.
36
+
37
+ ## 2. Was die vierzehn ausgelieferten Quellen wirklich schreiben (M5)
38
+
39
+ Dreizehn `SKILL.md` und ein Agentenprofil:
40
+
41
+ | Feld | Verb | Fundstellen |
42
+ |---|---|---|
43
+ | `allowed-tools` | `read` | **14** |
44
+ | | `grep` | **14** |
45
+ | | `glob` | **14** |
46
+ | | `edit` | 4 |
47
+ | | `exec` | 5 |
48
+ | `permissions.deny` | `edit` | 9 |
49
+ | | `exec` | 8 |
50
+ | | befehlsgenau (`Exec(git push)` …) | 26 |
51
+
52
+ **`grep` und `glob` sind die meistgenannten Verben des Vokabulars – und genau die beiden,
53
+ die die Sperrabbildung nicht kennt.**
54
+
55
+ ## 3. Befund 1: Dasselbe Wort, zwei Felder, zwei Verhalten (M1)
56
+
57
+ Je Verb ein Skill mit `allowed-tools: [<verb>]` **und** `permissions.deny: [<verb>]`,
58
+ durch `render_skill_frontmatter` des Vorstands, Pack `claude-code`:
59
+
60
+ | Verb | `allowed-tools` wird zu | `disallowed-tools` wird zu |
61
+ |---|---|---|
62
+ | `read` | `Read` | `Read` |
63
+ | **`grep`** | `Grep` | **nichts** |
64
+ | **`glob`** | `Glob` | **nichts** |
65
+ | **`search`** | **`search`** | `Grep, Glob` |
66
+ | `edit` | `Edit, Write` | `Edit, Write, NotebookEdit` |
67
+ | **`write`** | **`write`** | `Edit, Write, NotebookEdit` |
68
+ | `exec` | `Bash` | `Bash` |
69
+ | **`fetch`** | **`fetch`** | **nichts** |
70
+ | **`mcp`** | **`mcp`** | **nichts** |
71
+ | **`banane`** | **`banane`** | **nichts** |
72
+
73
+ **Zwei von zehn Verben verhalten sich in beiden Feldern gleich.** Die Lage ist genau
74
+ invertiert: `grep` wirkt in der Vorabfreigabe und nicht in der Sperre, `search` in der
75
+ Sperre und nicht in der Vorabfreigabe. Und ein Schreibfehler – `banane` – wird in der
76
+ Vorabfreigabe **zum Werkzeugnamen** und in der Sperre **zu nichts**.
77
+
78
+ Für das Agentenprofil (M2) gilt dasselbe: Aus `allowed-tools: [banane]` wird
79
+ `tools: banane`.
80
+
81
+ ## 4. Befund 2: Drei Abbildungen brechen ab, eine reicht durch (M3, M13 bis M20)
82
+
83
+ ### 4.1 Am Funktionsaufruf (M3)
84
+
85
+ Dieselbe Frage – „was heißt dieses Verb bei diesem Client?" – an alle drei Abbildungen:
86
+
87
+ | Verb | `skill_frontmatter.tool_names` | `hook_tools` | `permission_tools` |
88
+ |---|---|---|---|
89
+ | `grep` | `Grep` | **AbbildungsFehler** | **AbbildungsFehler** |
90
+ | `edit` | `Edit, Write` | **AbbildungsFehler** | **AbbildungsFehler** |
91
+ | `banane` | **`banane`** | **AbbildungsFehler** | **AbbildungsFehler** |
92
+
93
+ ### 4.2 An einer echten Installation (M13 bis M20)
94
+
95
+ Je Zeile: Manifest präparieren, `install.py --client claude-code --root <leer>`, das
96
+ erzeugte Frontmatter ablesen, Manifest zurücksetzen und gegen den Ausgangstext prüfen.
97
+
98
+ | Nr. | Eingriff | Ergebnis |
99
+ |---|---|---|
100
+ | M13 | *Ausgangslage* | `fw-plan: allowed-tools: Read, Grep, Glob` / `fw-reviewer: tools: Read, Grep, Glob` |
101
+ | **M14** | `skill_frontmatter.tool_names` verliert `grep` | **durchgelaufen** → `allowed-tools: Read, grep, Glob` |
102
+ | **M15** | `agent_frontmatter.tool_names` verliert `read` | **durchgelaufen** → `tools: read, Grep, Glob` |
103
+ | **M16** | **beide `tool_names`-Blöcke ganz geleert** | **durchgelaufen** → `tools: read, grep, glob` |
104
+ | M17 | *Kontrolle:* `hook_tools` verliert `search` | **ABBRUCH:** „hook_tools kennt das Werkzeugverb 'search' nicht" |
105
+ | M18 | *Kontrolle:* `hook_tools.search` auf die leere Liste | **ABBRUCH:** „kein Hook-Werkzeug für 'search' …" |
106
+ | M19 | *Kontrolle:* `permission_tools` verliert `exec` | **ABBRUCH:** „permission_tools kennt das Werkzeugverb 'exec' nicht" |
107
+ | M20 | *Kontrolle nach Rücknahme* | wie M13 |
108
+
109
+ **M16 ist die Messung, auf die es ankommt.** Eine Installation, deren Abbildung gar nichts
110
+ mehr kann, läuft durch und liefert das Reviewprofil `fw-reviewer` mit
111
+ `tools: read, grep, glob` aus – **drei Namen, die dieser Client nicht führt.** Zeile A1
112
+ des Packs nennt genau diesen Fall als nicht gemessen: *„dass ein Profil, dessen
113
+ `tools`-Liste sich zu keinem Werkzeug auflöst, gar nicht erst gestartet wird"*. **Die
114
+ Abbildung stellt ihn stillschweigend her.**
115
+
116
+ Die Richtung ist dabei nicht die schlimmstmögliche: Ein Werkzeugname, den es nicht gibt,
117
+ ist kein Werkzeug, und sowohl die Vorabfreigabe als auch das Profil werden dadurch
118
+ **enger**. Aber die Zusage A1 hinge dann an einem Zufall, und niemand meldete es.
119
+
120
+ ## 5. Befund 3: `permissions.deny: glob` erzeugt lautlos keine Sperre (M6 bis M8)
121
+
122
+ Je Zeile: Eingriff in eine Kopie des Repositoriums, ausgelieferter Validator, Rücknahme.
123
+ Ausgangslauf 0 Fehler, 0 Warnungen.
124
+
125
+ | Nr. | Eingriff in `fw-plan/SKILL.md` | Validator |
126
+ |---|---|---|
127
+ | **M6** | `permissions.deny: edit, exec` → `glob, grep` | **0 Fehler, 0 Warnungen** |
128
+ | **M7** | `allowed-tools` um ein Verb `banane` ergänzt | **0 Fehler, 0 Warnungen** |
129
+ | **M8** | `allowed-tools: read` → `search` | **0 Fehler, 0 Warnungen** |
130
+
131
+ **M6 ist der Kern.** Ein Skillautor, der `deny: glob` schreibt, bekommt keine Sperre,
132
+ keine Verweigerung und keine Meldung – **genau die Bauform, die D-66 für Argumentmuster
133
+ gemessen hat:** *„Wer ein Argumentmuster schreibt, hat deshalb gar keine Schranke, nicht
134
+ bloß eine gröbere."*
135
+
136
+ **Und diese Nicht-Abbildung ist nicht deklariert.** Der Docstring von `deny_abbilden`
137
+ führt die *andere* Nicht-Abbildung – die befehlsgenauen Einträge – ausdrücklich mit
138
+ Verweis auf D-47 („Bauart wie `hook_tools_absent`") und im Manifest unter
139
+ `skill_deny_unmapped`. **Die Verben `grep` und `glob` stehen nirgends.** Ein Kanal ohne
140
+ Deklaration, in derselben Funktion, die D-47 zitiert.
141
+
142
+ **Ausgeliefert wird davon heute nichts:** Keine der vierzehn Quellen schreibt
143
+ `deny: grep` oder `deny: glob` (M5). Der Befund ist deshalb **eine Vorsorge, keine offene
144
+ Lücke** – für die Skills des Kerns. Für ein Projekt, das einen eigenen `prj-*`-Skill
145
+ schreibt, ist er heute wirksam.
146
+
147
+ ## 6. Befund 4 – die Entlastung: Der Kandidat schlägt die falsche Behebung vor (M4)
148
+
149
+ Der inhaltliche Unterschied, den die Übergabe nennt, ist echt. **Seine Richtung ist die
150
+ zulässige:**
151
+
152
+ | Verb der Quelle | Vorabfreigabe `tool_names` | Sperre `hook_tools` | Lage |
153
+ |---|---|---|---|
154
+ | `read` | `Read` | `Read` | Sperre ⊇ Vorabfreigabe |
155
+ | `grep` | `Grep` | `Grep, Glob` | Sperre ⊇ Vorabfreigabe |
156
+ | `glob` | `Glob` | `Grep, Glob` | Sperre ⊇ Vorabfreigabe |
157
+ | **`edit`** | `Edit, Write` | `Edit, Write, NotebookEdit` | Sperre ⊇ Vorabfreigabe |
158
+ | `exec` | `Bash` | `Bash` | Sperre ⊇ Vorabfreigabe |
159
+
160
+ **Bei allen fünf ist die Sperrliste mindestens so weit wie die Vorabfreigabe** – und das
161
+ ist die Richtung, die man will: Ein Skill, der `edit` freigibt und `edit` sperrt, bekommt
162
+ keine Freigabe auf ein Werkzeug, das die Sperre nicht erfasst.
163
+
164
+ **Der Kandidat wollte `tool_names` auf `hook_tools` heben.** Das hieße, aus
165
+ `allowed-tools: Edit, Write` ein `Edit, Write, NotebookEdit` zu machen – **eine
166
+ Ausweitung der Vorabfreigabe**, und nach dem Verschärfungsprinzip genau das, was ein
167
+ Änderungsantrag begründen müsste. Die Gegenrichtung – `hook_tools.write` um
168
+ `NotebookEdit` kürzen – wäre eine Lücke in einer Sperre.
169
+
170
+ **Zu vereinheitlichen ist deshalb nicht der Inhalt der Listen, sondern die Brücke
171
+ zwischen den Vokabularen und die Disziplin, mit der sie bewacht werden.** Und dass die
172
+ Vertagung seit 0.35.0 mit „das ändert `allowed-tools` still mit" begründet war, ist damit
173
+ **bestätigt und zugleich überholt**: Der Grund stimmte, die Behebung war eine andere.
174
+
175
+ ## 7. Befund 5 – nicht gesucht: Ein Manifest widerspricht sich selbst
176
+
177
+ `devin-desktop` führt `tool_names: {}` in beiden Blöcken; die Verben gehen unverändert
178
+ durch, und jede installierte Skilldatei dieses Packs trägt `allowed-tools: read, grep,
179
+ glob` (M1, M2).
180
+
181
+ Dasselbe Manifest erklärt drei Felder weiter:
182
+
183
+ > `"hook_tools_absent": ["search"]` – *„Dieser Client führt kein eigenes Suchwerkzeug"*
184
+
185
+ **Beides kann nicht stimmen.** Entweder hat der Client Suchwerkzeuge, dann ist die
186
+ erklärte Abwesenheit falsch; oder er hat keine, dann nennen dreizehn installierte Skills
187
+ zwei Werkzeuge, die es nicht gibt.
188
+
189
+ **Welche Seite falsch ist, ist unerhoben** – Zeile S3 dieses Packs sagt es selbst: *„Das
190
+ Durchreichen ist belegt, die Wirkung nicht."* Der **Widerspruch** ist gemessen, seine
191
+ Auflösung nicht. Er gehört festgehalten, nicht geraten.
192
+
193
+ ## 8. Befund 6 – nebenbei: Der Kopfkommentar des Validators endet bei Prüfung 31
194
+
195
+ Kandidat 4 der Übergabe, hier bestätigt: Die Prüfungen **32 bis 37** stehen nicht im
196
+ Kopfkommentar von `validate-framework.py`, seit fünf Releases. Wer eine achtunddreißigste
197
+ hinzufügt, ohne die sechs nachzutragen, schreibt die Lücke fort.
198
+
199
+ ## 9. Was diese Gegenprüfung nicht leistet
200
+
201
+ - **Keine Messung an einem Client.** Gemessen sind die Abbildungsfunktionen, der
202
+ Validator und zwei echte Installationen – nicht, wie ein KI-Client auf
203
+ `allowed-tools: banane` reagiert. Dass ein nicht existierender Werkzeugname keine
204
+ Wirkung hat, ist **Erwartung**.
205
+ - **Die Werkzeugnamen von `devin-desktop` bleiben unerhoben.** Befund 5 weist einen
206
+ Widerspruch nach, keine Wahrheit.
207
+ - **Ob `grep`/`glob` in `disallowed-tools` wirken würden, ist nicht gemessen.** Belegt
208
+ ist, dass heute **nichts** erzeugt wird. Ob `Grep, Glob` dort die Suche sperrten, wäre
209
+ eine eigene Erhebung – dieselbe Frage, die D-64 für `Write, Edit` beantwortet hat.
210
+ - **Die Zahl 14 der Quellen ist gezählt, nicht ausgerechnet.** Sie umfasst dreizehn
211
+ `SKILL.md` (zwölf `fw-*`, einer aus dem Rollenpack) und ein Agentenprofil.
212
+
213
+ ## 10. Gegenzeichnung
214
+
215
+ | Feld | Inhalt |
216
+ |---|---|
217
+ | Durchgeführt von | `<FRAMEWORK_OWNER>` |
218
+ | Gegengezeichnet | *offen* |
219
+ | Folge | `CR-2026-062`, Ziel-Release `0.40.0` |
@@ -0,0 +1,133 @@
1
+ # Wirkungsnachweise zu Release 0.32.0
2
+
3
+ | Feld | Wert |
4
+ |---|---|
5
+ | Gegenstand | Die Umsetzungen zu `CR-2026-052` (D-52 bis D-54, Befund **B09**) und `CR-2026-053` (D-55, D-56, Befund **B07**) |
6
+ | Datum | 2026-09-13 |
7
+ | Framework-Version | 0.32.0 (gegen 0.31.0 = `97052c1`) |
8
+ | Prüfmethode | `probe-pruefungen.py` gegen beide Stände und in **beiden** Kodierungsumgebungen; dazu ein Validatorlauf des neuen Prüfsatzes gegen den unveränderten Vorstand |
9
+ | Umgebung | Windows 11, Python 3.14.4 |
10
+ | Ergebnis | **72 Sonden und Gegenproben bestehen gegen 0.32.0 in beiden Umgebungen.** Die drei neuen Prüfungen melden gegen 0.31.0 **acht** Fundstellen – und das sind genau die Befunde dieses Releases |
11
+
12
+ ## 1. Was hier nachgewiesen wird – und was nicht
13
+
14
+ Beide Anträge sind in ihrem Kern **Textentscheidungen**. Ein Skript kann nicht prüfen, ob eine
15
+ Einstufung richtig ist; es kann prüfen, ob alle Fassungen dieselbe Einstufung tragen und ob eine
16
+ Entscheidung überhaupt getroffen wurde. Genau dort setzen die drei neuen Prüfungen an.
17
+
18
+ | Gegenstand | Art | Nachweis |
19
+ |---|---|---|
20
+ | Prüfung 28 – Strukturpfad in der `<EXCLUDED_PATHS>`-Deklaration | neue Prüfung | drei Sonden, eine Gegenprobe |
21
+ | Prüfung 29 – K3-Kategorien in fünf Fassungen, ohne Bedingung | neue Prüfung | drei Sonden, eine Gegenprobe |
22
+ | Prüfung 30 – Vollständigkeit der Grenzfalltabelle | neue Prüfung | drei Sonden, eine Gegenprobe |
23
+ | Abgrenzung zu V6 (D-53) | Textentscheidung | **keine Sonde** – siehe Abschnitt 6 |
24
+ | R12 nach Schreibziel und Aufsicht (D-54) | Textentscheidung | **keine Sonde** – siehe Abschnitt 6 |
25
+ | Entwicklungsprofil (D-56) | Dokument, kein Mechanismus | **keine Sonde** – siehe Abschnitt 6 |
26
+
27
+ **Für drei der fünf Entscheidungen gibt es bewusst keine Sonde.** Eine Prüfung, die eine
28
+ Formulierung bewacht, meldet jede Umformulierung und sonst nichts. Was sie tragen, ist die
29
+ Grenzfalltabelle – und die ist maschinell auf Vollständigkeit geprüft, nicht auf Richtigkeit.
30
+
31
+ ## 2. Die neun neuen Sonden
32
+
33
+ Jede Sonde präpariert eine Kopie des Repositoriums und erwartet eine bestimmte Meldung. Bleibt der
34
+ Baum unverändert, meldet das Skript `[nichts praepariert]` – der Suchtext der Sonde passt dann
35
+ nicht mehr, und gemessen würde die Sonde statt der Prüfung.
36
+
37
+ | Sonde | Präparation | Erwartete Meldung | 0.32.0 | 0.31.0 |
38
+ |---|---|---|---|---|
39
+ | 28a | Strukturpfad in die `<EXCLUDED_PATHS>`-Zeile der Overlay-Vorlage | „Die Deklaration von `<EXCLUDED_PATHS>` nennt“ | gemeldet | Befund steht dort **von sich aus** |
40
+ | 28b | dasselbe in der Laufzeitregel `20-*` | ebenda | gemeldet | ebenso |
41
+ | 28c | Beschriftung der Deklaration umbenannt | „keine Zeile ist als Deklaration erkennbar“ | gemeldet | – |
42
+ | 29a | Kategorie „Sicherheitskonfigurationen“ aus der Kurzform entfernt | „nennt die Kategorie … nicht“ | gemeldet | Befund steht dort **von sich aus** |
43
+ | 29b | Bedingung an die Kategorie „interne Adressen“ angehängt | „traegt eine Bedingung“ | gemeldet | Befund steht dort **von sich aus** |
44
+ | 29c | Anker „- Immer K3“ umbenannt | „ist nicht mehr auffindbar“ | gemeldet | – |
45
+ | 30a | Grenzfallzeile G-07 gelöscht | „Grenzfallzeilen, der Steckbrief nennt“ | gemeldet | Datei fehlt dort ganz |
46
+ | 30b | Spalte „Kontrollstufe“ in G-05 geleert | „ist leer“ | gemeldet | – |
47
+ | 30c | Verweis auf D-53 aus allen Zeilen entfernt | „Keine Grenzfallzeile verweist auf D-53“ | gemeldet | – |
48
+
49
+ **Zwei Sonden prüfen nicht die Sache, sondern die Prüfung selbst.** 28c und 29c verlieren den
50
+ Anker, an dem die jeweilige Prüfung ihren Prüfgegenstand findet. Ohne diese Sonden hätte das
51
+ Projekt zwei Konsistenzprüfungen, die beim ersten Umformulieren **leise bestehen** – der
52
+ Befundtyp, den ERH-12 und die Lehre aus 0.27.0 beschreiben. Die Prüfungen melden das Fehlen
53
+ deshalb selbst als Fehler.
54
+
55
+ ## 3. Die drei Gegenproben – und warum sie hier mehr wert sind als üblich
56
+
57
+ | Gegenprobe | Präparation | Was sie ausschließt |
58
+ |---|---|---|
59
+ | 28 | Dieselben Strukturpfade **im Fließtext**, in einem Satz, der sie ausdrücklich ausschließt | Dass Prüfung 28 jede Nennung meldet statt der Deklaration. **Beide Träger enthalten genau so einen Satz** – eine Prüfung ohne diese Unterscheidung hätte den richtigen Text beanstandet |
60
+ | 29 | Kurzform kürzer formuliert („Sicherheitskonfigurationen“ statt „… mit Schutzwirkung“), keine Kategorie weniger | Dass Prüfung 29 auf Wortgleichheit prüft statt auf Kategorien. Eine Kurzform **darf** kürzer sein |
61
+ | 30 | Ein dreizehnter Grenzfall samt mitgezählter Anzahl im Steckbrief | Dass Prüfung 30 eine feste Zahl erwartet statt der mitgeführten |
62
+
63
+ **Zur Ehrlichkeit der Gegenproben:** Die Gegenprobe zu 28 bestünde gegen 0.31.0 **aus dem falschen
64
+ Grund** – dort gibt es die Prüfung nicht. Dasselbe gilt für 29 und 30. Der Wert dieser
65
+ Gegenproben liegt allein gegen 0.32.0, und dort tragen sie: Sie belegen, dass die neuen Prüfungen
66
+ unterscheiden und nicht pauschal melden. Dieselbe Einschränkung stand am 2026-09-12 viermal in den
67
+ Protokollen und gehört auch hier hin.
68
+
69
+ ## 4. Der Gegenbeweis gegen den Vorstand
70
+
71
+ Vorgehen: `git archive 97052c1` in ein leeres Verzeichnis, dort mit **dem eigenen** `install.py`
72
+ des Vorstands installiert, dann **nur** `validate-framework.py` aus 0.32.0 hineinkopiert. Damit
73
+ misst der neue Prüfsatz den alten Inhalt.
74
+
75
+ ```
76
+ FEHLER leitwerk-core/templates/project-overlay/OVERLAY.md:71 Prüfung 28
77
+ FEHLER leitwerk-core/framework/runtime/rules/20-project-overlay.md:23 Prüfung 28
78
+ FEHLER project-overlay/OVERLAY.md:71 Prüfung 28 (Installation)
79
+ FEHLER .devin/rules/20-project-overlay.md:23 Prüfung 28 (Installation)
80
+ FEHLER leitwerk-core/framework/core/02-privacy.md Prüfung 29 – Bedingung
81
+ FEHLER leitwerk-core/framework/runtime/root-instruction.md Prüfung 29 – Sicherheitskonfigurationen fehlt
82
+ FEHLER leitwerk-core/framework/runtime/root-instruction.md Prüfung 29 – Inhalte anderer Projekte fehlt
83
+ FEHLER leitwerk-core/tests/EDGE_CASES.md Prüfung 30 – fehlt
84
+ Ergebnis: 8 Fehler, 0 Warnungen
85
+ ```
86
+
87
+ Gegen 0.32.0 im selben Prüfsatz: **0 Fehler, 0 Warnungen.**
88
+
89
+ **Das ist der stärkste Teil dieses Nachweises.** Die drei Prüfungen sind nicht auf einen
90
+ präparierten Defekt zugeschnitten – sie finden die vier Befunde dieses Releases **im
91
+ unveränderten Vorstand von selbst**: die fehlerhafte Ausschlussliste in Quelle und Installation,
92
+ die Bedingung an einer unbedingten Kategorie und die zwei Kategorien, die der Kurzform fehlten.
93
+ Zwei davon hat das externe Review nicht genannt; Prüfung 29 hätte sie gefunden, bevor jemand
94
+ hinsah.
95
+
96
+ ## 5. Der Lauf in beiden Kodierungsumgebungen
97
+
98
+ Auflage aus D-49: Der Sondenlauf gilt nur, wenn er in beiden Umgebungen läuft.
99
+
100
+ | Umgebung | Sonden und Gegenproben | Ergebnis |
101
+ |---|---|---|
102
+ | ohne `PYTHONIOENCODING` | 72 | alle bestanden |
103
+ | mit `PYTHONIOENCODING=utf-8` | 72 | alle bestanden |
104
+
105
+ 72 = 60 aus 0.31.0 plus zwölf neue (neun Sonden, drei Gegenproben). Der Validator meldet in beiden
106
+ Umgebungen 0 Fehler und 0 Warnungen.
107
+
108
+ ## 6. Was dieses Release nicht nachweist
109
+
110
+ - **Die Abgrenzung zu V6 (D-53) ist nicht maschinell geprüft.** Ob eine konkrete Änderung
111
+ Anwendungslogik oder Betrieb betrifft, entscheidet ein Mensch am Kriterium aus
112
+ `framework/core/09-risk-model.md`. Was geprüft ist: dass die Grenzfälle G-04 bis G-06 die
113
+ Entscheidung tragen und auf eine Fundstelle verweisen.
114
+ - **R12 (D-54) ist nicht maschinell geprüft.** Die leere Schnittmenge ist im Text aufgelöst; dass
115
+ sie leer **war**, ist im Gegenprüfungsprotokoll belegt, nicht durch einen Lauf.
116
+ - **Das Entwicklungsprofil (D-56) hat keinen Mechanismus und deshalb keine Sonde.** Es beschreibt
117
+ einen Kontext und hebt ausdrücklich keinen Schutz auf. Was es über den Shell-Kanal sagt, ist am
118
+ 2026-09-12 gemessen (B04) und hier nicht erneut belegt.
119
+ - **Prüfung 29 prüft Kategorien, nicht Semantik.** Sie erkennt eine fehlende Kategorie und eine
120
+ Bedingung aus einer festen Liste von Bedingungswörtern. Eine Bedingung, die anders formuliert
121
+ ist – „gilt nicht, wenn“ –, entgeht ihr. Die Liste ist erweiterbar und steht an einer Stelle.
122
+ - **Kein Lauf gegen ein Projekt mit ausgefüllter `<EXCLUDED_PATHS>`-Liste.** Dass die fehlerhafte
123
+ Lesesperre tatsächlich in einer Berechtigungsdatei entsteht, ist **nicht** gemessen; belegt ist
124
+ der Weg dorthin. Kein ausgeliefertes Overlay füllt die Liste aus, weil die Vorlage `<TBD>`
125
+ liefert. Das gehört in einen AP2-Lauf mit einem ausgefüllten Overlay.
126
+ - **`FW-KO-05` steht auf `offen`.** Ob ein KI-Client die zwölf Grenzfälle so einstuft, wie die
127
+ Tabelle es vorgibt, ist eine Sitzung und nicht gefahren.
128
+
129
+ ## 7. Gegenzeichnung
130
+
131
+ | Rolle | Name/Kennung | Datum | Ergebnis bestätigt |
132
+ |---|---|---|---|
133
+ | `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` | `<TBD>` |