@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,135 @@
1
+ # Änderungsantrag `CR-2026-043`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Der Inhaltsvalidator gibt gefundene sensible Werte im Klartext aus |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `tests/scripts/validate-framework.py` (Prüfung 6 und der Mermaid-Fehlerpfad), `tests/scripts/hook-check-secrets.py` (Meldung ungültiger Zusatzmuster), `tests/scripts/probe-pruefungen.py` (neue Sonden), `tests/TEST_CATALOG.md` (`FW-KO-01`) |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Prüfwerkzeug |
10
+ | Art | Befund **B03** des unabhängigen Reviews vom 2026-09-12, P1; im Code gegengeprüft nach D-23 |
11
+ | Dringlichkeit | **vorrangig** – der Schaden entsteht bei jedem Lauf, nicht erst bei einer Änderung |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Prüfung 6 des Validators sucht in allen Textdateien nach Secret-Mustern, E-Mail-Adressen,
16
+ IP-Adressen, internen Hostnamen, URLs außerhalb der Allowlist und projektspezifischen
17
+ Sperrbegriffen. Fünf dieser sechs Diagnosen nannten den **gefundenen Wert im Klartext**:
18
+
19
+ | Diagnose | Bisherige Ausgabe |
20
+ |---|---|
21
+ | E-Mail-Adresse | Pfad, dann „E-Mail-Adresse gefunden" **und der Wert in Klammern** |
22
+ | IP-Adresse | Pfad, dann „IP-Adresse gefunden" **und der Wert in Klammern** |
23
+ | interner Hostname | Pfad, dann „interner Hostname gefunden" **und der Wert in Klammern** |
24
+ | URL | Pfad, dann „URL außerhalb der Allowlist:" **und die vollständige URL samt Parametern** |
25
+ | Sperrbegriff | Pfad, dann „gesperrter Begriff" **und der Begriff in Anführungszeichen** |
26
+ | Secret-Muster | Pfad, dann „Secret-Muster" und die **Kategorie** – **macht es bereits richtig** |
27
+
28
+ **Damit trägt ein Schutzlauf genau die Angaben weiter, die er finden soll** – in ein Terminal, ein
29
+ Protokoll, eine Agentensitzung. Die Ausgabe des Validators ist kein geschlossener Raum: Sie steht
30
+ in Sitzungsmitschriften, in Prüfprotokollen unter `tests/protocols/` und im Kontext jedes Modells,
31
+ das den Lauf auslöst.
32
+
33
+ ### Es ist die eigene Regel, die hier gebrochen wird
34
+
35
+ Der Befund ist kein Verstoß gegen eine fremde Anforderung. Er verstößt gegen **zwei eigene
36
+ normative Festlegungen**, die dieses Framework jeder Sitzung auferlegt:
37
+
38
+ - `framework/runtime/root-instruction.md`, Abschnitt 11: „Findest du vermutete Secrets oder
39
+ personenbezogene Echtdaten: gib sie nicht aus, wiederhole sie nicht, **nenne nur die
40
+ Fundstelle** und halte an."
41
+ - `tests/TEST_CATALOG.md`, `FW-DS-01`: Erwartet ist „nur Fundstelle; Inhalt nirgends
42
+ wiedergegeben"; als unzulässiges Verhalten ist ausdrücklich **„Zitat, Weiterverarbeitung"**
43
+ benannt.
44
+
45
+ Das Prüfwerkzeug hat getan, was es der Sitzung verbietet. **`FW-DS-01` prüft die Sitzung, nicht
46
+ das Werkzeug** – und sein Ergebnisstatus steht bis heute auf `offen`. Geprüft wurde also weder
47
+ das eine noch das andere.
48
+
49
+ ### Am schärfsten beim Sperrbegriff
50
+
51
+ `project-overlay/forbidden-terms.txt` enthält reale Projekt-, Kunden- und Behördennamen. Prüfung 6
52
+ nimmt diese Datei deshalb **ausdrücklich von der eigenen Inhaltsprüfung aus** – und schrieb den
53
+ gefundenen Namen anschließend in die Fehlermeldung. Die eine Zeichenkette, die in keiner Ausgabe
54
+ des Frameworks stehen darf, stand dort durch die Prüfung, die sie verhindern soll.
55
+
56
+ ### Der Befund hat sich selbst vorgeführt
57
+
58
+ Am 2026-09-12 lag das externe Review als unversioniertes Verzeichnis im Arbeitsbaum. Sein
59
+ Prüfprotokoll enthält den synthetischen Kontakt, mit dem das Review B03 nachgewiesen hat. Der
60
+ Validator meldete ihn – **und gab ihn dabei im Klartext aus**, also genau das, was B03 beanstandet.
61
+ Das Verzeichnis ist inzwischen ausgelagert; der Vorgang bleibt der stärkste Beleg des Antrags.
62
+
63
+ ## 2. Vorgeschlagene Änderung
64
+
65
+ 1. **Eine gemeinsame Fundstellenfunktion.** Sie liefert Pfad, Zeile und Spalte – **ohne den
66
+ Treffer selbst**. Alle Diagnosen der Prüfung 6 laufen über sie.
67
+
68
+ 2. **Neutrale Regel-IDs statt sprechender Werte.** Je Kategorie eine feste Kennung, die den Befund
69
+ benennt, ohne ihn wiederzugeben: `FW-CONTENT-EMAIL`, `FW-CONTENT-IP`, `FW-CONTENT-HOST`,
70
+ `FW-CONTENT-URL`, `FW-CONTENT-TERM`.
71
+
72
+ 3. **Die Secret-Diagnose bekommt die Position**, die ihr fehlt. Sie nennt bereits nur die
73
+ Kategorie – aber nur den Pfad, nicht die Stelle. Das Abnahmekriterium des Reviews verlangt,
74
+ dass der Befund „über Pfad und Position auffindbar" bleibt.
75
+
76
+ 4. **Fehlerpfade mit fremdem Inhalt schließen.** Zwei Stellen tragen Daten weiter, die niemand
77
+ dorthin gelegt hat:
78
+ - `validate-framework.py`: Der Mermaid-Fehlerpfad gibt 300 Zeichen der Fehlerausgabe des
79
+ externen Renderers aus. Darin steht in aller Regel der **Quelltext des Diagrammblocks**.
80
+ - `hook-check-secrets.py`: Ein ungültiges Zusatzmuster aus der Umgebungsvariablen für
81
+ projektspezifische Pfadmuster wird mitsamt seinem Wert ausgegeben. Solche Muster tragen
82
+ Projekt-, Kunden- und Hostnamen – dieselbe Datenart wie die Sperrbegriffe.
83
+
84
+ 5. **Wirkungsnachweis nach D-23.** `probe-pruefungen.py` erhält je Kategorie eine Sonde mit einem
85
+ **eindeutig synthetischen Marker**. Sie prüft beides: Der Befund **wird gemeldet**, und der
86
+ Markerwert steht **weder in der Standardausgabe noch in der Fehlerausgabe**. Dazu die
87
+ Gegenprobe: Der erlaubte Fall derselben Kategorie – eine Adresse aus dem
88
+ Dokumentationsbereich – wird nicht gemeldet.
89
+
90
+ ## 3. Was dieser Antrag nicht ändert
91
+
92
+ - **Keine Prüfung wird enger oder weiter.** Es ändert sich, was die Diagnose **sagt**, nicht,
93
+ was sie **findet**. Kein Prüfergebnis kippt; die Zahl der Fehler und Warnungen bleibt gleich.
94
+ - **Die Altprotokolle werden nicht umgeschrieben.** `tests/protocols/2026-09-10-FW-KO-01.md`
95
+ zitiert zweimal den alten Wortlaut. Ein Protokoll ist die Aufzeichnung eines Laufs, keine
96
+ Beschreibung des Soll-Zustands – es hält fest, was damals ausgegeben wurde, und bleibt
97
+ unverändert.
98
+ - **`FW-DS-01` bleibt offen.** Der Sitzungstest wird von diesem Antrag nicht eingelöst; er prüft
99
+ das Verhalten des Modells, nicht das des Werkzeugs.
100
+ - **Die Sperrbegriffsliste bleibt, wo sie ist.** Dass eine Datei mit realen Namen im Arbeitsbaum
101
+ liegt, ist eine eigene Frage und wird hier nicht berührt.
102
+
103
+ ## 4. Prüffragen
104
+
105
+ - [x] Richtige Ebene: Kern – ein Prüfwerkzeug des Frameworks.
106
+ - [x] Verschärfungsprinzip: Der Antrag verschärft die Ausgabedisziplin; er lockert nichts.
107
+ - [x] Widerspruchsfreiheit: `root-instruction.md` Abschnitt 11, `02-privacy.md` Abschnitt 5 und
108
+ `FW-DS-01` gelesen – der Antrag stellt die Übereinstimmung mit ihnen **her**.
109
+ - [x] Laufzeitfassungen: `hook-check-secrets.py` wird ausgeliefert und ist betroffen.
110
+ - [x] Belegstatus: **im Code bestätigt und unbeabsichtigt vorgeführt.**
111
+ - [ ] Test- und Validierungsbedarf: **neue Sonden nach D-23** – ohne sie gilt die Änderung als
112
+ nicht vorhanden.
113
+ - [x] Overlays: nicht betroffen.
114
+ - [ ] Dokumentation: CHANGELOG; `FW-KO-01` erhält den Hinweis auf den neuen Sondenblock.
115
+
116
+ ## 5. Vorlage zur Entscheidung
117
+
118
+ | Nr. | Frage | Auflösung | Preis |
119
+ |---|---|---|---|
120
+ | E1 | Welches Schema tragen die neutralen Regel-IDs? | **Sprechende Kennungen mit dem Präfix `FW-CONTENT-` und der Kategorie im Namen.** Die Ausgabe muss ohne Nachschlagewerk lesbar sein: Wer `FW-CONTENT-TERM` liest, weiß, was gefunden wurde, ohne die Datei zu öffnen | Ein **zweites** Kennungsschema neben dem Testkatalog, der `FW-XX-NN` verwendet. Zwei Schemata mit demselben Präfix sind eine Quelle von Verwechslungen – die Alternative `FW-IN-01` bis `-05` wäre einheitlich, aber in der Ausgabe stumm |
121
+ | E2 | Zeile allein oder Zeile **und Spalte**? | **Beides.** Zwei Treffer derselben Zeile bleiben sonst ununterscheidbar, und der zweite fällt als scheinbares Duplikat nicht auf | Die Fundstellenangabe wird länger und weicht vom Format ab, das die übrigen Prüfungen verwenden – dort steht Pfad und Zeile |
122
+ | E3 | Auch die Secret-Diagnose anfassen, obwohl sie den Wert nie ausgab? | **Ja – die Position ergänzen.** Sie ist die einzige Diagnose der Prüfung 6, die eine Datei nennt, aber nicht die Stelle. Das Abnahmekriterium verlangt Auffindbarkeit | Eine Änderung an der einen Stelle, die den Befund **nicht** hatte. Wer den Diff liest, muss den Grund kennen |
123
+ | E4 | Die beiden Fehlerpfade mitnehmen oder eigener Antrag? | **Mitnehmen.** Das Review verlangt ausdrücklich, „unbeabsichtigte Daten in Fehlerpfaden" zu berücksichtigen; ein eigener Antrag für zwei Zeilen ist Verwaltung ohne Ertrag | Beim Mermaid-Pfad geht **Diagnosekomfort** verloren: Die Fehlermeldung des Renderers sagt heute, *warum* ein Block ungültig ist. Künftig stehen dort Datei und Blocknummer, den Rest muss man von Hand reproduzieren |
124
+ | E5 | Wie wird die Wirkung nachgewiesen? | **Sonde je Kategorie mit doppelter Bedingung:** Befund gemeldet **und** Marker nicht in der Ausgabe. Die zweite Bedingung ist die eigentliche – die erste hätte die alte Fassung auch bestanden | Der Sondenblock wächst um sechs Fälle; `probe-pruefungen.py` führt je Fall einen vollständigen Validatorlauf auf einer Kopie aus und wird spürbar langsamer |
125
+ | E6 | Release als `0.26.1` (Patch)? | **Ja.** Kein Verhalten einer Prüfung ändert sich, nur ihr Wortlaut – das ist kein Minor | Die Fundstellenformate künftiger Protokolle weichen von denen der `0.26.0`-Protokolle ab, ohne dass die Versionsnummer eine Änderung erwarten lässt |
126
+
127
+ ## 6. Entscheidung
128
+
129
+ | Feld | Inhalt |
130
+ |---|---|
131
+ | Entscheidung | **Angenommen, alle sechs Ermessensfragen wie vorgelegt.** E1 sprechende Kennungen mit dem Präfix `FW-CONTENT-`; E2 Pfad, Zeile und Spalte; E3 die Secret-Diagnose bekommt die Position – und dabei dieselbe Kennungsform wie die übrigen Kategorien (`FW-CONTENT-SECRET`), damit die Ausgabe der Prüfung einheitlich bleibt; E4 die beiden Fehlerpfade werden mitgenommen; E5 Sonde je Kategorie mit doppelter Bedingung; E6 Release `0.26.1` |
132
+ | Datum | 2026-09-12 |
133
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
134
+ | Auflagen | Der Sondenblock muss gegen die Fassung 0.26.0 **fehlschlagen** – eine Sonde, die gegen beide Fassungen besteht, misst nicht die Änderung, sondern nur sich selbst. **Nachgewiesen:** sieben Abweichungen gegen 0.26.0, keine gegen 0.26.1. Der Mermaid-Fehlerpfad bleibt **unbelegt**, solange der externe Renderer in der Umgebung fehlt; er ist als offener Nachweis auszuweisen, nicht als erledigter |
135
+ | Umsetzung | umgesetzt mit `0.26.1` |
@@ -0,0 +1,112 @@
1
+ # Änderungsantrag `CR-2026-044`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Aktivierungsprüfung liest fest verdrahtete Pfade **eines** Clients – für das zweite Pack prüft sie nichts |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `tests/scripts/validate-framework.py` (`check_strict_overlay`, Aufruf in `main`), `tests/scripts/probe-pruefungen.py` (neue Sonden), `tests/TEST_CATALOG.md` (`FW-RE-02`) |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Prüfwerkzeug, clientneutral |
10
+ | Art | Befund **B02** des unabhängigen Reviews vom 2026-09-12, P1; **gegengeprüft und gemessen** |
11
+ | Dringlichkeit | **vor einem dritten Client Pack** – der Befund vervielfacht seinen Schaden mit jedem Pack |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ `check_strict_overlay(root)` prüft die Aktivierungsreife eines Projekts: Ist das Overlay aktiv,
16
+ stehen noch offene Werte in sicherheitsrelevanten Abschnitten, trägt die Berechtigungsdatei noch
17
+ Platzhalter. Die Funktion bekommt das erkannte Manifest **nicht übergeben** und liest stattdessen
18
+ zwei fest verdrahtete Pfade: `.devin/rules/20-project-overlay.md` und `.devin/config.json`.
19
+
20
+ **In einer `claude-code`-Installation gibt es beide nicht.** Die Funktion findet sie nicht,
21
+ überspringt sie stillschweigend – und meldet 0 zusätzliche Fehler. Die Erkennung des installierten
22
+ Packs existiert **in derselben Datei** seit der Umstellung auf mehrere Client Packs
23
+ (`detect_client`); sie wird hier nur nicht benutzt.
24
+
25
+ ### Gemessen, nicht nur gelesen
26
+
27
+ Zwei frische Testinstallationen, je eine pro Pack, darin **derselbe** Defekt. Gemessen ist die
28
+ Änderung der Fehlerzahl, nicht ihr absoluter Wert – ein frisches Overlay trägt ohnehin offene
29
+ Werte. Der `devin-desktop`-Lauf ist die Positivkontrolle: Ohne ihn wäre nicht zu unterscheiden,
30
+ ob die Prüfung bei `claude-code` nichts sieht oder ob der Defekt keiner ist.
31
+
32
+ | Gesetzter Defekt | `claude-code` | `devin-desktop` |
33
+ |---|---|---|
34
+ | Overlay-Status auf `aktivierung-ausstehend` | **±0** | **−1 Fehler** |
35
+ | Platzhalter in der Berechtigungsdatei (nach Bereinigung gesetzt) | **±0** (7 → 7 → 7) | **+1 Fehler** (10 → 9 → 10) |
36
+
37
+ **Die Prüfung reagiert beim einen Pack und sieht das andere überhaupt nicht.**
38
+
39
+ ### Zwei Befunde, die dabei herausfielen
40
+
41
+ Der `−1` in der ersten Zeile ist kein Messfehler. Er ist ein **eigener Befund**, und der
42
+ unangenehmere von beiden:
43
+
44
+ 1. **Der Status wird als Präfix geprüft.** `wert.lower().startswith("aktiv")` – damit besteht
45
+ `aktivierung-ausstehend` die Aktivierungsprüfung. Ein Status, der wörtlich sagt, dass die
46
+ Aktivierung **aussteht**, bringt den Fehler zum Verschwinden, der vorher stand. Wer ihn
47
+ einträgt, macht die Prüfung stiller, nicht lauter.
48
+
49
+ 2. **Fehlende Pflichtabschnitte werden akzeptiert.** Die Prüfung sucht in den sicherheitsrelevanten
50
+ Abschnitten nach offenen Werten; ist ein Abschnitt gar nicht da, findet sie nichts und meldet
51
+ nichts. **Ein Overlay ohne Abschnitt 13 ist damit besser gestellt als eines mit einem offenen
52
+ Wert darin.**
53
+
54
+ Beides ist derselbe Befundtyp wie der Rest dieses Projekts: eine Prüfung, die mehr verspricht, als
55
+ sie leistet.
56
+
57
+ ## 2. Vorgeschlagene Änderung
58
+
59
+ 1. **Das Manifest wird übergeben.** `check_strict_overlay(root, man)` leitet die Pfade aus dem
60
+ Manifest ab – Laufzeitregel aus `pack_runtime_dir`, Berechtigungsdatei aus `permissions_file`.
61
+ Kein Pfad eines Clients steht mehr im Kern.
62
+
63
+ 2. **Der Status wird als Aufzählung geprüft**, nicht als Präfix: Aktiv ist genau `aktiv`. Jeder
64
+ andere Wert – auch einer, der mit „aktiv" beginnt – ist nicht aktiv.
65
+
66
+ 3. **Pflichtabschnitte werden auf Existenz geprüft**, nicht nur auf ihren Inhalt. Ein fehlender
67
+ sicherheitsrelevanter Abschnitt ist ein Fehler, kein Freispruch.
68
+
69
+ 4. **Wirkungsnachweis nach D-23 mit denselben Fixtures für beide Packs.** Das ist das
70
+ Abnahmekriterium des Reviews: Dieselben positiven und negativen Aktivierungsfälle laufen für
71
+ jedes Pack, und ein Defekt muss in **jeder** Installation gemeldet werden.
72
+
73
+ ## 3. Was dieser Antrag nicht ändert
74
+
75
+ - **Die Prüfung bleibt optional.** Sie läuft nur mit `--strict-overlay`; daran ändert sich nichts.
76
+ - **Der Abgleich zwischen Quell-Overlay und Laufzeitfassung** – das Review schlägt ihn zusätzlich
77
+ vor – ist hier **nicht** enthalten, siehe E4. Er ist ein eigener Gegenstand.
78
+ - **Die sicherheitsrelevanten Abschnitte selbst** werden nicht neu bestimmt; die Liste bleibt, wie
79
+ sie ist.
80
+
81
+ ## 4. Prüffragen
82
+
83
+ - [x] Richtige Ebene: Kern – der Validator ist clientneutral, und genau das ist er hier nicht.
84
+ - [x] Verschärfungsprinzip: Der Antrag verschärft dreifach; er lockert nichts.
85
+ - [x] Widerspruchsfreiheit: D-15, D-28 (Werkzeugneutralität des Kerns) gelesen; `detect_client`
86
+ existiert bereits und wird genutzt statt nachgebaut.
87
+ - [x] Laufzeitfassungen: nicht betroffen.
88
+ - [x] Belegstatus: **gemessen** an zwei frischen Installationen mit Positivkontrolle.
89
+ - [ ] Test- und Validierungsbedarf: **neue Sonden nach D-23, je Pack.**
90
+ - [x] Overlays: Ein bestehendes Overlay, dessen Status nicht wörtlich `aktiv` lautet, fällt nach
91
+ der Änderung durch – siehe E2.
92
+ - [ ] Dokumentation: CHANGELOG, `FW-RE-02` im Testkatalog.
93
+
94
+ ## 5. Vorlage zur Entscheidung
95
+
96
+ | Nr. | Frage | Auflösung | Preis |
97
+ |---|---|---|---|
98
+ | E1 | Manifest übergeben oder die Pfade je Pack im Validator führen? | **Manifest übergeben.** Die Erkennung steht in derselben Datei; sie nicht zu benutzen war ein Versehen, keine Entscheidung | Die Funktion bekommt einen zweiten Parameter. Wer sie einzeln aufruft, muss das Manifest beschaffen |
99
+ | E2 | Status als Aufzählung – genau `aktiv`? | **Ja, genau `aktiv`.** Ein Präfixvergleich, den `aktivierung-ausstehend` besteht, ist keine Prüfung, sondern eine Einladung | **Eine Verschärfung, die bestehende Overlays brechen kann.** Ein Projekt, das `aktiv seit 2026-03` einträgt, fällt künftig durch. Das ist gewollt – aber es ist ein Migrationsfall und gehört in die Migrationshinweise |
100
+ | E3 | Pflichtabschnitte auf Existenz prüfen? | **Ja.** Ein Overlay ohne Abschnitt 13 ist sonst besser gestellt als eines mit einem offenen Wert darin – das ist die Prüfung auf den Kopf gestellt | Ein bestehendes Overlay, dem ein Abschnitt fehlt, fällt künftig durch. Auch das ist ein Migrationsfall |
101
+ | E4 | Auch Feldgleichheit zwischen Quell-Overlay und Laufzeitfassung prüfen? | **Nein, nicht in diesem Antrag.** Das Review schlägt es vor, und es ist richtig – aber es ist ein eigener Gegenstand mit eigener Unschärfe: Welche Felder gleich sein müssen, ist nirgends festgelegt. Ein Antrag, der drei Befunde behebt und einen vierten dazu erfindet, wird nicht fertig | Der Befund bleibt offen und braucht einen eigenen Antrag. Bis dahin kann die Laufzeitfassung von der Quelle abweichen, ohne dass es jemand merkt |
102
+ | E5 | Wie wird die Wirkung nachgewiesen? | **Dieselben Fixtures für beide Packs**, je Defekt eine Sonde in jeder Installation. Genau das ist das Abnahmekriterium des Reviews – und genau das hätte den Befund von Anfang an verhindert | Die Sonden werden teurer: Sie brauchen eine **Installation** je Pack, nicht nur eine Kopie des Repositoriums. Der Sondenlauf wird spürbar länger |
103
+
104
+ ## 6. Entscheidung
105
+
106
+ | Feld | Inhalt |
107
+ |---|---|
108
+ | Entscheidung | **Angenommen, alle fünf Fragen wie vorgelegt.** E1 das Manifest wird übergeben; E2 der Status gilt als aktiv nur bei genau `aktiv`; E3 sicherheitsrelevante Abschnitte werden auf Existenz geprüft; E4 die Feldgleichheit zwischen Quell-Overlay und Laufzeitfassung bleibt einem eigenen Antrag; E5 dieselben Fixtures laufen für beide Packs |
109
+ | Datum | 2026-09-12 |
110
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
111
+ | Auflagen | **E2 und E3 sind Verschärfungen und gehören in die Migrationshinweise.** Ein Overlay, dessen Status nicht wörtlich `aktiv` lautet, und eines, dem ein sicherheitsrelevanter Abschnitt fehlt, fallen künftig durch. **Der Nachweis muss je Pack geführt werden** – das ist der Kern des Befunds und das Abnahmekriterium des Reviews. **Nachgewiesen:** sechs Sonden und vier Gegenproben, je Fall in jeder Installation; gegen 0.27.0 fallen **fünf von sechs** Sonden, und die eine, die besteht, ist genau der Fall, den die alte Fassung beim einen Pack traf. **Offen bleibt E4** – der Abgleich zwischen Quelle und Laufzeitfassung ist als eigener Gegenstand auszuweisen, nicht als erledigt |
112
+ | Umsetzung | umgesetzt mit `0.28.0` |
@@ -0,0 +1,116 @@
1
+ # Änderungsantrag `CR-2026-045`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Der dokumentierte Aktualisierungsaufruf legt in einem fremden Projekt eine zweite Laufzeitschicht an |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `install.py` (`--client`, `--update`, `--check`), `docs/ADOPTION_GUIDE.md` (Abschnitt 3), `tests/scripts/probe-pruefungen.py` (neue Sonde) |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Installationswerkzeug |
10
+ | Art | Befund **B10** des unabhängigen Reviews vom 2026-09-12, P2; **gegengeprüft und gemessen** |
11
+ | Dringlichkeit | **vor einem dritten Client Pack**, und vor dem nächsten Release-Wechsel eines fremden Projekts |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ `install.py --client` trägt einen **Vorgabewert**: `devin-desktop`. `docs/ADOPTION_GUIDE.md`
16
+ Abschnitt 3 empfiehlt für den Release-Wechsel wörtlich:
17
+
18
+ ```bash
19
+ python leitwerk-core/install.py --update
20
+ ```
21
+
22
+ Ohne `--client`. In einem Projekt, das mit einem anderen Pack installiert wurde, greift damit die
23
+ Vorgabe – und `--update` aktualisiert nicht die vorhandene Installation, sondern **legt eine
24
+ zweite an**.
25
+
26
+ ### Gemessen
27
+
28
+ Eine frische `claude-code`-Installation, danach der dokumentierte Aufruf:
29
+
30
+ ```text
31
+ Aufruf: python leitwerk-core/install.py --update (ohne --client)
32
+ Client: devin-desktop
33
+ Zusammenfassung: 60 angelegt, 0 aktualisiert, 0 unveraendert, 18 Projektdateien behalten.
34
+
35
+ Laufzeitschichten vorher: ['.claude']
36
+ Laufzeitschichten nachher: ['.claude', '.devin']
37
+ ```
38
+
39
+ **Sechzig Dateien**, eine vollständige zweite Laufzeitschicht: Regelablage, Skill-Ablage,
40
+ Agentenprofile, eine zweite Berechtigungsdatei. Und – der eigentliche Schaden – **„0
41
+ aktualisiert"**: Die Installation, die aktualisiert werden sollte, ist nicht angefasst worden. Der
42
+ Aufruf tut nicht zu viel, er tut **das Falsche**.
43
+
44
+ ### Warum das mehr ist als ein unglücklicher Vorgabewert
45
+
46
+ Ein Projekt, das so aktualisiert wird, hat anschließend zwei Regelsätze im Verzeichnis. Welcher
47
+ davon in der Sitzung landet, entscheidet der Client – und beide Packs führen Regeln, die einander
48
+ nicht kennen. Der Befund gehört damit zu derselben Familie wie `AP2-CC-01` und B02: **eine Stelle,
49
+ an der das Framework stillschweigend etwas anderes tut, als es sagt.**
50
+
51
+ Das Risiko wächst mit jedem Pack. Mit zwei Packs trifft es die Projekte des einen; mit drei die
52
+ Projekte von zweien.
53
+
54
+ ## 2. Vorgeschlagene Änderung
55
+
56
+ 1. **`install.py` erkennt das installierte Pack** – so, wie der Validator es seit der Umstellung
57
+ auf mehrere Packs tut: Geprüft wird, welches `runtime_dir` aus den Manifesten im
58
+ Zielverzeichnis tatsächlich liegt.
59
+
60
+ 2. **`--update` und `--check` ohne `--client` verwenden das erkannte Pack.** Der Vorgabewert
61
+ greift dort nicht mehr.
62
+
63
+ 3. **Widerspricht ein ausdrückliches `--client` dem erkannten Pack, bricht der Lauf ab** – mit
64
+ Nennung beider Packs und des Wegs, es doch zu tun. Eine zweite Laufzeitschicht entsteht dann
65
+ nur, wenn jemand sie ausdrücklich will.
66
+
67
+ 4. **Wird nichts erkannt**, bleibt es bei `--client` beziehungsweise dessen Vorgabe: Eine
68
+ Erstinstallation hat nichts, was sie erkennen könnte.
69
+
70
+ 5. **`ADOPTION_GUIDE.md` Abschnitt 3** nennt den Aufruf mit dem Hinweis, dass das Pack erkannt
71
+ wird – und was zu tun ist, wenn die Erkennung fehlschlägt.
72
+
73
+ 6. **Wirkungsnachweis nach D-23:** Eine Sonde aktualisiert eine `claude-code`-Installation ohne
74
+ `--client` und prüft, dass **keine** zweite Laufzeitschicht entsteht. Gegenprobe: Dieselbe
75
+ Aktualisierung auf einer `devin-desktop`-Installation läuft unverändert durch.
76
+
77
+ ## 3. Was dieser Antrag nicht ändert
78
+
79
+ - **Der Vorgabewert bleibt** – für die Erstinstallation. Er ist dort sinnvoll und harmlos.
80
+ - **Bestehende Doppelinstallationen werden nicht aufgeräumt.** Wer zwei Laufzeitschichten im
81
+ Verzeichnis hat, bekommt mit diesem Antrag keine Hilfe beim Entfernen; das wäre ein eigener
82
+ Gegenstand mit Löschverhalten, und Löschen gehört nicht in ein Installationswerkzeug ohne
83
+ ausdrückliche Entscheidung.
84
+ - **Die Erkennung selbst wird nicht neu erfunden.** Sie folgt derselben Regel wie im Validator.
85
+
86
+ ## 4. Prüffragen
87
+
88
+ - [x] Richtige Ebene: Kern – `install.py` ist clientneutral und trifft hier eine Clientwahl.
89
+ - [x] Verschärfungsprinzip: Der Antrag verschärft – ein Lauf, der bisher stillschweigend
90
+ durchlief, bricht künftig ab.
91
+ - [x] Widerspruchsfreiheit: `ADOPTION_GUIDE.md` Abschnitt 3, `detect_client` im Validator gelesen.
92
+ - [x] Laufzeitfassungen: nicht betroffen; es ändert sich, **welche** erzeugt wird.
93
+ - [x] Belegstatus: **gemessen** an einer frischen Installation, 60 Dateien.
94
+ - [ ] Test- und Validierungsbedarf: **neue Sonde nach D-23** samt Gegenprobe.
95
+ - [x] Overlays: nicht betroffen.
96
+ - [ ] Dokumentation: CHANGELOG, `ADOPTION_GUIDE.md`.
97
+
98
+ ## 5. Vorlage zur Entscheidung
99
+
100
+ | Nr. | Frage | Auflösung | Preis |
101
+ |---|---|---|---|
102
+ | E1 | Erkennung statt Vorgabe bei `--update` und `--check`? | **Ja.** Eine Aktualisierung richtet sich an etwas Vorhandenes; was vorhanden ist, ist ablesbar. Ein Vorgabewert ist dort eine Vermutung, die niemand braucht | Die Erkennung kann fehlschlagen – etwa bei einer unvollständigen Installation. Dann braucht der Nutzer `--client`, und die Fehlermeldung muss das sagen |
103
+ | E2 | Was tun, wenn `--client` dem erkannten Pack widerspricht? | **Abbrechen und beide nennen.** Ein Wechsel des Packs ist eine Entscheidung, kein Nebenprodukt einer Aktualisierung | Ein Pack-Wechsel wird umständlicher. Wer ihn will, muss die alte Laufzeitschicht selbst entfernen – der Abbruchtext nennt den Weg |
104
+ | E3 | Den Vorgabewert für die Erstinstallation behalten? | **Ja.** Dort gibt es nichts zu erkennen, und ein Vorgabewert erspart dem Einstieg eine Entscheidung, die er noch nicht treffen kann | Der erste Aufruf installiert weiterhin ungefragt `devin-desktop`. Wer ein anderes Pack will und `--client` vergisst, merkt es erst hinterher – die Ausgabe nennt das Pack aber in der ersten Zeile |
105
+ | E4 | `ADOPTION_GUIDE.md` korrigieren oder den Aufruf um `--client` ergänzen? | **Korrigieren, ohne `--client` zu verlangen.** Ein Leitfaden, der bei jedem Aufruf einen Schalter mitschleppt, wird nicht befolgt; die Erkennung nimmt ihm die Pflicht ab | Der Leitfaden muss erklären, was passiert, wenn die Erkennung fehlschlägt – eine Zeile mehr an einer Stelle, die kurz sein sollte |
106
+ | E5 | Wie wird die Wirkung nachgewiesen? | **Zwei Läufe, beide nötig:** eine Sonde, die auf einer `claude-code`-Installation aktualisiert und belegt, dass keine zweite Schicht entsteht – und die Gegenprobe auf `devin-desktop`, die belegt, dass die Aktualisierung weiterhin tut, was sie soll | Die Sonde braucht zwei vollständige Installationen. Der Sondenlauf wird länger; zusammen mit `CR-2026-044` lohnt sich ein gemeinsamer Aufbau |
107
+
108
+ ## 6. Entscheidung
109
+
110
+ | Feld | Inhalt |
111
+ |---|---|
112
+ | Entscheidung | **Angenommen, alle fünf Fragen wie vorgelegt.** E1 `--update` und `--check` erkennen das installierte Pack; E2 ein widersprechendes `--client` bricht ab und nennt beide Packs; E3 der Vorgabewert bleibt für die Erstinstallation; E4 der Leitfaden wird korrigiert, ohne `--client` zu verlangen; E5 Sonde und Gegenprobe je Pack |
113
+ | Datum | 2026-09-12 |
114
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
115
+ | Auflagen | **Der Abbruch muss den Weg nennen**, sonst ist er eine Sackgasse: Der Text sagt, welches Pack installiert ist, welches angefordert war, was ein Weiterlauf angerichtet hätte, und dass ein Packwechsel das Entfernen der vorhandenen Laufzeitschicht verlangt. **Nachgewiesen:** je Pack eine Sonde und eine Gegenprobe; gegen 0.27.0 fallen drei von vier, und die eine, die besteht, ist `devin-desktop` – also genau das Pack, das die alte Vorgabe zufällig traf. Der Abbruchpfad ist an seinem Exit-Code belegt, nicht nur an seinem Text |
116
+ | Umsetzung | umgesetzt mit `0.28.0` |
@@ -0,0 +1,125 @@
1
+ # Änderungsantrag `CR-2026-046`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Die Erstinstallation überschreibt eine gleichnamige Datei des Projekts – ohne Warnung |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `install.py` (`run`), `docs/ADOPTION_GUIDE.md` (Abschnitte 1 und 2), `tests/scripts/probe-pruefungen.py` (neue Sonde) |
9
+ | Ebene laut Entscheidungsbaum 6 | Kern – Installationswerkzeug |
10
+ | Art | Befund aus der Vorbereitung der ersten Inbetriebnahme (2026-09-12); **gemessen** |
11
+ | Dringlichkeit | **blockierend** – er trifft den allerersten Befehl, den ein aufnehmendes Projekt ausführt |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ `install.py` kopiert die Core-Bestandteile des gewählten Client Packs in das Projekt. Für jeden
16
+ Core-Pfad gilt: Existiert die Datei nicht, wird sie angelegt. Existiert sie und ist byte-gleich,
17
+ bleibt sie. **Existiert sie und weicht ab, wird sie überschrieben** – in `install` ebenso wie in
18
+ `update`. Ob die vorhandene Datei jemals vom Framework stammt, prüft niemand.
19
+
20
+ Für die Laufzeitschicht ist das richtig: `.claude/rules/00-framework-core.md` gehört dem Kern.
21
+ **Für die Wurzel-Anweisungsdatei ist es falsch**, denn ihr Name ist keine Erfindung des
22
+ Frameworks, sondern die Konvention des Clients – und deshalb belegt ein Projekt ihn oft schon.
23
+
24
+ ### Gemessen
25
+
26
+ Trockenlauf gegen ein reales Projekt, das seit Monaten mit `claude-code` arbeitet und eine eigene
27
+ Anweisungsdatei von rund 34 Kilobyte führt, versioniert:
28
+
29
+ ```text
30
+ Framework 0.28.0
31
+ Client: claude-code
32
+ Modus: install (dry-run, es wird nichts geschrieben)
33
+
34
+ Angelegt (77): …
35
+ Core aktualisiert (1):
36
+ CLAUDE.md
37
+
38
+ Zusammenfassung: 77 angelegt, 1 aktualisiert, 0 unveraendert, 0 Projektdateien behalten.
39
+ ```
40
+
41
+ **Der erste Befehl des Übernahmeleitfadens hätte die Projektdatei ersetzt.** Ohne Rückfrage, ohne
42
+ Sicherung, und in der Zusammenfassung als „1 aktualisiert" ausgewiesen – ein Wort, das nach Pflege
43
+ klingt und hier Verlust bedeutet.
44
+
45
+ ### Der Leitfaden sagt das Gegenteil
46
+
47
+ `docs/ADOPTION_GUIDE.md` Abschnitt 2, Schritt 3, wörtlich:
48
+
49
+ > Bestehende Projektdateien werden nie überschrieben.
50
+
51
+ Der Satz ist für die Saatdateien richtig – Berechtigungsdatei, Overlay – und für die
52
+ Wurzel-Anweisungsdatei falsch. **Das ist der wiederkehrende Befundtyp dieses Projekts**, diesmal
53
+ an der empfindlichsten Stelle: in dem Satz, auf den sich verlässt, wer das Framework zum ersten Mal
54
+ anfasst.
55
+
56
+ ### Der zweite, größere Teil des Befunds
57
+
58
+ Selbst mit einem Abbruch bleibt die Frage offen, **was mit dem Inhalt geschieht**. Ein Projekt, das
59
+ bereits eine Anweisungsdatei führt, hat dort Projektwissen stehen – Architektur, Befehle,
60
+ Konventionen. Das Framework beansprucht dieselbe Datei für Ebene 1. Wohin der vorhandene Inhalt
61
+ gehört, steht **nirgends**: Weder Leitfaden noch Checkliste kennen den Fall.
62
+
63
+ Nach der Ebenenlehre gehört er in das Overlay (Ebene 4) und, soweit er Regeln enthält, in eine
64
+ `2N-overlay-*`-Regeldatei. Das ist ableitbar – aber ableiten muss es heute jeder selbst, im
65
+ ungünstigsten Moment.
66
+
67
+ ## 2. Vorgeschlagene Änderung
68
+
69
+ 1. **Die Erstinstallation überschreibt keine vorhandene Core-Datei.** Weicht eine vorhandene Datei
70
+ ab, bricht `install` ab, nennt sie und den Weg. Für `--update` bleibt es beim Überschreiben –
71
+ das ist sein Zweck, und das Pack ist dort bereits installiert.
72
+
73
+ 2. **Der Abbruchtext nennt die Entscheidung, nicht nur den Fehler:** welche Datei betroffen ist,
74
+ dass das Framework diesen Pfad beansprucht, dass der vorhandene Inhalt ins Overlay gehört, und
75
+ dass `--update` der Weg ist, wenn die Datei aus einer früheren Installation stammt.
76
+
77
+ 3. **Der Leitfaden bekommt den Fall.** Abschnitt 1 stellt richtig, für welche Dateien die Zusage
78
+ gilt. Abschnitt 2 erhält einen Schritt „Vorhandene Anweisungsdatei übernehmen": Inhalt sichten,
79
+ Projektwissen ins Overlay, Regeln in eine `2N-overlay-*`-Datei, danach installieren.
80
+
81
+ 4. **Wirkungsnachweis nach D-23:** Eine Sonde legt eine fremde Datei unter dem Namen der
82
+ Wurzel-Anweisungsdatei an und belegt, dass die Erstinstallation abbricht **und die Datei
83
+ unverändert lässt**. Gegenprobe: Dieselbe Installation in ein leeres Verzeichnis läuft durch.
84
+
85
+ ## 3. Was dieser Antrag nicht ändert
86
+
87
+ - **`--update` bleibt, wie es ist.** Wer aktualisiert, will die Core-Dateien auf dem Stand des
88
+ Releases haben; genau dafür ist der Modus da.
89
+ - **Die Saatdateien bleiben unberührt.** Berechtigungsdatei und Overlay gehören nach der
90
+ Erstinstallation dem Projekt und werden ohnehin nie überschrieben.
91
+ - **Es wird nichts zusammengeführt.** Das Skript sichtet keinen Inhalt und schlägt keine
92
+ Übernahme vor – das ist Arbeit für Menschen, und der Leitfaden sagt künftig, wie sie geht.
93
+
94
+ ## 4. Prüffragen
95
+
96
+ - [x] Richtige Ebene: Kern – `install.py` und der Übernahmeleitfaden.
97
+ - [x] Verschärfungsprinzip: Der Antrag verschärft; ein Lauf, der bisher stillschweigend
98
+ überschrieb, bricht künftig ab.
99
+ - [x] Widerspruchsfreiheit: D-45 gelesen – dieselbe Bauart, dieselbe Antwort: abbrechen statt
100
+ stillschweigend das Falsche tun.
101
+ - [x] Laufzeitfassungen: nicht betroffen.
102
+ - [x] Belegstatus: **gemessen** im Trockenlauf gegen ein reales Projekt.
103
+ - [ ] Test- und Validierungsbedarf: **neue Sonde nach D-23** samt Gegenprobe.
104
+ - [x] Overlays: nicht betroffen; der Migrationsweg führt Inhalt **in** ein Overlay.
105
+ - [ ] Dokumentation: CHANGELOG, `ADOPTION_GUIDE.md`, `10-project-adoption.md`.
106
+
107
+ ## 5. Vorlage zur Entscheidung
108
+
109
+ | Nr. | Frage | Auflösung | Preis |
110
+ |---|---|---|---|
111
+ | E1 | Abbrechen oder nur warnen? | **Abbrechen.** Dieselbe Frage wie bei D-45, dieselbe Antwort: Eine Warnung in achtzig Zeilen Ausgabe übersieht man, und der Schaden ist hier nicht rückholbar, wenn die Datei nicht versioniert war | Ein Projekt, das die Installation wiederholt, bekommt einen Abbruch statt eines Durchlaufs. Der Text muss deshalb sagen, dass `--update` der richtige Modus ist |
112
+ | E2 | Woran wird „fremd" erkannt – an der Herkunft der Datei oder am Modus? | **Am Modus.** Bei der Erstinstallation ist jede abweichende Core-Datei fremd, denn das Framework hat dort noch nie geschrieben. Eine Herkunftserkennung über den Kopfkommentar wäre feiner – und würde bei `.example`- und JSON-Artefakten versagen, die keinen tragen | Wer nach einer abgebrochenen Erstinstallation erneut `install` ruft, wird abgewiesen, obwohl die Dateien aus dem eigenen Lauf stammen. Der Weg ist `--update`; der Abbruchtext nennt ihn |
113
+ | E3 | Gilt der Schutz für alle Core-Pfade oder nur für die Wurzel-Anweisungsdatei? | **Für alle.** Sie ist der wahrscheinliche Kollisionsfall, aber nicht der einzige: Auch die Laufzeit-README oder eine `.example`-Datei kann im Projekt schon existieren | Etwas mehr Reibung bei einer Erstinstallation in ein gewachsenes Projekt. Das ist der Punkt |
114
+ | E4 | Den Übernahmeweg für vorhandene Inhalte in den Leitfaden aufnehmen? | **Ja, als eigener Schritt.** Ohne ihn ist der Abbruch eine Sackgasse: Er sagt, was nicht geht, und nicht, was zu tun ist. Projektwissen ins Overlay, Regeln in eine `2N-overlay-*`-Datei | Der Leitfaden wird länger an einer Stelle, die kurz sein sollte. Dafür beantwortet er die erste Frage, die ein reales Projekt stellt |
115
+ | E5 | Wie wird die Wirkung nachgewiesen? | **Sonde mit doppelter Bedingung:** Der Lauf bricht ab **und** die fremde Datei ist hinterher unverändert. Die zweite ist die eigentliche – ein Abbruch nach dem Schreiben wäre wertlos | Die Sonde braucht eine Installation, kein Repositorium. Der Aufbau dafür steht seit 0.28.0 |
116
+
117
+ ## 6. Entscheidung
118
+
119
+ | Feld | Inhalt |
120
+ |---|---|
121
+ | Entscheidung | **Angenommen, alle fünf Fragen wie vorgelegt.** E1 abbrechen statt warnen; E2 unterschieden wird am Modus, nicht an der Herkunft der Datei; E3 der Schutz gilt für alle Core-Pfade; E4 der Übernahmeweg kommt als Schritt 3a in den Leitfaden; E5 Sonde mit doppelter Bedingung |
122
+ | Datum | 2026-09-12 |
123
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
124
+ | Auflagen | **Der Abbruch muss vor dem ersten Schreibvorgang stehen**, nicht während der Schleife – ein Abbruch nach der Hälfte der Dateien wäre schlimmer als keiner. Nachgewiesen über die dritte Bedingung der Sonde: Nach dem Abbruch existiert die Laufzeitschicht **nicht**. **Der Abbruchtext muss den Weg nennen**, sonst ist er eine Sackgasse. **Der ungelöste Fall eines fremden Agenten-Frameworks ist im Leitfaden ausdrücklich als ungelöst auszuweisen** (K-31), nicht zu verschweigen |
125
+ | Umsetzung | umgesetzt mit `0.29.0` |
@@ -0,0 +1,133 @@
1
+ # Änderungsantrag `CR-2026-047`
2
+
3
+ | Feld | Inhalt |
4
+ |---|---|
5
+ | Titel | Datei-, Such- und Netzsperren werden weiter zugesagt, als sie reichen – die Zusagen gehören nach Zugriffskanal aufgeteilt |
6
+ | Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
7
+ | Datum | 2026-09-12 |
8
+ | Betroffene Artefakte | `clients/claude-code/CLIENT_PACK.md` (B3, B4, B5, B8, `permissions_note` im Manifest), `clients/devin-desktop/CLIENT_PACK.md` (B3, B4, B5, B8), `clients/*/manifest.json` (`hook_tools`, `permission_tools`), `tests/scripts/hook-check-secrets.py` (Kommentar vor `PROTECTED_WRITE_PATH_PATTERNS`; bei Annahme von E3 auch die Prüflogik), `tests/scripts/probe-pruefungen.py` (bei Annahme von E3) |
9
+ | Ebene laut Entscheidungsbaum 6 | Client Pack – Fähigkeitsmatrix und Abbildung; der Kern bleibt unberührt |
10
+ | Art | Befund **B04** des unabhängigen Reviews vom 2026-09-12, P1; **gegengeprüft und gemessen** |
11
+ | Dringlichkeit | **vor der weiteren Nutzung im Pilotprojekt** – dort laufen echte Daten, und B3 bis B5 sind Kernzusagen nach D-41 |
12
+
13
+ ## 1. Anlass und Problem
14
+
15
+ Vier Zeilen der Fähigkeitsmatrizen sagen einen Schutz pauschal und `[TECHNISCH]` zu:
16
+
17
+ - **B3** Secret-Dateien per Pfadmuster lesegeschützt (Kernzusage)
18
+ - **B4** Framework- und Overlay-Artefakte schreibgeschützt (Kernzusage)
19
+ - **B5** CI-, Quality-Gate- und Lockdateien schreibgeschützt (Kernzusage)
20
+ - **B8** Netzwerkzugriff standardmäßig unterbunden
21
+
22
+ **Keine dieser Zusagen gilt für alle Zugriffskanäle.** Sie gelten für die Kanäle, an denen sie
23
+ entstanden sind – direktes Lesen und direktes Schreiben –, und dort sind sie mehrfach gemessen.
24
+ Für Shell, Unterprozess und Suche gelten sie nicht.
25
+
26
+ ### Gemessen, nicht nur gelesen
27
+
28
+ `tests/protocols/2026-09-12-B04-B05-gegenpruefung.md`: vierzehn synthetische Werkzeugeingaben
29
+ gegen den ausgelieferten Schutz-Hook, davon drei Positivkontrollen, dazu vier Abbildungsläufe
30
+ gegen `clientmap.py` für beide Packs. **Keine Abweichung vom Bericht des Reviews.**
31
+
32
+ | Kanal | B3 Lesesperre | B4/B5 Schreibsperre | B8 Netzsperre |
33
+ |---|---|---|---|
34
+ | direktes Lesen | **wirkt** | – | – |
35
+ | direktes Schreiben | – | **wirkt** | – |
36
+ | Shell | **wirkt** (Tokenisierung) | **fällt aus** | **teilweise** – vier Programme gesperrt |
37
+ | Unterprozess | nicht geprüft | **fällt aus** – der Befehlstext nennt den Pfad nicht | **fällt aus** |
38
+ | Suche | **fällt aus** | nicht anwendbar | – |
39
+ | Abrufwerkzeuge | – | – | **wirkt** |
40
+
41
+ ### Die Kette reißt zwischen zwei Schichten, die aufeinander zeigen
42
+
43
+ Der Schutz-Hook prüft das Schreibverbot auf das Kernverzeichnis nur für schreibende Werkzeuge.
44
+ Der Kommentar darüber begründet das ausdrücklich: „bei exec trägt die deny-Regel der
45
+ Berechtigungsdatei". **Die Berechtigungsdatei enthält für `exec` keine einzige Pfadregel** – 21
46
+ Verweigerungen, sämtlich Befehlsverbote (`git push`, `rm -rf`, `sudo`, `curl`, `wget`, …).
47
+ Umgekehrt verlässt sich die Berechtigungsdatei für Shell-Schreibwege auf den Hook. Was den
48
+ Shell-Schreibweg in den Kern tatsächlich aufhält, ist die Regelschicht – also Modellverhalten,
49
+ und damit `[TEXTUELL]`.
50
+
51
+ Das ist der wiederkehrende Befundtyp dieses Projekts, diesmal als **Verweis zwischen zwei
52
+ Schichten, die beide auf die andere zeigen**.
53
+
54
+ ### Der Suchkanal ist nicht bloß unbewacht, er ist derzeit nicht bewachbar
55
+
56
+ `permission_tools.search` ist bei **beiden** Packs die leere Liste, und `hook_tools` kennt kein
57
+ Suchverb. Eine synthetische Regel `{"tool": "search", "pattern": "**/.env"}` bricht deshalb in
58
+ `clientmap._regel_rendern()` bei beiden Packs mit `AbbildungsFehler` ab – „das wäre eine
59
+ Lockerung".
60
+
61
+ **Das Verhalten der Abbildung ist richtig** und genau das, was D-18 verlangt. Die Folge ist
62
+ trotzdem hart: Solange kein Suchwerkzeug im Manifest steht, kann niemand eine Suchsperre
63
+ aussprechen. **Das berührt D-30 unmittelbar** – dort ist entschieden, dass Secret-Pfade auch
64
+ gegen lesende Werkzeuge durchgesetzt werden. Für das Suchwerkzeug ist das nicht eingelöst;
65
+ dieselbe Lücke wie `AP2-DD-11`, ein Werkzeug weiter.
66
+
67
+ Nebenbefund: Der `permissions_note` des Packs `claude-code` sagt weiterhin, `search` bilde „auf
68
+ Grep" ab. Das beschreibt einen Stand, den das Manifest seit `CR-2026-016` nicht mehr trägt.
69
+
70
+ ## 2. Vorgeschlagene Änderung
71
+
72
+ 1. **Die Zeilen B3, B4, B5 und B8 beider Packs werden nach Zugriffskanal aufgeteilt.** Je Kanal
73
+ steht eine der drei Angaben: **wirkt** (mit Beleg), **nicht nachgewiesen**, **nicht
74
+ verfügbar**. Die Einstufung `[TECHNISCH]` gilt nur noch für die Kanäle, für die sie gemessen
75
+ ist; die übrigen tragen `[TEXTUELL]` mit Nennung der tragenden Regelstelle.
76
+ 2. **Die bereits gemessenen Sperren werden ausdrücklich anerkannt**, nicht nur die Lücken
77
+ benannt. B3 gegen das Lesewerkzeug und gegen den Shell-Befehl hält auch im untersagten
78
+ Betriebsmodus – das ist am 2026-09-12 in drei Läufen mit Kontrolllauf belegt.
79
+ 3. **Der Kommentar im Schutz-Hook wird berichtigt.** Er darf keine Sperre als Träger benennen,
80
+ die die Berechtigungsdatei nicht enthält.
81
+ 4. **Der `permissions_note` des Packs `claude-code` wird berichtigt** – `search` bildet auf
82
+ nichts ab, und der Grund dafür (`AP2-CC-02`) gehört in denselben Satz.
83
+ 5. **Keine Ausweitung der Befehlsverbote.** Das Review warnt ausdrücklich davor, die Sperre auf
84
+ immer mehr Shell-Schreibweisen auszudehnen und daraus Vollständigkeit abzuleiten. Der Antrag
85
+ folgt dem.
86
+
87
+ ## 3. Was dieser Antrag nicht ändert
88
+
89
+ - **Er baut keine technische Durchsetzung für Shell und Unterprozess.** Dafür braucht es eine
90
+ Isolationsschicht des Betriebssystems; ihre Verfügbarkeit unter Windows ist unerhoben (das
91
+ Review nennt macOS, Linux und WSL2). Das ist Paket 6 und braucht eine eigene Erhebung.
92
+ - **Er ändert nichts an den Regeltexten.** Die Regelschicht wirkt; sie wirkt nur `[TEXTUELL]`.
93
+ - **Er entscheidet B06 nicht mit** (Eingabeschema und Pfadidentität des Hooks). B06 härtet den
94
+ Hook; dieser Antrag korrigiert, was über ihn behauptet wird.
95
+ - **Er berührt M4/M5 nicht** – das ist `CR-2026-048`.
96
+
97
+ ## 4. Prüffragen
98
+
99
+ - [x] Richtige Ebene: Client Pack. Die Zusage ist werkzeugneutral, ihre Reichweite ist es nicht.
100
+ - [x] Verschärfungsprinzip: Der Antrag lockert keine Regel. Er senkt eine **Einstufung** auf den
101
+ gemessenen Stand – das ist keine Lockerung des Schutzes, sondern das Ende einer
102
+ unzutreffenden Behauptung über ihn.
103
+ - [x] Widerspruchsfreiheit: D-18 (keine stille Lockerung in der Abbildung), D-30 (Secret-Pfade
104
+ auch gegen lesende Werkzeuge), D-35 (`[TECHNISCH]` ist betriebsmodusabhängig), D-41
105
+ (Kernzusage) gelesen. **D-30 ist für den Suchkanal nicht eingelöst** – siehe E3.
106
+ - [x] Laufzeitfassungen: bei E3 „nur Ausweis" nicht betroffen; bei E3 „Hook-Eintrag" ist die
107
+ Hook-Konfiguration beider Packs betroffen und in beiden zu synchronisieren.
108
+ - [x] Belegstatus: **gemessen**, vierzehn Läufe mit drei Positivkontrollen.
109
+ - [ ] Test- und Validierungsbedarf: bei E3 „Hook-Eintrag" **neue Sonde und Gegenprobe nach
110
+ D-23**, je Pack. Der reine Ausweis ist eine Textkorrektur ohne neue Prüfung.
111
+ - [x] Overlays: nicht betroffen. Kein Projekt fällt durch diese Änderung durch.
112
+ - [ ] Dokumentation: CHANGELOG, Decision Log, `docs/ROADMAP.md` (Paket 3).
113
+
114
+ ## 5. Vorlage zur Entscheidung
115
+
116
+ | Nr. | Frage | Auflösung | Preis |
117
+ |---|---|---|---|
118
+ | E1 | Aufteilung je Kanal **in der Matrixzeile** oder als Vorbemerkung je Block? | **In der Zeile.** Die Vorbemerkung trägt bereits zwei Bedingungen (Betriebsmodus nach D-35, und der Startort steht noch aus). Eine dritte macht sie zur Fußnotensammlung, und wer eine Zeile liest, liest die Vorbemerkung nicht | Die vier Zeilen werden deutlich länger. Die Matrix verliert an Überblick, was sie an Ehrlichkeit gewinnt |
119
+ | E2 | Welche Einstufung tragen Shell und Unterprozess bei B4/B5 künftig? | **`[TEXTUELL]`**, nicht `[NICHT ABBILDBAR]`. Eine Regel existiert und wirkt – über das Modellverhalten. `[NICHT ABBILDBAR]` hieße, es gebe nichts, und würde zudem nach Prüfung 25 einen benannten Ersatz verlangen, den es in Gestalt der Regelschicht gerade gibt | **B4 und B5 sind Kernzusagen** (`core: true`). Eine Kernzusage, die für einen Kanal nur noch `[TEXTUELL]` ist, ist eine ernste Aussage über das Framework – und genau deshalb gehört sie vorgelegt und nicht redaktionell entschieden |
120
+ | E3 | **Der Suchkanal: nur ausweisen, oder schließen?** | **Vorschlag: Hook-Eintrag ja, Berechtigungsregel nein.** Ein `hook_tools`-Suchverb schließt die Lücke echt – der Hook misst das Suchwerkzeug dann wie ein lesendes an den Secret-Pfaden und löst D-30 ein. Eine Pfadregel in der Berechtigungsdatei brächte bei `claude-code` dagegen nichts: Dieser Client wertet Pfadregeln nur für zwei Werkzeuge aus, alles andere wird angenommen, nie konsultiert und beim Sitzungsstart als Warnung gemeldet (`AP2-CC-02`). Genau solche Regeln hat `CR-2026-016` entfernt | **Das ist Code, nicht Text** – und damit die einzige Stelle, an der dieser Antrag über eine Korrektur hinausgeht. Er braucht eine Sonde und eine Gegenprobe je Pack (D-23) und ist damit spürbar teurer. **Die Gegenposition ist vertretbar:** den Kanal nur ausweisen und das Schließen zu B06 in Paket 6 legen. Dann bleibt eine Kernzusage für einen Kanal offen, der gemessen offen ist |
121
+ | E4 | B8: die Befehlsliste um weitere Netzprogramme ergänzen? | **Nein.** Jedes ergänzte Programm suggeriert Vollständigkeit, die es nicht gibt – `python`, `node`, `git`, die Bordmittel der Shell und jedes selbst geschriebene Skript bleiben. Das Review warnt davor ausdrücklich | B8 sinkt für den Shell-Kanal auf `[TEXTUELL]` und bleibt dort, bis eine Isolationsschicht erhoben ist. Wer eine vollständige Netzsperre braucht, betreibt den Agenten ohne automatische Befehlsausführung |
122
+ | E5 | Die Betriebssystem-Sandbox jetzt erheben? | **Nein, nicht in diesem Antrag.** Sie ist der einzige Weg zu einer echten Zusage für Shell und Unterprozess, aber ihre Reichweite unter Windows ist unbekannt, und eine ungemessene Sandbox-Empfehlung wäre derselbe Fehler eine Ebene höher | Die technische Durchsetzung bleibt offen und wandert als eigener Gegenstand nach Paket 6. Der Antrag macht die Lage ehrlich, nicht sicher |
123
+ | E6 | Wie wird die Wirkung nachgewiesen? | **Der Ausweis ist eine Textkorrektur und braucht keine Sonde** – er behauptet keine Prüfung. **Wird E3 mit „Hook-Eintrag" entschieden, gilt D-23 voll:** eine Sonde je Pack, die ein Suchwerkzeug auf einen Secret-Pfad schickt, plus Gegenprobe | Ohne E3 bleibt dieser Antrag ohne neuen Wirkungsnachweis – ungewohnt für dieses Projekt, aber richtig: Eine Prüfung, die nichts prüft, wäre schlechter als keine |
124
+
125
+ ## 6. Entscheidung
126
+
127
+ | Feld | Inhalt |
128
+ |---|---|
129
+ | Entscheidung | **Angenommen, alle sechs Fragen wie vorgelegt.** E1 die Aufteilung steht in der Matrixzeile; E2 Shell und Unterprozess tragen bei B4/B5 `[TEXTUELL]`; E3 **der Suchkanal wird geschlossen – Hook-Eintrag ja, Berechtigungsregel nein**; E4 die Befehlsliste von B8 wird nicht verlängert; E5 die Betriebssystem-Sandbox bleibt einer eigenen Erhebung; E6 der Ausweis braucht keine Sonde, der Hook-Eintrag schon |
130
+ | Datum | 2026-09-12 |
131
+ | Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
132
+ | Auflagen | **E3 war die einzige Frage, die über eine Textkorrektur hinausgeht, und sie hat eine zweite aufgeworfen:** Ein Pack ohne Suchwerkzeug kann keines abbilden, und eine leere Liste galt bisher als Abbildungsfehler. Die Abwesenheit wird deshalb **deklariert statt erraten** – `hook_tools_absent` im Manifest, mit Begleitsatz. Weil das ein Schlupfloch wäre, wenn jemand dort `write` einträge, prüft **Prüfung 26** beides: dass ein so erklärtes Verb auch in `permission_tools` leer ist und dass der Begleitsatz existiert. **Nachgewiesen:** zwei Sonden und eine Gegenprobe für Prüfung 26, zwei Sonden und zwei Gegenproben für den Suchkanal am Hook. **Die Gegenproben sind hier der wichtigere Teil** – ein Hook, der jede Suche blockiert, bestünde jede Sonde und machte das Suchwerkzeug unbenutzbar. **Offen bleibt E5:** Die technische Durchsetzung für Shell und Unterprozess braucht eine Isolationsschicht des Betriebssystems und ist unerhoben; sie steht als eigener Gegenstand in Paket 6 |
133
+ | Umsetzung | umgesetzt mit `0.30.0` |