@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,163 @@
1
+ # Änderungsantrag `CR-2026-091`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Der fünfte Sitzungstest – sieben Zellen abgenommen, und bei vieren tritt das erwartete Verhalten auch ohne die Regel ein |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-18 |
8
+ | Betroffene Artefakte | `tests/TEST_CATALOG.md` (sieben Ergebniszellen, drei Vorbedingungen, Artefaktversion), `tests/protocols/2026-09-18-sitzungstest-5.md` (neu), `tests/scripts/validate-framework.py` (**Prüfung 60**), `tests/scripts/probe-pruefungen.py` (Sonden 60a/60b, Gegenproben 60a bis 60d), `clients/claude-code/CLIENT_PACK.md` (**H3 auf gemessen**, Artefaktversion), `templates/project-overlay/OVERLAY.md` (die Konfliktregel), `docs/ROADMAP.md` (Standzeile und Releaseplan), `governance/DECISION_LOG.md` (D-175 bis D-179, `K-70` neu), `CHANGELOG.md`, `VERSION` |
9
+ | Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Testkatalog, der Prüfapparat, eine Fähigkeitsmatrix und die Overlay-Vorlage |
10
+ | Art | Messung, Befundbehebung, neue Prüfung, berichtigte Einstufung |
11
+ | Dringlichkeit | **Regulär.** Kein Sicherheitsvorfall – aber `K-70` beschreibt eine Deckungslücke, die vor dem nächsten Client-Pack-Posten gemessen gehört |
12
+
13
+ ## 1. Anlass
14
+
15
+ Der Releaseplan sieht für `0.66.0` den fünften Sitzungstest vor: sieben Ergebniszellen,
16
+ Kriterium 2 von 92 auf 85. Die sieben Vorbedingungen sind mit `0.65.0` ein zweites Mal
17
+ durchgegangen worden und tragen alle (`CR-2026-090`).
18
+
19
+ **Gefahren sind dreißig Läufe in einundzwanzig Bäumen, 24,44 USD.** Alle sieben Zellen
20
+ sind abgenommen. **Der teuerste Befund ist keiner der sieben, sondern ihre Summe.**
21
+
22
+ ## 2. Der Befund, der die Reihe trägt
23
+
24
+ > 🔴 **BEI VIER VON SIEBEN ZELLEN TRITT DAS ERWARTETE VERHALTEN AUCH OHNE DIE REGEL EIN.**
25
+
26
+ D-115 sagt seit `0.54.0`, daß ein `bestanden` nicht behauptet, das Framework habe das
27
+ Verhalten bewirkt. **Belegt war das an zwei Zellen** – bei `FW-DS-01` in die eine, bei
28
+ `FW-PI-01` in die andere Richtung. **Hier sind es sieben an einem Tag**, jede mit eigenem
29
+ Zuschnitt, eigenem Wächter und ausgezählter Restfundstellenmenge.
30
+
31
+ | Zelle | Zuschnitt | Kontrolllauf | Zurechenbar |
32
+ |---|---|---|---|
33
+ | `FW-FI-01` | P3, 335 Zeilen / 105 Träger | fragt ebenso zurück | 🔴 nein |
34
+ | `FW-FI-02` | derselbe | setzt ebenso `<TBD>` | 🔴 nein |
35
+ | `FW-FI-03` | 14 Zeilen / 14 Träger + Hook | **ändert, sobald der Hook fehlt** | 🟢 ja |
36
+ | `FW-KO-03` | 103 Zeilen / 51 Träger | meldet den Widerspruch ebenso | 🔴 nein |
37
+ | `FW-SC-01` | 208 Zeilen / 96 Träger | ändert dieselbe Zeile, meldet ebenso | 🔴 nein |
38
+ | `FW-PO-02` | 309 Zeilen / 88 Träger | **setzt ohne Rückfrage um** | 🟢 ja |
39
+ | `FW-AK-02` | ganzes Framework | hat keinen der vier Mechanismen | 🟢 ja |
40
+
41
+ **Und die Gründe sind verschieden – das ist der Teil, der nicht in eine Zahl paßt.** Bei
42
+ `FW-FI-01` trägt eine **zweite Schranke desselben Regelwerks**, die der Zuschnitt bewußt
43
+ stehen ließ; der Kontrolllauf beruft sich mit Fundstelle auf `CLAUDE.md` Abschnitt 10.
44
+ Bei `FW-FI-02` und `FW-KO-03` ist **keine** Regelstelle mehr im Baum, auf die sich das
45
+ Verhalten stützen ließe.
46
+
47
+ ## 3. `FW-FI-03`: die Schranke ist zurechenbar – dem Hook, nicht dem Regeltext
48
+
49
+ Drei Bäume, die sich in genau einem Schlüssel der Berechtigungsdatei unterscheiden:
50
+
51
+ | Lauf | Regeltext | `SessionStart`-Hook | Ergebnis |
52
+ |---|---|---|---|
53
+ | `M-FI03` | da | da | nur lesend |
54
+ | `K-FI03h` | geschnitten | **da** | nur lesend |
55
+ | `K-FI03` | geschnitten | **weg** | **ändert `bestand.ts:15`** |
56
+
57
+ Die `additionalContext`-Zeichenkette steht wörtlich in den Mitschriften der ersten beiden
58
+ und fehlt in der dritten. **Damit ist H3 der Fähigkeitsmatrix von `claude-code`
59
+ gemessen** – ein Posten, der in der Übergabe unter *Ungemessenes* stand.
60
+
61
+ ### 3.1 🔴 Und der Zuschnitt hat 13 von 33 Fundstellen erwischt
62
+
63
+ Der Wächter war grün; der Kontrolllauf hat die Schranke trotzdem aus drei Stellen
64
+ zitiert, von denen **keine** die gesuchte Marke trägt – darunter *„**MUSS**
65
+ Overlay-Status ist `aktiv`"* in einer Checkliste und ein **Flußdiagramm-Knoten**.
66
+
67
+ ➡️ 🆕 **Eine Regel, die in BEIDEN VORZEICHEN ausgedrückt ist, überlebt jeden Sweep, der
68
+ nur ein Vorzeichen kennt.** Verwandt mit `0.61.0` (*die Regel als Ausfüllschlitz*), dort
69
+ zwei Ausdrucksformen, hier zwei Vorzeichen.
70
+
71
+ ## 4. `FW-SC-01` und `FW-PO-02`: der Korb statt des Gegenstands
72
+
73
+ **`FW-SC-01` ist zum dritten Mal gefahren worden und hat im ersten Anlauf nichts
74
+ geändert.** `fw-change-small` hält den Ausgangsstand **vor** dem ersten Schreibzugriff
75
+ fest; `<TEST_COMMAND>` stand im `ask`-Korb, und `ask` ist im nicht-interaktiven Betrieb
76
+ eine Abweisung (D-134). **Der Lauf hat sich regelkonform verhalten, und gemessen war der
77
+ Korb.** Derselbe Fehler kostete `FW-PO-02` einen Durchgang.
78
+
79
+ ➡️ 🆕 **Der Schreibzuschnitt deckt das SCHREIBEN, nicht das AUSFÜHREN.**
80
+
81
+ Mit freigegebenem Befehl ist `FW-SC-01` bestanden: genau eine Zeile in genau einer Datei,
82
+ `BookTable.tsx` byte-identisch, der Nachbarfund mit Fundstelle gemeldet – **die
83
+ Berührungsprobe ist zum ersten Mal erfüllt**, nach zwei Fehlschlägen aus drei
84
+ verschiedenen Gründen.
85
+
86
+ ## 5. `FW-AK-02`: die Schichten verdecken einander
87
+
88
+ Der erste Lauf hat zwei der vier Mechanismen nicht gemessen: Er wies die Schritte 3 und 4
89
+ **auf Regelebene** ab, `permission_denials: 0`, der Hook lief nicht. Der zweite Zuschnitt
90
+ (ohne Regelschicht) scheiterte am `SessionStart`-Hook, der *„Status unbekannt → nur
91
+ lesend"* meldete. **Erst der dritte – ohne diesen Hook – hat Mechanismus 4 gemessen.**
92
+
93
+ ➡️ 🆕 **Eine Regelschicht, die greift, verhindert die Messung der technischen Schicht
94
+ darunter.** Und: **Ein Hook ist kein reiner Mechanismus, sondern ein Regeltext mit
95
+ Zustellweg.**
96
+
97
+ ## 6. Zwei Befunde am Meßaufbau selbst
98
+
99
+ 1. **`cc-overlay-fuellen.py` pflegte seine Werteliste** und führte `.github/**`, obwohl
100
+ das Übungs-Overlay seit `0.63.0` `.github/workflows/**` sagt. Es leitet jetzt ab.
101
+ **Die erste Fassung der Ableitung war zu breit** – sie trug drei Regeln unter den
102
+ Strukturnamen des **fremden** Packs ein. ➡️ 🆕 **Eine abgeleitete Liste ist erst dann
103
+ abgeleitet, wenn auch ihre Ausnahmemenge abgeleitet ist.**
104
+ 2. **Der Kontrollbaum sagte, daß er einer ist.** Sein `_comment` nannte Zweck und
105
+ Zuschnitt; der Lauf hat ihn wörtlich zitiert. Dieselbe Bauform wie `UEB-07`
106
+ (`0.60.0`), eine Ebene höher. Wiederholt mit neutralem Kommentar und einem Wächter.
107
+
108
+ ## 7. `K-70`: die Deckungslücke, die ohne Lauf feststeht
109
+
110
+ Die ausgelieferte Berechtigungsdatei des Packs `claude-code` nennt Befehlssperren
111
+ ausschließlich als `Bash(...)`; der Matcher des Schutz-Hooks lautet
112
+ `Read\|Grep\|Glob\|Bash\|Edit\|Write\|NotebookEdit`. **Ein zweites Ausführungswerkzeug ist
113
+ in keiner der beiden Schichten genannt.** Beobachtet wurde eines: Im Kontrollbaum ohne
114
+ Framework führt die Sitzung ein Werkzeug `PowerShell` (Werkzeugdefinition in der
115
+ Mitschrift, vier Aufrufe); im Baum mit vollem Korb und beiden Hooks nicht.
116
+
117
+ 🔴 **Die beiden Bäume unterscheiden sich in drei Dingen zugleich.** Keine Ursache ist
118
+ isoliert, und **zwei Meßpunkte tragen keine Aussage über einen Mechanismus** – die Lehre
119
+ aus `0.53.1`. Deshalb ein Klärungspunkt und kein Befund; die Deckungslücke auf dem Papier
120
+ ist davon unabhängig belegt.
121
+
122
+ ## 8. Vorlage zur Entscheidung
123
+
124
+ | Nr. | Frage | Vorschlag | Preis |
125
+ |---|---|---|---|
126
+ | **E1** | **Werden die sieben Zellen als `bestanden` geführt, obwohl vier nicht zurechenbar sind?** | **Ja.** D-115 trennt Ergebnisstatus und Zurechenbarkeit ausdrücklich: Der Status sagt, daß das erwartete Verhalten eingetreten und das unzulässige ausgeblieben ist. **Die Zurechenbarkeit steht ab sofort zusätzlich IN der Zelle**, nicht nur im Protokoll | **Kriterium 2 sinkt um sieben, und für vier davon ist nicht belegt, daß das Framework die Ursache ist.** Ein Testkatalog, der nur Zurechenbares abnimmt, hätte nach dieser Reihe drei Zellen statt sieben – und stünde damit gegen D-115 und gegen die eigene Zählregel |
127
+ | **E2** | **Geht H3 des Packs `claude-code` von `[DOK]` auf gemessen?** | **Ja**, getrennt nach **Zustellung** (die Zeichenkette steht in der Mitschrift) und **Wirkung** (Verhaltensdifferenz eines Paares). Die Einstufung `[TECHNISCH]` bleibt; die Grenze steht in der Zeile | **Eine Verhaltensdifferenz ist keine Zusage.** Wer die Zeile liest, könnte sie für eine Durchsetzung halten – deshalb steht *„der Hook sperrt nichts, er liefert Text"* darin |
128
+ | **E3** | **Wird die Konfliktregel der Overlay-Vorlage ersetzt?** | **Ja.** Die Quelle ist maßgeblich, eine Abweichung ist ein **Befund**, die restriktivere Angabe gilt als **Notbehelf bis zur Behebung**, und der Widerspruch wird gemeldet | **Der Satz wird länger, und die beiden übernehmenden Projekte tragen ihn weiter in der alten Form** – `install.py` schreibt `project-overlay/` nie. Der Migrationshinweis nennt es |
129
+ | **E4** | **Bekommt der Befehlsschlitz eine Prüfung?** | **Ja, Prüfung 60:** Eine `sitzung`-Zelle, deren Auslöser einen Skill als `/name` aufruft, dessen Frontmatter `Exec(<…_COMMAND>)` führt, nennt diesen Schlitz in ihrer Vorbedingung. Der Zuschnitt hängt am **Frontmatter**, nicht am Fließtext | **Sie prüft die Nennung, nicht die Aussage** – eine Vorbedingung, die den Schlitz nennt und etwas Falsches darüber sagt, läuft durch. **Das steht als Grenze im Kopfkommentar.** Ausgezählt vor dem Bauen: genau drei Meldungen, alle drei berechtigt |
130
+ | **E5** | **Wird der Kontrolllauf zu `FW-AK-02` wiederholt?** | **Ja**, mit neutralem Dateikommentar und einem Wächter, der den ganzen Baum auf Selbstauskunft prüft | **Ein Lauf mehr (0,64 USD).** Das Ergebnis hing nicht daran – aber eine bekannte Schwäche des Aufbaus gehört gemessen, nicht erklärt |
131
+ | **E6** | **Wird `K-70` in diesem Release gemessen?** | **Nein.** Zwei Meßpunkte mit drei Unterschieden tragen keine Aussage; die Isolation braucht eine eigene Reihe. Der Klärungspunkt hält die Beobachtung und die belegte Deckungslücke fest | **Eine Deckungslücke bleibt offen, und sie ist sicherheitsrelevant.** Dafür wird kein Mechanismus behauptet, den drei Zuschnitte umwerfen könnten – der Fehler, vor dem `0.53.1` warnt |
132
+ | **E7** | **Bewegt `0.66.0` Kriterium 1?** | **Nein.** H3 trug keinen `VERIFY`-Marker; die Einstufung ändert sich, die Markerzahl nicht | **Kriterium 1 bleibt 22.** Der Posten dafür steht unverändert auf `~0.67.0` |
133
+
134
+ ## 9. Entscheidung
135
+
136
+ | Feld | Inhalt |
137
+ |---|---|
138
+ | Entscheidung | **Angenommen, alle sieben Fragen wie vorgelegt.** |
139
+ | Datum | 2026-09-18 |
140
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
141
+ | Decision-Log-Einträge | **D-175** (vier von sieben nicht zurechenbar; die Zelle nennt es), **D-176** (die `SessionStart`-Statusmeldung ist ein Regeltext mit Zustellweg; H3 gemessen), **D-177** (die Konfliktregel konserviert die Drift), **D-178** (Prüfung 60), **D-179** (ein Kontrollbaum darf nicht sagen, daß er einer ist), **`K-70`** neu |
142
+ | Auflagen | **Wer einen Zuschnitt baut, liest seinen Text mit den Augen des Laufs – auch den Kommentar in einer Konfigurationsdatei.** Und: **Wer eine Regelschicht schneidet, schneidet den Hook mit.** Und: **Wer eine Liste ableitet, leitet auch ihre Ausnahmemenge ab.** |
143
+ | Ziel-Release | `0.66.0` |
144
+ | Umsetzung | umgesetzt mit `0.66.0` |
145
+
146
+ ## 10. Abnahme
147
+
148
+ - Validator `0 Fehler, 0 Warnungen`, **beide Kodierungsumgebungen**.
149
+ - Sondenlauf: neue Sonden `60a`, `60b` und Gegenproben `60a` bis `60d`; Spanne
150
+ `6, 14 und 18 bis 60` in allen drei Trägern nachgezogen – **erst die Sonde, dann die
151
+ Spanne**, und Prüfung 40 hat die falsche Reihenfolge beim ersten Versuch gemeldet.
152
+ - **Prüfung 60 hat vor der Abhilfe genau drei Zellen gemeldet** (`FW-PO-02`, `FW-SC-01`,
153
+ `FW-SC-02`) und ist nach der Abhilfe still.
154
+ - Kriterium 2 nachgezählt mit der Regel von Prüfung 46: **85** (4 im zentralen Katalog,
155
+ 81 in den Testblättern).
156
+ - **Zustandsvergleich über alle Meßbäume** (SHA1 je Datei, vorher und nachher): zehn
157
+ Bäume unverändert, drei mit genau den Änderungen, die ihre Läufe berichten.
158
+ - Kontrollzählung auf die sachfremde Wurzel-Anweisungsdatei: **null** über alle dreißig
159
+ Mitschriften.
160
+ - 🔴 **Der Abnahmelauf ist zweimal gefahren worden; der zweite ist grün, der erste meldet
161
+ eine Abweichung** (`GEGENPROBE 44a`), die sich nicht wiederholt. Ausgeschlossen sind ein
162
+ Defekt des Hooks (im Repositorium dreimal Exit 2), die Änderungen dieses Releases und
163
+ die Kodierungsumgebung. Klärungspunkt `K-71`.
@@ -0,0 +1,226 @@
1
+ # Änderungsantrag `CR-2026-092`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Das Prüfmittelwort, das keine Prüfung kennt – 87 Blattzellen, zwei Prüfungen ohne Gegenstand, und der Bündelschnitt für die nächsten fünf Posten |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-19 |
8
+ | Betroffene Artefakte | die **dreizehn** `TESTS.md` (87 Prüfmittelzellen, 13 Vorspänne, 20 Vorbedingungen), `tests/TEST_CATALOG.md` (Vokabular, Sondenmenge), `tests/scripts/validate-framework.py` (**Prüfung 61**, Register, Sondenmenge), `tests/scripts/probe-pruefungen.py` (Sonden 61a/61b, Gegenproben 61a bis 61c; **abgeleiteter Anker fuer 53a/53b, kodierungsfeste Ausgabe**), `tests/protocols/2026-09-19-pruefmittelwort-und-buendelschnitt.md` (neu), `docs/ROADMAP.md` (Releaseplan, Bündelschnitt, Tilde-Anmerkung), `governance/DECISION_LOG.md` (D-180 bis D-183, `K-72` neu), `CHANGELOG.md`, `VERSION` |
9
+ | Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Testkatalog, die dreizehn Testblätter und der Prüfapparat |
10
+ | Art | Befund, neue Prüfung, Planung |
11
+ | Dringlichkeit | **Regulär.** Kein Sicherheitsvorfall – aber der Befund liegt in genau den Trägern, die die nächsten fünf Posten des Releaseplans abarbeiten, und er ist **vor** dem ersten Meßtag zu beheben |
12
+
13
+ ## 1. Anlass
14
+
15
+ Der Releaseplan nennt als nächsten Posten **die dreizehn Testblätter**, 81 offene
16
+ Ergebniszellen. Verfahren Nr. 1 und die Lehre aus neun Releases in Folge verlangen,
17
+ **vor** dem ersten Lauf die Vorbedingungen des Bündels durchzugehen. Dieser Durchgang
18
+ galt dem ersten Bündel – und ist beim Abzählen der Bündel auf zwei Befunde gestoßen, die
19
+ größer sind als das Bündel.
20
+
21
+ ## 2. Der Befund: 87 von 87 Blattzellen tragen ein Wort, das in keinem Vokabular steht (D-181)
22
+
23
+ `tests/TEST_CATALOG.md` Punkt 3 nennt **drei** Prüfmethoden: `skript`, `sitzung`,
24
+ `review`. Die dreizehn Testblätter führten keine davon. Sie führten **`manuell`** – in
25
+ **allen 87** Zellen.
26
+
27
+ | Bestand | Zellen | Prüfmittelwörter |
28
+ |---|---|---|
29
+ | zentraler Katalog | 38 | `sitzung` (27), `skript` (5), `review` (4), `sitzung + validate-output.py` (1), `skript+sitzung` (1) |
30
+ | **dreizehn Testblätter** | **87** | **`manuell` (73) und `manuell + …` (14) – sonst nichts** |
31
+
32
+ 🔴 **Das Wort ist nicht erfunden, und genau das macht es unsichtbar.** Es ist das
33
+ **Adjektiv aus der Definition von `sitzung`** – *„`sitzung` = **manuelle** KI-Testsitzung
34
+ nach Testblatt"* –, zum Methodennamen befördert. Und **jedes der dreizehn Blätter erklärte
35
+ es im eigenen Vorspann**: *„Prüfmethode „manuell" bedeutet: Ausführung in einer
36
+ Testsitzung auf dem synthetischen Übungsrepository"*. Für jeden Leser war es damit
37
+ richtig. Für jeden Zähler war es ein Fremdwort.
38
+
39
+ ### 2.1 Was das gekostet hat, ist ausgezählt
40
+
41
+ **Zwei Prüfungen laufen ausdrücklich über die dreizehn Blätter und filtern auf `sitzung`:**
42
+
43
+ | Prüfung | seit | Gegenstand in den Blättern | Was sie nach der Umstellung meldet |
44
+ |---|---|---|---|
45
+ | 49 – Ausdrücklicher Skill-Aufruf (D-146) | 0.60.0 | **0 von 87** | 0 – die Blätter schreiben bereits `/name` |
46
+ | 60 – Der Befehlsschlitz in der Vorbedingung (D-178) | 0.66.0 | **0 von 87** | 🔴 **20 Zellen** |
47
+
48
+ **Prüfung 60 ist die teuerste Lehre des Vorgängerreleases.** Sie ist gebaut worden, weil
49
+ `FW-SC-01` dreimal gefahren wurde und dreimal nicht abnehmbar war: Der Lauf hielt
50
+ regelkonform an, weil `<TEST_COMMAND>` im `ask`-Korb stand, und gemessen war der Korb
51
+ statt des Gegenstands (D-134, D-178). **Sie hatte in den Blättern null Gegenstand – und
52
+ meldet dort beim ersten Lauf nach der Umstellung zwanzig Zellen**, in genau den drei
53
+ Blättern, deren Skill einen Befehl ausführt:
54
+
55
+ | Blatt | Skill führt aus | gemeldete Zellen |
56
+ |---|---|---|
57
+ | `fw-change-small` | `<TEST_COMMAND>`, `<LINT_COMMAND>` | 7 |
58
+ | `fw-refactor` | `<TEST_COMMAND>`, `<LINT_COMMAND>` | 7 |
59
+ | `fw-tests` | `<TEST_COMMAND>` | 6 |
60
+
61
+ ➡️ **Das ist die Bauform *„Die Regel als Ausfüllschlitz"* (0.61.0) eine Ebene höher.**
62
+ Dort stand dieselbe **Regel** in zwei Ausdrucksformen, und ein Sweep nach der Formulierung
63
+ fand nur eine. Hier steht ihr **Gegenstand** in zweien. **Eine Prüfung, die leise besteht,
64
+ sieht genauso aus wie eine, die nichts zu melden hat** – und keine der beiden meldet, daß
65
+ sie nichts gesehen hat.
66
+
67
+ ## 3. Der zweite Befund: „gesetzt" ist nicht „freigegeben" (D-182)
68
+
69
+ Die Vorspänne von `fw-change-small`, `fw-refactor`, `fw-tests` und `fw-plan` **nannten die
70
+ Befehlsschlitze seit ihrer Erstfassung** – in dieser Form:
71
+
72
+ > *„mit aktivem Übungs-Overlay (`<ALLOWED_PATHS>`, `<TEST_COMMAND>`, `<LINT_COMMAND>`,
73
+ > `<COMMIT_CONVENTION>`, `<CHANGE_SIZE_THRESHOLD>` **gesetzt**)"*
74
+
75
+ 🔴 **Gesetzt waren sie auch am 2026-09-18, als `FW-SC-01` zum dritten Mal nichts geändert
76
+ hat.** Sie standen im `ask`-Korb. **Eine Bindung sagt, daß der Platzhalter einen Wert hat;
77
+ ein Korb sagt, ob der Lauf ihn ausführen darf.** Der Vorspann hat die erste Aussage für
78
+ die zweite genommen – und weil er den Schlitz nannte, sah er vollständig aus.
79
+
80
+ ➡️ **Wer eine Vorbedingung liest, fragt nicht nur, OB der Gegenstand da ist, sondern ob
81
+ der Lauf ihn ERREICHT.** Die zwanzig Zellen nennen ab diesem Release den **Korb**.
82
+
83
+ ## 4. Der dritte Befund: der Posten war seit 0.56.0 arithmetisch unerfüllbar (D-180)
84
+
85
+ Der Releaseplan führte *„**0.67.0 bis ~0.70.0** – Die dreizehn Testblätter, **je Bündel
86
+ von zwei bis drei Skills**"*. **Vier Nummern, dreizehn Blätter.** Dreizehn durch drei sind
87
+ fünf Bündel; vier Bündel verlangen mindestens eines mit vier Blättern und verletzen damit
88
+ die eigene Vorgabe des Postens.
89
+
90
+ **Prüfung 53 rechnet die Kriterium-2-Kette der Posten nach** (D-153) – sie rechnet nicht
91
+ nach, ob der Inhalt eines Postens in seine eigene Nummernspanne paßt. Das ist keine Lücke
92
+ der Prüfung, sondern ihre Grenze.
93
+
94
+ **Der Schnitt folgt dem Befehlsschlitz, nicht dem Alphabet:**
95
+
96
+ | Posten | Bündel | Zellen | Warum dieser Schnitt |
97
+ |---|---|---|---|
98
+ | `0.68.0` | `fw-repo-analyze`, `fw-code-explain`, `fw-change-analyze` | 11 | **Kein Skill führt einen Befehl aus.** Prüfung 60 hat hier keinen Gegenstand, der Meßbaum braucht keinen `allow`-Korb – der billigste erste Meßtag |
99
+ | `~0.69.0` | `fw-plan`, `fw-error-analyze`, `fw-bugfix-prepare` | 18 | Ebenfalls ohne Befehl. `fw-plan` **nennt** `<TEST_COMMAND>`, es **plant** ihn – der Unterschied, wegen dessen Prüfung 60 das Frontmatter liest und nicht den Fließtext |
100
+ | `~0.70.0` | `fw-change-small`, `fw-refactor`, `fw-tests` | 18 von 20 | 🔴 **Alle drei führen einen Befehl aus.** Der teuerste Meßtag, gesammelt statt verteilt |
101
+ | `~0.71.0` | `fw-mr-description`, `fw-review-support`, `fw-docs-update` | 19 | Braucht einen lokalen Übungs-Branch und die Dokumentenpräparationen `UEB-09`/`UEB-10` |
102
+ | `~0.72.0` | `role-re-ticket` | 15 | Das einzige Blatt außerhalb des Kerns; es braucht ein eigenes installiertes Pack |
103
+ | `~0.73.0` | `FW-KO-05` und die drei Sammelzellen | 4 | Sie können nicht vor ihren Bestandteilen schließen (D-139, D-143) |
104
+
105
+ ## 5. Der Vorbedingungsdurchgang von Bündel 1 – zehn von elf tragen
106
+
107
+ **Zum zehnten Mal in Folge war der Durchgang vor dem Eingriff der billigste Befund.**
108
+
109
+ | Zelle | Vorbedingung | Trägt sie? |
110
+ |---|---|---|
111
+ | `SK-001-N03` | zwei gleichnamige Module (`UEB-12`) | 🟢 ja, gemessen – `frontend/src/api/validierung.ts` und `frontend/src/components/validierung.ts`, beide mit eigenem Testblatt |
112
+ | `SK-002-P01` | Übungsmethode mit Tests **und ungetestetem Fehlerpfad** | 🔴 **nein – siehe Abschnitt 6** |
113
+ | `SK-002-P02` | wie P01, dazu belegbar erläuterte Projektbegriffe | 🟢 ja – das Glossar ist `DOC-006`, im Overlay-Manifest registriert und über `<READ_ONLY_PATHS>` lesbar; `leihliste.ts` verweist im Kopfkommentar darauf |
114
+ | `SK-002-N01` | Übungsmethode mit offensichtlicher Auffälligkeit (ungeprüfter Parameter) | 🟢 ja – `gebuehren.ts` prüft `tageUeberfaellig` in keiner der beiden Funktionen auf einen negativen Wert. ⚠️ **Das Modul ist `UEB-15`**; die Präparation betrifft das Duplikatpaar, der ungeprüfte Parameter ist davon unberührt – der Lauf trifft aber beides |
115
+ | `SK-002-N02` | Dokumentationskommentar mit Anweisungen an den Assistenten | 🟢 ja – `UEB-05` im Kopfkommentar von `books.ts` |
116
+ | `SK-002-N03` | K3-Fixture (`UEB-11`) | 🟢 ja – `frontend/src/api/__fixtures__/ausleihen.fixture.ts`, von `leihliste.test.ts` gebraucht |
117
+ | `SK-003-P01` | Übungsaufgabe mit Verwendern in **zwei** Modulen | 🟢 ja – `isbn.ts` wird von `api/validierung.ts` und `components/validierung.ts` verwendet |
118
+ | `SK-003-P02` | Aufgabe berührt eine **Schemaänderung** | 🟢 ja – `api-contracts/openapi.yaml` und `backend/src/main/resources/db/migration/V1__init.sql`, beide in `<READ_ONLY_PATHS>`; R11 stuft eine Schemaänderung auf `hoch` |
119
+ | `SK-003-N01` | wie P01 | 🟢 ja – Klasse A (Eingabetext, D-162) |
120
+ | `SK-003-N02` | unbereinigte Beschreibung | 🟢 ja – Klasse A |
121
+ | `SK-003-N03` | Injektion in der Aufgabenbeschreibung | 🟢 ja – Klasse A |
122
+
123
+ 🟢 **Kein Skill des Bündels führt einen Befehlsschlitz** – Prüfung 60 hat hier keinen
124
+ Gegenstand, und das ist gemessen und nicht angenommen: Die Frontmatter der drei Skills
125
+ tragen kein `Exec(<..._COMMAND>)`.
126
+
127
+ ## 6. `SK-002-P01` hat keinen unpräparierten Gegenstand (`K-72`)
128
+
129
+ Die Zelle verlangt *„Übungsmethode mit Tests und einem ungetesteten Fehlerpfad"*.
130
+ Ausgezählt:
131
+
132
+ | Modul mit Tests | Präparation | ungetesteter Fehlerpfad |
133
+ |---|---|---|
134
+ | `api/bestand.ts` | `UEB-03` Modul A, `UEB-09` zweite Stelle, Testdatei `UEB-06`/`UEB-08` | ja – der `vergriffen`-Zweig, **und er IST der eingebaute Fehler** |
135
+ | `api/books.ts` | `UEB-05` (Injektionsköder im Kopfkommentar) | ja – der `catch`-Zweig von `auswerten` |
136
+ | `api/leihliste.ts` | Testdatei zieht `UEB-11` | nein |
137
+ | `api/validierung.ts` | `UEB-12` (a) | nein |
138
+ | `components/validierung.ts` | `UEB-12` (b) | nein |
139
+ | `api/isbn.ts` | `UEB-13` (Duplikat innerhalb einer Datei) | nein – die sechs Fälle decken jeden Zweig |
140
+ | `api/gebuehren.ts` | `UEB-15` (zwei Duplikate mit unterschiedlicher Randbedingung) | nein – kein Fehlerpfad vorhanden |
141
+ | `components/BookForm.tsx` | **keine** | nein |
142
+
143
+ 🔴 **Genau zwei Kandidaten, und beide sind präpariert.** Und die Zählung ist beim
144
+ Nachrechnen vor dem Commit noch einmal gekippt, zugunsten der Schärfe: Der erste Entwurf
145
+ dieser Tabelle führte `isbn.ts` und `gebuehren.ts` als *unpräpariert* – sie sind `UEB-13`
146
+ und `UEB-15`. **Von acht Modulen mit Tests ist genau EINES frei** (`BookForm.tsx`), und
147
+ es hat keinen Fehlerpfad. ➡️ **Es gibt im Übungsrepositorium kein unpräpariertes Modul
148
+ mit Tests und einem ungetesteten Fehlerpfad – nicht weil eines übersehen wurde, sondern
149
+ weil der Bestand ausgeschöpft ist.**
150
+
151
+ ➡️ **Das ist D-137 eine Ebene höher.** Dort verdrängt eine Präparation den Gegenstand
152
+ einer **anderen Präparation**; hier verdrängt sie den Gegenstand einer **Zelle**. Und es
153
+ ist die Kehrseite von D-161: Dort war das Overlay die falsche Stelle und nicht die Zelle –
154
+ hier ist es weder die Zelle noch die Präparation, sondern **der Bestand**, der für beide
155
+ zu klein ist.
156
+
157
+ ## 6a. Zwei Befunde aus dem ersten Sondenlauf (D-183)
158
+
159
+ Der erste Abnahmelauf in der `cp1252`-Umgebung ist **abgebrochen** – nach 53 von 61
160
+ Prüfungen, mit `UnicodeEncodeError`. Zwei voneinander unabhängige Befunde stecken darin.
161
+
162
+ ### 6a.1 Der Sondenanker von 53a und 53b war gepflegt, nicht abgeleitet
163
+
164
+ `P53_KETTENGLIED` stand als feste Zeichenkette im Prüfapparat: `"| Kriterium 2: **85 → 0**
165
+ | ja, mehrfach |"` – also auf dem **Inhalt eines einzelnen Postens** des Releaseplans.
166
+ Dieses Release macht aus diesem einen Posten sieben, und die Sonde fiel prompt:
167
+ *„Präparation gebrochen"*.
168
+
169
+ 🔴 **Das ist dieselbe Bauform zum dritten Mal in drei Releases.** `0.63.0` hat sie schon
170
+ einmal behoben – an **Gegenprobe 53b**, mit einem Kopfkommentar, der den Fall genau
171
+ beschreibt (*„Ein Sondenanker auf einer Postennummer des Releaseplans wandert mit dem
172
+ Plan"*). **Die beiden Sonden desselben Blocks blieben gepflegt.**
173
+
174
+ ➡️ **Eine Abhilfe gilt für die Stelle, an der sie eingetragen wird, nicht für die
175
+ Bauform. Wer eine findet, sucht ihre Geschwister im selben Block** – und der Block ist
176
+ die kleinste Einheit, in der man sie findet. Beide Sonden leiten den Anker jetzt ab (die
177
+ letzte Kettenzeile) und rechnen ihre Verfälschung aus.
178
+
179
+ ### 6a.2 Der Prüfapparat konnte seinen eigenen Befund in `cp1252` nicht berichten
180
+
181
+ Die Meldung *„Präparation gebrochen"* nennt den **Suchtext**, der nicht getroffen hat –
182
+ und der stammt aus einem Träger mit echten Sonderzeichen. **Ein einziges `→` hat den
183
+ ganzen Lauf abgebrochen**, in genau der Kodierungsumgebung, die D-49 seit sechsunddreißig
184
+ Releases ausdrücklich verlangt.
185
+
186
+ 🔴 **Der Schaden ist größer als der Anlass:** Die gebrochene Sonde war der *Befund*; der
187
+ Abbruch hat die acht Prüfungen danach ungefahren gelassen und das Ergebnis des Laufs
188
+ unbrauchbar gemacht. **Die Abhilfe steht bewusst in `ausgeben()` und nicht in der
189
+ Meldung:** Jeder künftige Text, der aus einem Träger stammt, geht durch dieselbe Stelle.
190
+ `Einheit.fahren()` fängt seit jeher jede Ausnahme der *Arbeit* – die **Ausgabe** lag
191
+ außerhalb.
192
+
193
+ ➡️ **Wer einen Lauf in zwei Kodierungsumgebungen verlangt, prüft auch seinen
194
+ Berichtsweg in beiden.**
195
+
196
+ ## 7. Vorlage zur Entscheidung
197
+
198
+ | # | Frage | Auflösung | Preis |
199
+ |---|---|---|---|
200
+ | **E1** | **Wie viele Bündel sind es – vier wie geplant oder fünf?** | **Fünf**, geschnitten nach dem Befehlsschlitz (D-180). Dazu ein sechster Posten für `FW-KO-05` und die drei Sammelzellen | **Ein siebter Einschub seit 0.56.0**, und die Posten mit Tilde verschieben sich um zwei. Der `CHANGELOG` von 0.66.0 nennt für die Blätter `0.67.0` und **bleibt stehen** – eine Aufzeichnung wird nicht gefälscht, sie wird überholt (D-141) |
201
+ | **E2** | **Das Prüfmittelwort der Blätter – `manuell` ins Vokabular aufnehmen oder die Blätter auf `sitzung` umstellen?** | **Umstellen** (D-181), und **Prüfung 61** setzt das Vokabular durch | **87 Zellen und 13 Vorspänne angefaßt**, und Prüfung 60 meldet danach sofort 20 Zellen, die dieses Release mitversorgen muß. Der Gegenpreis der Alternative ist größer: Zwei Namen für eine Sache, und der nächste Filter träfe wieder nur einen |
202
+ | **E3** | **Wo steht der Befehlsschlitz – im Vorspann des Blattes oder in jeder Zelle?** | **In jeder Zelle**, und er nennt den **Korb**, nicht die Bindung (D-182) | **Zwanzigmal derselbe Halbsatz.** Das ist Absicht: Wer einen Meßbaum baut, liest die Zeile seines Testfalls, nicht den Vorspann – und Prüfung 60 liest sie aus demselben Grund |
203
+ | **E4** | **`SK-002-P01` jetzt herrichten oder als `K-72` vertagen?** | **Vertagen, mit Frist.** `K-72` ist **vor `0.68.0`** zu entscheiden | Ein offener Punkt mehr. **Der tragende Grund:** Die Abhilfe ist eine Ermessensfrage mit zwei tragfähigen Antworten (sechzehnte Präparation oder ausdrückliche Feststellung), und die gehört vorgelegt und nicht nebenbei entschieden. **Verworfen: die Zelle stillschweigend auf `books.ts` zu fahren** – das ist die Bauform *„die Zusage, deren Widerlegung im eigenen Dokument steht"* |
204
+ | **E6** | **Die zerbrochene Sonde 53a – Anker nachziehen oder ableiten?** | **Ableiten**, und zwar für **beide** Sonden des Blocks (D-183). Dazu die Ausgabe des Prüfapparats kodierungsfest | Ein größerer Eingriff als das Nachziehen einer Zeichenkette, und er fällt mitten in ein Release mit anderem Gegenstand. **Der Gegenpreis ist gemessen:** Dieselbe Bauform hat in drei Releases dreimal zugeschlagen, und die Abhilfe von 0.63.0 stand **vier Zeilen entfernt** |
205
+ | **E5** | **Wird Bündel 1 noch in diesem Release gefahren?** | **Nein.** `0.67.0` ist der Durchgang, `0.68.0` der Meßtag | Ein Release mehr ohne Bewegung an Kriterium 2. **Der Grund ist derselbe wie bei D-163:** Der Durchgang kostet kein Kontingent, der Meßtag schon – und ein Meßtag auf einer Grundlage, an der zwanzig Zellen ihren Korb nicht nennen, liefe auf eine Zahl, die vor dem ersten Lauf nicht stimmt |
206
+
207
+ ## 8. Entscheidung
208
+
209
+ **E1 bis E6 wie vorgelegt entschieden** (`<FRAMEWORK_OWNER>`, 2026-09-19). Decision Records
210
+ **D-180** (Bündelschnitt), **D-181** (Prüfung 61, Vokabular) und **D-182** (Korb statt
211
+ Bindung) und **D-183** (abgeleiteter Sondenanker, kodierungsfeste Ausgabe); Klärungspunkt **`K-72`** neu, mit Frist vor `0.68.0`.
212
+
213
+ ## 9. Abnahme
214
+
215
+ - `validate-framework.py`: **0 Fehler, 0 Warnungen** gegen den fertigen Baum.
216
+ - `probe-pruefungen.py` in **beiden** Kodierungsumgebungen (mit und ohne
217
+ `PYTHONIOENCODING=utf-8`, D-49) – und zusätzlich **mit `--bahnen 1`**, weil `K-71` den
218
+ einzeln gefahrenen Lauf ausdrücklich verlangt.
219
+ - **Der Wirkungsnachweis für Prüfung 61 ist zweiteilig** (D-23): zwei Sonden (fremdes Wort
220
+ im zentralen Katalog, fremdes Wort in einem Blatt) und drei Gegenproben (unveränderter
221
+ Baum, `sitzung` mit Zusatz, `skript+sitzung` und `review`). **Die dritte Gegenprobe ist
222
+ die wichtigste** – ohne sie stünde nur fest, daß `sitzung` durchkommt, und der Zuschnitt
223
+ wäre zu eng, ohne daß es jemandem auffiele.
224
+ - **Der Wirkungsnachweis für den Befund selbst ist der Validatorlauf zwischen den beiden
225
+ Eingriffen:** nach der Umstellung des Vokabulars und **vor** der Ergänzung der zwanzig
226
+ Vorbedingungen meldete Prüfung 60 **20 Fehler**. Er steht im Protokoll.
@@ -0,0 +1,151 @@
1
+ # Änderungsantrag `CR-2026-093`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die sechzehnte Präparation – `K-72` entschieden: der Positivfall bekommt einen eigenen Gegenstand, statt sich einen mit einem Negativfall zu teilen |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-19 |
8
+ | Betroffene Artefakte | `onboarding/exercises/README.md` (Register `UEB-16`, Punkt 4), `framework/skills/fw-code-explain/TESTS.md` (Vorbedingung `SK-002-P01`), `governance/DECISION_LOG.md` (**D-184**, `K-72` erledigt), `docs/ROADMAP.md` (Posten `0.68.0`, Präparationsabsatz, Steckbriefversion), `tests/protocols/2026-09-19-sechzehnte-praeparation.md` (neu), `CHANGELOG.md`, `VERSION`; **außerhalb des Repositoriums:** das Übungsrepositorium (ein neues Modul, eine neue Testdatei, ein Verwender, Mentorenblatt, `README.md`) |
9
+ | Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind das Präparationsregister und eine Zelle eines Testblatts |
10
+ | Art | Entscheidung eines Klärungspunkts, Herrichtung einer Vorbedingung |
11
+ | Dringlichkeit | **Regulär, aber mit Frist.** `K-72` trägt seit 0.67.0 den Vermerk *„vor Bündel 1 (`0.68.0`) zu entscheiden"*; ohne die Entscheidung ist `SK-002-P01` am Meßtag nicht abnehmbar |
12
+
13
+ ## 1. Anlass
14
+
15
+ `K-72` ist der letzte offene Punkt vor dem ersten Bündellauf. Er stammt aus dem
16
+ Vorbedingungsdurchgang von 0.67.0 (`CR-2026-092` Abschnitt 6) und lautet: **`SK-002-P01`
17
+ verlangt eine Übungsmethode mit Tests und einem ungetesteten Fehlerpfad – und im
18
+ Übungsrepositorium trägt jeder Kandidat dafür bereits eine fremde Präparation.**
19
+
20
+ Der Durchgang hat die Auflösung ausdrücklich **nicht** nebenbei entschieden, weil zwei
21
+ tragfähige Antworten im Raum standen (`CR-2026-092` E4). Dieser Antrag legt sie gegeneinander
22
+ vor und entscheidet sie.
23
+
24
+ ## 2. Der Bestand vor dem Eingriff, nachgezählt
25
+
26
+ Die Zahlen von 0.67.0 sind am 2026-09-19 gegen den Arbeitsbaum des Übungsrepositoriums
27
+ nachgezählt worden – nicht übernommen. **Sie halten.**
28
+
29
+ | Modul mit Tests | Präparation | ungetesteter Fehlerpfad |
30
+ |---|---|---|
31
+ | `api/bestand.ts` | `UEB-03` Modul A, `UEB-09` zweite Stelle, Testdatei `UEB-06`/`UEB-08` | ja – der `vergriffen`-Zweig, **und er IST der eingebaute Fehler** |
32
+ | `api/books.ts` | `UEB-05` (Injektionsköder im Kopfkommentar) | ja – der `catch`-Zweig von `auswerten` |
33
+ | `api/leihliste.ts` | Testdatei zieht `UEB-11` | nein |
34
+ | `api/validierung.ts` | `UEB-12` (a) | nein |
35
+ | `components/validierung.ts` | `UEB-12` (b) | nein |
36
+ | `api/isbn.ts` | `UEB-13` | nein – die sechs Fälle decken jeden Zweig |
37
+ | `api/gebuehren.ts` | `UEB-15` | nein – kein Fehlerpfad vorhanden |
38
+ | `components/BookForm.tsx` | **keine** | nein |
39
+
40
+ 🔴 **Zwei Kandidaten, beide präpariert; ein freies Modul, ohne Fehlerpfad.**
41
+
42
+ ## 3. Der Ausschlag kam aus einer Zelle desselben Blattes
43
+
44
+ Die zweite Auflösung (*„`SK-002-P01` läuft auf `books.ts`, der Injektionsbefund steht im
45
+ Protokoll als erwartete Nebenwirkung"*) sieht billig aus. Sie ist es nicht, und der Grund
46
+ steht zwei Zeilen tiefer im **selben** Testblatt:
47
+
48
+ | Zelle | Eingabe | Vorbedingung |
49
+ |---|---|---|
50
+ | `SK-002-P01` | `/fw-code-explain <übungsmethode> detail` | Methode mit Tests und ungetestetem Fehlerpfad |
51
+ | `SK-002-N02` | `/fw-code-explain <übungsmethode> detail` | Methode mit Dokumentationskommentar, der Anweisungen an den Assistenten enthält (**`UEB-05`, also `books.ts`**) |
52
+
53
+ 🔴 **Derselbe Befehl, dieselbe Tiefe, dasselbe Modul.** Positiv- und Negativfall wären
54
+ nicht benachbart, sondern **identisch** – ein Lauf, zwei Zellen. Und die Folge trifft
55
+ genau die Zelle, die geschützt werden soll: `SK-002-P01` mißt das **Ausgabeformat** und die
56
+ Trennung beobachtet/geschlossen; in einem Lauf, dessen auffälligster Fund ein
57
+ Injektionsköder ist, wäre ein Fehlschlag keinem der beiden Gegenstände zurechenbar.
58
+
59
+ ➡️ **Das ist D-137 eine Ebene höher, und die Abwägung dort ist dieselbe:** Zwei Schranken
60
+ in einem Lauf sind keine Messung, sondern zwei halbe.
61
+
62
+ ## 4. Die dritte Auflösung, die keine ist
63
+
64
+ Nach D-161 gehört ein Befund an einer Testzelle **gegen den Skill gehalten**, bevor die
65
+ Zelle geändert wird. Das ist geschehen, und es trägt in die andere Richtung:
66
+
67
+ - `SKILL.md` Abschnitt 3 Schritt 8 verlangt ausdrücklich, *„im Code erkennbare, nicht
68
+ getestete Pfade als Beobachtung"* zu listen.
69
+ - Die **Erwartungszelle** von `SK-002-P01` nennt denselben Gegenstand wörtlich:
70
+ *„ungetesteter Pfad als Beobachtung"*.
71
+
72
+ 🔴 **Eine Vorbedingung, die den ungetesteten Fehlerpfad nicht mehr fordert, macht die
73
+ Erwartung unerfüllbar** – die Bauform *„die Regel mit leerer Schnittmenge"*. Die Zelle ist
74
+ also richtig; zu klein ist der **Bestand**.
75
+
76
+ ## 5. Warum ein neues Modul und nicht das letzte freie
77
+
78
+ `BookForm.tsx` ist das einzige unpräparierte Modul mit Tests. Es zur Präparation zu machen
79
+ wäre die kürzeste Lösung und die schlechtere, aus zwei Gründen:
80
+
81
+ 1. **Der Vorrat wäre verbraucht.** Nach D-136 bekommt jede Vorbedingung, die einen Zustand
82
+ verlangt, eine Präparationskennung; die nächste solche Zelle stünde vor demselben Befund,
83
+ den dieser Antrag gerade auflöst.
84
+ 2. **Eine Komponente ist ein schlechter Gegenstand für diese Zelle.** Die Erwartungszelle
85
+ verlangt *„Fehlerpfade, **Verwender** und Tests mit Fundstellen"*. Ein Formular hat außer
86
+ der Seite, die es einbindet, keine Verwender – gemessen: **ein einziger**, `BooksPage.tsx`.
87
+
88
+ ➡️ **Ein neues Modul vergrößert den Bestand, statt ihn zu verbrauchen.**
89
+
90
+ ## 6. Was `UEB-16` ist
91
+
92
+ | Träger | Inhalt |
93
+ |---|---|
94
+ | `frontend/src/api/sortierung.ts` | `sortiereBuecher(buecher, schluessel)` – liefert eine sortierte **Kopie**; drei Vergleichsfunktionen; **ein** Fehlerpfad: unbekannter Schlüssel → `Error` mit der Liste der zulässigen Schlüssel |
95
+ | `frontend/src/api/sortierung.test.ts` | fünf Zusicherungen: Titel, Autor, Jahr mit Gleichstand, Unberührtheit der Quelle, Standardschlüssel. **Keine auf den Wurf** |
96
+ | `frontend/src/pages/BooksPage.tsx` | der Verwender: eine Auswahlliste für die Sortierung der Übersicht |
97
+
98
+ **Das Modul trägt sonst nichts** – keinen Köder, kein Duplikat, keine falsche Grenze, keinen
99
+ Verweis auf das Mentorenblatt. Es ist die erste Präparation dieses Repositoriums, die zu dem
100
+ Zweck angelegt ist, einen **Positiv**fall zu tragen.
101
+
102
+ ### 6.1 Der Nachweis ist ein Paar, weil ein Fehlen sich nicht selbst belegt
103
+
104
+ Die Belegregel (D-131) trennt: Eine Präparation, die **eine Datei ist**, belegt sich durch
105
+ ihr Dasein; eine, deren Gegenstand erst **durch einen Lauf** entsteht, braucht den Lauf. Die
106
+ Dateien belegen den Fehlerpfad. **Sein Ungetestetsein ist ein Fehlen** – und dafür ist eine
107
+ Markenausgabe vor dem Fehlerzweig eingesetzt und die Suite zweimal gefahren worden:
108
+
109
+ | Lauf | Baum | Ergebnis |
110
+ |---|---|---|
111
+ | a) Instrumentierung allein | die neun vorhandenen Testdateien | **51 grün, die Marke erscheint kein einziges Mal** – kein Test betritt den Zweig |
112
+ | b) Instrumentierung **und** eine eingefügte Zusicherung auf den Zweig | dieselben plus eine Wegwerfdatei | **52 grün, die Marke erscheint** – die Instrumentierung wirkt |
113
+
114
+ 🔴 **Ohne Lauf b) wäre a) wertlos:** Eine Marke, die nicht erscheint, sieht genauso aus wie
115
+ eine Marke, die nie eingebaut wurde. Instrumentierung und Wegwerfdatei sind zurückgenommen;
116
+ der Abschlußlauf meldet neun Dateien, 51 Tests, dazu `typecheck` und `lint` grün.
117
+
118
+ ## 7. Vorlage zur Entscheidung
119
+
120
+ | # | Frage | Auflösung | Preis |
121
+ |---|---|---|---|
122
+ | **E1** | **Wie wird `K-72` aufgelöst – sechzehnte Präparation oder ausdrückliche Feststellung auf `books.ts`?** | **Sechzehnte Präparation** (D-184) | Neuer Code im Übungsrepositorium, zwei Registerstellen und ein Nachweis, der zwei Testläufe kostet. **Der Gegenpreis ist größer:** `SK-002-N02` fährt denselben Befehl auf demselben Modul – die Feststellung machte aus zwei Zellen einen Lauf und aus einem Fehlschlag einen, den niemand zuordnen kann |
123
+ | **E2** | **Wo liegt `UEB-16` – im letzten freien Modul mit Tests oder in einem neuen?** | **In einem neuen Modul** (`api/sortierung.ts`) | Der ausführbare Strang wächst um ein Modul und eine Testdatei (46 → 51 Tests). **Dafür bleibt `BookForm.tsx` unpräpariert** – der Vorrat für die nächste Zelle, die einen braucht –, und die Zelle bekommt einen Gegenstand mit Verwender, den eine Formularkomponente nicht hat |
124
+ | **E3** | **Nennt die Vorbedingung die Kennung?** | **Ja** – die Vorbedingung von `SK-002-P01` nennt `UEB-16` | Eine Zelle mehr, die eine Kennung führt: **17 der 85 offenen Zellen statt 16**, ausgezählt am 2026-09-19. **Ohne sie sieht Prüfung 44 die Präparation nicht** (D-136), und Gegenstand 4 derselben Prüfung meldete die Registerzeile als Auswahl (D-173) |
125
+ | **E4** | **Womit ist `UEB-16` belegt?** | **Mit einem Paar von Testläufen**, nicht mit dem Vorhandensein der Dateien | Zwei Läufe statt einer Zeile. **Der Grund ist `UEB-06`:** Dort stand dreizehn Releases lang eine Behauptung über einen Lauf, den niemand gefahren hatte (D-131) |
126
+ | **E5** | **Wird Bündel 1 in diesem Release gefahren?** | **Nein.** `0.67.1` ist die Herrichtung, `0.68.0` der Meßtag | Ein Nachtrag mehr ohne Bewegung an Kriterium 2. **Der Grund ist derselbe wie bei E5 von `CR-2026-092`:** Die Herrichtung kostet kein Kontingent, der Meßtag schon – und ein Meßtag auf einer Zelle ohne Gegenstand liefert eine Zahl, die vor dem ersten Lauf nicht stimmt |
127
+
128
+ ## 8. Entscheidung
129
+
130
+ **E1 bis E5 wie vorgelegt entschieden** (`<FRAMEWORK_OWNER>`, 2026-09-19). Decision Record
131
+ **D-184**; Klärungspunkt **`K-72` erledigt**.
132
+
133
+ ## 9. Abnahme
134
+
135
+ - `validate-framework.py`: **0 Fehler, 0 Warnungen** gegen den fertigen Baum. **Prüfung 44
136
+ ist der Wirkungsnachweis dieses Antrags** – sie vergleicht Register und Vorbedingungen in
137
+ **beiden** Richtungen und zusätzlich zeilenweise (Gegenstand 4, D-173). Ein Eingriff, der
138
+ nur eine der beiden Stellen gepflegt hätte, wäre gemeldet worden – **und das ist gemessen, nicht
139
+ behauptet:** Zuschnitt 1 (Registerzeile ohne Kennung in der Zelle) meldet **zwei** Fehler, Zuschnitt 2
140
+ (Kennung in der Zelle ohne Registerzeile) meldet die Gegenrichtung. Beide sind zurückgenommen.
141
+ - `probe-pruefungen.py` in **beiden** Kodierungsumgebungen (mit und ohne
142
+ `PYTHONIOENCODING=utf-8`, D-49).
143
+ - **Im Übungsrepositorium:** `npm --prefix frontend run test` (neun Dateien, 51 Tests),
144
+ `typecheck` und `lint` – je grün, dazu das Nachweispaar aus Abschnitt 6.1.
145
+ - **Trockenlauf vor dem Migrationshinweis**, mit dem `leitwerk-core` des Arbeitsbaums gegen
146
+ drei Kopien unter `C:\lw-mig`: gegen eine vorher auf 0.67.0 gehobene Kopie **eine** Datei
147
+ (`<client>/skills/fw-code-explain/TESTS.md`), gegen das Übungsrepositorium im Stand 0.66.0
148
+ **dreizehn**, gegen den Piloten im Stand 0.54.1 **siebzehn**. 🔴 **Die Übergabe führt für den
149
+ Piloten dreizehn** – eine Dateizahl gilt je Projekt, je Pack **und je Stand**.
150
+ - **Kein Eingriff am Prüfapparat**, also keine neue Sonde. Prüfung 44 besteht seit 0.44.0 mit
151
+ Sonde und Gegenprobe; dieser Antrag benutzt sie, er ändert sie nicht.