@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,137 @@
1
+ # Änderungsantrag `CR-2026-048`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Betriebsmodi nennen eine technische Durchsetzung, die es nicht gibt – drei von fünf Modi |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `framework/core/05-working-model.md` (Zeile „Durchsetzung" in M1, M2, M4, M5; M3 hat keine), `framework/skills/fw-docs-update/SKILL.md` (Erläuterung zur Pfadprüfung), gegebenenfalls die übrigen Skills mit `permissions`-Frontmatter |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Arbeitsmodell; die Mechanismusnennung gehört ohnehin nicht dorthin |
10
+ | Art | Befund **B05** des unabhängigen Reviews vom 2026-09-12, P1; **gegengeprüft und gemessen** |
11
+ | Dringlichkeit | **vor der weiteren Nutzung im Pilotprojekt** – M5 ist der Modus, in dem dort gearbeitet wird |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Das Arbeitsmodell führt je Betriebsmodus eine Zeile **Durchsetzung**. Sie beantwortet die Frage,
16
+ was einen Modus von einer Absichtserklärung unterscheidet. Bei M4 und M5 lautet sie:
17
+
18
+ | Modus | Zeile „Durchsetzung" heute |
19
+ |---|---|
20
+ | M4 Test and Validation | Skill-`permissions` mit `Write(<TEST_PATHS>/**)` und `Exec(<TEST_COMMAND>)`; Hook `PreToolUse` zur Blockierung von Schreibzugriffen außerhalb der Testpfade |
21
+ | M5 Documentation Support | Skill-`permissions` mit `Write(<DOC_PATHS>/**)`, `deny: exec` |
22
+
23
+ **Beide genannten Mechanismen tragen nicht.**
24
+
25
+ ### Der Hook kennt die Grenze nicht – gemessen
26
+
27
+ `tests/protocols/2026-09-12-B04-B05-gegenpruefung.md`, vier Läufe mit drei Positivkontrollen im
28
+ selben Lauf:
29
+
30
+ | Lauf | Eingabe | Ergebnis |
31
+ |---|---|---|
32
+ | B05-1 | `Write` auf einen Quellcodepfad – **außerhalb** des M5-Scopes | **passiert** |
33
+ | B05-2 | `Write` auf einen Dokumentationspfad – **innerhalb** des M5-Scopes | **passiert** |
34
+ | B05-3 | `Edit` auf Produktivcode – **außerhalb** des M4-Scopes | **passiert** |
35
+ | B05-4 | derselbe Zugriff mit `"mode": "M5"` in der Eingabe | **passiert** |
36
+
37
+ **Auf B05-1 und B05-2 kommt es an.** Sie unterscheiden sich genau im zugesagten Merkmal, und der
38
+ Hook entscheidet gleich. Der Befund ist nicht, dass er zu wenig blockiert – er ist, dass er die
39
+ zugesagte Grenze **nicht kennt**: Weder ein Betriebsmodus noch eine Liste erlaubter Schreibpfade
40
+ erreicht ihn. B05-4 schließt die naheliegende Ausrede aus; ein mitgeführter Modus ändert nichts,
41
+ das Feld wird nicht gelesen. Die drei Positivkontrollen desselben Laufs blockieren
42
+ erwartungsgemäß – der Hook läuft, er kennt diese Grenze nur nicht.
43
+
44
+ ### Die Skill-`permissions` tragen sie doppelt nicht
45
+
46
+ Erstens sagt der Skill `fw-docs-update` es selbst: Eine Beschränkung auf `<DOC_PATHS>` unter
47
+ Ausschluss aller übrigen Pfade sei über Skill-`permissions` **nicht ausdrückbar**, weil
48
+ `<DOC_PATHS>` eine Teilmenge von `<ALLOWED_PATHS>` ist und `deny` gegen `allow` gewinnt. Der
49
+ Skill verweist deshalb auf den Hook – und dort endet der Verweis, siehe oben.
50
+
51
+ Zweitens verwirft `install.py` beim Rendern des Frontmatters jedes Feld, das das Manifest nicht
52
+ kennt, und `permissions` ist eines davon (**B01**, gemessen am 2026-09-12). Zwölf Quellskills
53
+ tragen das Feld; keine installierte Fassung trägt es.
54
+
55
+ ### Derselbe Satz steht bei M1 und M2
56
+
57
+ | Modus | Zeile „Durchsetzung" heute | Lage |
58
+ |---|---|---|
59
+ | M1 Read-only Analysis | Werkzeugbeschränkung des Skills auf lesende Verben und `deny: edit, exec` über dessen `permissions` | **trägt nicht** – dasselbe verworfene Feld (B01) |
60
+ | M2 Guided Planning | Schreibrecht allein auf die Plan-Datei | **kein benannter Mechanismus**, nur eine Wirkung |
61
+ | M3 Controlled Modification | keine Zeile `Durchsetzung`, wohl aber `Umsetzung im Werkzeug` – mit Belegklasse je Mechanismus | **trägt, und zwar als einziger richtig.** Bei der Umsetzung hat sich gezeigt: Das ist die Form, die die anderen vier haben sollten |
62
+
63
+ Drei von fünf Modi nennen einen Mechanismus, und alle drei nennen einen, der nicht trägt. **Zwei
64
+ Zeilen zu berichtigen und zwei stehen zu lassen wäre genau der Fehler, den dieses Projekt
65
+ wiederholt bei sich selbst gefunden hat** (76 statt 248, fünf statt zehn, sechs statt zwölf).
66
+
67
+ > **Berichtigt bei der Umsetzung:** Der Antrag führte M3 zunächst als Ausreißer, weil ihm die
68
+ > Zeile `Durchsetzung` fehlt. Er hat stattdessen `Umsetzung im Werkzeug` – und nennt dort je
69
+ > Mechanismus eine Belegklasse (`[DOK]`, `[KONZ]`, `[EMPF]`). Das ist die ehrlichere Form.
70
+ > **Die vier übrigen Modi sind deshalb auf M3 nachgezogen worden, nicht umgekehrt.**
71
+
72
+ ## 2. Vorgeschlagene Änderung
73
+
74
+ 1. **Die Zeile „Durchsetzung" nennt künftig die Klasse, nicht einen Mechanismus.** Für M1, M4 und
75
+ M5 lautet sie: die Scope-Grenze gilt **normativ** (`[TEXTUELL]`), getragen von der Regelschicht
76
+ und der menschlichen Prüfpflicht des Modus; eine technische Durchsetzung besteht **nicht**.
77
+ Die zusätzlich wirkenden technischen Sperren (Secret-Pfade, Kernverzeichnis beim direkten
78
+ Schreibwerkzeug) bleiben genannt – sie wirken, sie sind nur nicht die Modusgrenze.
79
+ 2. **M2 und M3 bekommen dieselbe Zeile**, damit jeder Modus dieselbe Frage beantwortet. Bei M3
80
+ ist die Antwort ausdrücklich zu geben, nicht wegzulassen.
81
+ 3. **Der Verweis in `fw-docs-update/SKILL.md` wird berichtigt.** Der Satz „die technische
82
+ Absicherung erfolgt über den `PreToolUse`-Hook mit Pfadprüfung" entfällt; an seine Stelle
83
+ tritt der gemessene Stand samt Protokollverweis.
84
+ 4. **Der Mechanismus, wo er genannt bleibt, gehört in die Packs**, nicht in den Kern. Der Kern
85
+ ist werkzeugneutral (D-15, D-28); `Write(...)`, `Exec(...)` und `PreToolUse` sind Namen aus
86
+ der Welt eines Clients.
87
+
88
+ ## 3. Was dieser Antrag nicht ändert
89
+
90
+ - **Er baut kein Sitzungsobjekt.** Das Review schlägt eines vor (`mode`, `writable_roots`,
91
+ `allowed_commands`, gebunden an eine bestätigte Konfigurationsversion). Es ist der richtige
92
+ Weg und braucht zwei Voraussetzungen, die beide fehlen: die Pfadauswertung aus **B06** und
93
+ eine Quelle, die der Agent nicht selbst schreiben kann. Siehe E1.
94
+ - **Er ändert an den Modi selbst nichts** – nicht an den zulässigen Aktionen, nicht an den
95
+ Verbotslisten, nicht an den Prüfpflichten. Nur die Aussage darüber, was sie erzwingt.
96
+ - **Er behebt B01 nicht.** Dass `install.py` das Feld `permissions` still verwirft, ist ein
97
+ eigener Befund mit eigenem Antrag; er ist hier nur die halbe Begründung.
98
+ - **Er berührt B3/B4/B5/B8 der Packs nicht** – das ist `CR-2026-047`.
99
+
100
+ ## 4. Prüffragen
101
+
102
+ - [x] Richtige Ebene: Kern. Die Modusdefinition ist Kern; die **Mechanismusnennung** darin war
103
+ schon vorher eine Client-Bindung im werkzeugneutralen Kern (D-15, D-28) und fällt damit.
104
+ - [x] Verschärfungsprinzip: Keine Lockerung. Die Regel bleibt wortgleich verbindlich; allein die
105
+ Behauptung über ihre Erzwingung entfällt. **K3 nicht berührt.**
106
+ - [x] Widerspruchsfreiheit: D-15, D-28 (werkzeugneutraler Kern), D-23 (Wirkungsnachweis), D-41
107
+ (Kernzusage – M4/M5 sind keine), B01-Protokoll gelesen.
108
+ - [x] Laufzeitfassungen: Das Arbeitsmodell ist Kernquelle; die Kurzform in der Regelablage ist
109
+ auf denselben Stand zu bringen (D-24 – geladene Kurzform und kanonische Langform dürfen
110
+ nicht auseinanderlaufen). **Zu prüfen, bevor der Antrag umgesetzt wird.**
111
+ - [x] Belegstatus: **gemessen**, vier Läufe mit drei Positivkontrollen.
112
+ - [ ] Test- und Validierungsbedarf: Textkorrektur ohne neue Prüfung. **Aber:** Prüfung 25
113
+ verlangt bei `[NICHT ABBILDBAR]` den benannten Ersatz – bei E2 zu beachten.
114
+ - [x] Overlays: nicht betroffen; kein Projekt fällt durch diese Änderung durch. Der **Pilot**
115
+ arbeitet in M5 und ist über den geänderten Stand zu informieren.
116
+ - [ ] Dokumentation: CHANGELOG, Decision Log, `docs/ROADMAP.md` (Paket 3).
117
+
118
+ ## 5. Vorlage zur Entscheidung
119
+
120
+ | Nr. | Frage | Auflösung | Preis |
121
+ |---|---|---|---|
122
+ | E1 | Jetzt ausweisen – oder gleich das Sitzungsobjekt bauen? | **Jetzt ausweisen.** Das Sitzungsobjekt setzt B06 voraus (Pfadidentität und Eingabeschema) und eine Quelle außerhalb der Reichweite des Agenten. Beides fehlt. Ein zweiter Mechanismus auf unbelegter Grundlage ist genau die Konstruktion, die `AP2-DD-10` acht Releases lang trug | **Die Modusgrenze bleibt Modellverhalten.** Wer M5 einsetzt, verlässt sich auf Regeltext und menschliche Prüfung – das ist ab dann wenigstens zutreffend beschrieben, aber es ist weniger, als heute dasteht |
123
+ | E2 | Welche Klasse trägt die Modusgrenze künftig? | **`[TEXTUELL]`.** Die Regel existiert, ist verbindlich formuliert und wirkt über die Regelschicht. `[NICHT ABBILDBAR]` wäre falsch und würde nach Prüfung 25 einen Ersatz verlangen, den die Regelschicht gerade darstellt | Ein Leser, der `[TEXTUELL]` überliest, hält die Lage für unverändert. Deshalb gehört die Änderung in den CHANGELOG und an den Piloten kommuniziert, nicht nur in die Tabelle |
124
+ | E3 | **Nur M4/M5 berichtigen – oder alle fünf Modi?** | **Alle fünf.** M1 trägt denselben verworfenen Mechanismus, M2 nennt eine Wirkung statt eines Mechanismus, und M3 – der Modus, der Produktivcode ändert – nennt gar nichts. Zwei von fünf zu berichtigen hieße, den Befund zu kennen und liegen zu lassen | Der Antrag wird größer als der Befund des Reviews. **Die Gegenposition ist vertretbar:** B05 nennt M4 und M5; wer den Befundumfang strikt hält, behandelt M1 im Antrag zu B01 und M2/M3 gesondert. Dann sind es drei Anträge statt einem, und die Tabelle bleibt bis dahin uneinheitlich |
125
+ | E4 | Bleibt der Mechanismus überhaupt irgendwo genannt? | **Ja – im Client Pack, nicht im Kern.** Was ein Client erzwingen kann, steht in seiner Fähigkeitsmatrix; dort steht es bereits (B-Block). Der Kern verweist darauf, statt Werkzeugnamen zu führen | Wer die Modusdefinition liest, muss für den Mechanismus eine zweite Datei aufschlagen. Das ist der Preis der Werkzeugneutralität und in diesem Projekt bereits 61-mal bezahlt (D-15) |
126
+ | E5 | Muss die Kurzform in der Regelablage mitgezogen werden? | **Ja, im selben Antrag.** D-24 ist genau deshalb entstanden: Sieben Abweichungen zwischen geladener Kurzform und kanonischer Langform. Eine Korrektur, die nur die Langform erreicht, stellt den Zustand wieder her, den D-24 beendet hat | Zwei Dateien statt einer, und die Kurzform ist die, die tatsächlich in jede Sitzung lädt. Der Abgleich ist vor der Umsetzung zu prüfen – er ist im Antrag als offene Prüffrage markiert |
127
+ | E6 | Wie wird die Wirkung nachgewiesen? | **Gar nicht durch eine neue Prüfung** – der Antrag entfernt eine unzutreffende Behauptung, er stellt keine auf. Der Beleg ist das Protokoll vom 2026-09-12. **Wohl aber eine Validatorprüfung:** Die Zeile „Durchsetzung" darf künftig keinen Client-Werkzeugnamen mehr enthalten; Prüfung 14 erfasst Clientnamen, nicht Werkzeugnamen | Eine solche Prüfung ist neu und braucht nach D-23 Sonde und Gegenprobe. **Sie ist optional** – ohne sie wandert derselbe Satz beim nächsten Mal wieder in den Kern, und gefunden hat ihn diesmal ein externes Review |
128
+
129
+ ## 6. Entscheidung
130
+
131
+ | Feld | Inhalt |
132
+ |---|---|
133
+ | Entscheidung | **Angenommen, alle sechs Fragen wie vorgelegt.** E1 jetzt ausweisen statt das Sitzungsobjekt bauen; E2 die Modusgrenze trägt `[TEXTUELL]`; E3 **alle fünf Modi**, nicht nur M4 und M5; E4 der Mechanismus bleibt im Client Pack genannt, nicht im Kern; E5 die Kurzform der Regelablage wird mitgezogen; E6 kein neuer Sondenblock, aber der Beleg im Protokoll |
134
+ | Datum | 2026-09-12 |
135
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
136
+ | Auflagen | **E3 hat den Befund bei der Umsetzung berichtigt, und zwar zugunsten des Bestands:** M3 nennt seine Durchsetzung nicht gar nicht, sondern unter der Überschrift `Umsetzung im Werkzeug` – mit Belegklassen je Mechanismus. **Das ist die richtige Form, und die vier übrigen Modi sind darauf nachgezogen worden**, statt M3 auf die schlechtere zu bringen. Der Antragstext hatte M3 als Ausreißer geführt; das ist im Protokoll und in der Roadmap berichtigt. **E5 ist eingelöst:** `framework/runtime/rules/00-framework-core.md` trägt den Satz, dass die Schreibrechte der Modustabelle normativ gelten – das ist die Fassung, die in jede Sitzung lädt (D-24). **Offen bleibt E1:** Das Sitzungsobjekt mit `mode` und `writable_roots` setzt B06 voraus und bleibt Paket 6 |
137
+ | Umsetzung | umgesetzt mit `0.30.0` |
@@ -0,0 +1,126 @@
1
+ # Änderungsantrag `CR-2026-049`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Der Wirkungsnachweis hängt von der Kodierung der aufrufenden Umgebung ab – und wird rot, wenn man es richtig macht |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `tests/scripts/probe-pruefungen.py` (`lauf()`, Zeile 74) |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Prüfwerkzeug |
10
+ | Art | Eigener Befund dieser Sitzung, aufgefallen beim Sondenlauf zur Gegenprüfung von B04/B05 |
11
+ | Dringlichkeit | **vor dem nächsten Release** – das Skript ist das Abnahmetor nach D-23 |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Der Sondenlauf dieser Sitzung meldete **eine Abweichung**: `SONDE 19` – „Pack ohne
16
+ Auskunftsabschnitt" – schlug fehl. Der Arbeitsbaum war sauber, der Validator meldete 0 Fehler
17
+ und 0 Warnungen, und derselbe Lauf in derselben Sitzung bestand anschließend vollständig.
18
+
19
+ **Der Unterschied war eine einzige Umgebungsvariable.**
20
+
21
+ | Lauf | Ergebnis |
22
+ |---|---|
23
+ | `PYTHONIOENCODING=utf-8 python …/probe-pruefungen.py .` | **1 Abweichung** (Sonde 19) |
24
+ | `python …/probe-pruefungen.py .` | alle 48 Sonden und Gegenproben bestanden |
25
+
26
+ Die Fehlerausgabe verriet den Grund selbst: Sie enthielt `außerhalb` statt `außerhalb`.
27
+
28
+ ### Die Messung
29
+
30
+ Vier Läufe, ein Kindprozess, der genau einen Satz mit Umlaut ausgibt:
31
+
32
+ | Aufrufform | Elternumgebung | Umlaut heil |
33
+ |---|---|---|
34
+ | `lauf()` wie heute (`text=True`, ohne `encoding`, ohne `env`) | **mit** `PYTHONIOENCODING=utf-8` | **nein** – `außerhalb` |
35
+ | `lauf()` wie heute | ohne | ja |
36
+ | mit `encoding="utf-8"` und gepinnter `env` | mit | ja |
37
+ | mit `encoding="utf-8"` und gepinnter `env` | ohne | ja |
38
+
39
+ **Die einzige rote Zelle ist genau die Konfiguration, die das Arbeitswissen dieses Projekts
40
+ empfiehlt.** Nach der Sitzung vom 2026-09-12 gilt dort: „Unterprozesse laufen seither mit
41
+ `PYTHONIOENCODING=utf-8`." Wer sich daran hält, bekommt einen roten Sondenlauf.
42
+
43
+ ### Die Lehre war gezogen – in der Nachbarfunktion
44
+
45
+ `strict_ausgabe()` (Zeile 503) macht es richtig: gepinnte `env` **und** `encoding="utf-8"`. Ihr
46
+ Docstring beschreibt die Falle vollständig, einschließlich des Satzes „Eine Gegenprobe auf
47
+ ‚nicht enthalten' besteht das klaglos – sie ist dann wertlos, ohne es zu zeigen."
48
+
49
+ `lauf()` steht 429 Zeilen darüber und hat die Korrektur nie bekommen. **Sie ist die Funktion,
50
+ auf der die generischen Runner sitzen:** `sonde()`, `gegenprobe()` und `sonde_ohne_wert()`,
51
+ zusammen **28 Aufrufe**.
52
+
53
+ ### Wie weit es heute reicht – und warum das der schlechtere Teil ist
54
+
55
+ Von den 28 Aufrufen trägt **genau einer** einen Suchtext mit Umlaut: Sonde 19. Der Schaden
56
+ heute ist also ein falsches Rot an einer Stelle.
57
+
58
+ **Die Richtung des Fehlers ist bei einer Sonde harmlos und bei einer Gegenprobe nicht.** Eine
59
+ Sonde sucht einen Text und fällt sichtbar, wenn er zerschossen ankommt. Eine Gegenprobe sucht
60
+ denselben Text und prüft auf **Abwesenheit** – ein zerschossener Text ist abwesend, die
61
+ Gegenprobe besteht, und niemand erfährt etwas. Es gibt heute keine solche Gegenprobe. Es gibt
62
+ sie beim nächsten deutschen Suchtext, und dann meldet nichts.
63
+
64
+ Das ist derselbe Befundtyp wie `CR-2026-042` und wie die Präparationsprüfung aus 0.27.0: **eine
65
+ Prüfung, die unter bestimmten Bedingungen nichts mehr prüft und es nicht zeigt.**
66
+
67
+ ## 2. Vorgeschlagene Änderung
68
+
69
+ `lauf()` bekommt dieselbe Behandlung wie `strict_ausgabe()`:
70
+
71
+ ```python
72
+ def lauf(root: str) -> str:
73
+ umgebung = dict(os.environ, PYTHONIOENCODING="utf-8")
74
+ p = subprocess.run([sys.executable, os.path.join(root, *VALIDATOR.split("/")),
75
+ "--root", root],
76
+ capture_output=True, text=True, encoding="utf-8",
77
+ errors="replace", env=umgebung)
78
+ return (p.stdout or "") + (p.stderr or "")
79
+ ```
80
+
81
+ Dazu ein Kommentar, der auf `strict_ausgabe()` verweist, damit die Begründung nicht ein zweites
82
+ Mal verloren geht.
83
+
84
+ ## 3. Was dieser Antrag nicht ändert
85
+
86
+ - **Er ändert keine Prüfung und kein Prüfergebnis.** Nach der Korrektur bestehen dieselben 48
87
+ Sonden und Gegenproben – in beiden Umgebungen.
88
+ - **Er berührt den Validator nicht.** Dessen Ausgabe ist korrekt; falsch ist, wie das
89
+ Sondenskript sie liest.
90
+ - **Er löst die allgemeine Frage nicht**, ob Suchtexte in Sonden überhaupt Umlaute enthalten
91
+ sollten. Siehe E2.
92
+
93
+ ## 4. Prüffragen
94
+
95
+ - [x] Richtige Ebene: Kern – Prüfwerkzeug.
96
+ - [x] Verschärfungsprinzip: reine Verschärfung; eine Prüfung, die bisher unter bestimmten
97
+ Bedingungen ausfiel, fällt nicht mehr aus.
98
+ - [x] Widerspruchsfreiheit: D-23 (Wirkungsnachweis), `CR-2026-042` (Abwesenheitsnachweis über
99
+ ein Suchwerkzeug) gelesen; die Korrektur ist wortgleich zu `strict_ausgabe()`.
100
+ - [x] Laufzeitfassungen: nicht betroffen.
101
+ - [x] Belegstatus: **gemessen**, vier Läufe als Wahrheitstabelle, plus zwei vollständige
102
+ Sondenläufe mit und ohne die Variable.
103
+ - [x] Test- und Validierungsbedarf: Der Nachweis ist der Lauf selbst – nach der Korrektur muss
104
+ der Sondenlauf **in beiden Umgebungen** vollständig bestehen. Das ist die Abnahme.
105
+ - [x] Overlays: nicht betroffen.
106
+ - [ ] Dokumentation: CHANGELOG; Arbeitswissen um den Satz ergänzen, dass der Sondenlauf in
107
+ beiden Umgebungen zu fahren ist.
108
+
109
+ ## 5. Vorlage zur Entscheidung
110
+
111
+ | Nr. | Frage | Auflösung | Preis |
112
+ |---|---|---|---|
113
+ | E1 | Nur `lauf()` korrigieren – oder jeden Unterprozessaufruf des Skripts durchgehen? | **Jeden durchgehen.** Zwei Aufrufe tragen die Korrektur, einer nicht; das ist kein Muster, sondern ein Zufall der Entstehungsreihenfolge. Ein Skript, das an drei Stellen dasselbe unterschiedlich macht, erzeugt den nächsten Befund selbst | Der Antrag berührt mehr Zeilen als der Befund verlangt. Dafür ist die Eigenschaft danach eine des Skripts und nicht die einzelner Funktionen |
114
+ | E2 | Suchtexte mit Umlaut künftig verbieten? | **Nein.** Das behebt das Symptom und verlagert die Gefahr: Der Validator meldet auf Deutsch, und ein Suchtext, der den Umlaut umgeht, misst am Gegenstand vorbei. Die Kodierung gehört dort in Ordnung gebracht, wo sie gelesen wird | Suchtexte bleiben so anfällig, wie die Leseseite es zulässt. Nach der Korrektur ist das keine Anfälligkeit mehr |
115
+ | E3 | Soll der Sondenlauf **beide** Umgebungen selbst prüfen? | **Vorschlag: nein, aber als Auflage in die Abnahme.** Ein Skript, das sich selbst zweimal startet, wird unübersichtlich; die Zweifachprüfung ist ein Schritt der Release-Abnahme, kein Sondenblock | Die Eigenschaft ist danach nicht maschinell gesichert. **Die Gegenposition ist vertretbar:** Genau solche Zusagen hat dieses Projekt wiederholt verfallen sehen, weil sie nur in einer Checkliste standen |
116
+ | E4 | Zählt das als Release? | **Nein.** Es ist eine Korrektur am Nachweiswerkzeug, kein Framework-Verhalten. Sie geht mit der Gegenprüfung von B04/B05 als Erhebungs-PR nach `main` und wird im nächsten Release eingearbeitet | Zwischen Korrektur und Release steht ein Zustand, in dem `CHANGELOG.md` sie noch nicht führt |
117
+
118
+ ## 6. Entscheidung
119
+
120
+ | Feld | Inhalt |
121
+ |---|---|
122
+ | Entscheidung | **Angenommen, alle vier Fragen wie vorgelegt.** E1 jeder Unterprozessaufruf des Skripts wird angeglichen, nicht nur `lauf()`; E2 Suchtexte mit Umlaut bleiben erlaubt; E3 die Zweifachprüfung ist eine Auflage der Abnahme, kein Sondenblock; E4 kein eigenes Release |
123
+ | Datum | 2026-09-12 |
124
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
125
+ | Auflagen | **E1 ist als Bauform umgesetzt, nicht als Reparatur an sieben Stellen:** Alle Aufrufe laufen über die neue Funktion `unterprozess()`, die Umgebung und Dekodierung festlegt; `subprocess.run` steht nur noch dort. Damit ist die Eigenschaft eine des Skripts und nicht die einzelner Funktionen. **Abnahme erfüllt:** Der Sondenlauf besteht vollständig **in beiden Umgebungen** – mit und ohne `PYTHONIOENCODING=utf-8`. Vorher war er mit der Variablen rot. **E4 ist durch den weiteren Sitzungsverlauf überholt:** Die Korrektur geht nicht als reine Erhebung nach `main`, sondern mit `0.30.0`, weil im selben Zug zwei Anträge mit Codeänderung entschieden wurden |
126
+ | Umsetzung | umgesetzt mit `0.30.0` |
@@ -0,0 +1,110 @@
1
+ # Änderungsantrag `CR-2026-050`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | `allowed-tools` ist keine Werkzeugbeschränkung – und das Feld, das eine war, fiel beim Rendern weg |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `clients/claude-code/CLIENT_PACK.md` (S3) und `manifest.json` (`skill_permissions_ersatz`), `clients/devin-desktop/CLIENT_PACK.md` (S3), `install.py` (`render_skill_frontmatter`, neue Prüfhilfe), `tests/scripts/validate-framework.py` (Prüfung 26a → 27), `tests/scripts/probe-pruefungen.py`, `framework/core/05-working-model.md` (M1, M4, M5), `clients/README.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Client Pack und Abbildung; der normative Kern wird nur nachgezogen |
10
+ | Art | Befund **B01** des unabhängigen Reviews vom 2026-09-12, P1; **gegengeprüft und gemessen** |
11
+ | Dringlichkeit | **mit Paket 3** – B01 war der einzige gemessene Befund des Pakets, der noch offen stand |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Die Zeile **S3** beider Packs sagt eine „Werkzeugbeschränkung je Skill" zu, bei `claude-code`
16
+ eingestuft `[TECHNISCH]` mit Beleg `[DOK]`. **Beides ist widerlegt.**
17
+
18
+ ### Gemessen, nicht nur gelesen
19
+
20
+ `tests/protocols/2026-09-12-B01-allowed-tools.md`: Ein Skill mit
21
+ `allowed-tools: Read, Grep, Glob` **konnte schreiben**. `allowed-tools` ist eine
22
+ **Vorabfreigabe** für den aufrufenden Turn, keine abschließende Werkzeugliste. Der
23
+ Dokumentationsbeleg `[DOK]` trug damit eine Aussage, die die Dokumentation so nicht macht.
24
+
25
+ ### Das Feld, das die Beschränkung wirklich trug, fiel beim Rendern weg
26
+
27
+ Zwölf Quellskills tragen `permissions: {deny: [edit, exec]}` – darunter jeder Analyseskill, auf
28
+ den sich der Betriebsmodus M1 beruft. Das Manifest von `claude-code` führt `permissions` unter
29
+ `skill_frontmatter.drop_fields`; die installierte Fassung trägt nichts davon.
30
+
31
+ **Das ist nicht „still" im Wortsinn – und gerade das macht es interessant.** Das Verwerfen steht
32
+ im Manifest, für sich genommen korrekt: Der Client kennt das Feld für Skills nicht, und K-18
33
+ verlangt ein Frontmatter nur mit dokumentierten Feldern. Was fehlte, ist die **Folge**: dass
34
+ damit eine Zusage verschwindet und nirgends steht, was an ihre Stelle tritt.
35
+
36
+ **Genau dieses Muster hatte das Projekt schon einmal.** `triggers` verfiel auf dieselbe Weise,
37
+ bis `AP2-CC-01` es fand – und bekam daraufhin eine Abbildung (`model_invocation_field`).
38
+ `permissions` bekam keine. Zwei Felder, dasselbe Verfahren, ein Unterschied, den niemand
39
+ entschieden hat.
40
+
41
+ ### Gegenprobe beim anderen Pack
42
+
43
+ Bei `devin-desktop` **überleben** beide Felder das Rendern (`drop_fields` ist dort leer,
44
+ Listenform). Das ist am Rendern nachgeprüft. **Ob der Client sie auswertet, ist es nicht** – die
45
+ Zeile trägt seit jeher einen VERIFY-Marker und war trotzdem `[TECHNISCH]` eingestuft.
46
+
47
+ ## 2. Vorgeschlagene Änderung
48
+
49
+ 1. **S3 bei `claude-code` auf `[NICHT ABBILDBAR]`**, mit benanntem Ersatz nach Prüfung 25: die
50
+ **globale** Berechtigungsschicht samt Schutz-Hook. Sie wirkt unabhängig vom Skill und hielt
51
+ am 2026-09-12 auch im untersagten Betriebsmodus – ist aber **weniger** als eine Beschränkung
52
+ je Skill, und das gehört in dieselbe Zeile.
53
+ 2. **S3 bei `devin-desktop` von `[TECHNISCH]` auf `[TEXTUELL]`.** Das Durchreichen der Felder ist
54
+ belegt, ihre Wirkung nicht. Eine Erhebung an einer Installation steht aus.
55
+ 3. **Ein zusagentragendes Frontmatter-Feld darf nicht ersatzlos entfallen.** `install.py` bricht
56
+ ab, wenn ein Pack `permissions` oder `triggers` verwirft, ohne den Ersatz zu benennen –
57
+ `skill_permissions_ersatz` beziehungsweise `model_invocation_field`.
58
+ 4. **Prüfung 27** findet denselben Fehler **ohne** Installation, im Repositorium, wo ein neues
59
+ Pack entsteht.
60
+ 5. **Die Umsetzungszeilen von M1, M4 und M5** nennen künftig den Ersatz statt nur den Ausfall.
61
+ 6. `clients/README.md` Schritt 6 nennt die neuen Manifestfelder.
62
+
63
+ ## 3. Was dieser Antrag nicht ändert
64
+
65
+ - **Er beschafft keine Werkzeugbeschränkung je Skill.** Die Herstellerdokumentation nennt
66
+ `disallowed-tools` als gesonderten Mechanismus – **nicht erhoben**, und deshalb hier nicht
67
+ zugesagt. Er trägt einen VERIFY-Marker.
68
+ - **Er ändert die zwölf Quellskills nicht.** Das Feld `permissions` bleibt in der Quelle: Beim
69
+ zweiten Pack erreicht es die Installation, und es ist die richtige Stelle, sobald ein Client
70
+ es auswertet.
71
+ - **Er entscheidet nicht, ob M1 anders gebaut werden muss.** M1 stützt sich jetzt sichtbar auf
72
+ die globale Schicht; ob das genügt, ist eine Frage an das Arbeitsmodell, nicht an dieses Pack.
73
+
74
+ ## 4. Prüffragen
75
+
76
+ - [x] Richtige Ebene: Client Pack und gemeinsame Abbildung.
77
+ - [x] Verschärfungsprinzip: **verschärft dreifach** – der Abbruch, die Prüfung und die
78
+ berichtigten Einstufungen. Gelockert wird nichts; eine Einstufung auf den gemessenen
79
+ Stand zu senken, ist keine Lockerung des Schutzes, sondern das Ende einer Behauptung.
80
+ - [x] Widerspruchsfreiheit: D-18 (keine stille Lockerung in der Abbildung), D-26 (`AP2-CC-01`),
81
+ D-41 (Kernzusage – S3 ist keine), D-47 (deklarierte Abwesenheit) gelesen. **Die Bauform
82
+ ist dieselbe wie bei `hook_tools_absent`.**
83
+ - [x] Laufzeitfassungen: Die installierten Skills ändern sich nicht – das Feld entfiel vorher
84
+ und entfällt weiterhin. Neu ist nur, dass der Ersatz benannt sein muss.
85
+ - [x] Belegstatus: **gemessen** (Protokoll vom 2026-09-12), dazu das Rendern beider Packs
86
+ nachgeprüft.
87
+ - [x] Test- und Validierungsbedarf: **drei Sonden und zwei Gegenproben** – zwei für Prüfung 27,
88
+ eine für den Installationsabbruch, je eine Gegenprobe dazu.
89
+ - [x] Overlays: nicht betroffen.
90
+ - [ ] Dokumentation: CHANGELOG, Decision Log, Roadmap, `clients/README.md`.
91
+
92
+ ## 5. Vorlage zur Entscheidung
93
+
94
+ | Nr. | Frage | Auflösung | Preis |
95
+ |---|---|---|---|
96
+ | E1 | Welche Einstufung trägt S3 bei `claude-code`? | **`[NICHT ABBILDBAR]` mit benanntem Ersatz.** `[TEXTUELL]` wäre falsch: Es gibt keinen Regeltext, der eine Werkzeugbeschränkung je Skill aussprechen würde – es gibt sie schlicht nicht. Nach D-41 ist S3 eine **Fähigkeitszusage**; der Ausfall sperrt die Inbetriebnahme nicht | Die zweite Zeile auf `[NICHT ABBILDBAR]` in diesem Pack, nach S5. Das ist unangenehm zu lesen und zutreffend |
97
+ | E2 | Wie verhindert man den nächsten Fall? | **Absenz deklarieren, nicht erraten** – wie bei `hook_tools_absent` (D-47). Ein zusagentragendes Feld in `drop_fields` verlangt den benannten Ersatz, sonst bricht die Installation ab | Ein neues Manifestfeld und eine neue Prüfung. **Die Alternative wäre, `permissions` einfach nicht mehr zu verwerfen** – das erzeugte ein Frontmatter mit einem Feld, das der Client nicht kennt, gegen K-18, und änderte an der Wirkung nichts |
98
+ | E3 | Welche Felder gelten als zusagentragend? | **`permissions` und `triggers`** – die beiden, die im Frontmatter eine Schutzaussage machen. Die Liste steht an einer Stelle im Code und ist erweiterbar | Eine Liste, die jemand pflegen muss. Ohne sie müsste **jedes** verworfene Feld erklärt werden, auch `argument-hint` – das wäre Bürokratie ohne Schutzgewinn |
99
+ | E4 | S3 bei `devin-desktop` mit anfassen, obwohl der Befund den anderen Client nennt? | **Ja, auf `[TEXTUELL]`.** Dort ist gemessen, dass die Felder durchgereicht werden – nicht, dass sie wirken. Eine Zeile mit VERIFY-Marker auf `[TECHNISCH]` zu belassen, nachdem dieselbe Frage beim Nachbarpack die Zusage widerlegt hat, wäre genau die Zählung, die dieses Projekt sich abgewöhnt | Die Erhebung an einer Installation bleibt offen und ist in der Zeile ausgewiesen |
100
+ | E5 | Wie wird die Wirkung nachgewiesen? | **Zwei Schichten, zwei Sonden:** Prüfung 27 im Repositorium, der Abbruch bei der Installation. Dazu eine Gegenprobe je Schicht | Die Installationssonde braucht eine vollständige Kopie des Repositoriums und macht den Lauf länger. Sie ist die wichtigere – sie steht zwischen dem Befund und einer ausgelieferten Installation |
101
+
102
+ ## 6. Entscheidung
103
+
104
+ | Feld | Inhalt |
105
+ |---|---|
106
+ | Entscheidung | **Angenommen, alle fünf Fragen wie vorgelegt.** E1 S3 bei `claude-code` auf `[NICHT ABBILDBAR]` mit benanntem Ersatz; E2 die Absenz wird deklariert, sonst bricht die Installation ab; E3 zusagentragend sind `permissions` und `triggers`; E4 S3 bei `devin-desktop` auf `[TEXTUELL]`; E5 Nachweis auf beiden Schichten |
107
+ | Datum | 2026-09-12 |
108
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
109
+ | Auflagen | **Der Ersatzsatz muss sagen, dass der Ersatz schwächer ist.** Die globale Berechtigungsschicht ist keine Beschränkung je Skill – ein Analyseskill kann schreiben, soweit die globalen Regeln es zulassen. Ein Ersatzsatz, der das verschweigt, wäre derselbe Befundtyp eine Ebene höher. **Nachgewiesen:** drei Sonden, zwei Gegenproben; die Installationssonde belegt den Abbruch, ihre Gegenprobe belegt, dass eine Installation mit benanntem Ersatz weiterhin durchläuft. **Offen bleibt:** `disallowed-tools` ist nicht erhoben und trägt einen VERIFY-Marker; die Wirkung der Skill-`permissions` bei `devin-desktop` ebenfalls |
110
+ | Umsetzung | umgesetzt mit `0.31.0` |
@@ -0,0 +1,110 @@
1
+ # Änderungsantrag `CR-2026-051`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Quellenkarte führt an einen leeren Ordner, und das Hauptdokument beschreibt einen Stand von vor zwanzig Releases |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `README.md` (Verzeichnisbaum, Abschnitt „Arbeiten an diesem Repository", Update-Tabelle), `docs/ADOPTION_GUIDE.md`, `clients/README.md` (Schritte 4 und 6), `build/doc/29-grenzen.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Dokumentation |
10
+ | Art | Befund **B12** des unabhängigen Reviews vom 2026-09-12, P3; **gegengeprüft** |
11
+ | Dringlichkeit | mit Paket 3 – der Befund kostet jeden neuen Mitwirkenden Zeit und ist billig zu beheben |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Drei Aussagen beschreiben einen überholten Stand. **Alle drei sind nachgeprüft:**
16
+
17
+ ### Die Quellenkarte führt an einen Ordner mit einer README darin
18
+
19
+ `README.md` nennt das `root-template/` des Client Packs als „Quelle der Wahrheit" für Änderungen
20
+ am Kern; `docs/ADOPTION_GUIDE.md` sagt, der Kern bringe die Bestandteile dort mit.
21
+
22
+ **Nachgezählt:** `git ls-files` findet unter `clients/*/root-template/` **genau zwei Dateien** –
23
+ je eine README der Laufzeitschicht. `seed_paths` ist in **beiden** Manifesten leer. Die
24
+ gemeinsamen Quellen liegen seit `CR-2026-010` unter `framework/runtime/`, `framework/skills/`
25
+ und `templates/`.
26
+
27
+ **Ein neuer Mitwirkender, der der README folgt, öffnet ein leeres Verzeichnis** und sucht dann
28
+ selbst. Das Abnahmekriterium des Reviews ist genau dieser Fall.
29
+
30
+ ### Die Update-Tabelle verspricht eine Aktualisierung, die nicht stattfindet
31
+
32
+ `README.md` führt die Hook-Konfiguration unter „wird bei `--update` überschrieben".
33
+
34
+ **Nachgeprüft:** Bei **beiden** Packs zeigt `<HOOKS_FILE>` auf dieselbe Datei wie
35
+ `<PERMISSIONS_FILE>`, und diese steht unter `shared_seed` – sie wird **nur bei der
36
+ Erstinstallation** angelegt und bleibt danach unberührt. Das ist eine bewusste
37
+ Eigentumsentscheidung und richtig; die Tabelle sagt trotzdem das Gegenteil.
38
+
39
+ **Der Fall ist nicht theoretisch:** Release 0.30.0 hat die Suchwerkzeuge in die
40
+ Hook-Konfiguration aufgenommen. Ein Projekt, das der Tabelle glaubt, hält sie nach `--update`
41
+ für aktuell – und der Suchkanal bleibt unbewacht.
42
+
43
+ ### Kapitel 29 beschreibt den Stand der Erstfassung als gegenwärtig
44
+
45
+ `build/doc/29-grenzen.md` sagt weiterhin, **kein** Mechanismus sei je in einer Zielinstallation
46
+ ausgeführt worden, der Schutz-Hook laufe **fail-open** und alle dynamischen Tests stünden auf
47
+ `offen`.
48
+
49
+ Der Abschnitt ist mit „Grenzen dieser Erstfassung" überschrieben – und wird unverändert in das
50
+ **aktuelle** Hauptdokument eingebettet. Wer das Dokument liest, liest es als Gegenwart.
51
+ Tatsächlich ist AP2 für beide Packs gefahren, und beide Manifeste führen
52
+ `hook_fail_closed: true` seit 0.24.0.
53
+
54
+ ## 2. Vorgeschlagene Änderung
55
+
56
+ 1. **Eine Tabelle „Wo eine Änderung hingehört"** in der `README.md` – je Artefaktart die Quelle.
57
+ Das `root-template/` wird als das beschrieben, was es ist: die README der Laufzeitschicht.
58
+ 2. **Die Update-Tabelle nennt die Hook-Konfiguration beim Projekt**, mit einem ausdrücklichen
59
+ Hinweis, dass eine Hook-Änderung eines Releases **von Hand nachzutragen** ist – und dass der
60
+ `CHANGELOG.md`-Eintrag solche Fälle unter „Migrationshinweise" führt.
61
+ 3. **`ADOPTION_GUIDE.md` und `clients/README.md`** nennen dieselbe Quellenkarte; Schritt 4 der
62
+ Pack-Erstellung sagt, dass das `root-template/` nur die README enthält.
63
+ 4. **Kapitel 29 bekommt einen datierten Vorspann**, der es als Zeitdokument kennzeichnet und die
64
+ drei überholten Aussagen ausdrücklich benennt, mit Verweis auf die aktuelle Quelle. Der
65
+ Bestandstext bleibt unverändert – er ist die Erstfassung und soll es bleiben.
66
+
67
+ ## 3. Was dieser Antrag nicht ändert
68
+
69
+ - **Er schafft `root-template/` nicht ab.** Die README dort ist Teil der Laufzeitschicht, die
70
+ ein Projekt bekommt; und `install.py` erkennt ein Pack an diesem Verzeichnis.
71
+ - **Er ändert das Updateverhalten nicht.** Dass die Berechtigungsdatei dem Projekt gehört, ist
72
+ richtig und bleibt. Berichtigt wird die Beschreibung, nicht das Verhalten.
73
+ - **Er schreibt Kapitel 29 nicht um.** Ein Zeitdokument, das man nachträglich glättet, ist keines
74
+ mehr.
75
+ - **Er baut keine gemeinsame Statusquelle.** Das Review schlägt vor, veränderliche Statusangaben
76
+ aus einer versionsgebundenen Quelle einzubetten. Das ist richtig und ein eigener Gegenstand –
77
+ siehe E3.
78
+
79
+ ## 4. Prüffragen
80
+
81
+ - [x] Richtige Ebene: Kern – Dokumentation.
82
+ - [x] Verschärfungsprinzip: keine Regel berührt.
83
+ - [x] Widerspruchsfreiheit: D-16, D-17, D-20 (`CR-2026-010`, die Saat kommt aus dem Kern), D-31
84
+ (`hook_fail_closed`) gelesen; die Korrekturen ziehen nach, was dort entschieden ist.
85
+ - [x] Laufzeitfassungen: nicht betroffen.
86
+ - [x] Belegstatus: **nachgeprüft** – `git ls-files` für das `root-template/`, beide Manifeste für
87
+ `<HOOKS_FILE>` und `shared_seed`, beide für `hook_fail_closed`.
88
+ - [x] Test- und Validierungsbedarf: **keiner.** Reine Textkorrektur; sie stellt keine Prüfung
89
+ auf. Eine Prüfung auf Wortlaut wäre eine, die jede Umformulierung meldet.
90
+ - [x] Overlays: nicht betroffen.
91
+ - [ ] Dokumentation: CHANGELOG, Roadmap.
92
+
93
+ ## 5. Vorlage zur Entscheidung
94
+
95
+ | Nr. | Frage | Auflösung | Preis |
96
+ |---|---|---|---|
97
+ | E1 | Quellenkarte als Tabelle oder als Fließtext? | **Als Tabelle.** Die Frage lautet „wo ändere ich X" und hat je X genau eine Antwort. Fließtext hat den Befund gerade erst erzeugt | Die `README.md` wird länger. Sie ist der Einstieg, und der Einstieg darf länger sein als der Rest |
98
+ | E2 | Kapitel 29 berichtigen oder kennzeichnen? | **Kennzeichnen, datiert, mit Nennung der überholten Aussagen.** Der Text ist die Erstfassung; ihn stillschweigend nachzuziehen nähme dem Dokument seine Zeitaussage – und niemand sähe, wie weit das Projekt gekommen ist | Ein Vorspann, den man lesen muss, bevor man den Abschnitt liest. Wer nur den Abschnitt liest, liest weiterhin Überholtes |
99
+ | E3 | Veränderliche Statusangaben aus einer gemeinsamen Quelle einbetten? | **Nein, nicht in diesem Antrag.** Das Review schlägt es vor und es ist richtig – aber es ist ein Bauvorhaben am Dokumentenbau, kein Redaktionsschritt. Ein Antrag, der einen Befund behebt und dabei ein Werkzeug erfindet, wird nicht fertig (dieselbe Begründung wie `CR-2026-044` E4) | Beim nächsten Release veraltet die nächste Statusangabe. Der Vorspann aus E2 nennt deshalb die **Quelle** des aktuellen Stands, statt ihn zu wiederholen |
100
+ | E4 | Den Migrationsfall „Hooks von Hand nachtragen" nur beschreiben oder prüfen? | **Nur beschreiben.** Eine Prüfung müsste die installierte Hook-Konfiguration mit der Kernquelle vergleichen – das ist der offene Gegenstand aus `CR-2026-044` E4 (Abgleich Quelle/Laufzeitfassung) und gehört dorthin | Ein Projekt, das den `CHANGELOG.md` nicht liest, merkt den Rückstand nicht. **Der Pilot ist der erste Fall** und steht auf 0.29.0 |
101
+
102
+ ## 6. Entscheidung
103
+
104
+ | Feld | Inhalt |
105
+ |---|---|
106
+ | Entscheidung | **Angenommen, alle vier Fragen wie vorgelegt.** E1 Quellenkarte als Tabelle; E2 Kapitel 29 wird datiert gekennzeichnet, nicht umgeschrieben; E3 die gemeinsame Statusquelle bleibt einem eigenen Gegenstand; E4 der Migrationsfall wird beschrieben, nicht geprüft |
107
+ | Datum | 2026-09-12 |
108
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
109
+ | Auflagen | **Der Hinweis zur Hook-Konfiguration muss den konkreten Fall nennen, nicht nur die Regel.** 0.30.0 hat die Suchwerkzeuge aufgenommen; ein Projekt, das nur `--update` fährt, hat sie nicht. **Der Pilot ist der erste Betroffene** und steht auf 0.29.0. **Offen bleibt E3** – veränderliche Statusangaben stehen weiterhin an mehreren Stellen; und **E4** hängt am Abgleich zwischen Quell-Overlay und Laufzeitfassung (`CR-2026-044` E4), der seit 0.28.0 offen ist |
110
+ | Umsetzung | umgesetzt mit `0.31.0` |