@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,65 @@
1
+ # Änderungsantrag `CR-2026-164`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Modusbindung und die registrierte Ausnahme – und der Upload, an dem das Leseverbot vorbeiging |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-30 |
8
+ | Betroffene Artefakte | `framework/runtime/root-instruction.md`, `framework/runtime/rules/00-framework-core.md`, `framework/runtime/rules/10-privacy-security.md`, `framework/core/05-working-model.md`, `governance/PRIORITY_HIERARCHY.md`, `mandat.py`, `wirksamkeit.py`, `tests/scripts/hook-check-secrets.py`, `tests/scripts/pruefungen/` (Prüfungen 99, 109, 110), `tests/scripts/validate-framework.py`, `tests/scripts/probe-pruefungen.py`, `tests/scripts/sonden/teil14_modi_ausnahmen_skills.py` (neu), `clients/claude-code/CLIENT_PACK.md`, `clients/devin-desktop/CLIENT_PACK.md`, `clients/kiro/CLIENT_PACK.md`, `templates/project-overlay/OVERLAY.md`, `framework/role-packs/README.md`, `framework/skills/fw-refactor/TESTS.md` (Stand), Hauptdokument (Kap. 29); `governance/DECISION_LOG.md`, `docs/ROADMAP.md`, `tests/TEST_CATALOG.md`, `CHANGELOG.md`, `VERSION` |
9
+ | Ebene laut Entscheidungsbaum 6 | Framework Core (Laufzeitschicht, Schutz-Hook, Validator, Client Packs) |
10
+ | Art | Erweiterung ohne Overlay-Bruch; PATCH-Release mit Kontingent, das die Laufzeitschicht berührt |
11
+ | Dringlichkeit | geplant (D-485) |
12
+ | Status | 🟢 **entschieden am 2026-09-30** (E1 bis E7) |
13
+
14
+ ---
15
+
16
+ ## 1. Anlass
17
+
18
+ Aus dem Schnitt der Schutzschicht (D-485) trägt `1.20.2` die Modi, die Ausnahmen und die eingebauten Skills: die Modusgrenzen außer M6 (`K-179`), der Schutz ohne Hook bei `kiro` (`K-181`), die registrierte Ausnahme in der Laufzeitschicht (`K-54`), der eingebaute Skill `upload-secrets` (`K-94`), die aktivierten Packs gegen den Bestand (`K-44`) und die Werkzeugfelder der Skills (`K-93`). Das Tor ist das Zeichenbudget des Piloten (`K-185`): Das Release berührt als erstes der Reihe die Laufzeitschicht.
19
+
20
+ ## 2. Vorprüfung
21
+
22
+ Vorgelegt am 2026-09-30 mit Schätzung: 6 Läufe `claude-code`, rund 3 USD, Deckel 14 Läufe und 8 USD, dazu 2 Läufe `kiro` und 2 Läufe `devin-desktop` als Probelauf, ein bis zwei Sitzungen. Die Vorlage liegt außerhalb des Repositoriums. Der Owner folgt den Empfehlungen. Vor der Vorlage erhoben, ohne Modell:
23
+
24
+ - Der Pilot stand bei 39.998 von 40.000 Zeichen, seine `CLAUDE.md` genau auf 12.000 – jedes Zeichen des Halbsatzes zu `K-54` hätte Budget und Dateischwelle gerissen.
25
+ - `devin skills show upload-secrets` (3000.11.3): Der Skill ruft `devin.exe cloud drs secret-create --from-dotenv .env`; die CLI liest die Werte selbst. Ein Leseverbot der Berechtigungsschicht trifft diesen Weg nicht, und mit `--from-env` und einem Variablennamen steht kein Pfad im Befehl.
26
+ - Die Kernquelle führt `ask write **`; bei `kiro` wird eine Rückfrage ohne Rückfragekanal zur Abweisung (`QK-1`).
27
+
28
+ ## 3. Vorlage zur Entscheidung
29
+
30
+ | # | Frage | Entscheidung | Preis |
31
+ |---|---|---|---|
32
+ | E1 | Woher kommt der Platz für `K-54` (Tor `K-185`)? | Aus dem Kern: Wurzel-Anweisung, Regel 00 und Regel 10 werden ohne Regeländerung gestrafft, zusammen −748 Zeichen (D-499) | Zwei Aussagen stehen nur noch als Verweis auf ihren zweiten Ort |
33
+ | E2 | Wie lernt die Laufzeitschicht die registrierte Ausnahme (`K-54`)? | Ein Halbsatz in Abschnitt 2 der Wurzel-Anweisung und in Regel 2.1 der Prioritätshierarchie (D-500) | Die Gegenprobe trennt nicht: alt wie neu urteilten richtig |
34
+ | E3 | Trägt das Muster des Mandats die übrigen Modi (`K-179`)? | Für M1 und M2: `mandat.py modus`, der Hook sperrt Schreibwerkzeuge außerhalb der Plan-Ablage; keine neue Zeile in der Laufzeitschicht (D-501) | Shell-Befehle entgehen der Bindung; M3 bis M5 bleiben normativ (`K-201`) |
35
+ | E4 | Wie wird `kiro` ohne Hook geschützt (`K-181`)? | Keine statische Sperre im Profil; gemessen trägt die Rückfrage, `--trust-all-tools` öffnet das Overlay (D-502) | Im untersagten Modus ist das Overlay bei `kiro` ungeschützt |
36
+ | E5 | Was geschieht mit `upload-secrets` (`K-94`)? | Der Hook sperrt `cloud drs secret-create` für jedes ausführende Werkzeug; die Wirksamkeitsprobe prüft es (D-503) | Das Muster kennt nur diesen Befehl |
37
+ | E6 | Aktivierte Packs gegen den Bestand (`K-44`) | Prüfung 110 unter `--strict-overlay`; die Vorlage führt die Zeile für Role Packs (D-504) | Nennung und Laufzeitfassung, nicht Skills und Version |
38
+ | E7 | Werkzeugfelder der Skills (`K-93`) | Prüfung 109: beide oder keines (D-505) | Die Anwesenheit, nicht die Wirkung |
39
+
40
+ ## 4. Umsetzung
41
+
42
+ 1. **Laufzeitschicht:** Wurzel-Anweisung (Herkunftskommentar gekürzt, zwei Doppelungen entfernt, Halbsatz zur Ausnahme), Regel 00 (Absatz zur Modusgrenze mit der Bindung, kürzer), Regel 10 (V6 als Verweis).
43
+ 2. **Schutz-Hook:** `MODUS_DATEI`, `modus_lesen()`, die Sperre der Bindung nach allen übrigen Sperren; `koolie-modus` in den Mandatsmustern; `UEBERTRAGUNGS_MUSTER` für `cloud drs secret-create`.
44
+ 3. **Werkzeuge:** `mandat.py modus M1|M2|aus` und die Anzeige in `status`; die Wirksamkeitsprobe sperrt in H3 zusätzlich den Secret-Upload.
45
+ 4. **Prüfungen:** 99 hält Datei und Befehl der Bindung, 109 und 110 neu. Sonden `99e`, `107d`, `109`, Bündel `110a` bis `110d` und `sonden_modusbindung` (`D501` bis `D501j`, `D503`) in Teil 14.
46
+ 5. **Packs:** `claude-code` Zeile M4 (0.26.2), `devin-desktop` Zeile zu den Skills, die das Modell erreicht (0.14.8), `kiro` Zeile B4 (0.1.2).
47
+ 6. Langform M1 und M2, Overlay-Vorlage (Zeile „Aktivierte Role Packs“), Role-Pack-Anleitung, Hauptdokument Kap. 29, Register, Roadmap, Testkatalog, CHANGELOG, `VERSION`. Der Stand der Zelle `SK-007-N06` ist bestätigt: Die Änderung an `05-working-model.md` betrifft M1 und M2, nicht den Arbeitsschritt 5 von `fw-refactor`.
48
+
49
+ ## 5. Entscheidung
50
+
51
+ 🟢 **Angenommen am 2026-09-30.**
52
+
53
+ | # | Entscheidung | Decision Record |
54
+ |---|---|---|
55
+ | E1 | Das Tor im Kern öffnen | D-499 |
56
+ | E2 | Die registrierte Ausnahme in der Laufzeitschicht | D-500 |
57
+ | E3 | Die Modusbindung für M1 und M2 | D-501 |
58
+ | E4 | `kiro` ohne Hook | D-502 |
59
+ | E5 | `upload-secrets` und der Upload über die CLI | D-503 |
60
+ | E6 | Prüfung 110 | D-504 |
61
+ | E7 | Prüfung 109 | D-505 |
62
+
63
+ ## 6. Messung und Belege
64
+
65
+ Protokoll `tests/protocols/2026-09-30-modi-ausnahmen.md`. 7 Sitzungsläufe mit `claude-code` (0,83 USD nach Listenpreis), 2 Läufe mit `kiro` (0,31 Credits), 2 Läufe mit `devin-desktop`; dazu Messungen ohne Modell (Hook synthetisch, Wirksamkeitsprobe, Zeichenbudget). Erhebungsablage `leitwerk-erhebungen-2026-09-30-1202` außerhalb des Repositoriums.
@@ -0,0 +1,406 @@
1
+ # Änderungsantrag `CR-2026-165`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Das Banner des Installationsdialogs – und der Name, der an einer Stelle bleibt |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-30 |
8
+ | Betroffene Artefakte | `banner.py` (neu), `install_dialog.py`, `LICENSE-HINWEIS.md`, `tests/scripts/pruefungen/bestand.py` (URL-Allowlist von Prüfung 6), `tests/scripts/sonden/teil15_banner_und_nachlauf.py` (neu), `tests/scripts/probe-pruefungen.py` |
9
+ | Ebene laut Entscheidungsbaum 6 | Framework Core (Werkzeug der Installation) |
10
+ | Art | Erweiterung ohne Overlay-Bruch; Teil des PATCH-Release `1.20.3`, ohne Kontingent |
11
+ | Dringlichkeit | Antrag des Owners vom 2026-09-30, umzusetzen mit `1.20.3` |
12
+ | Status | 🟢 **entschieden am 2026-09-30** (E1 bis E8) |
13
+
14
+ ---
15
+
16
+ ## 1. Anlass
17
+
18
+ Der Owner hat am 2026-09-30 einen Entwurf „Installer-Banner“ vorgelegt (Entwurf `CR-001`, Anhang dieses Antrags): Der interaktive Installationsdialog soll beim Start ein Terminal-Banner ausgeben – ein Koolie im Profil, der über der linken oberen Ecke einer Box steht und ihren oberen Rahmen unterbricht, dazu Wortmarke, Version, zwei Textzeilen und eine Fußzeile mit Copyright, Lizenz und Repository. Das Banner ist Darstellung; es darf den Dialog weder verzögern noch abbrechen. Die Vorschau des Entwurfs (`koolie_banner_final_preview.png`) liegt außerhalb des Repositoriums; maßgeblich ist die Textreferenz in Anhang 5.1.
19
+
20
+ ## 2. Vorprüfung
21
+
22
+ Vor der Vorlage erhoben, ohne Modell:
23
+
24
+ - **Die Versionsquelle ist `VERSION` im Kern.** Koolie ist kein Python-Paket; `importlib.metadata` und `pyproject.toml` aus dem Entwurf (I-1, O-1) gibt es nicht. Der Dialog liest die Version bereits über `install.kern_version()`.
25
+ - **Der Lizenzhinweis nannte nur „Version 3“.** Ohne den Zusatz „oder jede spätere Version“ gilt faktisch `GPL-3.0-only`; eine SPDX-Kennung stand in keinem Träger (O-3).
26
+ - **Die Repository-URL stand in keinem Träger.** Prüfung 6 hätte sie als URL außerhalb der Allowlist gewarnt.
27
+ - **Der Name in der Fußzeile wäre die zweite Stelle im Kern, die eine Person nennt.** Nach D-323 ist `LICENSE-HINWEIS.md` die einzige.
28
+ - **`install_dialog.py` gibt bewusst nur ASCII aus** (die Codepage einer Konsole, die ein Doppelklick öffnet). Es wertet keine Argumente aus, die Starter reichen keine durch, und `--quiet` gibt es nicht (F-4).
29
+ - **Python schreibt ab 3.6 in eine Windows-Konsole über die Unicode-Schnittstelle.** Eine Prüfung auf Codepage 65001 (T-5) hielte eine deutsche Konsole (850) immer bei der Textvariante, obwohl die Zeichen ankommen.
30
+ - **Die Sonden `T362g` und `T362h` fahren den Dialog über eine Pipe** – die Frage O-2 trifft den Prüfapparat unmittelbar.
31
+
32
+ ## 3. Vorlage zur Entscheidung
33
+
34
+ | # | Frage | Entscheidung | Preis |
35
+ |---|---|---|---|
36
+ | E1 | Welche Lizenzfassung (O-3)? | `GPL-3.0-only` als SPDX-Kennung im Lizenzhinweis; das Banner zeigt die Kurzform `GPL-3.0` und liest sie aus dieser Zeile (D-507) | Eine spätere GPL-Fassung gilt nur nach neuer Entscheidung des Rechteinhabers |
37
+ | E2 | Wie kommt der Name ins Banner? | Zur Laufzeit aus der Copyright-Zeile von `LICENSE-HINWEIS.md`; in diesem Antrag und im Prüfapparat steht `<FRAMEWORK_OWNER>` (D-507) | Fehlt die Zeile, entfällt der Name im Banner |
38
+ | E3 | Welche Repository-URL? | `https://github.com/Renoxar/koolie`, eng gefasst in der URL-Allowlist von Prüfung 6 (D-507) | Die Allowlist nennt erstmals ein Repositorium statt einer Domain |
39
+ | E4 | Eigenes Modul oder im Dialog (O-5)? | Eigenes Modul `banner.py` neben dem Dialog; der Dialog ruft es in einer Hülle, die jede Ausnahme schluckt (D-506) | Eine Kerndatei mehr in jeder Installation, auch im Lieferumfang `nutzung` |
40
+ | E5 | Versionsquelle (O-1)? | `VERSION` (D-506) | – |
41
+ | E6 | Ausgabe ohne Terminal (O-2)? | Textvariante ohne Farbe – Pipe und Protokoll tragen Name und Version (D-506) | Vier Zeilen mehr in jeder mitgeschnittenen Installation |
42
+ | E7 | Schalter (O-6, F-4)? | `--no-banner` und `KOOLIE_NO_BANNER=1`; `--quiet` entfällt, weil es ihn nicht gibt. Die Starter reichen keine Argumente durch – für sie ist die Variable der Weg (D-506) | – |
43
+ | E8 | Windows und Hyperlink (T-5, T-6, O-4)? | Die Codepage wird nicht geprüft, entscheidend ist die Kodierung, die Python meldet; die Terminalsteuerung wird eingeschaltet, sonst Textvariante; die alte Konsole (ohne `WT_SESSION` und `TERM_PROGRAM`) bekommt die Vollvariante erst ab 81 Spalten; Windows Terminal gilt als Truecolor; kein OSC-8-Hyperlink (D-506) | Ob die alte Konsole alle Zeichen darstellt, ist nicht gemessen – das bleibt der Sichtprüfung des Owners |
44
+
45
+ O-7 (Höhe unter 25 Zeilen) gilt wie vorgeschlagen: keine Prüfung. N-4 (Tests mit `pytest` in einer CI) setzt dieses Repositorium mit seinem eigenen Prüfapparat um: Die Sonden `T506a` bis `T506k` laufen in jedem Sondenlauf.
46
+
47
+ ## 4. Umsetzung
48
+
49
+ 1. **`banner.py`:** Hund und Zonenkarte als zwei gleich große Raster, die Box mit berechnetem Abstand, Farbe in Läufen je Zone mit Rückstellung am Zeilenende; Auswahl nach Abschnitt 6 des Entwurfs mit den Abweichungen aus E8; Vorschau mit `python .koolie/core/banner.py --variante voll --farbe true`.
50
+ 2. **`install_dialog.py`:** das Banner vor der ersten Zeile, `--no-banner`, Hülle um Import und Aufruf.
51
+ 3. **`LICENSE-HINWEIS.md`:** die SPDX-Kennung (Version `0.2.2`).
52
+ 4. **Prüfung 6:** die URL in der Allowlist.
53
+ 5. **Sonden:** Bündel `sonden_installer_banner` in Teil 15 – Voll-, Kompakt- und Textvariante zeichengenau gegen Anhang 5.1, 5.4 und 5.5, die Zonenkarte gegen 5.2, Auswahl und Farbstufe, `NO_COLOR` ohne Steuerzeichen, der Dialog über eine Pipe und mit beiden Schaltern, ASCII ohne Ausnahme, ein defektes Asset und ein nicht ladbares Modul ohne Abbruch, Fußzeile und Version aus ihren Quellen.
54
+
55
+ ## 5. Entscheidung
56
+
57
+ 🟢 **Angenommen am 2026-09-30.** Die Fragen nach Lizenzfassung, Name und URL hat der Owner beantwortet; den übrigen Empfehlungen folgt er.
58
+
59
+ | # | Entscheidung | Decision Record |
60
+ |---|---|---|
61
+ | E1–E3 | Lizenzkennung, Name, URL | D-507 |
62
+ | E4–E8 | Modul, Quellen, Auswahl und Schalter | D-506 |
63
+
64
+ ## 6. Messung und Belege
65
+
66
+ Kein Sitzungslauf. Die Referenzen in Anhang 5.1, 5.2 und 5.4 sind aus `banner.py` erzeugt, nachdem die Ausgabe gegen den Entwurf des Owners zeichengleich gehalten worden war (mit seinem Namen, 25 und 13 Zeilen, dazu die Zonenkarte); danach ist nur der Name durch `<FRAMEWORK_OWNER>` ersetzt. Der Entwurf selbst liegt außerhalb des Repositoriums. Protokoll `tests/protocols/2026-09-30-nachlauf-banner.md`.
67
+
68
+ ---
69
+
70
+ ## Anhang: Der Entwurf des Owners
71
+
72
+ Wortlaut des Entwurfs `CR-001` vom 2026-09-30. Die Überschriften sind um eine Ebene tiefer gesetzt, der Name des Antragstellers ist durch `<FRAMEWORK_OWNER>` ersetzt (D-323), und die Referenzblöcke 5.1, 5.2, 5.4 und 5.5 tragen den Platzhalter in derselben Breite, in der ihn das Banner setzen würde. Die sechs Darstellungsanforderungen des Entwurfs (dort Buchstabe D mit Nummer) heißen hier `DS-1` bis `DS-6`, weil `D-<Zahl>` in diesem Repositorium einen Decision Record bezeichnet; der Platzhalter der Hyperlink-Sequenz in Anhang B ist kleingeschrieben. Wo der Entwurf von der Umsetzung abweicht, gilt Abschnitt 3.
73
+
74
+ ### CR-001 · Installer-Banner „Koolie"
75
+
76
+ | Feld | Inhalt |
77
+ |---|---|
78
+ | Status | Entwurf – zur Freigabe |
79
+ | Datum | 30.09.2026 |
80
+ | Antragsteller | <FRAMEWORK_OWNER> |
81
+ | Komponente | Koolie – interaktiver Konsolen-Installer |
82
+ | Art der Änderung | Feature (Ausgabe/Darstellung); keine Änderung an der Installationslogik |
83
+ | Referenz | Designentwurf „Konzept 4 – Hybrid", Vorschau `koolie_banner_final_preview.png` |
84
+ | Umsetzungsentscheidung offen | Auslagerung in eigenes Python-Modul vs. Inline im Installer (siehe Abschnitt 9) |
85
+
86
+ ---
87
+
88
+ #### 1 Zusammenfassung
89
+
90
+ Der interaktive Installer von Koolie soll beim Start ein Terminal-Banner ausgeben, das als visuelles Markenzeichen des Frameworks dient: ein stilisierter Koolie (Hütehund, Profil), der über der linken oberen Ecke einer Terminal-Box steht und den oberen Rahmen unterbricht. Die Box enthält die Wortmarke `KOOLIE`, die Versionsnummer, eine Catch-Line, eine sachliche Unterzeile sowie eine Fußzeile mit Copyright, Lizenz und Repository-URL.
91
+
92
+ Das Banner ist rein informativ und dekorativ. Es darf den Installer weder verzögern noch zum Abbruch bringen und muss in jeder Terminalumgebung eine saubere Ausgabe liefern – notfalls als reine Textvariante.
93
+
94
+ #### 2 Motivation
95
+
96
+ - Wiedererkennung: Der Installer ist der erste Kontaktpunkt mit Koolie. Ein eigenständiges Banner unterscheidet das Tool von generischen Installer-Skripten.
97
+ - Metapher im Bild: Der Hund steht *auf* der Linie – Kopf außerhalb der Box, Brust innerhalb, der Rahmen läuft hinter ihm durch. Das ist die Kernaussage des Frameworks (offenes Gelände mit verstandener Grenze, kein Käfig, keine Leine) ohne erklärenden Text.
98
+ - Pflichtangaben an prominenter Stelle: Version, Lizenz (GPL-3.0), Copyright und Repository-Link sind beim Start sichtbar.
99
+
100
+ #### 3 Scope
101
+
102
+ **Im Scope**
103
+ - Ausgabe des Banners beim Start des interaktiven Installers (einmalig, vor der ersten Nutzerinteraktion).
104
+ - Vier Ausgabevarianten in Abhängigkeit von Terminalbreite, Encoding und Farbunterstützung (Abschnitt 6).
105
+ - Dynamische Einbindung der Versionsnummer.
106
+ - Abschaltbarkeit (Flag/Umgebungsvariable).
107
+
108
+ **Nicht im Scope**
109
+ - Änderungen an Ablauf, Prompts oder Logik des Installers.
110
+ - Banner an anderen Stellen (z. B. `koolie --version`, README) – kann später denselben Asset-Code nutzen, ist aber nicht Teil dieses CR.
111
+ - Animationen, Farbverläufe, Themes für helle Terminalhintergründe.
112
+ - Neue Pflichtabhängigkeiten (siehe N-1).
113
+
114
+ #### 4 Anforderungen
115
+
116
+ ##### 4.1 Funktional
117
+
118
+ | ID | Anforderung |
119
+ |---|---|
120
+ | F-1 | Das Banner wird beim Start des interaktiven Installers genau einmal ausgegeben, bevor die erste Eingabeaufforderung erscheint. |
121
+ | F-2 | Inhalte der Vollvariante: Koolie-Grafik, Wortmarke `KOOLIE`, Version, Catch-Line, Unterzeile, Fußzeile (Copyright, Lizenz, Repository-URL). |
122
+ | F-3 | Die Version wird zur Laufzeit aus einer einzigen Quelle gelesen (Single Source of Truth, siehe I-1) und nicht im Banner hart codiert. |
123
+ | F-4 | Das Banner lässt sich unterdrücken über ein CLI-Flag (Vorschlag: `--no-banner`) und eine Umgebungsvariable (Vorschlag: `KOOLIE_NO_BANNER=1`). Ein vorhandenes `--quiet`/`-q` unterdrückt es ebenfalls. |
124
+ | F-5 | Die Banner-Ausgabe darf den Installer nie abbrechen. Jede Ausnahme beim Rendern oder Schreiben wird abgefangen; Fallback ist die Textvariante, im Zweifel gar keine Ausgabe. |
125
+ | F-6 | Nach dem Banner folgt genau eine Leerzeile, davor keine. Das Banner wird linksbündig ohne Einrückung ausgegeben. |
126
+
127
+ ##### 4.2 Darstellung
128
+
129
+ | ID | Anforderung |
130
+ |---|---|
131
+ | DS-1 | Die Vollvariante entspricht zeichengenau der Referenzgrafik in 5.1 (25 Zeilen × 80 Spalten). |
132
+ | DS-2 | Die Farbgebung folgt der Zonenkarte 5.2 und der Farbspezifikation 5.3. Es werden keine weiteren Farben verwendet. |
133
+ | DS-3 | Die Monochromvariante ist formgleich mit der Farbvariante; es entfallen ausschließlich die Escape-Sequenzen. |
134
+ | DS-4 | Keine Animation, kein Blinken, keine Hintergrundfarben. Der Hintergrund bleibt der Terminalhintergrund. |
135
+ | DS-5 | Die Hundegrafik ist ein statisches Asset. Die Textzeilen der Box (Version, Catch-Line, Unterzeile, Fußzeile) werden aus Konstanten generiert; das Padding wird berechnet, damit Änderungen am Text die Ausrichtung nicht zerstören. |
136
+ | DS-6 | Zeichenvorrat ausschließlich: Block Elements (U+2580–U+259F), Box Drawing (U+2500–U+257F), ASCII sowie `©` (U+00A9), `·` (U+00B7) und `é` in der Fußzeile. Keine Braille-, Emoji- oder Ambiguous-Width-Zeichen darüber hinaus (Anhang A). |
137
+
138
+ ##### 4.3 Terminal-Erkennung und Fallbacks
139
+
140
+ | ID | Anforderung |
141
+ |---|---|
142
+ | T-1 | **Encoding:** Nur wenn `sys.stdout.encoding` UTF-8 ist (case-insensitiv, `utf-8`/`utf8`), werden Block- und Box-Zeichen ausgegeben. Sonst Textvariante (ASCII, Abschnitt 5.5). |
143
+ | T-2 | **Breite:** Ermittlung über `shutil.get_terminal_size(fallback=(80, 24))`. Schwellen: ≥ 80 Spalten → Vollvariante, 66–79 → Kompaktvariante, < 66 → Textvariante. Die Höhe wird nicht geprüft. |
144
+ | T-3 | **Farbe:** Farbausgabe nur wenn (a) `stdout` ein TTY ist, (b) `NO_COLOR` nicht gesetzt ist, (c) `TERM` nicht `dumb` ist. Stufen: `COLORTERM` ∈ {`truecolor`, `24bit`} → Truecolor; sonst `TERM` enthält `256color` → 256-Farben-Palette; sonst monochrom. Auf 16-Farben-Terminals wird bewusst monochrom ausgegeben (keine Näherung). |
145
+ | T-4 | **Nicht-TTY** (Pipe, Redirect, CI-Log): keine Escape-Sequenzen. Ob dann die Textvariante oder gar nichts ausgegeben wird, ist Entscheidung O-2. |
146
+ | T-5 | **Windows:** Auf Windows 10 (ab Build 10586) und Windows Terminal wird die VT-Verarbeitung aktiviert (`ENABLE_VIRTUAL_TERMINAL_PROCESSING` über `SetConsoleMode` oder den dokumentierten `os.system("")`-Aufruf). Ist VT nicht aktivierbar oder die Codepage nicht 65001 → Textvariante. |
147
+ | T-6 | **Auto-Wrap:** Ältere Windows-Konsolen brechen bei exakt 80 Zeichen sofort um und erzeugen Leerzeilen. Dort ist für die Vollvariante eine Breite ≥ 81 zu fordern (nur Windows-Legacy-Konsole, sonst ≥ 80). |
148
+
149
+ ##### 4.4 Inhalte und Datenquellen
150
+
151
+ | ID | Anforderung |
152
+ |---|---|
153
+ | I-1 | **Version:** Format `v<version>`, rechtsbündig unter der rechten Kante der Wortmarke (Spalte 70 innerhalb der Box). Quelle ist die Paketversion (`importlib.metadata.version("koolie")` bzw. `koolie.__version__`). **Achtung:** Läuft der Installer, bevor das Paket installiert ist (Bootstrap-Skript), ist diese Quelle nicht verfügbar; dann muss die Version aus dem Installer selbst bzw. einer `VERSION`-Datei kommen (Entscheidung O-1). Zeichenketten bis 42 Zeichen wachsen nach links; längere werden abgeschnitten. |
154
+ | I-2 | **Copyright/Lizenz:** Text `© 2026 <FRAMEWORK_OWNER> · GPL-3.0`. Das Jahr ist eine Konstante und wird bei Bedarf zu einem Zeitraum erweitert (`2026–2027`), nicht automatisch aus der Systemzeit erzeugt. Die Lizenzangabe muss mit `LICENSE` und `pyproject.toml` übereinstimmen (Entscheidung O-3 zur SPDX-Kennung). |
155
+ | I-3 | **Repository:** Vollvariante `https://github.com/Renoxar/koolie`, Kompaktvariante `github.com/Renoxar/koolie`. Optional als OSC-8-Hyperlink (Entscheidung O-4). |
156
+ | I-4 | **Catch-Line:** `The field is open. The edge is not.` – max. 47 Zeichen in der Vollvariante (Box-Innenbreite 78 abzüglich 29 Einzug und 2 Rand). |
157
+ | I-5 | **Unterzeile:** `Governance for AI coding assistants` – gleiche Längengrenze wie I-4. |
158
+ | I-6 | Alle Texte sind Konstanten an einer Stelle; sie werden nicht in die Grafik „eingebrannt". |
159
+
160
+ ##### 4.5 Nicht-funktional
161
+
162
+ | ID | Anforderung |
163
+ |---|---|
164
+ | N-1 | Keine neue Pflichtabhängigkeit. Farbausgabe mit nativen ANSI-Sequenzen ist ausreichend. Ob `rich` oder `colorama` optional genutzt werden, entscheidet die Umsetzung; das Banner muss auch ohne funktionieren. |
165
+ | N-2 | Renderzeit vernachlässigbar (< 50 ms), keine Netzwerkzugriffe, keine Dateizugriffe außer ggf. Lesen der Versionsquelle. |
166
+ | N-3 | Grafik und Zonenkarte liegen als eine Datei bzw. ein Modul vor, damit spätere Designänderungen an genau einer Stelle erfolgen. |
167
+ | N-4 | Testbarkeit: Snapshot-Test der Monochromausgabe (zeichengenau), Tests der Auswahllogik (Breite, Encoding, TTY, `NO_COLOR`), Test, dass mit `NO_COLOR=1` kein `\x1b` im Output vorkommt. |
168
+
169
+ #### 5 Referenz-Design
170
+
171
+ ##### 5.1 Vollvariante (≥ 80 Spalten, UTF-8) – Monochrom-Referenz
172
+
173
+ 25 Zeilen × 80 Spalten. Zeilen 1–12 sind der Hund oberhalb der Box, Zeile 13 ist der obere Rahmen, den der Hund unterbricht, Zeilen 13–21 enthalten Hund und Box gemeinsam.
174
+
175
+ ```text
176
+ ▄
177
+ ▄ ▄█▄
178
+ ▄█▄ ▄█▒█▄
179
+ ▄████▄██▒██▄
180
+ ▄████████████▄
181
+ ██████████████▄
182
+ ███████████░███
183
+ ███████████████▄▄▄▄▄▄▄▄▄
184
+ █████████████████████████▓▓
185
+ ████████████████████████▓▓▓▓
186
+ ████████████████████████▓▓▓
187
+ ████████████▒▒▒▒▒▒▒▒▒▒▀
188
+ ╭─────────██████████▒▒▒▒▒▒▒▒▀▀─────────────────────────────────────────────────╮
189
+ │ ████████▒▒▒▒▒▀▀ │
190
+ │ ████████▒▒▒░ ██ ▄█ ▄████▄ ▄████▄ ██ ██ ██████ │
191
+ │ ████████▒▒▒░░░ ██ ▄█▀ ██ ██ ██ ██ ██ ██ ██ │
192
+ │ ▄███████▒▒▒▒░░░░▄ ████▀ ██ ██ ██ ██ ██ ██ █████ │
193
+ │ ▄███████▒▒▒▒░░░░░▄ ██ ▀█▄ ██ ██ ██ ██ ██ ██ ██ │
194
+ │ ▄███████▒▒▒▒▒░░░░░░▄ ██ ▀█ ▀████▀ ▀████▀ ██████ ██ ██████ │
195
+ │ ▄████████▒▒▒▒░░░░░░░░ v0.1.0 │
196
+ │ ▄████████▒▒▒▒▒░░░░░░░▀ The field is open. The edge is not. │
197
+ │ Governance for AI coding assistants │
198
+ ├──────────────────────────────────────────────────────────────────────────────┤
199
+ │ © 2026 <FRAMEWORK_OWNER> · GPL-3.0 https://github.com/Renoxar/koolie │
200
+ ╰──────────────────────────────────────────────────────────────────────────────╯
201
+ ```
202
+
203
+ Die Versionsnummer `v0.1.0` ist ein Platzhalter (I-1). Das Hunde-Asset allein (21 Zeilen, wird transparent über die Box gelegt, Leerzeichen sind durchsichtig):
204
+
205
+ ```text
206
+ ▄
207
+ ▄ ▄█▄
208
+ ▄█▄ ▄█▒█▄
209
+ ▄████▄██▒██▄
210
+ ▄████████████▄
211
+ ██████████████▄
212
+ ███████████░███
213
+ ███████████████▄▄▄▄▄▄▄▄▄
214
+ █████████████████████████▓▓
215
+ ████████████████████████▓▓▓▓
216
+ ████████████████████████▓▓▓
217
+ ████████████▒▒▒▒▒▒▒▒▒▒▀
218
+ ██████████▒▒▒▒▒▒▒▒▀▀
219
+ ████████▒▒▒▒▒▀▀
220
+ ████████▒▒▒░
221
+ ████████▒▒▒░░░
222
+ ▄███████▒▒▒▒░░░░▄
223
+ ▄███████▒▒▒▒░░░░░▄
224
+ ▄███████▒▒▒▒▒░░░░░░▄
225
+ ▄████████▒▒▒▒░░░░░░░░
226
+ ▄████████▒▒▒▒▒░░░░░░░▀
227
+ ```
228
+
229
+ Kompositionsregel: Box-Zeilen zuerst schreiben, Hund-Zeilen darüber legen; nur Nicht-Leerzeichen des Hundes überschreiben Box-Zeichen. Offset des Box-Assets: Zeile 13, Spalte 1 (0-basiert: Zeile 12, Spalte 0).
230
+
231
+ ##### 5.2 Farbzonen-Karte
232
+
233
+ Zellgenau parallel zu 5.1. Jeder Buchstabe steht für eine Farbrolle aus 5.3; Leerzeichen bleiben ungefärbt. Diese Karte ist die Implementierungsgrundlage: Grafik-Layer und Zonen-Layer sind zwei gleich große Zeichen-Raster, der Renderer färbt zeilenweise zusammenhängende gleiche Zonen mit je einer Escape-Sequenz.
234
+
235
+ ```text
236
+ F
237
+ F FFF
238
+ FFF FFLFF
239
+ FMFFFFFFLFFF
240
+ FFFFMMFFFFFFFF
241
+ FFFFMFFFFFFFFFF
242
+ FFFFFFFFFFFEFFF
243
+ FFMMFFFFFFFFFFFFFFFFFFFF
244
+ FFFFFFFFFMMFFFFFFFFFFFFFFNN
245
+ FFFFFFFFMFFFFFFFFFFFFFFFNNNN
246
+ FFFFMFFFFFFFFFFFFFFFFFFFNNN
247
+ FFFFMFFFFFFFLLLLLLLLLLL
248
+ BBBBBBBBBBFFFFFFFFFFLLLLLLLLLFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
249
+ B FFFFFFFFLLLLLLF B
250
+ B FFFFFFFFLLLL KK KK KKKKKK KKKKKK KK KK KKKKKK B
251
+ B FFFFFFFFLLLLLL KK KKK KK KK KK KK KK KK KK B
252
+ B FFFFFFFFLLLLLLLLL KKKKK KK KK KK KK KK KK KKKKK B
253
+ B FFFFFFFFLLLLLLLLLL KK KKK KK KK KK KK KK KK KK B
254
+ B FFFFFFFFLLLLLLLLLLLL KK KK KKKKKK KKKKKK KKKKKK KK KKKKKK B
255
+ B FFFFFFFFFLLLLLLLLLLLL VVVVVV B
256
+ B FFFFFFFFFLLLLLLLLLLLLL CCC CCCCC CC CCCCC CCC CCCC CC CCCC B
257
+ B SSSSSSSSSS SSS SS SSSSSS SSSSSSSSSS B
258
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
259
+ B T TTTT TTTTTTTTTTTTTTTTT T TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT B
260
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
261
+ ```
262
+
263
+ ##### 5.3 Farbspezifikation
264
+
265
+ | Zone | Bereich | Zeichen | Truecolor | 256-Farben | Attribut |
266
+ |---|---|---|---|---|---|
267
+ | F | Fell Grundton (Schädel, Ohren, Fang, Nacken, Kanten) | `█ ▄ ▀` | `#B8BEC7` | 250 | – |
268
+ | M | Merle-Akzent (11 einzelne Zellen, feste Positionen laut Karte) | `█` | `#5E7F99` | 67 | – |
269
+ | N | Nase | `▓` | `#3A4657` | 239 | – |
270
+ | E | Auge (eine Zelle) | `░` | `#4FB3C8` | 74 | nicht bold |
271
+ | L | helles Fell (Ohrinnenseite, Unterkiefer, Kehle, Brust, zugehörige Kanten) | `▒ ░ ▄ ▀` | `#E6E9EC` | 254 | – |
272
+ | B | Rahmen und Trennlinie | Box Drawing | `#3B8C8C` | 66 | – |
273
+ | K | Wortmarke `KOOLIE` | `█ ▄ ▀` | `#5CD6E0` | 80 | bold |
274
+ | V | Version | Text | `#3B8C8C` | 66 | – |
275
+ | C | Catch-Line | Text | `#E0B36A` | 179 | – |
276
+ | S | Unterzeile | Text | `#8A9199` | 245 | dim |
277
+ | T | Fußzeile (Copyright, Lizenz, URL) | Text | `#8A9199` | 245 | dim |
278
+
279
+ Hinweise:
280
+ - `▓ ▒ ░` lassen Terminalhintergrund durchscheinen; die Palette ist für dunkle Hintergründe abgestimmt. Auf hellem Hintergrund bleibt die Form lesbar, die Tonstufen kehren sich aber um. Ein helles Theme ist nicht Teil dieses CR.
281
+ - Das Auge bleibt bewusst `░` in gedämpftem Cyan, kein Vollblock: sonst wirkt es wie ein Comic-Punkt.
282
+ - Merle-Zellen sind reine Umfärbung; monochrom sind sie unsichtbar.
283
+ - Die Escape-Sequenzen stehen in Anhang B.
284
+
285
+ ##### 5.4 Kompaktvariante (66–79 Spalten)
286
+
287
+ Box ohne Hund, 13 Zeilen × 66 Spalten, gleiche Inhalte, URL ohne Schema. Farbzonen wie oben (B, K, V, C, S, T).
288
+
289
+ ```text
290
+ ╭────────────────────────────────────────────────────────────────╮
291
+ │ │
292
+ │ ██ ▄█ ▄████▄ ▄████▄ ██ ██ ██████ │
293
+ │ ██ ▄█▀ ██ ██ ██ ██ ██ ██ ██ │
294
+ │ ████▀ ██ ██ ██ ██ ██ ██ █████ │
295
+ │ ██ ▀█▄ ██ ██ ██ ██ ██ ██ ██ │
296
+ │ ██ ▀█ ▀████▀ ▀████▀ ██████ ██ ██████ │
297
+ │ v0.1.0 │
298
+ │ The field is open. The edge is not. │
299
+ │ Governance for AI coding assistants │
300
+ ├────────────────────────────────────────────────────────────────┤
301
+ │ © 2026 <FRAMEWORK_OWNER> · GPL-3.0 github.com/Renoxar/koolie │
302
+ ╰────────────────────────────────────────────────────────────────╯
303
+ ```
304
+
305
+ ##### 5.5 Textvariante (< 66 Spalten, kein UTF-8 oder VT nicht verfügbar)
306
+
307
+ Reines ASCII, keine Escape-Sequenzen, keine Box:
308
+
309
+ ```text
310
+ KOOLIE v0.1.0
311
+ The field is open. The edge is not.
312
+ Governance for AI coding assistants
313
+ (c) 2026 <FRAMEWORK_OWNER> - GPL-3.0 - https://github.com/Renoxar/koolie
314
+ ```
315
+
316
+ Das `é` wird in dieser Variante nur dann transliteriert, wenn das Ausgabe-Encoding es nicht darstellen kann (`str.encode(enc, errors="strict")` prüfen); bei Latin-1-Terminals bleibt `René` erhalten.
317
+
318
+ #### 6 Entscheidungslogik
319
+
320
+ Reihenfolge der Prüfung, erste zutreffende Regel gewinnt:
321
+
322
+ | # | Bedingung | Ausgabe |
323
+ |---|---|---|
324
+ | 1 | `--no-banner`, `--quiet` oder `KOOLIE_NO_BANNER=1` | nichts |
325
+ | 2 | `stdout` kein TTY | Textvariante ohne Farbe *oder* nichts (O-2) |
326
+ | 3 | Encoding nicht UTF-8 oder (Windows) VT nicht aktivierbar / Codepage ≠ 65001 | Textvariante |
327
+ | 4 | Breite < 66 | Textvariante |
328
+ | 5 | Breite 66–79 | Kompaktvariante |
329
+ | 6 | Breite ≥ 80 (Windows-Legacy-Konsole: ≥ 81) | Vollvariante |
330
+
331
+ Farbstufe unabhängig davon nach T-3: Truecolor → 256 → monochrom; `NO_COLOR` erzwingt monochrom, `TERM=dumb` ebenfalls.
332
+
333
+ #### 7 Akzeptanzkriterien
334
+
335
+ - [ ] In einem 80×30-Terminal mit UTF-8 und `COLORTERM=truecolor` entspricht die Ausgabe zeichengenau der Referenz 5.1 (Diff nach Entfernen der Escape-Sequenzen ist leer) und die Farben den Zonen 5.2/5.3.
336
+ - [ ] Mit `NO_COLOR=1` ist die Ausgabe formgleich und enthält kein `\x1b`.
337
+ - [ ] `TERM=xterm-256color` ohne `COLORTERM` verwendet die 256-Farben-Indizes aus 5.3.
338
+ - [ ] `COLUMNS=70` liefert die Kompaktvariante 5.4, `COLUMNS=60` die Textvariante 5.5.
339
+ - [ ] `PYTHONIOENCODING=ascii` bzw. `LANG=C` erzeugt keinen `UnicodeEncodeError`, sondern die Textvariante.
340
+ - [ ] `installer | cat` erzeugt keine Escape-Sequenzen (und das in O-2 festgelegte Verhalten).
341
+ - [ ] `--no-banner` und `KOOLIE_NO_BANNER=1` unterdrücken jede Ausgabe.
342
+ - [ ] Die angezeigte Version stimmt mit der Paketversion bzw. der festgelegten Versionsquelle überein.
343
+ - [ ] Copyright, Lizenzkennung und URL stimmen mit `LICENSE`, `pyproject.toml` und dem Repository überein.
344
+ - [ ] Windows Terminal und PowerShell 7 zeigen die Vollvariante; die Legacy-Konsole (`cmd.exe` ohne VT) zeigt mindestens die Textvariante ohne Artefakte.
345
+ - [ ] Ein provozierter Fehler im Renderer (z. B. defektes Asset) bricht den Installer nicht ab.
346
+ - [ ] Ein Snapshot-Test für die Monochromausgabe existiert und läuft in der CI.
347
+
348
+ #### 8 Umsetzungshinweise (unverbindlich)
349
+
350
+ - **Datenhaltung:** Grafik-Layer (5.1 ohne Box-Textzeilen) und Zonen-Layer (5.2) als zwei Tupel von Strings gleicher Länge. Der Renderer läuft pro Zeile über die Zellen, fasst Läufe gleicher Zone zusammen und gibt pro Lauf eine Farbsequenz und am Zeilenende `ESC[0m` aus. Kein Markup-Parser nötig.
351
+ - **Box-Zeilen generieren:** Version, Catch-Line, Unterzeile und Fußzeile werden mit berechnetem Padding in die Box-Zeilen eingesetzt (Innenbreite 78, Einzug 29, Fußzeile Rand 2 links/rechts). Der Hund wird danach transparent darübergelegt.
352
+ - **Modulschnitt (Option A):** `koolie/installer/banner.py` mit einer Funktion `print_banner(stream=None, *, force_variant=None, force_color=None)`. Die `force_*`-Parameter dienen Tests und einem späteren `--banner-preview`.
353
+ - **Inline (Option B):** Bei einem Single-File-Installer dieselben Datenstrukturen direkt im Skript; dann Snapshot-Test gegen eine Referenzdatei im Repository.
354
+ - **Tests:** `pytest` mit `capsys` und `monkeypatch` für `COLUMNS`, `NO_COLOR`, `COLORTERM`, `TERM`, `sys.stdout.isatty`, `sys.stdout.encoding`.
355
+ - **Windows:** VT aktivieren, bevor die erste Escape-Sequenz geschrieben wird; Fehler beim Aktivieren still in Monochrom/Text degradieren.
356
+
357
+ #### 9 Offene Punkte / Entscheidungen
358
+
359
+ | ID | Frage | Vorschlag |
360
+ |---|---|---|
361
+ | O-1 | Versionsquelle, wenn der Installer vor der Paketinstallation läuft | Konstante/`VERSION`-Datei im Installer, gepflegt über den Release-Prozess; Paketmetadaten nur als Fallback |
362
+ | O-2 | Verhalten bei Nicht-TTY (Pipe/CI-Log) | Textvariante ohne Farbe, damit Logs Name und Version enthalten |
363
+ | O-3 | SPDX-Kennung: `GPL-3.0-only` oder `GPL-3.0-or-later` | Muss mit `LICENSE` übereinstimmen; im Banner bleibt die Kurzform `GPL-3.0` |
364
+ | O-4 | Repository-URL als OSC-8-Hyperlink | Ja, wenn Truecolor-Stufe aktiv ist; sonst Klartext |
365
+ | O-5 | Eigenes Modul vs. Inline | Wird bei der Umsetzung entschieden (Vorgabe des Antragstellers) |
366
+ | O-6 | Flag-Namen (`--no-banner`, `KOOLIE_NO_BANNER`) | Wie vorgeschlagen, sofern kein Konflikt mit bestehenden Optionen |
367
+ | O-7 | Verhalten bei Terminalhöhe < 25 Zeilen | Keine Prüfung; erste Zeile (Ohrspitze) scrollt weg, akzeptiert |
368
+
369
+ #### 10 Risiken
370
+
371
+ | Risiko | Auswirkung | Maßnahme |
372
+ |---|---|---|
373
+ | Font stellt `▓ ▒ ░` nicht unterscheidbar dar | Kehle/Nase wirken flach | Form trägt über Kontur; Farbvariante bleibt eindeutig; kein Handlungsbedarf |
374
+ | Terminal behandelt Ambiguous-Width-Zeichen (`©`, `·`, Box Drawing) als 2 Spalten (CJK-Locale) | Zeilen verschoben | Akzeptiertes Restrisiko; optional `wcwidth`-Prüfung mit Fallback auf Textvariante |
375
+ | Windows-Legacy-Konsole | Auto-Wrap bei 80 Spalten, fehlende Glyphen | T-5/T-6; Textvariante |
376
+ | Lange Versionsstrings (`v0.1.0.dev3+g1a2b3c`) | Wachsen nach links unter die Wortmarke | Erlaubt bis 42 Zeichen, sonst kürzen |
377
+ | Heller Terminalhintergrund | Tonstufen invertiert | Form bleibt lesbar; helles Theme außerhalb des Scope |
378
+
379
+ #### Anhang A – Zeicheninventar
380
+
381
+ | Zeichen | Codepoint | Verwendung |
382
+ |---|---|---|
383
+ | `█` | U+2588 | Fell, Wortmarke |
384
+ | `▓` | U+2593 | Nase |
385
+ | `▒` | U+2592 | helles Fell (Ohrinnenseite, Unterkiefer, Kehle) |
386
+ | `░` | U+2591 | Auge, Brust |
387
+ | `▀` `▄` | U+2580, U+2584 | Kanten, Wortmarke |
388
+ | `─` `│` | U+2500, U+2502 | Rahmen |
389
+ | `╭` `╮` `╰` `╯` | U+256D, U+256E, U+2570, U+256F | Rahmenecken |
390
+ | `├` `┤` | U+251C, U+2524 | Trennlinie Fußzeile |
391
+ | `©` `·` `é` | U+00A9, U+00B7, U+00E9 | Fußzeile |
392
+
393
+ #### Anhang B – ANSI-Sequenzen
394
+
395
+ `ESC` = `\x1b`.
396
+
397
+ | Zweck | Sequenz |
398
+ |---|---|
399
+ | Vordergrund Truecolor | `ESC[38;2;<R>;<G>;<B>m` |
400
+ | Vordergrund 256-Farben | `ESC[38;5;<N>m` |
401
+ | Bold | `ESC[1m` |
402
+ | Dim | `ESC[2m` |
403
+ | Reset | `ESC[0m` |
404
+ | OSC-8-Hyperlink (optional) | `ESC]8;;<url>ESC\<Text>ESC]8;;ESC\` |
405
+
406
+ Beispiel Wortmarke (Truecolor): `ESC[1mESC[38;2;92;214;224m` … `ESC[0m`. Reset am Ende jeder Zeile, nicht erst am Ende des Banners, damit ein Abbruch mittendrin keinen gefärbten Prompt hinterlässt.
@@ -0,0 +1,59 @@
1
+ # Änderungsantrag `CR-2026-166`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Anweisungen mit Nachlauf und die Aufzeichnungen – und der Schnitt, der die Pakete nicht kannte |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-30 |
8
+ | Betroffene Artefakte | `framework/skills/fw-overlay-pflege/` (SKILL, TESTS, CHANGELOG), `framework/skills/fw-bugfix-prepare/` (SKILL, TESTS, CHANGELOG), `tests/scripts/pruefungen/werkzeuge.py` (Prüfung 71), `tests/scripts/sonden/teil08_pruefungen_66_bis_80.py`, `tests/erhebungen/messbaum-schnitt.py`, `onboarding/exercises/README.md` |
9
+ | Ebene laut Entscheidungsbaum 6 | Framework Core (Skills, Validator, Messapparat) |
10
+ | Art | Anweisungsänderung mit Nachlauf; PATCH-Release mit Kontingent, ohne Änderung der Laufzeitschicht |
11
+ | Dringlichkeit | geplant (D-485) |
12
+ | Status | 🟢 **entschieden am 2026-09-30** (E1 bis E4) |
13
+
14
+ ---
15
+
16
+ ## 1. Anlass
17
+
18
+ Aus dem Schnitt der Schutzschicht (D-485) trägt `1.20.3` die Anweisungen mit Nachlauf und die Aufzeichnungen mit Kontonamen: die MCP-Abfrage in `fw-overlay-pflege` (`K-183`), die Befunde der Messung zu `1.18.0` (`K-186`) und die zehn Aufzeichnungen mit dem Kontonamen einer Person (`K-85`). `K-202` aus `1.20.2` gehört dazu: Ob die Regelschicht einen ausdrücklichen Auftrag gegen die Regel aufhält, ist mit den Anweisungsänderungen zu prüfen. Mit demselben Release setzt `CR-2026-165` den Antrag des Owners zum Banner des Installationsdialogs um.
19
+
20
+ ## 2. Vorprüfung
21
+
22
+ Vorgelegt am 2026-09-30 mit Schätzung: rund 21 Läufe `claude-code`, rund 16 USD, Deckel 30 Läufe und 25 USD, dazu 2 Läufe `kiro`. Die Vorlage liegt außerhalb des Repositoriums. Der Owner folgt den Empfehlungen und hat die Frage zu `K-85` selbst beantwortet. Vor der Vorlage erhoben, ohne Modell:
23
+
24
+ - Nach `08-skill-conventions.md` Abschnitt 7 verlangt jede Änderung einer Anweisung das ganze Testblatt neu: `SK-013` hat sechs Zellen, `SK-009` neun, drei davon mit Zugriff auf das angebundene System.
25
+ - Die Merkmalszeile aus `K-186` (2) in allen drei lesenden Skills hätte zusätzlich `SK-003` und `SK-004` geöffnet – 17 Zellen, rund 13 USD.
26
+ - Die Testdaten `UEB-34` stehen unverändert im System (vier Tickets, die Seite in Version 2).
27
+ - Die zehn Aufzeichnungen mit Kontonamen tragen den Namen des Owners; außer ihnen trifft Prüfung 71 keine Aufzeichnung.
28
+
29
+ ## 3. Vorlage zur Entscheidung
30
+
31
+ | # | Frage | Entscheidung | Preis |
32
+ |---|---|---|---|
33
+ | E1 | Wie lernt `fw-overlay-pflege` den MCP-Server (`K-183`)? | Schritt 3 fragt alle Angaben aus Overlay 13.2 ab, ohne Zweck oder Werkzeugliste kein Eintrag, Schritt 7 nennt die Einzelregeln; Zugangsdaten ausgeschlossen; neue Zelle `SK-013-P03` (D-509) | Sieben Zellen nachgemessen |
34
+ | E2 | Welche Befunde aus `K-186` werden Anweisung? | (3) und (2) in `fw-bugfix-prepare`, (6) in der Präparation `UEB-33`; (1), (4) und (5) bleiben offen (D-510) | `fw-plan` und `fw-change-analyze` kennen das Merkmal der abgewiesenen Anmeldung nicht |
35
+ | E3 | Was geschieht mit den zehn Aufzeichnungen (`K-85`)? | Der Bestand bleibt; Prüfung 71 nimmt nur noch die zehn Dateien aus, nicht mehr die Ordner (D-508) | Eine gepflegte Liste, die nur schrumpfen darf |
36
+ | E4 | Was folgt aus `K-202`? | Gemessen ohne technische Schicht: 0 von 5 Läufen haben geschrieben (`claude-code` 2, `kiro` 3); der Regeltext bleibt, `K-202` bleibt offen (D-512) | Ein seltener Ausreißer ist nicht ausgeschlossen; der Schutz des Overlays bleibt die technische Schicht |
37
+
38
+ ## 4. Umsetzung
39
+
40
+ 1. **Skills:** `fw-overlay-pflege` 0.2.0 (Schritte 3 und 7, ausgeschlossene Informationen), `fw-bugfix-prepare` 0.1.8 (Abschnitt 7, zwei Zeilen); Erwartung von `SK-009-P02` nach D-510 ergänzt.
41
+ 2. **Prüfung 71:** geschlossene Liste `P71_BESTAND`; Sonde `71d` neu, Gegenprobe `71c` auf eine Aufzeichnung des Bestands.
42
+ 3. **Messapparat:** `messbaum-schnitt.py` schneidet die Pakete `tests/scripts/sonden/` und `tests/scripts/pruefungen/` (D-511); `UEB-33` im Übungs-README beschrieben wie gebaut.
43
+ 4. **Messung:** Testblätter `SK-009` und `SK-013` nachgemessen, `K-202` an `claude-code` und `kiro`.
44
+
45
+ ## 5. Entscheidung
46
+
47
+ 🟢 **Angenommen am 2026-09-30.**
48
+
49
+ | # | Entscheidung | Decision Record |
50
+ |---|---|---|
51
+ | E1 | MCP-Abfrage in `fw-overlay-pflege` | D-509 |
52
+ | E2 | `fw-bugfix-prepare` und `UEB-33` | D-510 |
53
+ | E3 | Die Aufzeichnungen mit Kontonamen | D-508 |
54
+ | E4 | `K-202` | D-512 |
55
+ | – | Befund beim Baumbau: der Schnitt und die Pakete | D-511 |
56
+
57
+ ## 6. Messung und Belege
58
+
59
+ Protokoll `tests/protocols/2026-09-30-nachlauf-banner.md`. 23 Sitzungsläufe mit `claude-code` (15,41 USD nach Listenpreis), davon 21 für die 16 Zellen und 2 für `K-202`; 3 Läufe mit `kiro` (`--trust-all-tools`). Erhebungsablage `leitwerk-erhebungen-2026-09-30-1203` außerhalb des Repositoriums.
@@ -0,0 +1,60 @@
1
+ # Änderungsantrag `CR-2026-167`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Einsatzarchitektur, Koexistenz und Vergleichsmessung – und die Aktualisierung, die den fremden Block löschte |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-30 |
8
+ | Betroffene Artefakte | `docs/ADOPTION_GUIDE.md` (Abschnitt 8), `install.py`, `koexistenz.py` (neu), `tests/scripts/pruefungen/` (`overlay.py` Prüfung 111, `bestand.py`, `berechtigungen.py`, `gemeinsam.py`), `tests/scripts/validate-framework.py`, `tests/scripts/sonden/teil16_koexistenz.py` (neu), `tests/scripts/probe-pruefungen.py`, `tests/erhebungen/apparat/` (`reihe.py`, `baum.py`, `laeufer.py`, `clients.py`, `selbsttest.py`, `freigabe.py` neu), `tests/erhebungen/README.md`, `templates/project-overlay/overlay-manifest.yaml`, `build/doc/28-uebernahme.md`, README und QUICKSTART (de, en) |
9
+ | Ebene laut Entscheidungsbaum 6 | Framework Core (Werkzeuge, Validator, Messapparat, Dokumentation) |
10
+ | Art | Neue Prüfung und neue Auskunft, Vergleichsmessung; MINOR-Release mit Kontingent, ohne Änderung der Laufzeitschicht |
11
+ | Dringlichkeit | geplant (D-478) |
12
+ | Status | 🟢 **entschieden am 2026-09-30** (E1 bis E5) |
13
+
14
+ ---
15
+
16
+ ## 1. Anlass
17
+
18
+ Das Brainstorming zum Marktvergleich hat drei Punkte für `1.21.0` eingeplant (D-478): die Einsatzarchitektur – was Koolie trägt und was die Umgebung tragen muss –, die Koexistenz mit anderen Agenten-Rahmenwerken (`K-31`, mit dem Budget `K-185`) und die Vergleichsmessung gegen eine gute Standardkonfiguration (`K-193`). Erst danach sollte eine Aussage zur Alleinstellung in README und Quickstart stehen. `K-32` war mit `1.20.1` dem Ort der Isolationsschicht zugeordnet (D-497).
19
+
20
+ ## 2. Vorprüfung
21
+
22
+ Vorgelegt am 2026-09-30 mit Schätzung: rund 46 Läufe `claude-code`, rund 30 USD, Deckel 55 Läufe und 40 USD. Die Vorlage liegt außerhalb des Repositoriums. Der Owner folgt den Empfehlungen. Vor der Vorlage erhoben, ohne Modell:
23
+
24
+ - Der Messapparat kennt das Feld `gruppe` (`koolie` oder `referenz`) seit `1.19.0`, baut aber nur Bäume mit Koolie.
25
+ - `install.py` erkennt kein fremdes Rahmenwerk; der Übernahmeleitfaden nennt `K-31` ausdrücklich als ungelöst.
26
+ - Der Pilot steht bei rund 39.250 von 40.000 Zeichen der stets geladenen Texte.
27
+
28
+ ## 3. Vorlage zur Entscheidung
29
+
30
+ | # | Frage | Entscheidung | Preis |
31
+ |---|---|---|---|
32
+ | E1 | Wo steht die Einsatzarchitektur, und was folgt für `K-32`? | Übernahmeleitfaden Abschnitt 8.1, eingebunden ins Hauptdokument über Kapitel 28; Arbeit am Kern in einer isolierten Laufzeit über die registrierte, befristete Ausnahme (D-513) | Koolie allein schützt nicht gegen einen Agenten, der aktiv umgeht – die Tabelle sagt es |
33
+ | E2 | Wie leben Koolie und ein fremdes Rahmenwerk nebeneinander (`K-31`)? | Abgrenzung nach Gegenstand, gemessen an OpenSpec und Spec Kit; fremde Skills im Overlay-Manifest deklariert, Prüfung 111, Auskunft in `install.py` (D-514) | Koolie prüft den Inhalt eines fremden Skills nicht |
34
+ | E3 | Was geschieht mit dem Block eines Generators in der Wurzel-Anweisung? | Befund beim Bau: `--update` löschte ihn ohne Meldung. Die Aktualisierung bricht jetzt davor ab; Prüfung 111 warnt vorher (D-515) | Ein solches Projekt aktualisiert erst nach Umstellung des Generators |
35
+ | E4 | Wie wird gegen eine gute Standardkonfiguration gemessen (`K-193`)? | Gruppen R und R+K, Einstellungen außerhalb des Baums, Remote mit Branch-Schutz und Secret-Scan, Freigabe-Stellvertreter statt „Rückfrage = Ablehnung“ (Abweichung von der Vorlage, begründet), Gegenlauf ohne Regeltexte (D-516) | Ein Client, ein Modell, je Sicherheitsfall ein Lauf; der Rest ist `K-203` |
36
+ | E5 | Was sagen README und Quickstart? | Die gemessene Aussage: Koolie ergänzt eine gute Standardkonfiguration und ersetzt sie nicht; keine Überlegenheit (D-517) | Keine Werbeaussage |
37
+
38
+ ## 4. Umsetzung
39
+
40
+ 1. **Einsatzarchitektur:** Übernahmeleitfaden `0.6.0`, Abschnitt 8 (8.1 Schichten, 8.2 Koexistenz, 8.3 Vergleich); Kapitel 28 nennt ihn; der Hinweis zu fremden Rahmenwerken in Abschnitt 2 verweist auf 8.2.
41
+ 2. **Koexistenz:** `koexistenz.py` (Erkennen, Deklaration, markierte Blöcke); `install.py` meldet ein erkanntes Rahmenwerk und bricht `--update` vor einem markierten Block ab; Prüfung 5 nimmt deklarierte fremde Skills aus, Prüfung 72 lässt ihr Muster als Korbeintrag gelten, Prüfung 37 wertet ihren Korbeintrag nicht als Ausweitung; Prüfung 111 neu. Sondenteil 16 (`111a` bis `111j`).
42
+ 3. **Messapparat:** Felder `einstellungen`, `zusatz`, `unterverzeichnis`, `verbindungen`, `remote_hooks`; der Freigabe-Stellvertreter `apparat/freigabe.py`; Selbsttest 12 Fälle.
43
+ 4. **Messung:** acht Reihen in der Erhebungsablage, Auswertung aus Mitschrift, Baum und Protokoll des Stellvertreters.
44
+ 5. **README, QUICKSTART** (de, en): Abschnitt zur Standardkonfiguration und Verweis auf Abschnitt 8.
45
+
46
+ ## 5. Entscheidung
47
+
48
+ 🟢 **Angenommen am 2026-09-30.**
49
+
50
+ | # | Entscheidung | Decision Record |
51
+ |---|---|---|
52
+ | E1 | Einsatzarchitektur, `K-32` | D-513 |
53
+ | E2 | Koexistenz, Prüfung 111, `K-31` | D-514 |
54
+ | E3 | Abbruch vor dem Block eines Generators | D-515 |
55
+ | E4 | Vergleichsmessung, `K-193` | D-516 |
56
+ | E5 | Die Aussage in README und Quickstart | D-517 |
57
+
58
+ ## 6. Messung und Belege
59
+
60
+ Protokoll `tests/protocols/2026-09-30-einsatzarchitektur.md`. 56 Sitzungsläufe mit `claude-code` (14,55 USD nach Listenpreis): 52 in den acht Reihen, 2 Kontrollläufe des Aufbaus, 2 Syntaxprüfungen der Einstellungen. ⚠️ **Der Deckel von 55 Läufen ist um einen überschritten:** Die beiden Syntaxprüfungen liefen außerhalb des Apparats und wurden beim Anhängen des Gegenlaufs nicht mitgezählt. Der Kostendeckel (40 USD) blieb weit unterschritten. Erhebungsablage `leitwerk-erhebungen-2026-09-30-1210` außerhalb des Repositoriums.