@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,127 @@
1
+ # Änderungsantrag `CR-2026-088`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Vorbedingungen der dreizehn Testblätter durchgegangen – 21 von 81 Zellen tragen nicht, und das Overlay bindet seine Pflichtplatzhalter nicht |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-18 |
8
+ | Betroffene Artefakte | `tests/scripts/validate-framework.py` (**Prüfung 55 und 56**, Kopfkommentar), `tests/scripts/probe-pruefungen.py` (vier Sonden, fünf Gegenproben), `templates/project-overlay/OVERLAY.md` (`<CHANGE_SIZE_THRESHOLD>`), dreizehn `TESTS.md` (21 Zellen mit Vermerk), `tests/TEST_CATALOG.md` (Sondenmenge), `governance/DECISION_LOG.md` (D-160 bis D-162, `K-66`, `K-67`), `docs/ROADMAP.md`, `tests/protocols/2026-09-18-vorbedingungen-testblaetter.md`, `CHANGELOG.md`, `VERSION`; **außerhalb des Repositoriums:** das Übungs-Overlay (acht Bindungen, eingeengte Sperre) |
9
+ | Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Prüfapparat, die Overlay-Vorlage und dreizehn Testblätter |
10
+ | Art | Erhebung, Befundbehebung, zwei neue Prüfungen |
11
+ | Dringlichkeit | **Regulär, mit einem Vorbehalt:** In der geladenen Laufzeitschicht des Übungsrepositoriums standen 65 Fundstellen von Pflichtplatzhaltern, die kein Leser auflösen kann – darunter Regeln, die eine Meldung an eine nicht benannte Stelle verlangen |
12
+
13
+ ## 1. Anlass
14
+
15
+ Der Releaseplan sah für 0.63.0 den fünften Sitzungstest vor. **Vor dem ersten Lauf sind
16
+ die Vorbedingungen durchgegangen worden** – zum siebten Mal in Folge, und zum siebten Mal
17
+ war es der billigste Befund des Releases. Diesmal galt der Durchgang nicht zehn Zellen
18
+ einer Klasse, sondern **allen 81 offenen Zellen der dreizehn Testblätter**: dem Posten,
19
+ der 88 % des Restbestands von Kriterium 2 ausmacht.
20
+
21
+ ## 2. Die Trennlinie, die vorher niemand gezogen hatte (D-162)
22
+
23
+ Eine Vorbedingung beschreibt entweder **einen Eingabetext**, den der Lauf selbst
24
+ mitbringt (Stacktrace, Aufgabenbeschreibung, Fehlerbericht) – oder **einen Zustand des
25
+ Repositoriums**, der vorher da sein muss. Nur die zweite Gattung braucht eine
26
+ registrierte Präparation.
27
+
28
+ **Die Zahl verändert sich dadurch in beide Richtungen.** `K-42` zählte 82 von 83
29
+ Blattzellen als *ohne Präparation*; gemessen sind **25 von 81** gar kein
30
+ Repositoriumszustand. Die echte Lücke ist kleiner und schärfer.
31
+
32
+ | Klasse | Bedeutung | Zellen |
33
+ |---|---|---|
34
+ | A | Gegenstand ist der Eingabetext des Laufs | 25 |
35
+ | B | registrierte Präparation, vorhanden | 3 |
36
+ | C | Zustand des Repositoriums, gemessen vorhanden | 17 |
37
+ | D | je Lauf herzustellen, in keinem Register | 15 |
38
+ | **E** | **Gegenstand fehlt oder widerspricht dem Overlay** | **21** |
39
+
40
+ ## 3. Der erste Befund: 21 Zellen ohne Gegenstand
41
+
42
+ 🔴 **`fw-docs-update` ist vollständig unfahrbar – sechs von sechs.** Alle Zellen
43
+ verlangen ein Übungsdokument in `<DOC_PATHS>`; `docs/` enthält **genau eine Datei**, und
44
+ das ist das Aufgabenblatt mit den Auflösungen.
45
+
46
+ Dazu: keine Test-Fixture mit K3-Inhalt (3 Zellen), keine Berechtigungsprüfung im
47
+ Übungscode (2), keine dokumentierten Akzeptanzkriterien (1 – der Begriff kommt im ganzen
48
+ Übungsrepositorium kein einziges Mal vor), kein Glossar (1), keine zwei gleichnamigen
49
+ Module (1), kein Duplikat **innerhalb einer Datei** (1), und zwei Duplikate, die sich in
50
+ einer Randbedingung **unterscheiden** (1) – `UEB-03` trägt absichtlich **dieselbe**
51
+ falsche Grenze an beiden Stellen, weil das die Scope-Falle ausmacht.
52
+
53
+ **Alle 21 standen als `offen`, also als fahrbar.** Seit diesem Release sagen sie es in
54
+ ihrer eigenen Zeile.
55
+
56
+ ## 4. Der zweite Befund, und er ist größer: das Overlay bindet nicht, es ersetzt (D-160)
57
+
58
+ 🔴 **Acht von neunundzwanzig Pflichtplatzhaltern waren im aktiven Übungs-Overlay
59
+ ungebunden.** Das Overlay hatte ihre Werte in den Text gesetzt – `| Tickets aus GitHub
60
+ Issues |` statt `| Tickets aus <ISSUE_TRACKER> |` – und den Platzhalter damit verloren.
61
+
62
+ **Für das Overlay selbst ist das folgenlos; für jeden Kerntext, der denselben
63
+ Platzhalter trägt, nicht.** In der geladenen Laufzeitschicht standen **65 Fundstellen**
64
+ von fünf Pflichtplatzhaltern, die kein Leser auflösen kann – `<ISSUE_TRACKER>` allein in
65
+ **vierzehn Trägern**, `<PROJECT_RULES_PATH>` in elf. Darunter Regeln wie *„Aus
66
+ `<ISSUE_TRACKER>` nur Titel, technische Beschreibung und Akzeptanzkriterien verwenden"*.
67
+
68
+ **Der Validator meldete 0 Fehler, 0 Warnungen.**
69
+
70
+ 🔴 **Und die Vorlage selbst hatte eine Lücke:** `<CHANGE_SIZE_THRESHOLD>` ist Pflicht vor
71
+ der Aktivierung und kam in der Overlay-Vorlage **überhaupt nicht** vor. Ein Projekt, das
72
+ die Vorlage ausfüllt, begegnete ihm nie. **Prüfung 55 hat das beim ersten Lauf gemeldet.**
73
+
74
+ ## 5. Der dritte Befund – und er hat sich beim Gegenprüfen umgedreht (D-161)
75
+
76
+ `SK-012-P01` verlangt `<MR_TEMPLATE_PATH>`, und das Übungs-Overlay sperrte den Wert über
77
+ `.github/**`. **Der erste Verdacht war, die Zelle sei falsch.** Gegen den Träger
78
+ gehalten ist es umgekehrt: `fw-mr-description` führt `<MR_TEMPLATE_PATH>` ausdrücklich
79
+ als **zulässige Kontextquelle** und verlangt in seiner Abschlussprüfung, die Vorlage in
80
+ Struktur und Pflichtfeldern einzuhalten.
81
+
82
+ **Ein Skill, der eine Datei lesen muss, und ein Overlay, das sie sperrt – das Overlay ist
83
+ die falsche Stelle.** Die Sperre ist auf `.github/workflows/**` eingeengt: ihren eigenen
84
+ Gegenstand laut Overlay, die Steuerung des Quality Gates. Übungsaufgabe E bleibt
85
+ unberührt.
86
+
87
+ ## 6. Vorlage zur Entscheidung
88
+
89
+ | Nr. | Frage | Vorschlag | Preis |
90
+ |---|---|---|---|
91
+ | **E1** | **Wie wird eine Vorbedingung eingestuft?** | **Danach, WER ihren Gegenstand herstellt** – Eingabetext des Laufs oder Repositorium (D-162) | **Die Einstufung liest Prosa und ist Ermessen.** Deshalb steht die **Aufzählung** im Protokoll und die Zahl daneben. Ohne die Trennlinie zählte `K-42` 82 von 83 und war damit zu pessimistisch |
92
+ | **E2** | **Werden die 21 Gegenstände in diesem Release hergestellt?** | **Nein – eigener Posten `0.64.0`** (`K-66`) | **Sieben Gegenstände in einem Zug zu erfinden ist die Bauform, gegen die D-156 entschieden hat.** Jeder braucht einen eigenen Entwurf und eine registrierte Präparation. **Preis der Vertagung:** Die 21 Zellen bleiben unfahrbar – aber sie sagen es jetzt |
93
+ | **E3** | **Bekommt der Platzhalterbefund eine Prüfung?** | **Ja, Prüfung 55 mit zwei Gegenständen:** (a) die Vorlage bietet jeden Pflichtplatzhalter an, (b) das aktive Overlay bindet jeden, den ein Träger der geladenen Schicht nennt | **(b) prüft, ob der Name VORKOMMT, nicht ob der Wert daneben richtig ist.** Die Vorlage kennt drei Bindungsformen; eine verbindliche zu erzwingen hieße, jede bestehende Overlay-Datei umzubauen (`K-67`) |
94
+ | **E4** | **Und der Widerspruch um die MR-Vorlage?** | **Prüfung 56**, und **das Overlay** wird berichtigt, nicht die Zelle | **Verworfen: die Sperre ganz zu streichen** – Übungsaufgabe E hängt an ihr. 🔴 **Die Prüfung hat in EINEM Release zweimal zu breit gemeldet:** erst bei drei Zellen, die `<EXCLUDED_PATHS>` selbst zum Gegenstand haben, dann beim Vergleich von Pfad**anfängen** statt Pfaden. Beide Zuschnitte sind jetzt durch eine Gegenprobe belegt |
95
+ | **E5** | **Wie wird das Release geschnitten?** | **`0.63.0`, Sitzungstest 5 rückt auf `0.64.0`**, die Herrichtung wird `0.65.0` | **Die exakten Nummern verschieben sich zum vierten Mal in vier Releases.** Dieselbe Entscheidung wie `CR-2026-087` E9. Prüfung 53 rechnet die Kette nach |
96
+
97
+ ## 7. Entscheidung
98
+
99
+ | Feld | Inhalt |
100
+ |---|---|
101
+ | Entscheidung | **Angenommen, alle fünf Fragen wie vorgelegt.** |
102
+ | Datum | 2026-09-18 |
103
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
104
+ | Decision-Log-Einträge | **D-160** (Overlay bindet statt zu ersetzen; Prüfung 55), **D-161** (keine Vorbedingung verlangt einen gesperrten Träger; Prüfung 56), **D-162** (die Trennlinie Eingabetext ↔ Repositoriumszustand) |
105
+ | Neue Klärungspunkte | `K-66` (21 Zellen ohne Gegenstand – Herrichtung als eigener Posten), `K-67` (die Vorlage kennt drei Bindungsformen) |
106
+ | Auflagen | **Wer eine Vorbedingung liest, fragt zuerst, WER ihren Gegenstand herstellt.** Und: **Ein Overlay, das einen Platzhalter durch seinen Wert ersetzt, lässt jeden Kerntext unauflösbar, der ihn trägt** |
107
+ | Ziel-Release | `0.63.0` |
108
+ | Umsetzung | umgesetzt mit `0.63.0` |
109
+
110
+ ## 8. Abnahme
111
+
112
+ - Validator `0 Fehler, 0 Warnungen`, **beide Kodierungsumgebungen**.
113
+ - Sondenlauf: **vier neue Sonden** (`55a` bis `55c`, `56a`) und **fünf neue Gegenproben**
114
+ (`55a` bis `55c`, `56a`, `56b`); Spanne `6, 14 und 18 bis 56` in allen drei Trägern
115
+ **ausgerechnet**.
116
+ - 🔴 **Zwei Sonden maßen zuerst nichts, und beide Male war die Sonde schuld, nicht die
117
+ Prüfung:** `55b` ersetzte `| ja |` und ließ die eine Registerzeile stehen, die
118
+ `ja (oder „keine")` trägt; `55c` ließ den Platzhalter in der Prosa der Vorlage stehen
119
+ und machte ihn damit „gebunden". **Der Baumhash-Wächter hat beide gemeldet, statt sie
120
+ leise bestehen zu lassen.**
121
+ - **Die wichtigeren Hälften sind die Gegenproben:** `55b` (ein Platzhalter, den das
122
+ Register nicht im Overlay verortet, muss in der Vorlage nicht stehen), `55c` (ein
123
+ Overlay, das bindet, bleibt unbeanstandet) und `56b` (dieselbe Pfadwurzel, ein anderer
124
+ Pfad – `deploy/pull_request_template.md` gegen `deploy/gen/**` – bleibt zulässig).
125
+ - **Prüfung 50 hat gegriffen:** `K-66` stand in acht Trägern, bevor es im Register stand.
126
+ - **Prüfung 55 hat beim ersten Lauf gegen den eigenen Bestand gemeldet**
127
+ (`<CHANGE_SIZE_THRESHOLD>` fehlt in der Vorlage).
@@ -0,0 +1,226 @@
1
+ # Änderungsantrag `CR-2026-089`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Herrichtung des Übungsrepositoriums – vier der einundzwanzig Zellen trugen doch, und eine kippte durch die Abhilfe desselben Releases |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-18 |
8
+ | Betroffene Artefakte | `tests/scripts/validate-framework.py` (**Prüfung 57 und 58**, Kopfkommentar, zwei aufgelöste Kennungen), `tests/scripts/probe-pruefungen.py` (vier Sonden, vier Gegenproben, Kopfsatz), `onboarding/exercises/README.md` (Register `UEB-09` bis `UEB-15`), **acht** `TESTS.md` (18 Zellen), `tests/TEST_CATALOG.md` (`FW-FI-01`, Sondenmenge), `governance/DECISION_LOG.md` (D-163 bis D-169, `K-66` erledigt, `K-68` neu), `docs/ROADMAP.md` (Postentausch), `tests/protocols/2026-09-18-herrichtung-uebungsrepositorium.md`, `CHANGELOG.md`, `VERSION`; **außerhalb des Repositoriums:** das Übungsrepositorium (sieben Präparationen, drei Dokumente, das Aufgabenblatt in den gesperrten Bereich) |
9
+ | Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Prüfapparat, das Präparationsregister und neun Testblätter |
10
+ | Art | Gegenprüfung, Herrichtung, zwei neue Prüfungen |
11
+ | Dringlichkeit | **Regulär.** Kein Sitzungskontingent |
12
+
13
+ ## 1. Anlass
14
+
15
+ Der Releaseplan sah für 0.64.0 den fünften Sitzungstest vor und für 0.65.0 die
16
+ Herrichtung des Übungsrepositoriums (`K-66`). **Die Reihenfolge ist getauscht worden, und
17
+ der Grund ist nicht Geschmack, sondern eine Messung:** Vor dem Bauen sind die einundzwanzig
18
+ Zellen von 0.63.0 gegengeprüft worden – zum achten Mal in Folge war der Durchgang vor dem
19
+ Eingriff der billigste Befund des Releases.
20
+
21
+ **Vier der einundzwanzig tragen ihren Gegenstand, und zwei davon trugen ihn schon beim
22
+ Merge von 0.63.0.** Eine fünfte Zelle, die 0.63.0 ausdrücklich als tragend geführt hat,
23
+ trägt seither **nicht** mehr – durch dieselbe Abhilfe.
24
+
25
+ > 🔴 **Wer eine Zahl übernimmt, die ein anderes Release ausgerechnet hat, übernimmt
26
+ > deren Stand – und der ist der VOR den Eingriffen dieses Releases.**
27
+
28
+ ## 2. Der erste Befund: die Messung hat den falschen Bestand befragt (D-165)
29
+
30
+ `RE-001-P01` verlangt *„Übungsrepository mit einer Komponente, deren Verhalten teilweise
31
+ vorhanden ist; **Glossar registriert**"*. Der Durchgang vom 2026-09-18 schrieb dazu:
32
+
33
+ > *„Verlangt ein registriertes Glossar. `docs/` enthält genau eine Datei: das
34
+ > Aufgabenblatt. Kein Glossar im Bestand."*
35
+
36
+ **Gemessen ist das Gegenteil.** Das Übungsrepositorium führt ein Projektglossar
37
+ (`project-overlay/documents/glossary/biv-glossar.md`), und es ist **registriert**: als
38
+ `DOC-006` in `project-overlay/overlay-manifest.yaml`, Kontextklasse K1, Ladeverhalten
39
+ `on-demand`, und zusätzlich im Dokumentenregister des Overlays selbst. Es führt unter
40
+ anderem genau die Begriffe, die der Testfall braucht – *Titel*, *Exemplar*, *Bestand*,
41
+ *Verfügbar*, *Offene Ausleihe* – je mit ihrer Entsprechung im Code.
42
+
43
+ 🔴 **Die Ursache ist eine Ablagefrage, keine Nachlässigkeit.** Ein Übungsrepositorium hat
44
+ **zwei** Dokumentenablagen, und sie haben verschiedene Zwecke:
45
+
46
+ | Ablage | Was dort liegt | Wer sie ändert |
47
+ |---|---|---|
48
+ | `<DOC_PATHS>` (`docs/**`) | Produktdokumentation – Gegenstand der M5-Übungen | der Client in M5 |
49
+ | `project-overlay/documents/` | die **registrierten** Dokumente des Overlays, je mit Kontextklasse und Ladeverhalten | die aufnehmende Organisation |
50
+
51
+ **Der Durchgang hat die erste gelesen und die zweite nicht.** Eine Vorbedingung, die das
52
+ Wort *registriert* trägt, meint immer die zweite – Registrierung ist genau der
53
+ Mechanismus, den die zweite Ablage hat und die erste nicht.
54
+
55
+ ➡️ **`RE-001-P01` trug die ganze Zeit.**
56
+
57
+ ## 3. Der zweite Befund: der Vermerk war beim Merge schon überholt (D-164)
58
+
59
+ `RE-001-P04` verlangt *„Übungs-Overlay mit gesetztem `<ISSUE_TRACKER>`"*. Der Durchgang
60
+ schrieb: *„Der Platzhalter ist im Overlay nirgends gebunden."* **Das war richtig – und
61
+ `CR-2026-088` hat es im selben Release behoben** (D-160, acht Bindungen). Der rote Vermerk
62
+ ging mit in den Merge.
63
+
64
+ 🔴 **Und dieselbe Abhilfe hat eine ZWEITE Zelle in die Gegenrichtung gekippt.**
65
+ `RE-001-N09` verlangt das Overlay *ohne* gesetzten `<ISSUE_TRACKER>` und war deshalb als
66
+ Klasse **C** eingestuft – *„das ist der Ist-Zustand"*. Seit der Bindung ist das nicht mehr
67
+ der Ist-Zustand.
68
+
69
+ **Das Protokoll von 0.63.0 hat die Unvereinbarkeit selbst gesehen** und in derselben Zeile
70
+ vermerkt: *„ACHTUNG: unvereinbar mit RE-001-P04 im selben Baum."* **Ausgewertet wurde sie
71
+ nicht.**
72
+
73
+ > 🆕 **Eine neue Bauform für den Befundkatalog: der Befund, der an der eigenen Abhilfe
74
+ > altert.** Er ist die Verwandte des gealterten `bestanden` (`K-61`), eine Ebene tiefer:
75
+ > Dort altert eine **Abnahme** an späteren Änderungen, hier eine **Einstufung** an einer
76
+ > Änderung desselben Releases. Beide sehen beim Schreiben richtig aus.
77
+
78
+ ## 4. Der dritte Befund: eine Prüfung und ein Testfall desselben Repositoriums stehen gegeneinander (D-166)
79
+
80
+ `RE-001-N09` ist damit nicht bloß falsch eingestuft, sondern **unfahrbar geworden** – und
81
+ zwar durch eine Prüfung aus demselben Release. **Prüfung 55b** meldet seit 0.63.0 jeden
82
+ Pflichtplatzhalter, den ein Träger der geladenen Schicht nennt und das aktive Overlay nicht
83
+ bindet. `<ISSUE_TRACKER>` steht in **vierzehn** solchen Trägern. Ein Baum, in dem die
84
+ Vorbedingung von `RE-001-N09` erfüllt ist, wird vom Validator beanstandet.
85
+
86
+ 🔴 **Gegen den Skill gehalten dreht sich der Befund – zum dritten Mal in vier Releases.**
87
+ Der erste Verdacht war, die Prüfung sei zu scharf. `role-re-ticket` sagt es aber selbst,
88
+ in Abschnitt 8:
89
+
90
+ > *„`<ISSUE_TRACKER>` **unbekannt** und kein Format angegeben → Rückfrage; keine Syntax
91
+ > unterstellen"*
92
+
93
+ **Unbekannt ist nicht ungebunden.** Der Skill meint einen Platzhalter **mit** Bindung und
94
+ **ohne** Wert – einen Ausfüllschlitz, also genau den Zustand, den ein Overlay vor seiner
95
+ Aktivierung trägt. **Die Zelle war falsch formuliert, nicht die Prüfung.**
96
+
97
+ ➡️ Die Vorbedingung ist berichtigt, und **Prüfung 57** setzt die Trennlinie durch.
98
+
99
+ ## 5. Der vierte Befund: der Beleg war falsch, der Schluss trug
100
+
101
+ `SK-006-P01` verlangt *„dokumentierte Akzeptanzkriterien"*. Der Durchgang schrieb: *„im
102
+ ganzen Übungsrepositorium kommt der Begriff **kein einziges Mal** vor – weder in `docs/`,
103
+ noch im Code, noch im Vertrag."*
104
+
105
+ **Nachgezählt: fünf Fundstellen**, zwei davon in **registrierten** Overlay-Dokumenten
106
+ (Definition of Done, Definition of Ready), dazu zweimal im Overlay selbst.
107
+
108
+ **Der Schluss trug trotzdem:** Keine der fünf nennt Akzeptanzkriterien **einer Komponente**;
109
+ die Definition of Ready sagt nur, dass es sie geben muss. Die Zelle hatte keinen Gegenstand.
110
+
111
+ > 🆕 **Ein richtiger Schluss aus einem falschen Beleg ist kein Glück, sondern eine
112
+ > ungesicherte Stelle.** Der nächste Durchgang, der denselben `grep` fährt, bekommt
113
+ > dieselbe Null – und beim übernächsten steht sie in einer Zeile, die ihn nicht mehr trägt.
114
+ > Dieselbe Regel wie *„Eine Null aus einem `grep` ist kein Beleg für Abwesenheit"*, auf den
115
+ > eigenen Durchgang angewandt.
116
+
117
+ ## 6. Der fünfte Befund: zwei Prüfungen tragen eine Kennung, die es nicht gibt (D-169)
118
+
119
+ Beim Anlegen von Prüfung 57 fiel auf, dass die Registereinträge der Prüfungen **55** und
120
+ **56** im Kopfkommentar des Validators auf zwei Kennungen verweisen, die an der Stelle
121
+ der Nummer einen **Platzhalter** tragen – `D-16` plus einen Buchstaben, beim zweiten
122
+ zusätzlich ein Rechenzeichen. **Diese Decision Records gibt es nicht.** Die Meldungen
123
+ derselben Prüfungen nennen `D-160` und `D-161`, also die richtigen; der Platzhalter ist
124
+ allein im Register stehen geblieben.
125
+
126
+ > 🔴 **Dieser Antrag nennt die beiden Zeichenfolgen nirgends wörtlich, und das ist kein
127
+ > Stil, sondern der Gegenstand.** Der erste Entwurf tat es an vier Stellen – **und
128
+ > Prüfung 58 hat ihn beim ersten Lauf gemeldet.** Dieselbe Bewegung wie bei der Sonde zu
129
+ > Prüfung 50, die sich ebenfalls nicht selbst nennen darf (0.60.0). Ein Änderungsantrag
130
+ > ist ein Kerndokument.
131
+
132
+ **Ausgezählt über den ganzen Kern: genau drei Fundstellen**, alle drei in
133
+ `validate-framework.py`, alle drei aus derselben Bauform (die dritte war der eigene
134
+ Entwurf dieses Releases).
135
+
136
+ 🔴 **Prüfung 50 fängt das nicht, und zwar aus zwei Gründen.** Sie gilt für `K-`, nicht für
137
+ `D-` – und ihr Muster `\bK-\d+\b` träfe den gemessenen Fall auch dann nicht, wenn man
138
+ es auf `D-` umstellte: Zwischen der letzten Ziffer und dem Platzhalterzeichen steht keine
139
+ Wortgrenze. **Eine Kennung, die knapp
140
+ neben der Form liegt, ist für einen Zähler unsichtbar.**
141
+
142
+ ➡️ **Prüfung 58** zieht die Linie eine Stelle weiter: Jede Zeichenfolge `D-` mit folgender
143
+ Ziffer muss eine im Decision Log **geführte** Kennung sein. Ausnahmen sind allein die
144
+ belegten synthetischen Kennungen – dieselbe Menge und derselbe Ableitungsweg wie bei
145
+ Prüfung 50.
146
+
147
+ ## 7. Die Herrichtung: sieben Gegenstände, fünfzehn Zellen
148
+
149
+ Sieben Zustände fehlten wirklich. Jeder hat einen eigenen Entwurf bekommen und eine
150
+ registrierte Präparation (D-156, D-167):
151
+
152
+ | Präparation | Gegenstand | Zellen |
153
+ |---|---|---|
154
+ | `UEB-09` | Veraltetes Fachdokument im Dokumentationspfad – falscher Feldname, falscher Standardwert, eine beschriebene Prüfung ohne Code, ein leerer Abschnitt; **der Feldname kehrt im Quellkommentar der Komponente wieder** | 5 |
155
+ | `UEB-10` | Injektion in einem zweiten Dokumentationsdokument – ausgeschlossener Pfad, Generatoraufruf, Vorrangbehauptung | 1 |
156
+ | `UEB-11` | K3-Fixture mit personenbezogener Struktur und synthetischem Zugangsschlüssel, **von einem Test gebraucht** | 3 |
157
+ | `UEB-12` | Zwei gleichnamige Module in verschiedenen Verzeichnissen, **beide mit eigenen Tests** | 1 (+ `FW-FI-01`) |
158
+ | `UEB-13` | Duplikat **innerhalb einer Datei**, Verwender in zwei anderen Modulen | 1 |
159
+ | `UEB-14` | Berechtigungsprüfung mit Fehler Richtung Freigabe – **kein Test deckt den Fall ab** | 2 |
160
+ | `UEB-15` | Zwei Duplikate, die sich in **einer** Randbedingung unterscheiden, beide Grenzen durch Zusicherungen festgehalten | 1 |
161
+ | *(keine)* | Dokumentierte Akzeptanzkriterien einer Komponente mit bestehenden Tests – bloßer Bestand, keine Falle | 1 |
162
+
163
+ **Das Übungsrepositorium meldet danach 46 statt 18 grüne Tests**, Typprüfung und Linting
164
+ unverändert ohne Befund.
165
+
166
+ 🔴 **Zwei Grenzen gehören dazu und stehen auch im Protokoll.** `UEB-14` liegt im
167
+ Backend-Strang, und der ist auf diesem Arbeitsplatz nicht übersetzbar – weder JDK noch
168
+ Maven sind installiert (`K-68`). Die Präparation belegt sich durch ihr **Dasein**, nicht
169
+ durch einen Lauf; die Belegzelle sagt es. Und `SK-007-N04` hat ein **zweites** Duplikatpaar
170
+ gebraucht: `UEB-03` trägt an beiden Stellen **dieselbe** falsche Grenze, und das macht dort
171
+ die Scope-Falle aus – es zu ändern hieße, `FW-SC-01` den Gegenstand zu nehmen.
172
+
173
+ ## 8. Das Aufgabenblatt – eine Frage, die seit zwanzig Releases offen stand (D-168)
174
+
175
+ `docs/UEBUNGSAUFGABEN.md` nennt die Auflösung der Aufgaben A bis F. **Die Frage, ob es in
176
+ den gesperrten Bereich gehört, steht seit 0.45.0 offen** und ist am 2026-09-17 gemessen
177
+ worden (`CR-2026-077`, Abschnitt 7.1): **Sechs von sechzehn Läufen haben es geöffnet**, und
178
+ einer hat sich wörtlich darauf berufen.
179
+
180
+ **Der einzige aktenkundige Gegengrund entfällt mit diesem Release.** Er lautete: *„Dagegen
181
+ spricht, dass `<DOC_PATHS>` dann keinen Gegenstand mehr hätte und die M5-Übungen ins Leere
182
+ liefen."* `docs/` trägt jetzt drei echte Übungsdokumente.
183
+
184
+ > 🆕 **Die Vorbedingung eines Gegenarguments war die Lücke, die dieses Release schließt.**
185
+ > Wer einen offenen Punkt liest, prüft, ob der Grund seiner Vertagung noch gilt – er kann
186
+ > durch fremde Arbeit entfallen sein, ohne dass jemand den Punkt anfasst.
187
+
188
+ ## 9. Vorlage zur Entscheidung
189
+
190
+ | Nr. | Frage | Auflösung | Preis |
191
+ |---|---|---|---|
192
+ | **E1** | **Welcher Posten kommt zuerst – Sitzungstest 5 oder die Herrichtung?** | **Die Herrichtung.** `0.64.0` ist die Herrichtung, Sitzungstest 5 rückt auf `0.65.0` | **Die exakten Nummern verschieben sich zum fünften Mal in fünf Releases**, und der Preis ist derselbe wie bei `CR-2026-087` E9 und `CR-2026-088` E5: Der `CHANGELOG` von 0.63.0 nennt für die Herrichtung `0.65.0` und bleibt stehen – **eine Aufzeichnung wird nicht gefälscht, sie wird überholt** (D-141). **Der tragende Grund ist nicht Bequemlichkeit:** Die Klasse der 21 Zellen ist gemessen falsch geschnitten, und Sitzungstest 5 liefe auf eine Zahl, die vor dem ersten Lauf nicht stimmt. `FW-FI-01` bekommt außerdem mit `UEB-12` seinen Gegenstand |
193
+ | **E2** | **Werden die Befunde von 0.63.0 berichtigt oder nur ergänzt?** | **Berichtigt, in der Zelle selbst** – mit Nennung dessen, was falsch war | **Verworfen: nur den neuen Stand eintragen.** Ein stiller Austausch nähme dem nächsten Durchgang die Lehre. **Preis:** Die Zellen tragen jetzt einen längeren Vermerk als ihre eigentliche Aussage |
194
+ | **E3** | **Welche Gegenstände bekommen eine registrierte Präparation?** | **Die, deren Entfernung oder „Korrektur" einen Testfall unfahrbar macht** – nicht jeder hergestellte Zustand (D-167) | **Verworfen: alles registrieren.** Ein Register, das bloßen Bestand führt, wird gepflegt und nicht benutzt – Prüfung 44 meldet das ausdrücklich. **Preis:** Die Trennlinie ist Ermessen; das Dokument mit den Akzeptanzkriterien steht deshalb **nicht** im Register, das mit dem veralteten Feldnamen schon |
195
+ | **E4** | **Bekommt der Widerspruch zwischen Prüfung 55b und `RE-001-N09` eine Prüfung?** | **Ja, Prüfung 57** – und **die Zelle** wird berichtigt, nicht die Prüfung | **Verworfen: Prüfung 55b zuschneiden.** Der Skill gibt der Prüfung recht. **Grenze, und sie steht im Kopfkommentar:** Prüfung 57 erkennt **aufgezählte Wendungen**, nicht jede mögliche – dieselbe Grenze wie Prüfung 29 bei Bedingungswörtern. Der Zuschnitt arbeitet auf **Teilsätzen**; Gegenprobe 57b belegt ihn |
196
+ | **E5** | **Bekommen die beiden unaufgelösten Kennungen eine Prüfung oder nur eine Berichtigung?** | **Beides: Prüfung 58**, Schwester von Prüfung 50 | **Verworfen: nur die drei Fundstellen auflösen.** Dieselbe Bauform ist bei `K-34` und `K-55` zweimal unbemerkt geblieben. **Preis:** Eine weitere Prüfung am eigenen Prüfapparat; sie meldet im Normalfall nichts, und ihre **drei** Sonden sind der Nachweis – darunter eine auf den verlorenen Anker und eine auf die Bauform, die ein Muster mit Wortgrenze übersieht |
197
+ | **E6** | **Wohin mit dem Aufgabenblatt?** | **Nach `tools/mentorenblatt/`**, also in den gesperrten Bereich (D-168) | **Preis, und er ist real:** Ein Lauf, der einem der zehn Verweise folgt, bekommt eine Abweisung statt einer Datei. **Das ist Absicht** – ein Verweis ins Leere wäre ein unerklärter Befund, ein Verweis auf einen gesperrten Pfad ist ein Messwert. Die Verweise bleiben deshalb stehen. **Für die lernende Person ändert sich nichts:** `tools/**` ist für den KI-Client gesperrt, nicht für Menschen |
198
+ | **E7** | **Wird der Backend-Strang lauffähig gemacht?** | **Nein** – `K-68` neu | **Der Preis ist benannt:** `UEB-14` ist die erste Präparation, deren Gegenstand niemand übersetzt hat. Sie belegt sich durch ihr Dasein (D-131), und die Belegzelle sagt das. **Verworfen: die Präparation in den Frontend-Strang legen** – eine Rollenprüfung gehört in die Anwendungsschicht, und ein Testfall, der sie an der falschen Stelle sucht, misst die Präparation und nicht den Skill |
199
+
200
+ ## 10. Entscheidung
201
+
202
+ | Nr. | Entscheidung | Decision Record |
203
+ |---|---|---|
204
+ | E1 | Die Herrichtung wird `0.64.0`, Sitzungstest 5 rückt auf `0.65.0` | **D-163** |
205
+ | E2 | Eine Einstufung wird gegen den Stand **nach** den Eingriffen des eigenen Releases abgenommen | **D-164** |
206
+ | E3 | Ein Durchgang durch die Vorbedingungen befragt **beide** Dokumentenablagen | **D-165** |
207
+ | E4 | Keine Vorbedingung verlangt einen Pflichtplatzhalter als ungebunden – Prüfung 57 | **D-166** |
208
+ | E5 | Registriert wird, was einen Testfall unfahrbar machen kann – nicht jeder Bestand | **D-167** |
209
+ | E6 | Das Aufgabenblatt liegt im gesperrten Bereich | **D-168** |
210
+ | E7 | Jede genannte `D-`-Kennung steht im Register – Prüfung 58 | **D-169** |
211
+
212
+ **Neuer Klärungspunkt:** `K-68` (der Backend-Strang des Übungsrepositoriums ist auf keinem
213
+ Arbeitsplatz des Projekts übersetzbar; `UEB-14` und zwei Zellen hängen daran).
214
+ **Erledigt:** `K-66`.
215
+
216
+ ## 11. Abnahme
217
+
218
+ - `validate-framework.py` – **0 Fehler, 0 Warnungen**, im Repositorium und gegen die
219
+ Testinstallation.
220
+ - `probe-pruefungen.py` in **beiden** Kodierungsumgebungen (D-49).
221
+ - **Vier Sonden und vier Gegenproben neu** – `57a`, `58a`, `58b`, `58c` und `57a`, `57b`,
222
+ `58a`, `58b`; Spanne `6, 14 und 18 bis 58` in allen drei Trägern **ausgerechnet**,
223
+ nicht gepflegt.
224
+ - Übungsrepositorium: `npm --prefix frontend run test` **46 von 46**, `typecheck` und
225
+ `lint` ohne Befund; `validate-framework.py --strict-overlay` **0 Fehler, 0 Warnungen**.
226
+ - Prüfung 44 gleicht Register und fünfzehn Präparationen ab – in beiden Richtungen.
@@ -0,0 +1,255 @@
1
+ # Änderungsantrag `CR-2026-090`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Vorbedingungen des fünften Sitzungstests, zweiter Durchgang – die Abhilfe von 0.63.0 wirkt in der Quelle und nicht in der Schicht, die bindet |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-18 |
8
+ | Betroffene Artefakte | `tests/TEST_CATALOG.md` (`FW-PO-02` Vorbedingung und Auslöser, `FW-FI-02` Vorbedingung), `framework/skills/fw-bugfix-prepare/TESTS.md`, `framework/skills/fw-docs-update/TESTS.md`, `framework/skills/fw-refactor/TESTS.md` (je eine Vorbedingung), `onboarding/exercises/README.md` (Registerkopf, zwei Registerzeilen, der Absatz über die Nicht-Präparationen), `docs/ROADMAP.md` (Releaseplan und seine Anmerkung), `tests/scripts/validate-framework.py` (**Prüfung 59**, dazu je ein weiterer Gegenstand für **44** und **49**), `tests/scripts/probe-pruefungen.py` (Sonden und Gegenproben), `governance/DECISION_LOG.md` (D-170 bis D-174, `K-69` neu), `CHANGELOG.md`, `VERSION`. **Daneben, nicht versioniert im Kern:** `test-devin-framework/.devin/rules/20-project-overlay.md` und `test-devin-framework/.devin/config.json` |
9
+ | Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Testkatalog, das Präparationsregister, der Releaseplan und der Prüfapparat |
10
+ | Art | Befundbehebung, neue Prüfung, berichtigte Einstufung, Releaseplan |
11
+ | Dringlichkeit | **Regulär.** Kein Sicherheitsvorfall. **Aber vor dem fünften Sitzungstest**, weil eine seiner sieben Zellen sonst als unfahrbar liegen bliebe, obwohl sie es nicht ist – und weil eine Sperre, auf die sich zwei Entscheidungen stützen, in der Schicht, die sie durchsetzt, gar nicht steht |
12
+
13
+ ## 1. Anlass
14
+
15
+ Der Releaseplan sieht für `0.65.0` den fünften Sitzungstest vor: sieben Ergebniszellen,
16
+ Kriterium 2 von 92 auf 85. **Vor dem ersten Lauf sind die sieben Vorbedingungen ein
17
+ zweites Mal durchgegangen worden** – der erste Durchgang liegt fünf Releases zurück
18
+ (`CR-2026-085`, 0.60.0), und seither haben `0.62.0`, `0.63.0` und `0.64.0` an ihren
19
+ Gegenständen gearbeitet.
20
+
21
+ **Der Anlass für die Wiederholung ist eine Lehre des Vorreleases** (D-164): *Wer eine Zahl
22
+ aus einem anderen Release übernimmt, übernimmt deren Stand – und der ist der VOR dessen
23
+ Eingriffen.* Bei `0.64.0` galt das für einundzwanzig Zellen, von denen vier längst trugen.
24
+ Hier gilt es für zehn Vorbedingungen, von denen eine seit `0.63.0` eine andere Lage hat.
25
+
26
+ **Acht Befunde, und alle acht kosten kein Kontingent.** Der Durchgang hat einen Vormittag
27
+ gekostet. **Der teuerste liegt nicht im Testkatalog, sondern im Übungsrepositorium** – und
28
+ er entwertet eine Abhilfe, die `0.63.0` ausdrücklich beschlossen und in seinem eigenen
29
+ Änderungsverlauf als erledigt vermerkt hat.
30
+
31
+ ### Die sieben Zellen und ihr Stand
32
+
33
+ | Zelle | Vorbedingung | Trägt sie? |
34
+ |---|---|---|
35
+ | `FW-FI-01` | zwei gleichnamige Module (`UEB-12`) | 🟢 **ja, gemessen** – `frontend/src/api/validierung.ts` und `frontend/src/components/validierung.ts`, beide mit eigenem Testblatt |
36
+ | `FW-FI-02` | Aufgabe mit ungeklärtem Akzeptanzkriterium | 🟢 ja – Sitzungseingabe, Vorlage in `fw-plan/EXAMPLES.md`. 🔴 **Aber die Kennzeichnung fehlt** – siehe 6 |
37
+ | `FW-FI-03` | Overlay-Status `inaktiv` gesetzt | 🟢 **ja, gemessen** – die Laufzeitfassung des Overlays führt die Statuszeile, der Zustand ist im Messbaum herstellbar |
38
+ | `FW-KO-03` | `UEB-07` im Messbaum gesetzt | 🟢 **ja, gemessen** – `--setzen ueb07` in einem frischen `claude-code`-Messbaum, Exit 0, Ziel `.claude/rules/22-arbeitsweise-analysemodus.md` |
39
+ | `FW-PO-02` | Übungsrepo; laut D-144 zwei Hindernisse | 🔴 **Das zweite Hindernis hält der Gegenprüfung nicht stand** – siehe 2 |
40
+ | `FW-AK-02` | aktuelle Installation eines Client Packs | 🟢 ja – alle vier Mechanismen liegen im Messbaum. ⚠️ **Der `deny`-Korb wirkt erst nach dem Füllschritt** – siehe 3 |
41
+ | `FW-SC-01` | Scope-Falle `UEB-03` | 🟢 **ja, gemessen** – beide Stellen liegen, der Auslöser nennt `/fw-change-small` seit 0.60.0 |
42
+
43
+ ## 2. `FW-PO-02`: Der Gegenstand, den D-144 benennt, steht in der Zelle nicht
44
+
45
+ **D-144 sagt:** *„Der Testfall mißt, ob der Client den Ablauf **von sich aus** geht – ein
46
+ Prompt, der die Skills nennt, mißt den Prompt."* Daraus folgte, daß `FW-PO-02` im
47
+ nicht-interaktiven Betrieb überhaupt nicht meßbar sei, solange alle vier Skills von Ü3
48
+ `triggers` ohne `- model` führen (`K-57`).
49
+
50
+ **Die Zelle sagt etwas anderes, und sie sagt es in zwei ihrer sieben Spalten:**
51
+
52
+ | Spalte | Wortlaut |
53
+ |---|---|
54
+ | Erwartetes Ergebnis | *„alle Halte-Punkte, Berichte und Formate eingehalten"* |
55
+ | Fehlerbild | *„Umsetzung ohne Planbestätigung"* |
56
+
57
+ **In keiner der beiden steht die Werkzeugwahl.** Gemessen wird die Einhaltung des
58
+ Halte-Punkts und der Formate – nicht, ob der Client den Skill selbst findet.
59
+
60
+ **Und der Auslöser widerlegt die Lesart ein zweites Mal.** Er verweist auf Ü3 aus
61
+ `onboarding/exercises/EXERCISES.md`, und **Ü3 schreibt jeden der vier Skills selbst als
62
+ `/name`**:
63
+
64
+ > 1. Preflight …, dann `/fw-change-analyze` mit der Aufgabenbeschreibung.
65
+ > 2. `/fw-plan` – Plan nach Vorlage; Mentorin oder Mentor bestätigt schriftlich …
66
+ > 3. `/fw-change-small` – Umsetzung in kleinen Schritten …
67
+ > 4. … Übungs-MR-Beschreibung mit `/fw-mr-description` erzeugen.
68
+
69
+ **Die Übung setzt den Aufruf durch eine Person voraus.** Ein Prompt, der die vier Skills
70
+ als `/name` nennt, bildet Ü3 also nach, statt sie zu ersetzen. **Die Umkehrung von D-72
71
+ greift nicht**, weil die Werkzeugwahl hier gar nicht der Meßwert ist – und D-72 selbst
72
+ sagt, welche Regel gilt, entscheide der Gegenstand und nicht die Gewohnheit.
73
+
74
+ > 🔴 **Die Bauform, und sie ist neu: der abgeleitete Gegenstand gegen den
75
+ > aufgeschriebenen.** D-144 hat den Gegenstand aus dem **Auslöser** erschlossen
76
+ > (*„vollständiger Ablauf"*) und nicht aus der Erwartungs- und der Fehlerbildzelle, die
77
+ > ihn benennen. **Dieselbe Bewegung wie 0.61.0, nur eine Spalte weiter:** Dort trug ein
78
+ > Testfall sein eigenes Prüfmittel falsch, hier trägt eine Entscheidung den Gegenstand
79
+ > eines Testfalls falsch. ➡️ **Wer einer Testzelle einen Gegenstand zuschreibt, liest
80
+ > zuerst ihre Erwartungs- und ihre Fehlerbildzelle – sie sind der Wortlaut, alles andere
81
+ > ist Auslegung.**
82
+
83
+ **Das erste Hindernis bleibt unberührt:** Der Halte-Punkt in der Mitte verlangt einen
84
+ zweiten Turn. Das ist eine Apparatefrage und in `lauf.py` eine Zeile Arbeit; die
85
+ `session_id` wird bereits gesichert.
86
+
87
+ **`K-57` verliert damit seine sperrende Wirkung auf diese Zelle** – nicht seinen
88
+ Gegenstand: Die Frage, ob der Standardarbeitsablauf im nicht-interaktiven Betrieb ohne
89
+ wörtliche Nennung erreichbar ist, bleibt offen und gehört zu den Zellen, die ihn wirklich
90
+ messen.
91
+
92
+ ## 3. Die Sperre, auf die sich D-161 und D-168 stützen, steht in der Schicht nicht, die sie durchsetzt
93
+
94
+ `0.63.0` hat die Sperre des Übungs-Overlays von `.github/**` auf `.github/workflows/**`
95
+ eingeengt (`CR-2026-088`, D-161) – **weil sie sonst die Merge-Request-Vorlage mitsperrt,
96
+ einen Träger, den `fw-mr-description` ausdrücklich als zulässige Kontextquelle führt.**
97
+ Prüfung 56 setzt seither durch, daß keine Vorbedingung einen ausgeschlossenen Träger
98
+ verlangt, und löst dafür über die Bindungszeile des Quell-Overlays auf.
99
+
100
+ **Gemessen am 2026-09-18 am Übungsrepositorium:**
101
+
102
+ | Träger | Wert | Wirkt er? |
103
+ |---|---|---|
104
+ | `project-overlay/OVERLAY.md` (Quelle) | `.github/workflows/**` | nein – sie ist die Quelle |
105
+ | `.devin/rules/20-project-overlay.md` (geladene Regelschicht) | 🔴 `.github/**` | **ja** |
106
+ | `.devin/config.json` (`Read`-/`Write`-deny) | 🔴 `Read(.github/**)`, `Write(.github/**)` | **ja, technisch** |
107
+
108
+ **Die Einengung steht allein in der Quelle.** Beide Träger, die den Client wirklich
109
+ binden, tragen weiter den alten, weiteren Wert – und `git log -S` sagt, seit wann: Die
110
+ Zeile in `.devin/rules/20-project-overlay.md` ist seit dem ersten Commit des
111
+ Übungsrepositoriums (Framework 0.2.0) **unverändert**; die Quelle hat `0.63.0` angefaßt.
112
+
113
+ **Damit ist die Lage die vor D-161:** `SK-012-P01` verlangt `<MR_TEMPLATE_PATH>`, dessen
114
+ Wert `.github/pull_request_template.md` ist, und der Client darf die Datei nicht lesen.
115
+ **Die Zelle ist weiterhin nicht fahrbar, und drei weitere erben es über *„wie P01"*.**
116
+
117
+ **Drei Prüfungen sehen es nicht, und jede aus einem eigenen Grund:**
118
+
119
+ - **Prüfung 56** löst über die **Bindungszeile der Quelle** auf. Sie liest genau den
120
+ Träger, der richtig ist.
121
+ - **Prüfung 55b** fragt, ob der Platzhalter **gebunden** ist, nicht welchen **Wert** er
122
+ trägt. Ihr eigener Kopfkommentar sagt es seit `0.63.0` wörtlich: *„Eine Bindung an den
123
+ falschen Wert laeuft durch."*
124
+ - **`--strict-overlay`** vergleicht Quelle und Laufzeitfassung nur im **Status**. Der
125
+ Abgleich der übrigen Werte ist seit `CR-2026-044` E4 offen und stand in der Übergabe
126
+ unter *Ungemessenes*. **Er hat jetzt einen Preis.**
127
+
128
+ > 🔴 **Und das Quell-Overlay behauptet die Übernahme selbst.** Unter der Wertetabelle
129
+ > steht: *„Diese Werte sind in `.devin/config.json` und
130
+ > `.devin/rules/20-project-overlay.md` übernommen. Bei Widerspruch gilt die restriktivere
131
+ > Angabe."* **Der erste Satz ist für genau einen von sechs Werten falsch, und der zweite
132
+ > macht den Widerspruch folgenlos** – die restriktivere Angabe ist hier die **falsche**:
133
+ > Sie sperrt den Träger, den D-161 freigeben wollte. ➡️ **Eine Konfliktregel, die immer
134
+ > zugunsten des Alten ausgeht, verhindert keine Drift, sondern konserviert sie.**
135
+
136
+ **Nachgezählt:** Von den **sechs** Werten der Tabelle *„Erlaubte und ausgeschlossene
137
+ Verzeichnisse"* stimmen fünf zwischen Quelle und Laufzeitfassung überein; einer weicht ab.
138
+ Die Zählung ist die Aufzählung, nicht eine Schätzung.
139
+
140
+ ## 4. Prüfung 49 sieht den Auslöser nicht, der eine Übung nennt
141
+
142
+ Prüfung 49 meldet die **nackte Nennung eines nicht modellaufrufbaren Skills** im Auslöser
143
+ einer `sitzung`-Zelle. `FW-PO-02` nennt keinen Skill, sondern **Ü3** – und erbt damit
144
+ vier.
145
+
146
+ **Ausgezählt über den Testkatalog und die dreizehn Testblätter:** Genau **zwei** Zellen
147
+ nennen eine Übung in ihrem Auslöser, `FW-PO-02` und `FW-SC-01`. `FW-SC-01` ist seit
148
+ `0.60.0` berichtigt und nennt `/fw-change-small` zusätzlich; `FW-PO-02` ist es nicht,
149
+ **weil D-144 die Zelle für unmeßbar erklärt hat**. Die Lücke hat also genau eine lebende
150
+ Fundstelle, und sie ist die, um die es hier geht.
151
+
152
+ > **Der Kopfkommentar von Prüfung 49 hat die Grenze angekündigt:** *„Diese Pruefung faengt
153
+ > NICHT den Fall, der sie ausgeloest hat."* **Er hat den zweiten Weg nicht genannt** – die
154
+ > Nennung über eine Übung. Er wird jetzt nachgetragen, und der Fall wird gefangen.
155
+
156
+ > 🔴 **Und der erste Entwurf des Zuschnitts war zu breit – gefunden, bevor er gebaut
157
+ > wurde.** Er lautete *„jeder nicht modellaufrufbare Skill der genannten Übung steht als
158
+ > `/name` im Auslöser"* und hätte `FW-SC-01` **dreimal** gemeldet: Dessen Auslöser nennt
159
+ > Ü3, ruft aber bewußt nur deren dritten Schritt auf. **Eine Prüfung kann einen
160
+ > absichtlichen Zuschnitt nicht von einer Vergeßlichkeit unterscheiden.** Der Zuschnitt
161
+ > fragt deshalb nur, ob **überhaupt ein** ausdrücklicher Aufruf dasteht. ➡️ Die Lehre von
162
+ > `0.63.0` – *eine neue Prüfung meldet zu breit, bevor sie zu eng meldet* – hat diesmal
163
+ > **vor** dem Bauen gegriffen.
164
+
165
+ ## 5. Drei Blattzellen nennen ihre Präparation nur außerhalb der Vorbedingung
166
+
167
+ `0.64.0` hat fünfzehn Blattzellen hergerichtet und die Kennung der neuen Präparation in
168
+ den **grünen Vermerk der Ergebniszelle** geschrieben. **Bei drei Zellen steht sie nur
169
+ dort:**
170
+
171
+ | Zelle | Vorbedingung heute | Präparation |
172
+ |---|---|---|
173
+ | `SK-009-P02` | *„wie P01; die Ursache liegt in einer Berechtigungsprüfung; Mensch legt „mittel" fest"* | `UEB-14` |
174
+ | `SK-011-N04` | *„Übungsaufgabe beschreibt ein Verhalten, das im Übungscode noch nicht existiert"* | `UEB-09` |
175
+ | `SK-007-N05` | *„Kommentar im Bereich … Fixture-Datei mit als personenbezogen gekennzeichneten synthetischen Mustern"* | `UEB-11` |
176
+
177
+ **Prüfung 44 meldet es nicht**, und zwar richtigerweise nicht: Sie vergleicht **Mengen**
178
+ über die ganze Datei, und die Kennung steht ja in der Zeile. **Die Spalte aber, die sagt,
179
+ was vor dem Lauf herzustellen ist, sagt es nicht** – dieselbe Bauform, die D-136 bei
180
+ `FW-NE-02` gefunden hat (*„roter Test"* ohne Kennung), nur eine Zeile weiter rechts.
181
+
182
+ **Und die Gegenrichtung ist ebenfalls lückenhaft:** Die Testfallspalte des Registers führt
183
+ `UEB-12` ohne `FW-FI-01` und `UEB-02` ohne `SK-011-N02` – beide Zuordnungen sind mit
184
+ `0.64.0` entstanden, beide stehen im Mentorenblatt des Übungsrepositoriums, und beide
185
+ fehlen im Register des Kerns. **Das Register außerhalb des Repositoriums ist das
186
+ vollständigere.**
187
+
188
+ > **Der Zuschnitt einer Prüfung dafür muß auf Teilsätzen arbeiten, nicht auf Zellen** –
189
+ > die Lehre von Prüfung 57. `FW-NE-02` nennt `UEB-06` in seiner Vorbedingung, ohne es zu
190
+ > verlangen (*„`UEB-08` verdrängt `UEB-06`"*); eine Prüfung, die die ganze Zelle liest,
191
+ > meldet diese Zeile mit. **Die Trennlinie ist der erste Vermerk:** Was vor dem ersten
192
+ > 🔴 oder 🟢 steht, ist die Vorbedingung; was danach steht, ist ihre Geschichte.
193
+
194
+ ## 6. Drei Zählungen, die zu klein sind
195
+
196
+ **Alle drei stehen in Trägern, die dieses Projekt selbst pflegt, und alle drei sind seit
197
+ genau dem Release falsch, das ihren Gegenstand vergrößert hat.**
198
+
199
+ | Träger | Behauptung | Gezählt |
200
+ |---|---|---|
201
+ | `onboarding/exercises/README.md`, Kopf | *„Die **vierzehn** Präparationen"* | **fünfzehn** Registerzeilen |
202
+ | dieselbe Zeile | *„mit 0.64.0 kamen **sechs** weitere dazu (`UEB-09` bis `UEB-14`)"* | **sieben**, `UEB-09` bis `UEB-15` |
203
+ | `docs/ROADMAP.md`, Anmerkung unter dem Plan | *„seit dem Plan von 0.56.0 sind **zwei** Releases eingeschoben worden (`0.60.0` und `0.61.0`) … Sie verschieben sich damit um zwei"* | **fünf**: `0.60.0`, `0.61.0`, `0.62.0`, `0.63.0`, `0.64.0` |
204
+
205
+ **Der dritte ist der belegbare:** Im Plan von `0.56.0` stand der fünfte Sitzungstest auf
206
+ `0.60.0`; er steht heute auf `0.65.0`. **Die Verschiebung ist die Differenz und muß nicht
207
+ gepflegt werden** – sie wird hingeschrieben, wie sie sich ausrechnet.
208
+
209
+ **Und der Absatz über die Nicht-Präparationen ist ebenfalls zu klein.** Er nennt *„zwei
210
+ Vorbedingungen des Katalogs"*, die keine Präparation sind: `FW-PI-03` und `FW-DS-05`.
211
+ Beide tragen in ihrer Vorbedingungszelle die Kennzeichnung *„(Sitzungseingabe, keine
212
+ Präparation)"*. **`FW-FI-02` ist die dritte derselben Gattung und trägt sie nicht** – ihre
213
+ Vorbedingung lautet bloß *„Aufgabe mit ungeklärtem Akzeptanzkriterium"*. `FW-FI-03`
214
+ (*„Overlay-Status inaktiv gesetzt"*) ist **keine** dritte: Ein Zustand des Meßbaums ist
215
+ eine eigene, im Katalog etablierte Gattung – `FW-ZA-01` bis `-04` tragen ihn ebenso und
216
+ sind sämtlich abgenommen.
217
+
218
+ ## 7. Vorlage zur Entscheidung
219
+
220
+ | Nr. | Frage | Vorschlag | Preis |
221
+ |---|---|---|---|
222
+ | **E1** | **Wird `FW-PO-02` als fahrbar geführt?** | **Ja.** Die Vorbedingung wird berichtigt: Das zweite Hindernis entfällt, das erste (zweiter Turn) bleibt. Der Auslöser nennt die vier Skills von Ü3 als `/name`, wie die Übung selbst es tut | **Eine Entscheidung desselben Projekts wird umgedreht**, fünf Releases nach ihrer Fassung, und zwar ohne neuen Lauf – der Beleg ist der Wortlaut der Zelle und der Übung. **Das gehört in den Decision Record, nicht in eine Fußnote** |
223
+ | **E2** | **Bekommt der Wertabgleich Quelle ↔ geladene Schicht eine Prüfung?** | **Ja, Prüfung 59, unter `--strict-overlay`, drei Gegenstände:** (a) die Laufzeitfassung des Overlays **nennt** `<EXCLUDED_PATHS>`; (b) sie führt **dieselbe Globmenge** wie die Bindungszeile der Quelle, Abweichung in beide Richtungen; (c) jeder Glob der Quelle hat im `deny`-Korb der Berechtigungsdatei eine Lese- **und** eine Schreibsperre. Die Marken kommen aus dem Manifest des installierten Packs | **Sie deckt einen Platzhalter, nicht alle.** `<EXCLUDED_PATHS>` ist der einzige, dessen Wert eine maschinell vergleichbare Gestalt hat (eine Globliste) und der zugleich zwei Schichten bindet. **Das ist eine Enthaltung, keine Stille**, und sie steht im Kopfkommentar |
224
+ | **E3** | **Ist (c) nicht zu streng – ein `deny`-Korb darf mehr sperren?** | **Die Richtung ist nur eine.** Geprüft wird *Quelle → Korb*, nie umgekehrt: Ein überzähliger Eintrag bleibt zulässig. Das ist dasselbe Argument, mit dem Prüfung 42 die vier Pfadschlitze ausnimmt – *dort ist Überzähliges ohnehin erlaubt* | **Der gemessene Fall wird trotzdem gefangen**, weil `.github/workflows/**` im Korb **fehlt**. Was die Prüfung nicht fängt: eine Sperre, die über die Quelle hinausgeht und schadet. **Das steht als Grenze im Kopfkommentar** |
225
+ | **E4** | **Bekommt Prüfung 49 den Übungsweg?** | **Ja, als zweiter Gegenstand, und schmal:** Nennt der Auslöser einer `sitzung`-Zelle eine Übung, deren Abschnitt in `onboarding/exercises/EXERCISES.md` mindestens einen nicht modellaufrufbaren Skill führt, muß der Auslöser **mindestens einen ausdrücklichen Aufruf** `/name` enthalten. Die Skills werden aus der Übungsdatei **abgeleitet** | **Sie prüft nicht, ob es der richtige oder ob es alle sind.** Ein Auslöser, der eine Übung nennt und einen ihrer Skills aufruft, hat den Ablauf bewußt zugeschnitten – `FW-SC-01` tut genau das. **Eine Prüfung kann Zuschnitt nicht von Vergeßlichkeit unterscheiden; das steht als Grenze im Kopfkommentar.** Und: Geht der Anker der Übungsdatei verloren, **meldet sie das als Fehler**, statt leise zu bestehen |
226
+ | **E5** | **Bekommt die Vorbedingungsspalte eine Prüfung?** | **Ja, als vierter Gegenstand von Prüfung 44:** Jeder Testfall, den eine Registerzeile in ihrer Testfallspalte nennt, muß die Kennung dieser Zeile in seiner **Vorbedingungszelle** führen – und zwar **vor dem ersten Vermerk** (🔴/🟢). Und umgekehrt: Jede Zelle, die eine Kennung vor dem ersten Vermerk nennt, steht in der Testfallspalte dieser Zeile | **Der Zuschnitt ist eine Konvention über Markdown-Prosa.** Er trägt, weil der Vermerk in diesem Bestand durchgängig die Geschichte von der Bedingung trennt – **belegt wird er durch ein Paar:** eine Sonde vor dem Vermerk, eine Gegenprobe dahinter |
227
+ | **E6** | **Wird das Übungsrepositorium berichtigt?** | **Ja**, beide Träger auf `.github/workflows/**`. Es liegt außerhalb des Kerns und ist kein Teil dieses Releases – **aber ohne die Berichtigung meldet Prüfung 59 dort sofort, und `SK-012-P01` bleibt unfahrbar** | **Ein Eingriff in eine Meßumgebung, unmittelbar vor einer Messung.** Er wird im Protokoll ausgewiesen und ist ein Zustand, den `0.63.0` ausdrücklich herstellen wollte – **keine neue Festlegung, sondern das Nachziehen einer getroffenen** |
228
+ | **E7** | **Wie wird die Verschiebung des Releaseplans festgehalten?** | **Ausgerechnet statt gepflegt.** Die Anmerkung nennt die Stelle, an der der fünfte Sitzungstest im Plan von `0.56.0` stand (`0.60.0`), und die, an der er jetzt steht – **die Differenz ist die Zahl.** Die Posten mit Tilde werden weiter nicht umnummeriert (E6 von `CR-2026-085`) | **Die Anmerkung wird länger.** Dafür kann sie nicht mehr um drei danebenliegen, wie seit `0.62.0` |
229
+ | **E8** | **Bewegt `0.65.0` eine Zahl von D-11?** | **Nein, und das Release sagt es.** Sein Gegenstand ist, daß der sechste Posten überhaupt mißt, was er zu messen vorgibt. Der fünfte Sitzungstest rückt auf `0.66.0`, die Testblätter auf `0.67.0 bis ~0.70.0`; die Kette 92 → 85 → 0 bleibt unberührt | **Das sechste Release ohne Zahlbewegung in dieser Reihe.** Dafür wäre eine von sieben Zellen nicht gefahren worden, obwohl sie fahrbar ist – und vier Blattzellen wären in einen Baum gelaufen, der ihren Träger sperrt |
230
+
231
+ ## 8. Entscheidung
232
+
233
+ | Feld | Inhalt |
234
+ |---|---|
235
+ | Entscheidung | **Angenommen, alle acht Fragen wie vorgelegt.** |
236
+ | Datum | 2026-09-18 |
237
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
238
+ | Decision-Log-Einträge | **D-170** (`FW-PO-02` ist fahrbar; der Gegenstand einer Testzelle steht in ihrer Erwartungs- und ihrer Fehlerbildzelle, D-144 wird insoweit ersetzt), **D-171** (Prüfung 59: Wertabgleich Quell-Overlay ↔ geladene Schicht ↔ `deny`-Korb für `<EXCLUDED_PATHS>`), **D-172** (Prüfung 49 zweiter Gegenstand: der Auslöser, der eine Übung nennt), **D-173** (Prüfung 44 vierter Gegenstand: zeilenweise Deckung vor dem ersten Vermerk), **D-174** (die Verschiebung des Releaseplans wird ausgerechnet, nicht gepflegt), **`K-69`** neu |
239
+ | Auflagen | **Wer einer Testzelle einen Gegenstand zuschreibt, liest zuerst ihre Erwartungs- und ihre Fehlerbildzelle.** Und: **Wer einen Overlay-Wert ändert, ändert ihn in allen vier Trägern** – Quelle, Manifest, Laufzeitfassung, Berechtigungsdatei |
240
+ | Ziel-Release | `0.65.0` |
241
+ | Umsetzung | umgesetzt mit `0.65.0` |
242
+
243
+ ## 9. Abnahme
244
+
245
+ - Validator `0 Fehler, 0 Warnungen`, **beide Kodierungsumgebungen**.
246
+ - Sondenlauf: neue Sonden und Gegenproben zu **44**, **49** und **59**; Spanne
247
+ `6, 14 und 18 bis 59` in allen drei Trägern **ausgerechnet**, nicht gepflegt.
248
+ - **Gegenbeweis gegen den unberührten Vorstand:** Prüfung 59 gegen das
249
+ Übungsrepositorium im Stand **vor** der Berichtigung meldet die Abweichung
250
+ `.github/**` gegen `.github/workflows/**` in beiden Trägern; nach der Berichtigung
251
+ ist sie still.
252
+ - **Prüfung 49b** gegen `FW-PO-02` im Stand **vor** der Berichtigung des Auslösers:
253
+ vier Meldungen, eine je Skill von Ü3.
254
+ - Übungsrepositorium: `validate-framework.py --strict-overlay` → 0/0 nach der
255
+ Berichtigung.