@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,165 @@
1
+ # Wirkungsnachweise Release 0.43.0 – der Werkzeugbestand von `devin-desktop`
2
+
3
+ | Feld | Wert |
4
+ |---|---|
5
+ | Gegenstand | `CR-2026-065`, D-87 bis D-89: die Suchklasse im Hook, die zwei Namensräume, der Skillaufruf als Werkzeugaufruf, Prüfung 41, Prüfung 38 namensraumbewusst, `install.py` in der Listenform |
6
+ | Datum | 2026-09-14 |
7
+ | Vorstand | `8c30f17` (0.42.0) |
8
+ | Grundlage der Zusagen | `tests/protocols/2026-09-14-erhebung-devin-werkzeuge.md` – **zwölf Läufe am Client** in fünf Umgebungen |
9
+ | Ergebnis | **Validator 0 Fehler, 0 Warnungen. 177 Sonden, Gegenproben und Selbstproben bestanden** (123 / 47 / 7) – **in beiden Kodierungsumgebungen, zeilengleich**, Exit 0. Und: **Die Behebung ist am Client gemessen** – derselbe Aufruf, der vorher ein Secret lieferte, wird jetzt abgewiesen |
10
+
11
+ ## 1. Der Wirkungsnachweis am Client – die Auflage des Antrags
12
+
13
+ Der Antrag macht zur Auflage: *„derselbe `grep`-Aufruf auf `.env` in der Hook-Umgebung,
14
+ der vor der Änderung durchlief, muss danach blockiert werden. Ohne diesen Lauf ist die
15
+ Behebung eine Behauptung."*
16
+
17
+ Gleiche Umgebung wie H1 und H2 – **nur** der erzeugte PreToolUse-Hook, keine Regeltexte,
18
+ keine Berechtigungsregeln –, neu installiert aus diesem Stand:
19
+
20
+ | | vorher (0.42.0) | nachher (0.43.0) |
21
+ |---|---|---|
22
+ | Matcher | `read\|exec\|edit\|write` | `read\|grep\|find_file_by_name\|exec\|edit\|write` |
23
+ | **H2 / H2n**, `grep` auf `.env` | `Found 1 match(es) …`, **Secret wörtlich** | `Tool rejected: {"decision": "block", …}` |
24
+ | **H1**, `read` auf `.env` *(Positivkontrolle)* | blockiert | blockiert |
25
+
26
+ **Die Positivkontrolle gehört dazu**: Ohne sie wäre offen, ob der Hook in dieser Umgebung
27
+ überhaupt läuft.
28
+
29
+ ## 2. Was neu geprüft wird
30
+
31
+ | Prüfung | Gegenstand | Sonden | Gegenproben |
32
+ |---|---|---|---|
33
+ | **41** | Eine Abwesenheitserklärung ist **Enthaltung** oder **Beleg** (Datum **und** Fundstelle) | 41a, 41b | 41a, **41b** |
34
+ | **41** | Verlorener Gegenstand: kein Pack erklärt mehr eine Abwesenheit | 41c | – |
35
+ | **38, Gegenstand 3** | Ein erklärter eigener Namensraum braucht eine Begründung | 38j | – |
36
+ | **38, Gegenstand 3** | Ohne die Erklärung greift die Richtungsregel weiter | 38k | – |
37
+
38
+ **Die zweite Gegenprobe ist die wichtigere Hälfte.** Sie ersetzt eine belegte Erklärung
39
+ durch eine reine **Enthaltung ohne Datum und ohne Fundstelle** – und die Prüfung darf sie
40
+ **nicht** melden. Wer das verwechselt, verlangt für eine ehrliche Wissenslücke ein
41
+ Protokoll, das es nicht geben kann, und treibt damit genau die Behauptung hervor, gegen
42
+ die Prüfung 41 gebaut ist.
43
+
44
+ ## 3. Der Gegenbeweis gegen den Vorstand
45
+
46
+ | Lauf | Fundstellen | Was er misst |
47
+ |---|---|---|
48
+ | 0.42.0-Validator gegen 0.42.0 *(Kontrolle)* | **0 Fehler, 0 Warnungen** | Der ausgelieferte Lauf sah beide Stellen nicht |
49
+ | **0.43.0-Validator gegen 0.42.0** | **2** | `devin-desktop/_hook_tools_absent_note` – **genau der Satz, der den Hook um die Suchklasse gebracht hat**; und `claude-code/_skill_deny_unmapped_note`, das eine Messung nennt, ohne sie auffindbar zu machen |
50
+ | Kontrollprobe Arbeitsbaum 0.43.0 | **0 Fehler, 0 Warnungen** | – |
51
+
52
+ **Ein Abzählen, keine Konstruktion** – zum zweiten Mal in Folge. **Und die erwartete Zahl
53
+ war eine, gemessen sind es zwei:** Der Antrag hatte nur an `devin-desktop` gedacht. Die
54
+ zweite Stelle ist mit diesem Release ebenfalls behoben (Abschnitt 4.3). *Wer eine
55
+ Messreihe fährt, zählt die Meldungen, nicht nur ihr Vorhandensein.*
56
+
57
+ ## 4. Was beim Bauen gefangen wurde
58
+
59
+ ### 4.1 Die eigene Behebung war falsch, und der Client hat es gesagt
60
+
61
+ Der erste Entwurf trug `glob → find_file_by_name` in die Werkzeugabbildung ein. Danach
62
+ meldete der Client für dieselbe Skilldatei `Allowed tools: read, grep` statt
63
+ `read, grep, glob` – **er hatte den Eintrag lautlos verworfen, und der Validator sagte
64
+ 0 Fehler.** Eine Sondendatei mit zwölf Namen zeigt das Vokabular: angenommen werden
65
+ `read, grep, glob, edit, exec, web_search`, verworfen `find_file_by_name`, `write`,
66
+ `skill` und ein erfundener Name.
67
+
68
+ **Die Lehre ist die teuerste dieser Sitzung:** *Ein gemessener Name ist noch nicht der
69
+ Name für die Stelle, an der man ihn einträgt.* Gefangen hat es **nicht** der Validator,
70
+ sondern ein Blick des Clients auf die eigene Datei (`devin skills show`) – eine
71
+ Gegenprobe, die zwei Sekunden kostet.
72
+
73
+ ### 4.2 Dieselbe Abbildung mit zwei Ergebnissen
74
+
75
+ Beim Eintragen fiel auf: Das Agentenprofil trug nach der Änderung `find_file_by_name`,
76
+ die Skilldatei weiter `glob`. **Der Skill-Renderer schrieb die Werkzeugnamen nur im
77
+ csv-Zweig um, der Agenten-Renderer daneben immer.** Ein Pack mit `tools_format: list`
78
+ hatte damit eine Abbildung, die geprüft und nicht angewandt wurde – eine Deklaration ohne
79
+ Wirkung. Behoben; und weil die Abbildung hier die Identität ist, ändert sich am erzeugten
80
+ Ergebnis **nichts** – die Ersetzung geschieht an Ort und Stelle.
81
+
82
+ ### 4.3 Prüfung 41 hat sofort eine zweite Stelle gefunden
83
+
84
+ `claude-code` erklärte unter `_skill_deny_unmapped_note` eine Abwesenheit mit den Worten
85
+ „Gemessen (Läufe G′ und G″ der Erhebung)" – **ohne Datum und ohne Fundstelle.** Die
86
+ Messung gibt es (`2026-09-13-erhebung-disallowed-tools.md`, Abschnitt 4.3); auffindbar war
87
+ sie von dort aus nicht. Nachgetragen.
88
+
89
+ ### 4.4 Der erste Entwurf der Prüfung war angreifbar
90
+
91
+ Er ließ als Beleg auch das bloße Wort „gemessen" gelten. **„nicht gemessen" enthält es
92
+ auch** – und genau diese Formulierung steht in mehreren Enthaltungen des Projekts. Die
93
+ Prüfung verlangt seither eine **Fundstelle** unter `tests/protocols/`.
94
+
95
+ ### 4.5 Prüfung 41 hat drei Sonden der Prüfung 40 gebrochen – einen Tag alt
96
+
97
+ Der erste Sondenlauf dieses Releases brach mit `KeyError: 'tool_names_unmapped'` ab: Die
98
+ Sonden **38a** und **38b** räumten eine Enthaltung ab, die es seit dieser Änderung nicht
99
+ mehr gibt. Sie stellen den Defekt jetzt **her**, statt ihn abzuräumen.
100
+
101
+ Der zweite Lauf meldete drei Fehlschläge, alle bei Prüfung 40 – und alle aus demselben
102
+ Grund: **Die Sonden trugen die höchste Prüfungsnummer ihres eigenen Releases im
103
+ Suchtext.**
104
+
105
+ | Sonde | was sie tat | warum sie fiel |
106
+ |---|---|---|
107
+ | **40a** | entfernte den Registereintrag `40.` | 41 stand darüber – gemeldet wurde eine **Lücke**, nicht der fehlende letzte Eintrag |
108
+ | **40c** | ergänzte einen Eintrag `41.` | den gibt es seit diesem Release **wirklich**; der Lauf meldete 0 Fehler |
109
+ | **40d** | suchte `… Pruefungen 6 und 18 bis 40 laeuft` | die Spanne heißt jetzt `… bis 41`; **Präparation gebrochen**, sauber gemeldet |
110
+
111
+ **Alle drei leiten ihre Grenze jetzt aus der Datei ab** – letzter Registereintrag, dessen
112
+ Nummer, die Spanne über ein Muster. Und der Erwartungstext von 40a nennt keine Nummer
113
+ mehr.
114
+
115
+ **Die Lehre:** *Eine Sonde, die ihre eigene Releasenummer verdrahtet, prüft genau ein
116
+ Release.* Prüfung 40 ist einen Tag alt, und ihre Sonden waren schon überholt. Aufgefallen
117
+ ist es, weil der Sondenlauf sie meldet – **der Validator stand die ganze Zeit auf 0/0.**
118
+ Zum **vierten** Mal der Beleg, dass ein grüner Repo-Lauf den Sondenlauf nicht ersetzt.
119
+
120
+ ## 5. Sondenlauf
121
+
122
+ | Umgebung | Sonden | Gegenproben | Selbstproben | Fehlschläge | Exit |
123
+ |---|---|---|---|---|---|
124
+ | ohne `PYTHONIOENCODING` | 123 | 47 | 7 | **0** | 0 |
125
+ | mit `PYTHONIOENCODING=utf-8` | 123 | 47 | 7 | **0** | 0 |
126
+
127
+ **Zeilengleich** (`diff` über beide Läufe: leer). **177 bestanden.** Die neuen Einträge:
128
+
129
+ ```text
130
+ SONDE 41a OK Abwesenheitserklaerung ohne Enthaltung und ohne Fundstelle - der Fall vom 2026-09-14
131
+ SONDE 41b OK Ein Datum allein ist kein Beleg
132
+ SONDE 41c OK Verlorener Gegenstand - kein Pack erklaert mehr eine Abwesenheit
133
+ SONDE 38j OK Eigener Namensraum ohne Begruendung - die Richtungsregel faellt unbegruendet weg
134
+ SONDE 38k OK Namensraum auf 'werkzeugnamen' gestellt - die Richtungsregel muss greifen
135
+ GEGENPROBE 41a OK Die unveraenderten Packs bleiben unbeanstandet - eine Enthaltung und ein Beleg
136
+ GEGENPROBE 41b OK Eine Enthaltung ohne Datum und ohne Fundstelle bleibt unbeanstandet - sie ist selbst die Aussage
137
+ ```
138
+
139
+ Der **erste** Lauf brach ab, der **zweite** meldete drei Fehlschläge (Abschnitt 4.5); die
140
+ Tabelle oben ist der **dritte**.
141
+
142
+ ## 6. Was dieses Release nicht belegt
143
+
144
+ - **Nichts über ein anderes Modell.** Alle Läufe fahren `SWE-1.6 Slow`; ein zweites Modell
145
+ ist auf diesem Konto nicht aufrufbar (`Upgrade to Pro`). **Bietet der Client einem
146
+ anderen Modell einen anderen Werkzeugbestand an, wäre `hook_tools` erneut zu prüfen.**
147
+ - **Nichts darüber, ob der Skillaufruf kontrollierbar ist** (**K-34**). Zwei Schreibweisen
148
+ sind geprüft und wirkungslos; ob eine dritte wirkt, ist offen.
149
+ - **Nichts über die Richtungsregel bei `devin-desktop`.** Sie ist ausgesetzt, nicht
150
+ erfüllt – ein deklarierter blinder Fleck.
151
+ - **Nichts über die Wirkung von `allowed-tools`.** Gemessen ist, welche Namen der Client
152
+ **annimmt**, nicht was er mit ihnen tut.
153
+ - **Nichts über den Unterprozess-Kanal.** Zeile B3 führt ihn weiter als nicht
154
+ nachgewiesen.
155
+ - **Prüfung 41 prüft eine Form.** Wer Datum und Pfad hinschreibt, besteht sie – auch wenn
156
+ das Protokoll etwas anderes sagt.
157
+
158
+ ## 7. Gegenzeichnung
159
+
160
+ | Feld | Inhalt |
161
+ |---|---|
162
+ | Durchführung | KI-Client unter Aufsicht, Sitzung vom 2026-09-14 |
163
+ | Gegengezeichnet durch | `<APPROVAL_ROLE>` |
164
+ | Datum | `<TBD: Datum der Gegenzeichnung>` |
165
+ | Anmerkungen | `<TBD: Anmerkungen der gegenzeichnenden Rolle>` |
@@ -0,0 +1,130 @@
1
+ # Wirkungsnachweise Release 0.44.0 – Prüfung 42 und die drei berichtigten Zusagen
2
+
3
+ | Feld | Wert |
4
+ |---|---|
5
+ | Gegenstand | `CR-2026-066`, D-90 und D-91: Prüfung 42 (ein gefüllter Befehlsschlitz trägt, was das Overlay erklärt), die Korbzerlegung an **einer** Stelle, und die drei uneingeschränkten Zusagen aus 0.39.0 |
6
+ | Datum | 2026-09-14 |
7
+ | Vorstand | `c0f15a9` (0.43.0) |
8
+ | Umgebung | Windows 11, Python 3.14.4 |
9
+ | Abnahmeform | Validator 0/0, Sondenlauf in **beiden** Kodierungsumgebungen (D-49), Gegenbeweis gegen den Vorstand |
10
+ | Ergebnis | **Bestanden.** Validator 0 Fehler, 0 Warnungen; **195 Sonden, Gegenproben und Selbstproben in beiden Umgebungen, zeilengleich**; Gegenbeweis als **Abzählen an einem echten Projekt** |
11
+
12
+ ## 1. Der Gegenbeweis – ein Abzählen an einem echten Projekt
13
+
14
+ **Die Belegform dieses Releases ist ein Abzählen, keine Konstruktion.** Der Befund stand am
15
+ Piloten, bevor die Prüfung gebaut wurde; die Prüfung findet ihn. Das ist die Lage von 0.42.0
16
+ und der Unterschied zu 0.39.0, 0.40.0 und 0.41.0, deren Gegenbeweise Konstruktionen waren.
17
+
18
+ **Der Zuschnitt hat zwei Hälften, und beide gehören genannt:**
19
+
20
+ | Zuschnitt | Fundstellen |
21
+ |---|---|
22
+ | Neuer Validator gegen eine **frische Installation des Vorstands** (`c0f15a9`, Pack `devin-desktop`, installiert mit dem `install.py` des Vorstands) | **0** – und das ist kein Versehen: Die Schlitze stehen dort wörtlich offen, und das Overlay sagt dreimal `<TBD>`. **Es gibt dort nichts zu finden** |
23
+ | Neuer Validator gegen den **Piloten**, wie er steht (`devpacks/otp-generator`, Arbeitskopie, Pack `claude-code`) | **1** – `Bash(mvn -B -q compile)` im `ask`-Korb, während Abschnitt 6 `<LINT_COMMAND>` als „nicht vorhanden" erklärt |
24
+
25
+ **Die eine Fundstelle ist die richtige, und nur sie.** `Bash(mvn -B clean package)` und
26
+ `Bash(mvn -B test)` laufen durch, weil Abschnitt 5 und 6 sie für ihre Platzhalter erklären.
27
+ Eine Prüfung, die jede gefüllte Datei beanstandete, bestünde jede Sonde.
28
+
29
+ ### Dieselben Läufe, Vorstand gegen diesen Stand
30
+
31
+ Die Läufe der Gegenprüfung an der Arbeitskopie des Piloten, ein zweites Mal gefahren –
32
+ einmal mit dem Kern des Vorstands, einmal mit diesem. **Die Gesamtzahl steht daneben, damit
33
+ eine Null ein Messwert ist und kein Absturz.**
34
+
35
+ | Lauf | Eingriff | 0.43.0 | 0.44.0 | Was Prüfung 42 neu sagt |
36
+ |---|---|---|---|---|
37
+ | **M1** | keiner – der Pilot wie vorgefunden | 0 (2 Fehler) | **1** (3 Fehler) | `Bash(mvn -B -q compile)` füllt keinen erklärten Schlitz |
38
+ | **M2** | `Edit(**)` aus `ask` entfernt | 1 (37) | 2 (37 **und** 42) | 42 meldet daneben weiter den Ist-Befund |
39
+ | **M3** | `Bash(mvn -B test)` → `Bash(mvn -B verify)` | 0 | **3** | zwei unerklärte Regeln **und** der erklärte Testbefehl fehlt |
40
+ | **M4** | dritter Schlitz trägt `mvn -B deploy` | 0 | **1** | der Befehl mit Fernwirkung wird benannt |
41
+ | **M5** | eine **vierte** Zeile im `ask`-Korb | 1 (37) | 3 (37 und 42) | beide Prüfungen, jede mit ihrem eigenen Satz |
42
+ | **M6** | `Bash(mvn -B -q compile)` **entfernt** | 0 | **0** | **Der zulässige Weg bleibt still** |
43
+ | **M7** | `Bash(mvn -B test:*)` | 1 (37) | 4 (37 und 42) | Präfixzeichen **und** abweichender Wert |
44
+
45
+ **M6 ist die wichtigste Zeile der Tabelle.** Sie zeigt, dass der Weg, auf dem ein Projekt den
46
+ Befund behebt – die Zeile streichen –, keinen Fehler erzeugt. **Eine Prüfung, die den
47
+ zulässigen Weg teurer macht als den unzulässigen, wäre ihre eigene Umgehung wert.**
48
+
49
+ **M3 und M7 melden mehr als eine Fundstelle, und das ist richtig:** Ein Schlitz mit fremdem
50
+ Inhalt ist zwei Aussagen zugleich – der erklärte Befehl steht nicht da, und ein nicht
51
+ erklärter steht da. Die beiden Meldungen sagen verschiedene wahre Dinge.
52
+
53
+ ## 2. Sondenlauf
54
+
55
+ `python leitwerk-core/tests/scripts/probe-pruefungen.py .`, in beiden Kodierungsumgebungen –
56
+ mit und ohne `PYTHONIOENCODING=utf-8` (Abnahmeauflage seit D-49).
57
+
58
+ | Umgebung | Sonden | Gegenproben | Selbstproben | Ergebnis |
59
+ |---|---|---|---|---|
60
+ | ohne `PYTHONIOENCODING` | 135 | 53 | 7 | **alle bestanden** (Exit 0) |
61
+ | `PYTHONIOENCODING=utf-8` | 135 | 53 | 7 | **alle bestanden** (Exit 0) |
62
+
63
+ **Zeilengleich in beiden Umgebungen.** Der Vorstand trug 123 Sonden und 47 Gegenproben;
64
+ dieses Release fügt **zwölf Sonden und sechs Gegenproben** hinzu – je sechs und drei pro
65
+ Pack, denn Prüfung 42 hängt an einer Installation und wird deshalb je Pack gefahren (B02).
66
+
67
+ **Die achtzehn neuen im Einzelnen, je Pack identisch:**
68
+
69
+ | Kennung | Art | Fall |
70
+ |---|---|---|
71
+ | 42a | Gegenprobe | Auslieferungszustand: Overlay dreimal `<TBD>`, drei offene Schlitze |
72
+ | 42b | Gegenprobe | Drei erklärte Befehle, drei passende Regeln – der Normalfall |
73
+ | 42c | Gegenprobe | **Kein Lintbefehl, Schlitz gestrichen – der zulässige Weg** |
74
+ | 42a | Sonde | Der Fall des Piloten: Overlay sagt „nicht vorhanden", die Datei gewährt einen dritten Befehl |
75
+ | 42b | Sonde | Overlay erklärt dreimal `<TBD>`, die Datei gewährt drei Befehle – einer mit Fernwirkung |
76
+ | 42c | Sonde | Gefüllter Schlitz mit fremdem Befehl – der Fall, den Kandidat 2 beschrieb |
77
+ | 42d | Sonde | Das Overlay erklärt einen Befehl, die Datei trägt noch den offenen Schlitz |
78
+ | 42e | Sonde | Verlorener Anker – keine Tabellenzeile nennt den Platzhalter mehr |
79
+ | 42f | Sonde | Zwei Tabellenzeilen nennen denselben Platzhalter – welcher Befehl gilt? |
80
+
81
+ **Die drei Gegenproben sind die wichtigere Hälfte**, und 42c ist die entscheidende: Ein
82
+ Projekt ohne Formatprüfung, das seinen Schlitz streicht, läuft durch. Ohne diese Gegenprobe
83
+ stünde nur fest, dass die Prüfung irgendetwas meldet.
84
+
85
+ **Prüfung 40 hat während der Umsetzung zweimal gegriffen** – und beide Male zu Recht:
86
+
87
+ 1. Die Spanne der Sondenmenge wurde auf „6 und 18 bis 42" gesetzt, **bevor** die erste Sonde
88
+ zu Prüfung 42 existierte. Drei Meldungen, eine je Träger. **Die Prüfung hat einen
89
+ vorgezogenen Registereintrag gefangen** – genau ihr Zweck.
90
+ 2. Ein erster Entwurf fasste die Validatorläufe der Sonden in eine Hilfsfunktion, die
91
+ `melde()` verdeckte. Prüfung 40 rechnet die Sondenmenge aus dem **wörtlichen** Muster
92
+ `melde("SONDE", "…"` aus; die Sonden wären dort unsichtbar geblieben und die Spanne bei
93
+ 41 stehen geblieben. **Gefangen vor dem ersten Lauf, beim Lesen der Prüfung 40.**
94
+
95
+ ## 3. Validator
96
+
97
+ `python leitwerk-core/tests/scripts/validate-framework.py --root .` gegen das Repositorium:
98
+ **0 Fehler, 0 Warnungen** – nach jedem der acht Patchschritte einzeln geprüft.
99
+
100
+ Die lokale Testinstallation (`.devin/`, `project-overlay/`) ist nach den Kernänderungen mit
101
+ `install.py --update` nachgezogen worden: 0 angelegt, 0 aktualisiert, 58 unverändert,
102
+ 20 Projektdateien behalten.
103
+
104
+ **Prüfung 42 meldet im Repositorium nichts**, und das steht so im Kopfkommentar: Die
105
+ Testinstallation hat drei offene Schlitze und ein Overlay, das dreimal `<TBD>` sagt.
106
+
107
+ ## 4. Was dieses Release nicht belegt
108
+
109
+ - **Die vier Pfadschlitze sind ungeprüft** (**K-35**). Kein Lauf dieses Protokolls sagt
110
+ etwas über `<EXCLUDED_PATHS>` und die beiden Konfigurationslisten. Ein zu **eng**
111
+ gefüllter Pfadschlitz bleibt eine stille Lockerung.
112
+ - **Prüfung 42 vergleicht Zeichenketten.** Dass `mvn -B test` in Abschnitt 6 und
113
+ `Bash(mvn -B test)` in der Datei denselben Befehl meinen, ist eine Textgleichheit und
114
+ keine Aussage über den Befehl.
115
+ - **Keine Sitzung ist gemessen.** Dass ein KI-Client eine unerklärte Zeile als Freigabe
116
+ benutzt, ist **nicht beobachtet** – belegt ist, dass sie dasteht und bis 0.43.0
117
+ unbeanstandet blieb.
118
+ - **Die drei berichtigten Zusagen sind nicht geprüft, sondern geschrieben.** Kein
119
+ Mechanismus hält sie künftig gegen das, was der Validator leistet; sie bleiben Text.
120
+ **Das ist genau die Bauform, die dieses Release behandelt** – hier nicht abgeschafft,
121
+ sondern an drei Stellen berichtigt.
122
+ - **Der Pilot ist unberührt geblieben.** Alle Läufe liefen an Kopien; die Ausgangszustände
123
+ sind nach jedem Lauf zurückgeschrieben und geprüft worden.
124
+
125
+ ## 5. Gegenzeichnung
126
+
127
+ | Feld | Wert |
128
+ |---|---|
129
+ | Durchgeführt von | KI-Client (Claude Code) in der Sitzung vom 2026-09-14 |
130
+ | Gegengezeichnet | offen – `<FRAMEWORK_OWNER>` |
@@ -0,0 +1,311 @@
1
+ # Gegenprüfung der vier D-11-Zählregeln und Wirkungsnachweis 0.48.0
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Datum | 2026-09-15 |
6
+ | Gegenstand | Die vier Zählregeln des 1.0.0-Standes aus `docs/ROADMAP.md`, und Prüfung 46, die sie ersetzt |
7
+ | Anlass | Kandidat 2 der Übergabe: der D-11-Zähler. Die Roadmap verlangt, seine Ermessensfrage **vor** dem Bauen zu entscheiden – dafür mussten die vier Zahlen einmal wirklich ausgerechnet werden |
8
+ | Antrag | `CR-2026-070`, D-98, D-99 |
9
+ | Grundlage | D-23: Eine Prüfung gilt erst als vorhanden, wenn sie eine bewusst gesetzte Sonde meldet. Dazu der Gegenbeweis gegen den Vorstand |
10
+ | Ergebnis | **154 Sonden, 62 Gegenproben, 12 Selbstproben – alle bestanden, in beiden Kodierungsumgebungen zeilengleich** (Exit 0). Validator: 0 Fehler, 0 Warnungen. **Gegenbeweis gegen 0.47.0: alle sechs Sonden fallen, alle drei Gegenproben bestehen dort** |
11
+
12
+ ## 1. Der Befund, abgezählt
13
+
14
+ **Die Auflage des Antrags verlangt je Regel die Fundstelle und den Grund.** Hier stehen sie.
15
+
16
+ | # | Kriterium (D-11) | Zählregel bis 0.47.0 | Geglaubt | **Gezählt** |
17
+ |---|---|---|---|---|
18
+ | 1 | kein unbearbeiteter `VERIFY`-Marker | `docs/ROADMAP.md:31` – `grep -rl "VERIFY AGAINST CURRENT CLIENT DOCUMENTATION"` | 27 in 26 Dateien | **29** |
19
+ | 2 | Testkatalog ohne `offen` | `docs/ROADMAP.md:32` – „Ergebnisspalte …, dazu die dezentralen `TESTS.md` je Skill" | 103 | **118** |
20
+ | 3 | alle Modulstatus über `entwurf` | `docs/ROADMAP.md:33` – vier genannte Ablagen | 16 | **69** |
21
+ | 4 | keine Decision Records `entschieden (Vorschlag)` | `docs/ROADMAP.md:34` – `governance/DECISION_LOG.md` | 16 | **9** |
22
+
23
+ ### 1.1 Kriterium 1 – eine von zwei registrierten Schreibweisen
24
+
25
+ `docs/PLACEHOLDER_REGISTRY.md:80` führt eine **zweite** Markerform als „clientgebundene
26
+ Altform", nur im Client Pack `devin-desktop` zulässig – **mit derselben Frist in der
27
+ Spalte „Ersetzung/Frist": „vor Version 1.0.0".** Der Zählbefehl kennt sie nicht.
28
+
29
+ Fundstellen der Altform, gezählt über den ganzen Baum:
30
+
31
+ | Datei | Fundstellen | Gewicht |
32
+ |---|---|---|
33
+ | `clients/devin-desktop/CLIENT_PACK.md` | **7** | Die Fähigkeitsmatrix eines ausgelieferten Packs |
34
+ | `clients/devin-desktop/root-template/.devin/README.md` | **2** | **Eine Datei, die jede Devin-Installation bekommt** |
35
+ | `governance/DECISION_LOG.md` | 2 | `K-20` (offener Verifikationsbedarf) und `A-05` (Annahme) |
36
+ | `docs/PLACEHOLDER_REGISTRY.md` | 1 | die Registerzeile selbst |
37
+ | `CHANGELOG.md`, drei Änderungsanträge, ein Protokoll | 7 | historische Aufzeichnung, außerhalb des Zählbereichs |
38
+ | `build/out/hauptdokument.md` | 12 | Erzeugnis, außerhalb des Zählbereichs |
39
+ | `README.md` (Wurzel) | 1 | **Nebenbefund**, siehe Abschnitt 5 |
40
+
41
+ **Der Zählbefehl meldete an allen diesen Stellen null.**
42
+
43
+ ### 1.2 Kriterium 2 – die dreizehnte Ablage
44
+
45
+ „je Skill" wurde als zwölf `framework/skills/*/TESTS.md` gelesen. Der Baumdurchlauf findet
46
+ **dreizehn**:
47
+
48
+ ```
49
+ 15/15 framework/role-packs/requirements-engineering/skills/role-re-ticket/TESTS.md ← nie gezählt
50
+ 6/ 6 framework/skills/fw-bugfix-prepare/TESTS.md
51
+ 5/ 5 framework/skills/fw-change-analyze/TESTS.md
52
+ 7/ 7 framework/skills/fw-change-small/TESTS.md
53
+ 5/ 5 framework/skills/fw-code-explain/TESTS.md
54
+ 6/ 6 framework/skills/fw-docs-update/TESTS.md
55
+ 6/ 6 framework/skills/fw-error-analyze/TESTS.md
56
+ 6/ 6 framework/skills/fw-mr-description/TESTS.md
57
+ 6/ 6 framework/skills/fw-plan/TESTS.md
58
+ 7/ 7 framework/skills/fw-refactor/TESTS.md
59
+ 5/ 5 framework/skills/fw-repo-analyze/TESTS.md
60
+ 7/ 7 framework/skills/fw-review-support/TESTS.md
61
+ 6/ 6 framework/skills/fw-tests/TESTS.md
62
+ ──────
63
+ 87 offen (+ 31 im Katalog = 118)
64
+ ```
65
+
66
+ **Ein Role-Pack-Skill ist ein Skill.** 72 + 15 = 87, und 31 + 87 = 118 statt 103.
67
+
68
+ ### 1.3 Kriterium 3 – ein Viertel des Bestands, und ein Zählort ohne Gegenstand
69
+
70
+ Die vier genannten Ablagen decken 16 Träger. Der Bestand an Steckbriefzeilen `| Status |`
71
+ im Kern beträgt **69**, verteilt auf:
72
+
73
+ | Ablage | Träger auf `entwurf` | In der alten Regel genannt |
74
+ |---|---|---|
75
+ | `prompts/` | 12 | nein |
76
+ | `checklists/` | 11 | nein |
77
+ | `governance/` | 7 | nein |
78
+ | `decision-trees/` | 6 | nein |
79
+ | `onboarding/` | 4 | nein |
80
+ | `clients/` | 4 | nein |
81
+ | `docs/` | 3 | nein |
82
+ | `pilot/`, `tests/` | je 2 | nein |
83
+ | `templates/` | 1 | nein |
84
+ | `framework/skills/*/SKILL.md` | 12 | **ja** |
85
+ | `framework/role-packs/`, `framework/tech-packs/` | 5 | **ja** |
86
+ | `framework/core/` | **0 – dort gibt es keine Statuszeile** | **ja** |
87
+
88
+ **Zwei Befunde in einem:** Die Liste deckt ein Viertel, und einer ihrer vier Orte hat
89
+ überhaupt keinen Gegenstand. Dazu ein dritter: `role-packs/software-development/ROLE_PACK.md`
90
+ trägt `entwurf (Referenzpack der Erstfassung)` – ein Gleichheitsvergleich sieht sie nicht,
91
+ der Vergleich am **ersten Wort** schon.
92
+
93
+ **Und die Feststellung, die aus dem Abzählen folgt:** Von 69 Trägern steht **keiner** über
94
+ `entwurf`. Das Lebenszyklusmodell aus `framework/core/08-skill-conventions.md` Abschnitt 7
95
+ (`entwurf` → `pilot` → `aktiv`) ist in diesem Repositorium **noch nie angewendet worden**.
96
+
97
+ ### 1.4 Kriterium 4 – die einzige Zahl, die zu groß war
98
+
99
+ `grep -c "entschieden (Vorschlag)" governance/DECISION_LOG.md` liefert **16**. Davon sind:
100
+
101
+ | Zeile | Was es ist | Zählt nach D-11? |
102
+ |---|---|---|
103
+ | Zeile 4 | die **Legende**, die den Statuswert erklärt | nein |
104
+ | `K-08`, `K-12`, `K-13`, `K-17`, `K-18` | **Klärungspunkte** – keine Decision Records | nein |
105
+ | `D-11` | der Kriterientext selbst („keine Decision Records im Status …") | nein |
106
+ | `D-01` bis `D-08`, `D-10` | **Decision Records** | **ja – neun** |
107
+
108
+ **D-11 sagt „Decision Records".** Ein Klärungspunkt ist keiner, und die Definition eines
109
+ Kriteriums ist kein Fall des Kriteriums.
110
+
111
+ ## 2. Der Sondenlauf
112
+
113
+ `python leitwerk-core/tests/scripts/probe-pruefungen.py .`
114
+
115
+ | Einheit | Gegenstand | Ergebnis |
116
+ |---|---|---|
117
+ | Sonde 46a | Eine Zahl der Standzeile steht zu hoch – der Zähler meldet den **nicht nachgezogenen Fortschritt** | **OK** |
118
+ | Sonde 46b | Ohne Standzeile meldet die Prüfung den **verlorenen Anker**, statt leise zu bestehen | **OK** |
119
+ | Sonde 46c | Ein neuer Marker im Kern hebt Kriterium 1 | **OK** |
120
+ | Sonde 46d | Ein Testblatt an einer Ablage, die keine Liste kennt, hebt Kriterium 2 | **OK** |
121
+ | Sonde 46e | Ein neues Modul auf `entwurf` hebt Kriterium 3 – **auch außerhalb der vier früher genannten Ablagen** | **OK** |
122
+ | Sonde 46f | Ein gehobener Decision Record **senkt** Kriterium 4 – die zweite Richtung | **OK** |
123
+ | Gegenprobe 46a | Das unveränderte Repositorium bleibt unbeanstandet | **OK** |
124
+ | Gegenprobe 46b | Ein **Klärungspunkt** mit demselben Statuswort bleibt ungezählt | **OK** |
125
+ | Gegenprobe 46c | Ein Marker in einem **datierten Protokoll** bleibt ungezählt | **OK** |
126
+ | Selbstprobe C1 | Der Baumdurchlauf findet **15** Kerndateien, die eine Mustersuche überspringt | **OK** |
127
+
128
+ **Warum sechs Sonden und nicht zwei:** Ein Zähler, der nur Rückfälle meldet, hielte still,
129
+ solange sich nichts verschlechtert – und der Stand stünde wieder daneben. Sonde 46f ist die
130
+ Gegenrichtung, und ohne sie wäre die Prüfung ein Fortschrittsbalken.
131
+
132
+ **Abnahme (D-49, D-94):**
133
+
134
+ | Lauf | Ergebniszeilen oberhalb der Trennlinie | Exit |
135
+ |---|---|---|
136
+ | ohne `PYTHONIOENCODING` | **250** | 0 |
137
+ | mit `PYTHONIOENCODING=utf-8` | **250**, zeilengleich | 0 |
138
+ | `--bahnen 1` (streng seriell) | **derselbe Einheitensatz, sortiert zeilengleich** | 0 |
139
+
140
+ Kein `AUFRAEUMER`-Eintrag in den Abnahmeläufen.
141
+
142
+ > **Was der serielle Vergleich belegt und was nicht.** Er belegt, dass die Nebenläufigkeit
143
+ > keine Einheit verschluckt und keine zusätzlich erzeugt – eine Eigenschaft der
144
+ > Ablaufsteuerung, nicht des Meldetextes. Gemessen ist er an einem Zwischenstand desselben
145
+ > Tages, der sich vom Abnahmestand nur im **Wortlaut von sechs Beschreibungssätzen**
146
+ > unterscheidet; der Einheitensatz ist identisch. **Die Abnahmeform nach D-49 sind die
147
+ > beiden Kodierungsumgebungen, und die sind zeilengleich** – der serielle Lauf ist seit
148
+ > 0.46.0 eine Zugabe, keine Abnahmebedingung.
149
+
150
+ ## 3. Der Gegenbeweis gegen den Vorstand
151
+
152
+ Gemessen mit dem **neuen** Sondenskript gegen einen **vollständigen** Arbeitsbaum auf
153
+ 0.47.0 – `leitwerk-core/` und `README.md` auf den Stand von `b6fd621` zurückgesetzt,
154
+ Wurzelerzeugnisse unberührt. Sein eigener Validatorlauf meldet dort 0 Fehler, 0 Warnungen.
155
+
156
+ | Einheit | Gegen 0.47.0 | Erwartet | Art des Fallens |
157
+ |---|---|---|---|
158
+ | Sonde 46a | **FEHL** | fällt | *Präparation gebrochen* – die Standzeile gibt es dort nicht |
159
+ | Sonde 46b | **FEHL** | fällt | *Präparation gebrochen* – dieselbe Ursache |
160
+ | Sonde 46c | **FEHL** | fällt | die Prüfung fehlt |
161
+ | Sonde 46d | **FEHL** | fällt | die Prüfung fehlt |
162
+ | Sonde 46e | **FEHL** | fällt | die Prüfung fehlt |
163
+ | Sonde 46f | **FEHL** | fällt | die Prüfung fehlt |
164
+ | Gegenprobe 46a | OK | **besteht** | – |
165
+ | Gegenprobe 46b | OK | **besteht** | – |
166
+ | Gegenprobe 46c | OK | **besteht** | – |
167
+
168
+ **Zwei der sechs fallen aus einem anderen Grund als die übrigen vier, und das ist der
169
+ richtige Grund:** Sie präparieren eine Zeile, die im Vorstand noch gar nicht existiert.
170
+ Der Präparationswächter aus D-74 unterscheidet genau das – eine Sonde, die ihren
171
+ Gegenstand nicht findet, meldet das und gibt sich nicht als Befund aus.
172
+
173
+ ## 4. Was der Lauf beim Bauen gefunden hat – dreimal
174
+
175
+ ### 4.1 Der eigene Prüfapparat fing den eigenen Kopfkommentar
176
+
177
+ Die erste Fassung des Kopfkommentars von Prüfung 46 schrieb die clientgebundene
178
+ Markerform **wörtlich** hin, um den Befund zu belegen. **Prüfung 14 verbietet genau das im
179
+ Kern** und meldete es im ersten Lauf:
180
+
181
+ ```
182
+ FEHLER …/validate-framework.py:4643: Der Platzhalter <…> traegt den Clientnamen 'DEVIN'.
183
+ Ein Platzhalter bindet den Kern damit an ein Produkt (D-02)
184
+ ```
185
+
186
+ Beschrieben statt zitiert. Der Regex der Prüfung erzeugt die Zeichenkette nicht, weil er
187
+ beide Namen als Alternative führt.
188
+
189
+ ### 4.2 Die Sonde fing einen Fehler in ihrer eigenen Prüfung
190
+
191
+ Sonde 46a setzte Kriterium 4 von `9` auf `99` und erwartete eine Meldung. **Sie kam
192
+ nicht.** Der Zahlenvergleich lief über `soll in text` – und `"Kriterium 4 = 9"` steckt als
193
+ Präfix in `"Kriterium 4 = 99"`. Verglichen werden jetzt die **Zahlen**, nicht die
194
+ Zeichenkette.
195
+
196
+ **Das ist der Wert einer Sonde in einem Satz:** Die Prüfung war grün, der Validatorlauf
197
+ war grün, und sie hätte jede Zahl durchgelassen, die mit der richtigen beginnt.
198
+
199
+ ### 4.3 Der Fallstrick, der zweimal zuschnappte
200
+
201
+ Die erste Fassung des Zählers lief über `glob.glob(..., recursive=True)`.
202
+ **`glob` überspringt Pfadbestandteile mit führendem Punkt.** Damit fehlten **15**
203
+ Kerndateien, darunter genau die zwei Träger, die den Befund zu Kriterium 1 tragen:
204
+
205
+ ```
206
+ leitwerk-core/clients/claude-code/root-template/.claude/README.md
207
+ leitwerk-core/clients/devin-desktop/root-template/.devin/README.md
208
+ ```
209
+
210
+ **Der Zähler hätte 27 gemeldet – und damit zufällig die geglaubte Zahl bestätigt.** Eine
211
+ Zählregel, die einen Träger still überspringt, war der **Anlass** dieses Antrags; sie ist
212
+ beim Bauen der Abhilfe ein zweites Mal entstanden. Behoben mit `os.walk`, gemessen mit der
213
+ Selbstprobe `C1` – eine benannte Falle, in die man zweimal tritt, gehört in den Code
214
+ (D-74).
215
+
216
+ ### 4.4 Zwei Fehler im Einbau selbst
217
+
218
+ Der Einbauskript-Lauf setzte die Textersetzung **zweimal** auf denselben Block an und
219
+ erzeugte dabei 209 doppelte Wagenrückläufe (`\r\r\n`); und die Beschreibungssätze der
220
+ neuen Einheiten trugen Umlaute, was die **zeilengleiche Abnahme nach D-49 brach** – der
221
+ Lauf ohne `PYTHONIOENCODING` und der mit ihm waren nicht zeilengleich. Beide Male hat der
222
+ Vergleich es gemeldet, kein Lesen. Die Sätze dieses Skripts sind aus genau diesem Grund
223
+ seit 0.27.0 ohne Umlaute geschrieben; die Suchtexte dürfen welche tragen, weil
224
+ `unterprozess()` beide Seiten auf UTF-8 festlegt.
225
+
226
+ ## 5. Nebenbefund: die Wurzel-README nannte die Altform
227
+
228
+ `README.md:165` beschreibt die Konventionen dieses Frameworks und nannte dabei die
229
+ **clientgebundene** Altform an einer werkzeugneutralen Stelle. Seit `CR-2026-024` ist die
230
+ neutrale Form die im Kern zu verwendende (D-02).
231
+
232
+ **Prüfung 14 greift dort nicht:** Sie misst die Ablagen des Kerns, und die Wurzel-README
233
+ ist keine. **Berichtigt, nicht geprüft** – eine Prüfung für eine Datei, die jedes Projekt
234
+ durch seine eigene ersetzt, wäre ohne Gegenstand.
235
+
236
+ ## 6. Was dieses Protokoll nicht belegt
237
+
238
+ - **Dass 29, 118, 69 und 9 die *richtigen* Zahlen sind.** Belegt ist, dass sie das
239
+ Ergebnis der niedergeschriebenen Regeln sind und dass die vorherigen Regeln es nicht
240
+ waren. Wo die Grenze eines Begriffs Ermessen ist – zählt eine Registerzeile als
241
+ unbearbeiteter Marker? –, steht die Entscheidung im Antrag (E3) und nicht in der Zahl.
242
+ - **Dass Kriterium 3 mit 69 „schlimmer" steht als mit 16.** Es stand immer bei 69; nur
243
+ gezählt wurden 16.
244
+ - **Dass der Zähler Fortschritt misst.** Er misst Zahlen. Ein Modulstatus, der gehoben
245
+ wird, ohne dass jemand das Modul angesehen hat, senkt Kriterium 3 um eins.
246
+ - **Irgendetwas über Kriterium 5.** Das ist keine Zahl, und die Prüfung enthält sich –
247
+ ausdrücklich, im Kopfkommentar.
248
+
249
+ ## 7. Die Lehre, die über diesen Fall hinausgeht
250
+
251
+ Die Roadmap führte seit 0.42.0 bewusst keine Zahlen, sondern *die Befehle, die sie
252
+ ausrechnen*. Das war die richtige Lehre aus fünf falschen Zahlen über den Prüfapparat –
253
+ **und sie ist nicht eingelöst worden.**
254
+
255
+ > **Ein Befehl, den niemand ausführt, ist keine Ausrechnung, sondern eine Zahl mit einem
256
+ > Zwischenschritt.** Und weil ihn niemand ausführt, fällt auch nicht auf, dass er das
257
+ > Falsche zählt.
258
+
259
+ Der Unterschied zu 0.42.0 ist einer im Ort, nicht in der Bauform: Dort stand die falsche
260
+ Zahl über den **Prüfstand**, hier über den **Meilenstein**. Es gibt in diesem Repositorium
261
+ genau ein Ziel, und sein Stand war an vier von vier Stellen unrichtig.
262
+
263
+ ## 8. Die erste Anwendung des Zählers: dreiundzwanzig Releases rückwirkend
264
+
265
+ **Der Zähler kann rückwärts laufen.** `git archive` je Releasestand, darauf `_d11_zaehlen`
266
+ aus 0.48.0 – dieselbe Regel auf jeden Stand, also vergleichbar. Das ist die erste Messung,
267
+ die dieses Repositorium über seinen eigenen Fortschritt hat.
268
+
269
+ | Release | K1 | K2 | K3 | K4 | **Summe** | Prüfungen im Register |
270
+ |---|---|---|---|---|---|---|
271
+ | 0.26.0 | 30 | 117 | 67 | 9 | **223** | 24 |
272
+ | 0.27.0 | 29 | 117 | 67 | 9 | **222** | 25 |
273
+ | 0.28.0 | 29 | 117 | 67 | 9 | **222** | 25 |
274
+ | 0.29.0 | 29 | 117 | 67 | 9 | **222** | 25 |
275
+ | 0.30.0 | 29 | 117 | 67 | 9 | **222** | 25 |
276
+ | 0.31.0 | 30 | 117 | 67 | 9 | **223** | 25 |
277
+ | 0.32.0 | 30 | 118 | 69 | 9 | **226** | 30 |
278
+ | 0.33.0 | 31 | 118 | 69 | 9 | **227** | 31 |
279
+ | 0.34.0 | 30 | 118 | 69 | 9 | **226** | 31 |
280
+ | 0.35.0 | 29 | 118 | 69 | 9 | **225** | 31 |
281
+ | 0.36.0 … 0.47.0 | 29 | 118 | 69 | 9 | **225** | 31 → 45 |
282
+ | 0.48.0 | 29 | 118 | 69 | 9 | **225** | 46 |
283
+
284
+ **Seit 0.35.0 steht der Stand auf der Stelle – dreizehn Releases, auf die Ziffer genau
285
+ unverändert.** Der Prüfapparat ist in derselben Zeit von 31 auf 46 Prüfungen gewachsen.
286
+ Über den ganzen gemessenen Zeitraum, 0.26.0 bis 0.48.0, ist die Summe von 223 auf 225
287
+ **gestiegen**.
288
+
289
+ **Kriterium 4 steht seit 0.26.0 unverändert bei neun.** In dreiundzwanzig Releases ist
290
+ kein einziger Decision Record aus `entschieden (Vorschlag)` gehoben worden.
291
+
292
+ ### Was diese Tabelle nicht sagt
293
+
294
+ **Nicht, dass die dreiundzwanzig Releases nutzlos waren.** Sie haben zwölf Review-Befunde
295
+ geschlossen, einen Hook repariert, der einunddreißig Releases lang stumm war, den
296
+ Suchkanal geschlossen, den Bytecode aus zwei Projekten genommen und den Prüfapparat auf
297
+ sechsundvierzig Prüfungen gebracht. **Das hat das Framework richtiger gemacht.**
298
+
299
+ **Sie sagt, dass „richtiger" und „fertiger" zwei verschiedene Größen sind** – und dass nur
300
+ die erste gemessen wurde. Die zweite war nicht messbar, weil ihre vier Zählregeln
301
+ danebengriffen. **Ab diesem Release ist sie es.**
302
+
303
+ ### Was daraus folgt
304
+
305
+ Der billigste Posten ist **Kriterium 4**: neun Decision Records, jeder bereits
306
+ fortgeschrieben und an der Praxis von dreiundzwanzig Releases geprüft. Das ist reine
307
+ Entscheidungsarbeit des `<FRAMEWORK_OWNER>` – keine Messung, kein Modellkontingent, keine
308
+ Vorarbeit. **Der zweitbilligste ist Kriterium 3**, und dort steht eine Feststellung, die
309
+ diese Messung erst sichtbar gemacht hat: **Von 69 Trägern steht keiner über `entwurf`.**
310
+ Das Lebenszyklusmodell dieses Frameworks ist in dreiundzwanzig Releases **kein einziges
311
+ Mal angewendet worden.**