@renoxar/koolie 1.25.0 → 2.0.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 (232) hide show
  1. package/.github/workflows/publish.yml +177 -0
  2. package/.koolie/QUELLREPOSITORIUM.md +9 -14
  3. package/.koolie/core/CHANGELOG.md +59 -0
  4. package/.koolie/core/LICENSE-HINWEIS.md +5 -6
  5. package/.koolie/core/OWNERS.md +2 -2
  6. package/.koolie/core/VERSION +1 -1
  7. package/.koolie/core/build/doc/00-kopf.md +6 -6
  8. package/.koolie/core/build/doc/01-executive-summary.md +8 -8
  9. package/.koolie/core/build/doc/03-ziele-nichtziele.md +2 -2
  10. package/.koolie/core/build/doc/04-geltungsbereich.md +4 -4
  11. package/.koolie/core/build/doc/05-glossar.md +3 -3
  12. package/.koolie/core/build/doc/07-architektur.md +2 -2
  13. package/.koolie/core/build/doc/07a-abbildungsschicht.md +9 -9
  14. package/.koolie/core/build/doc/08-trennung.md +3 -3
  15. package/.koolie/core/build/doc/09-betriebsmodi.md +8 -8
  16. package/.koolie/core/build/doc/15-referenzstruktur.md +56 -27
  17. package/.koolie/core/build/doc/16-agentenanweisung.md +2 -2
  18. package/.koolie/core/build/doc/20-referenz-skills.md +46 -46
  19. package/.koolie/core/build/doc/25-governance.md +9 -1
  20. package/.koolie/core/build/doc/26-qs-test.md +32 -3
  21. package/.koolie/core/build/doc/27-pilot.md +2 -2
  22. package/.koolie/core/build/doc/28-uebernahme.md +9 -1
  23. package/.koolie/core/build/doc/30-roadmap.md +3 -1
  24. package/.koolie/core/build/doc/31-anhaenge.md +1 -1
  25. package/.koolie/core/checklists/01-preflight.md +3 -3
  26. package/.koolie/core/checklists/02-privacy-context.md +1 -1
  27. package/.koolie/core/checklists/03-before-code-change.md +2 -2
  28. package/.koolie/core/checklists/04-review-ai-code.md +1 -1
  29. package/.koolie/core/checklists/05-testing.md +1 -1
  30. package/.koolie/core/checklists/06-security.md +1 -1
  31. package/.koolie/core/checklists/08-merge-request.md +1 -1
  32. package/.koolie/core/checklists/09-onboarding.md +2 -2
  33. package/.koolie/core/checklists/10-project-adoption.md +8 -8
  34. package/.koolie/core/checklists/11-framework-release.md +14 -14
  35. package/.koolie/core/clientmap.py +2 -2
  36. package/.koolie/core/clients/README.md +54 -52
  37. package/.koolie/core/clients/_template/CLIENT_PACK.md +19 -19
  38. package/.koolie/core/clients/claude-code/CLIENT_PACK.md +108 -164
  39. package/.koolie/core/clients/claude-code/manifest.json +5 -5
  40. package/.koolie/core/clients/claude-code/root-template/.claude/README.md +9 -9
  41. package/.koolie/core/clients/cursor/CLIENT_PACK.md +66 -60
  42. package/.koolie/core/clients/cursor/manifest.json +3 -3
  43. package/.koolie/core/clients/cursor/root-template/.cursor/README.md +3 -3
  44. package/.koolie/core/clients/devin-desktop/CLIENT_PACK.md +62 -64
  45. package/.koolie/core/clients/devin-desktop/manifest.json +5 -5
  46. package/.koolie/core/clients/devin-desktop/root-template/.devin/README.md +9 -9
  47. package/.koolie/core/clients/kiro/CLIENT_PACK.md +55 -48
  48. package/.koolie/core/clients/kiro/manifest.json +4 -4
  49. package/.koolie/core/clients/kiro/root-template/.kiro/README.md +3 -3
  50. package/.koolie/core/clients/openai-codex/CLIENT_PACK.md +98 -103
  51. package/.koolie/core/clients/openai-codex/manifest.json +3 -3
  52. package/.koolie/core/clients/openai-codex/root-template/.codex/README.md +2 -2
  53. package/.koolie/core/decision-trees/02-may-ai-do-task.md +2 -2
  54. package/.koolie/core/decision-trees/03-analyze-or-modify.md +12 -12
  55. package/.koolie/core/decision-trees/04-required-review.md +1 -1
  56. package/.koolie/core/docs/ADOPTION_GUIDE.md +281 -385
  57. package/.koolie/core/docs/DOCUMENTATION_STANDARD.md +44 -36
  58. package/.koolie/core/docs/PLACEHOLDER_REGISTRY.md +8 -8
  59. package/.koolie/core/docs/ROADMAP.md +34 -17
  60. package/.koolie/core/docs/RUNTIME_GLOSSARY.md +34 -35
  61. package/.koolie/core/examples/example-ergebnisbericht.md +1 -1
  62. package/.koolie/core/examples/example-mr-description.md +2 -2
  63. package/.koolie/core/framework/core/00-principles.md +1 -1
  64. package/.koolie/core/framework/core/01-governance.md +8 -8
  65. package/.koolie/core/framework/core/02-privacy.md +12 -12
  66. package/.koolie/core/framework/core/03-security.md +13 -11
  67. package/.koolie/core/framework/core/05-working-model.md +22 -22
  68. package/.koolie/core/framework/core/06-prompting-rules.md +5 -5
  69. package/.koolie/core/framework/core/07-review-rules.md +1 -1
  70. package/.koolie/core/framework/core/08-skill-conventions.md +11 -11
  71. package/.koolie/core/framework/core/09-risk-model.md +6 -6
  72. package/.koolie/core/framework/core/10-error-escalation.md +1 -1
  73. package/.koolie/core/framework/org-policies/MAPPING_CLASSIFICATION.md +1 -1
  74. package/.koolie/core/framework/overlay-patterns/general.md +63 -75
  75. package/.koolie/core/framework/role-packs/README.md +16 -28
  76. package/.koolie/core/framework/role-packs/_template/ROLE_PACK.md +3 -3
  77. package/.koolie/core/framework/role-packs/requirements-engineering/ROLE_PACK.md +23 -22
  78. package/.koolie/core/framework/role-packs/requirements-engineering/runtime/30-role-requirements-engineering.md +5 -5
  79. package/.koolie/core/framework/role-packs/requirements-engineering/skills/{role-re-ticket → koolie-ticket}/CHANGELOG.md +2 -1
  80. package/.koolie/core/framework/role-packs/requirements-engineering/skills/{role-re-ticket → koolie-ticket}/EXAMPLES.md +5 -5
  81. package/.koolie/core/framework/role-packs/requirements-engineering/skills/{role-re-ticket → koolie-ticket}/SKILL.md +9 -9
  82. package/.koolie/core/framework/role-packs/requirements-engineering/skills/koolie-ticket/TESTS.md +22 -0
  83. package/.koolie/core/framework/role-packs/software-development/ROLE_PACK.md +16 -16
  84. package/.koolie/core/framework/role-packs/software-development/runtime/30-role-software-development.md +1 -1
  85. package/.koolie/core/framework/runtime/agents/{fw-reviewer.md → koolie-reviewer.md} +2 -2
  86. package/.koolie/core/framework/runtime/permissions.json +13 -13
  87. package/.koolie/core/framework/runtime/root-instruction.md +5 -5
  88. package/.koolie/core/framework/runtime/rules/10-privacy-security.md +2 -2
  89. package/.koolie/core/framework/runtime/rules/15-development-rules.md +1 -1
  90. package/.koolie/core/framework/runtime/rules/16-plan-spezifikation.md +1 -1
  91. package/.koolie/core/framework/runtime/rules/20-project-overlay.md +2 -2
  92. package/.koolie/core/framework/skills/{fw-bugfix-prepare → koolie-bugfix-prepare}/CHANGELOG.md +2 -1
  93. package/.koolie/core/framework/skills/{fw-bugfix-prepare → koolie-bugfix-prepare}/EXAMPLES.md +8 -8
  94. package/.koolie/core/framework/skills/{fw-bugfix-prepare → koolie-bugfix-prepare}/SKILL.md +21 -21
  95. package/.koolie/core/framework/skills/koolie-bugfix-prepare/TESTS.md +15 -0
  96. package/.koolie/core/framework/skills/{fw-change-analyze → koolie-change-analyze}/CHANGELOG.md +2 -1
  97. package/.koolie/core/framework/skills/{fw-change-analyze → koolie-change-analyze}/EXAMPLES.md +6 -6
  98. package/.koolie/core/framework/skills/{fw-change-analyze → koolie-change-analyze}/SKILL.md +12 -12
  99. package/.koolie/core/framework/skills/koolie-change-analyze/TESTS.md +16 -0
  100. package/.koolie/core/framework/skills/{fw-change-small → koolie-change-small}/CHANGELOG.md +2 -1
  101. package/.koolie/core/framework/skills/{fw-change-small → koolie-change-small}/EXAMPLES.md +4 -4
  102. package/.koolie/core/framework/skills/{fw-change-small → koolie-change-small}/SKILL.md +15 -15
  103. package/.koolie/core/framework/skills/koolie-change-small/TESTS.md +13 -0
  104. package/.koolie/core/framework/skills/{fw-code-explain → koolie-code-explain}/CHANGELOG.md +2 -1
  105. package/.koolie/core/framework/skills/{fw-code-explain → koolie-code-explain}/EXAMPLES.md +4 -4
  106. package/.koolie/core/framework/skills/{fw-code-explain → koolie-code-explain}/SKILL.md +10 -10
  107. package/.koolie/core/framework/skills/koolie-code-explain/TESTS.md +11 -0
  108. package/.koolie/core/framework/skills/{fw-docs-update → koolie-docs-update}/CHANGELOG.md +2 -1
  109. package/.koolie/core/framework/skills/{fw-docs-update → koolie-docs-update}/EXAMPLES.md +3 -3
  110. package/.koolie/core/framework/skills/{fw-docs-update → koolie-docs-update}/SKILL.md +8 -8
  111. package/.koolie/core/framework/skills/koolie-docs-update/TESTS.md +12 -0
  112. package/.koolie/core/framework/skills/{fw-error-analyze → koolie-error-analyze}/CHANGELOG.md +2 -1
  113. package/.koolie/core/framework/skills/{fw-error-analyze → koolie-error-analyze}/EXAMPLES.md +6 -6
  114. package/.koolie/core/framework/skills/{fw-error-analyze → koolie-error-analyze}/SKILL.md +15 -15
  115. package/.koolie/core/framework/skills/koolie-error-analyze/TESTS.md +12 -0
  116. package/.koolie/core/framework/skills/{fw-mr-description → koolie-mr-description}/CHANGELOG.md +2 -1
  117. package/.koolie/core/framework/skills/{fw-mr-description → koolie-mr-description}/EXAMPLES.md +6 -6
  118. package/.koolie/core/framework/skills/{fw-mr-description → koolie-mr-description}/SKILL.md +8 -8
  119. package/.koolie/core/framework/skills/koolie-mr-description/TESTS.md +12 -0
  120. package/.koolie/core/framework/skills/{fw-overlay-pflege → koolie-overlay-pflege}/CHANGELOG.md +2 -1
  121. package/.koolie/core/framework/skills/{fw-overlay-pflege → koolie-overlay-pflege}/EXAMPLES.md +4 -4
  122. package/.koolie/core/framework/skills/{fw-overlay-pflege → koolie-overlay-pflege}/SKILL.md +8 -8
  123. package/.koolie/core/framework/skills/koolie-overlay-pflege/TESTS.md +13 -0
  124. package/.koolie/core/framework/skills/{fw-plan → koolie-plan}/CHANGELOG.md +2 -1
  125. package/.koolie/core/framework/skills/{fw-plan → koolie-plan}/EXAMPLES.md +7 -7
  126. package/.koolie/core/framework/skills/{fw-plan → koolie-plan}/SKILL.md +14 -14
  127. package/.koolie/core/framework/skills/koolie-plan/TESTS.md +14 -0
  128. package/.koolie/core/framework/skills/{fw-refactor → koolie-refactor}/CHANGELOG.md +2 -1
  129. package/.koolie/core/framework/skills/{fw-refactor → koolie-refactor}/EXAMPLES.md +4 -4
  130. package/.koolie/core/framework/skills/{fw-refactor → koolie-refactor}/SKILL.md +12 -12
  131. package/.koolie/core/framework/skills/koolie-refactor/TESTS.md +14 -0
  132. package/.koolie/core/framework/skills/{fw-repo-analyze → koolie-repo-analyze}/CHANGELOG.md +2 -1
  133. package/.koolie/core/framework/skills/{fw-repo-analyze → koolie-repo-analyze}/EXAMPLES.md +4 -4
  134. package/.koolie/core/framework/skills/{fw-repo-analyze → koolie-repo-analyze}/SKILL.md +8 -8
  135. package/.koolie/core/framework/skills/koolie-repo-analyze/TESTS.md +11 -0
  136. package/.koolie/core/framework/skills/{fw-review-support → koolie-review-support}/CHANGELOG.md +2 -1
  137. package/.koolie/core/framework/skills/{fw-review-support → koolie-review-support}/EXAMPLES.md +3 -3
  138. package/.koolie/core/framework/skills/{fw-review-support → koolie-review-support}/SKILL.md +7 -7
  139. package/.koolie/core/framework/skills/koolie-review-support/TESTS.md +13 -0
  140. package/.koolie/core/framework/skills/{fw-tests → koolie-tests}/CHANGELOG.md +2 -1
  141. package/.koolie/core/framework/skills/{fw-tests → koolie-tests}/EXAMPLES.md +5 -5
  142. package/.koolie/core/framework/skills/{fw-tests → koolie-tests}/SKILL.md +11 -11
  143. package/.koolie/core/framework/skills/koolie-tests/TESTS.md +12 -0
  144. package/.koolie/core/framework/tech-packs/README.md +2 -2
  145. package/.koolie/core/framework/tech-packs/_template/TECH_PACK.md +2 -2
  146. package/.koolie/core/governance/ADOPTION_REGISTRY.md +22 -58
  147. package/.koolie/core/governance/CHANGE_REQUEST_TEMPLATE.md +1 -1
  148. package/.koolie/core/governance/DECISION_LOG.md +7 -1
  149. package/.koolie/core/governance/EXCEPTION_PROCESS.md +1 -1
  150. package/.koolie/core/governance/FEEDBACK_PROCESS.md +1 -1
  151. package/.koolie/core/governance/FRAMEWORK_DEV_PROFILE.md +64 -66
  152. package/.koolie/core/governance/PRIORITY_HIERARCHY.md +13 -13
  153. package/.koolie/core/governance/RACI.md +3 -3
  154. package/.koolie/core/governance/RELEASE_PROCESS.md +101 -108
  155. package/.koolie/core/governance/change-requests/CR-2026-173-oeffentlicher-auftritt-koolie-praefix.md +67 -0
  156. package/.koolie/core/install.py +99 -0
  157. package/.koolie/core/koexistenz.py +2 -2
  158. package/.koolie/core/onboarding/GUIDE.md +7 -7
  159. package/.koolie/core/onboarding/KNOWLEDGE_CHECK.md +1 -1
  160. package/.koolie/core/onboarding/MENTOR_CHECKLIST.md +3 -3
  161. package/.koolie/core/onboarding/QUICKSTART.md +2 -2
  162. package/.koolie/core/onboarding/REFERENCE.md +14 -14
  163. package/.koolie/core/onboarding/exercises/EXERCISES.md +8 -8
  164. package/.koolie/core/onboarding/exercises/README.md +47 -65
  165. package/.koolie/core/pilot/PILOT_CONCEPT.md +1 -1
  166. package/.koolie/core/prompts/01-understand-codebase.md +11 -7
  167. package/.koolie/core/prompts/02-impact-analysis.md +17 -7
  168. package/.koolie/core/prompts/03-implementation-planning.md +10 -6
  169. package/.koolie/core/prompts/04-code-generation.md +11 -5
  170. package/.koolie/core/prompts/05-test-generation.md +13 -7
  171. package/.koolie/core/prompts/06-refactoring.md +14 -8
  172. package/.koolie/core/prompts/07-debugging.md +13 -11
  173. package/.koolie/core/prompts/08-security-review.md +2 -2
  174. package/.koolie/core/prompts/09-performance-analysis.md +2 -2
  175. package/.koolie/core/prompts/10-documentation.md +6 -4
  176. package/.koolie/core/prompts/11-merge-request-review.md +7 -5
  177. package/.koolie/core/prompts/12-developer-training.md +5 -3
  178. package/.koolie/core/prompts/README.md +17 -15
  179. package/.koolie/core/templates/MR_AI_DISCLOSURE.md +2 -2
  180. package/.koolie/core/templates/PLAN_TEMPLATE.md +2 -2
  181. package/.koolie/core/templates/SKILL_TEMPLATE.md +3 -3
  182. package/.koolie/core/templates/project-overlay/OVERLAY.md +28 -22
  183. package/.koolie/core/templates/project-overlay/documents/architecture/decisions/README.md +1 -1
  184. package/.koolie/core/tests/EDGE_CASES.md +4 -7
  185. package/.koolie/core/tests/TEST_CATALOG.md +33 -33
  186. package/.koolie/core/tests/protocols/2026-10-02-oeffentlicher-auftritt-2.0.0.md +42 -0
  187. package/.koolie/core/tests/scripts/hook-check-secrets.py +2 -2
  188. package/.koolie/core/tests/scripts/hook-overlay-status.py +1 -1
  189. package/.koolie/core/tests/scripts/probe-pruefungen.py +4 -2
  190. package/.koolie/core/tests/scripts/pruefungen/berechtigungen.py +7 -7
  191. package/.koolie/core/tests/scripts/pruefungen/bestand.py +20 -3
  192. package/.koolie/core/tests/scripts/pruefungen/dokumente.py +88 -0
  193. package/.koolie/core/tests/scripts/pruefungen/gemeinsam.py +1 -1
  194. package/.koolie/core/tests/scripts/pruefungen/hooks.py +1 -1
  195. package/.koolie/core/tests/scripts/pruefungen/overlay.py +5 -5
  196. package/.koolie/core/tests/scripts/pruefungen/testkatalog.py +5 -5
  197. package/.koolie/core/tests/scripts/pruefungen/werkzeuge.py +81 -2
  198. package/.koolie/core/tests/scripts/sonden/teil02_packs_mandat_mcp.py +6 -6
  199. package/.koolie/core/tests/scripts/sonden/teil03_pruefungen_26_bis_36.py +11 -11
  200. package/.koolie/core/tests/scripts/sonden/teil04_pruefungen_37_bis_45.py +11 -11
  201. package/.koolie/core/tests/scripts/sonden/teil05_pruefungen_46_bis_55.py +4 -4
  202. package/.koolie/core/tests/scripts/sonden/teil06_pruefungen_57_bis_65.py +33 -33
  203. package/.koolie/core/tests/scripts/sonden/teil07_overlay_und_lieferung.py +3 -3
  204. package/.koolie/core/tests/scripts/sonden/teil08_pruefungen_66_bis_80.py +3 -3
  205. package/.koolie/core/tests/scripts/sonden/teil10_pruefungen_83_bis_95.py +3 -3
  206. package/.koolie/core/tests/scripts/sonden/teil11_pruefungen_104_und_105.py +2 -2
  207. package/.koolie/core/tests/scripts/sonden/teil14_modi_ausnahmen_skills.py +1 -1
  208. package/.koolie/core/tests/scripts/sonden/teil16_koexistenz.py +5 -5
  209. package/.koolie/core/tests/scripts/sonden/teil17_paketquellen.py +33 -0
  210. package/.koolie/core/tests/scripts/sonden/teil19_skillnamen.py +97 -0
  211. package/.koolie/core/tests/scripts/sonden/teil20_kennungen.py +70 -0
  212. package/.koolie/core/tests/scripts/validate-framework.py +15 -6
  213. package/.koolie/core/tests/scripts/validate-output.py +1 -1
  214. package/CONTRIBUTING.md +16 -10
  215. package/QUICKSTART.en.md +44 -51
  216. package/QUICKSTART.md +44 -50
  217. package/package.json +2 -2
  218. package/paketquellen/README.md +11 -11
  219. package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/TESTS.md +0 -22
  220. package/.koolie/core/framework/skills/fw-bugfix-prepare/TESTS.md +0 -15
  221. package/.koolie/core/framework/skills/fw-change-analyze/TESTS.md +0 -16
  222. package/.koolie/core/framework/skills/fw-change-small/TESTS.md +0 -13
  223. package/.koolie/core/framework/skills/fw-code-explain/TESTS.md +0 -11
  224. package/.koolie/core/framework/skills/fw-docs-update/TESTS.md +0 -12
  225. package/.koolie/core/framework/skills/fw-error-analyze/TESTS.md +0 -12
  226. package/.koolie/core/framework/skills/fw-mr-description/TESTS.md +0 -12
  227. package/.koolie/core/framework/skills/fw-overlay-pflege/TESTS.md +0 -13
  228. package/.koolie/core/framework/skills/fw-plan/TESTS.md +0 -14
  229. package/.koolie/core/framework/skills/fw-refactor/TESTS.md +0 -14
  230. package/.koolie/core/framework/skills/fw-repo-analyze/TESTS.md +0 -11
  231. package/.koolie/core/framework/skills/fw-review-support/TESTS.md +0 -13
  232. package/.koolie/core/framework/skills/fw-tests/TESTS.md +0 -12
@@ -4,22 +4,22 @@
4
4
  |---|---|
5
5
  | Modul-ID | `CP-KI` |
6
6
  | Ebene | keine – Abbildungsschicht |
7
- | Version | 0.1.2 |
7
+ | Version | 0.2.0 |
8
8
  | Status | pilot |
9
9
  | Owner (Rolle) | `<FRAMEWORK_OWNER>` |
10
- | Client | Kiro – Kommandozeile (`kiro-cli`) und IDE; der autonome Agent in der Sandbox des Anbieters fällt unter D-10 und nicht unter dieses Pack |
11
- | Verbindliche Zielversion | Kommandozeile `2.24.x` mit der Engine V3; IDE `1.1.x` (D-112). Die Engine V3 ist beim Hersteller eine Vorabversion; die Einstellungsdatei des Packs wählt sie (Abschnitt 1b) |
12
- | Geprüfte Clientversion | Kommandozeile `2.24.1` (Agentenserver KAS `0.66.8`) – vor dem Messen festgeschrieben (D-117). IDE `1.1.70` (Agent-Erweiterung `1.1.158`) installiert, **an keiner Sitzung gemessen**. Konto: Free |
10
+ | Client | Kiro – Kommandozeile (`kiro-cli`) und IDE; der autonome Agent in der Sandbox des Anbieters ist nicht Gegenstand dieses Packs |
11
+ | Verbindliche Zielversion | Kommandozeile `2.24.x` mit der Engine V3; IDE `1.1.x`. Die Engine V3 ist beim Hersteller eine Vorabversion; die Einstellungsdatei des Packs wählt sie (Abschnitt 1b) |
12
+ | Geprüfte Clientversion | Kommandozeile `2.24.1` (Agentenserver KAS `0.66.8`) – vor dem Messen festgeschrieben. IDE `1.1.70` (Agent-Erweiterung `1.1.158`) installiert, **an keiner Sitzung gemessen**. Konto: Free |
13
13
  | Stand der Produktbeobachtung | Quellenliste in Anhang 31.4.4 (`QK-1` bis `QK-9`), abgerufen am 2026-09-26. `FW-AK-01` ist für dieses Pack nicht gefahren |
14
- | Datum der Prüfung | **2026-09-26** – der Bau (`CR-2026-150`, `tests/protocols/2026-09-26-bau-kiro.md`): 23 Vorabmessungen und 16 Abnahmeläufe an realen Installationen, davon 9 interaktive Sitzungen über ein Pseudo-Terminal; rund 2,9 Credits |
14
+ | Datum der Prüfung | 2026-09-26 (`tests/protocols/2026-09-26-bau-kiro.md`): 23 Vorabmessungen und 16 Abnahmeläufe an realen Installationen, davon 9 interaktive Sitzungen über ein Pseudo-Terminal; rund 2,9 Credits |
15
15
 
16
- > **Belegt, soweit gemessen (Stand 1.13.0).** Die Spalte „Einstufung" nennt die **vorgesehene** Durchsetzungstiefe, die Spalte „Beleg" ihren Nachweisstand: `gemessen` = an diesem Client beobachtet, `[DOK]` = aus der Herstellerdokumentation mit Quellenkennung, `[EMPF]` = Vorgabe des Frameworks, `BELEG OFFEN` = noch nicht belegt, mit Grund und Datum.
16
+ > Die Spalte „Einstufung" nennt die **vorgesehene** Durchsetzungstiefe, die Spalte „Beleg" ihren Nachweisstand: `gemessen` = an diesem Client beobachtet, `[DOK]` = aus der Herstellerdokumentation mit Quellenkennung, `[EMPF]` = Vorgabe des Frameworks, `BELEG OFFEN` = noch nicht belegt, mit Grund und Datum.
17
17
  >
18
- > **Alle sechs Kernzusagen sind `[TECHNISCH]`** – und alle sechs stehen unter derselben Bedingung: **Das Agentenprofil des Frameworks muss der aktive Agent sein** (Abschnitt 1b). 🔴 **Fehlt es oder ist es kaputt, fällt der Client still auf seinen eingebauten Agenten zurück**, und keine dieser Zeilen trägt mehr.
18
+ > Alle sechs Kernzusagen sind `[TECHNISCH]`, unter einer Bedingung: Das Agentenprofil des Frameworks muss der aktive Agent sein (Abschnitt 1b). Fehlt es oder ist es kaputt, fällt der Client still auf seinen eingebauten Agenten zurück, und keine dieser Zeilen trägt mehr.
19
19
  >
20
- > 🔴 **Der schwerste Befund des Baus ist einer des Schutz-Hooks** (D-417): Mit der Standardsperrform endete der Hook mit Exit 2 – und der Köderinhalt kam heraus. Das Pack führt deshalb eine eigene Sperrform (H2).
20
+ > Der Schutz-Hook sperrt bei diesem Client nur mit einer eigenen Sperrform: Exit 2 mit dem Grund auf stderr (H2).
21
21
  >
22
- > **Wer das Pack einsetzt,** liest zuerst Abschnitt 1b und Abschnitt 6.
22
+ > Wer das Pack einsetzt, liest zuerst Abschnitt 1b und Abschnitt 6.
23
23
 
24
24
  ## 1. Pfadabbildung
25
25
 
@@ -29,48 +29,48 @@
29
29
  | Regeldateien | `.kiro/steering/*.md`; Lademodus im Frontmatter (`inclusion`) | **gemessen:** eine Datei ohne Frontmatter lädt in jeder Sitzung; eine mit `inclusion: fileMatch` nur, wenn eine passende Datei gelesen wird |
30
30
  | Skills | `.kiro/skills/<name>/SKILL.md` | **gemessen:** aufgezählt (Ereignis `available_commands_update`, Art `skill`) und über `disclose_context` geladen – auch mit den Frontmatter-Feldern des Frameworks |
31
31
  | Subagentenprofile | `.kiro/agents/<name>.md` (Frontmatter `tools` mit Kategorien) | `[DOK]` **`QK-6`**; die Wirkung ist Gegenstand von A1 |
32
- | Berechtigungskonfiguration | `.kiro/agents/koolie.json` – ein **Agentenprofil** mit dem Feld `permissions.rules` (erzeugt aus `framework/runtime/permissions.json`) | **gemessen:** ein `deny` darin weist ab und nennt sich (*„Source: agent-profile"*). Warum kein `permissions.yaml`: Die Datei des Arbeitsbereichs liegt beim Client **außerhalb** des Repositoriums (`QK-1`) |
32
+ | Berechtigungskonfiguration | `.kiro/agents/koolie.json` – ein Agentenprofil mit dem Feld `permissions.rules` (erzeugt aus `framework/runtime/permissions.json`) | **gemessen:** ein `deny` darin weist ab und nennt sich (*„Source: agent-profile"*). Kein `permissions.yaml`, weil die Datei des Arbeitsbereichs beim Client außerhalb des Repositoriums liegt (`QK-1`) |
33
33
  | Wahl des Agenten und der Engine | `.kiro/settings/cli.json` (`chat.defaultAgent`, `chat.agentEngine`) | **gemessen:** Mit ihr startet `kiro-cli chat` ohne Schalter mit Engine V3 und dem Agenten `koolie`; eine globale Einstellung unterliegt ihr |
34
- | Hook-Konfiguration | `.kiro/hooks/koolie.json`, Form `{version: v1, hooks: [...]}` | **gemessen:** lädt in der **interaktiven** Sitzung; im Betrieb ohne Rückfragen gar nicht (Abschnitt 1b) |
35
- | Planartefakt | `.kiro/specs/<name>/` (`requirements.md`, `design.md`, `tasks.md`) | **gemessen:** der Träger des Plans nach D-415; die Regel `16-plan-spezifikation.md` gibt ihm die Pflichtfelder |
34
+ | Hook-Konfiguration | `.kiro/hooks/koolie.json`, Form `{version: v1, hooks: [...]}` | **gemessen:** lädt in der interaktiven Sitzung; im Betrieb ohne Rückfragen gar nicht (Abschnitt 1b) |
35
+ | Planartefakt | `.kiro/specs/<name>/` (`requirements.md`, `design.md`, `tasks.md`) | **gemessen:** der Träger des Plans; die Regel `16-plan-spezifikation.md` gibt ihm die Pflichtfelder |
36
36
  | MCP-Konfiguration | `.kiro/settings/mcp.json` | `[DOK]` **`QK-7`**; das Framework liefert keinen Server aus |
37
- | Projektverzeichnis im Hook-Befehl | **keine Variable – das Arbeitsverzeichnis** | **gemessen:** `cwd` der Eingabe und Arbeitsverzeichnis des Hook-Prozesses sind die Projektwurzel |
38
- | Nutzerlokale Überschreibung | **kein Mechanismus** | Der Hersteller dokumentiert keine nutzerlokale Wurzel-Anweisung; das Pack liefert keine Beispieldatei aus |
37
+ | Projektverzeichnis im Hook-Befehl | keine Variable – das Arbeitsverzeichnis | **gemessen:** `cwd` der Eingabe und Arbeitsverzeichnis des Hook-Prozesses sind die Projektwurzel |
38
+ | Nutzerlokale Überschreibung | kein Mechanismus | Der Hersteller dokumentiert keine nutzerlokale Wurzel-Anweisung; das Pack liefert keine Beispieldatei aus |
39
39
 
40
40
  ## 1a. Semantikabbildung der Berechtigungen
41
41
 
42
- Die Regelmenge liegt werkzeugneutral im Kern und wird bei der Installation übersetzt (D-18). **Dieser Client kennt keine Regel der Gestalt `Werkzeug(Muster)`**, sondern Regeln je **Fähigkeit** mit einer Liste von Mustern (`{capability, match, exclude, effect}`); die Abbildung erzeugt je Korb und Fähigkeit eine Regel (D-414).
42
+ Die Regelmenge liegt werkzeugneutral im Kern und wird bei der Installation übersetzt. Dieser Client kennt keine Regel der Gestalt `Werkzeug(Muster)`, sondern Regeln je **Fähigkeit** mit einer Liste von Mustern (`{capability, match, exclude, effect}`). Die Abbildung erzeugt je Korb und Fähigkeit eine Regel.
43
43
 
44
44
  | Neutrales Werkzeugverb | Fähigkeit bei diesem Client | Anmerkung |
45
45
  |---|---|---|
46
46
  | `read` | `fs_read` | Ein Muster ohne Wildcard trifft auch Unterverzeichnisse (gemessen: `.env` sperrte `sub/.env`) – breiter als wörtlich |
47
47
  | `search` | `fs_read` | Keine eigene Fähigkeit; die Suchwerkzeuge sind lesend |
48
- | `write` | `fs_write` | Ein Schreibverbot kann einen Teilbaum ausnehmen (`exclude`) – genutzt für `.kiro/specs/**` (D-415) |
48
+ | `write` | `fs_write` | Ein Schreibverbot kann einen Teilbaum ausnehmen (`exclude`) – genutzt für `.kiro/specs/**` |
49
49
  | `exec` | `shell`, Muster **mit** Stern (`git push*`) | Ohne Stern vergleicht der Client wörtlich – gemessen: `echo` sperrte `echo hallo` nicht. Verkettete Befehle zerlegt er |
50
50
  | `fetch` | `web_fetch`, `web_search` | Mit `deny "*"` nimmt der Client beide Werkzeuge ganz aus dem Werkzeugbestand |
51
51
  | `mcp` | `mcp` | |
52
- | `skill` | `skill`, **wörtlicher Name** | gemessen: die Freigabe auf einen Namen lädt genau diesen Skill |
52
+ | `skill` | `skill`, wörtlicher Name | gemessen: die Freigabe auf einen Namen lädt genau diesen Skill |
53
53
 
54
54
  | Weitere Eigenschaft | Wert |
55
55
  |---|---|
56
56
  | Profil | Name `koolie`, `tools: ["*"]`; ein eigener Agent erbt **keine** Freigabe des eingebauten – ohne `allow` war selbst das Lesen abgewiesen |
57
57
  | Hook-Werkzeugnamen | `read_file`, `list_directory`, `file_search`, `grep_search`, `execute_pwsh` (Windows), `execute_bash` (Unix, aus dem Programmcode), `fs_write`, `str_replace`, `fs_append`, `delete_file` |
58
58
  | Pfadfelder der Hook-Eingabe | `path`; bei `delete_file` **`targetFile`** |
59
- | Sperrform des Schutz-Hooks | Exit 2 **mit Grund auf stderr** (`stderr-grund`, D-417) |
59
+ | Sperrform des Schutz-Hooks | Exit 2 mit Grund auf stderr (`stderr-grund`) |
60
60
 
61
61
  ## 1b. Der aktive Agent – die Bedingung über der Berechtigungsschicht
62
62
 
63
- 🔴 **Die Berechtigungen des Frameworks wirken nur, wenn das Agentenprofil `koolie` der aktive Agent ist.** Der Client hält die Berechtigungsdatei des Arbeitsbereichs je Arbeitsplatz außerhalb des Repositoriums (`QK-1`); versionierbar ist allein ein Agentenprofil. Die Einstellungsdatei `.kiro/settings/cli.json` wählt es als Standard – gemessen: ohne Schalter startet die Sitzung damit, und eine **globale** Einstellung `chat.defaultAgent` unterliegt ihr. Der Client verbietet dem Agenten selbst, in `.kiro/settings/` zu schreiben (`QK-1`).
63
+ **Die Berechtigungen des Frameworks wirken nur, wenn das Agentenprofil `koolie` der aktive Agent ist.** Die Berechtigungsdatei des Arbeitsbereichs hält der Client je Arbeitsplatz außerhalb des Repositoriums (`QK-1`); versionierbar ist allein ein Agentenprofil. Die Einstellungsdatei `.kiro/settings/cli.json` wählt es als Standard. Gemessen: Ohne Schalter startet die Sitzung damit, und eine globale Einstellung `chat.defaultAgent` unterliegt ihr. In `.kiro/settings/` darf der Agent selbst nicht schreiben (`QK-1`).
64
64
 
65
- **Drei Wege führen an ihr vorbei, und keiner meldet sich laut:**
65
+ Drei Wege führen an dieser Bedingung vorbei, und keiner meldet sich laut:
66
66
 
67
- 1. **Das Profil fehlt oder ist kein gültiges JSON.** Gemessen: Der Client fällt auf seinen eingebauten Agenten zurück und meldet es nur als Warnung auf stderr (*„agent … has an invalid config, using "default"“*); `.env` war danach lesbar. Sein eigenes Prüfkommando `agent validate` endet auch bei kaputtem JSON mit Exit 0. **Prüfung 96** hält Einstellung und Profil gegeneinander.
68
- 2. **Eine Regel nennt eine unbekannte Fähigkeit.** Gemessen: Der Client überspringt genau diese Regel und meldet es nur in seinem Protokoll. Prüfung 96 kennt die Liste der Fähigkeiten.
69
- 3. **Die Sitzung wählt einen anderen Agenten** (`--agent`) oder eine andere Engine (`--v2`, `--legacy-ui`). Das ist eine Entscheidung am Arbeitsplatz, und keine Prüfung sieht sie.
67
+ 1. **Das Profil fehlt oder ist kein gültiges JSON.** Der Client fällt auf seinen eingebauten Agenten zurück und warnt nur auf stderr (*„agent … has an invalid config, using "default"“*); `.env` war danach lesbar. Sein Prüfkommando `agent validate` endet auch bei kaputtem JSON mit Exit 0. Prüfung 96 hält Einstellung und Profil gegeneinander.
68
+ 2. **Eine Regel nennt eine unbekannte Fähigkeit.** Der Client überspringt genau diese Regel und vermerkt es nur in seinem Protokoll. Prüfung 96 kennt die Liste der Fähigkeiten.
69
+ 3. **Die Sitzung wählt einen anderen Agenten** (`--agent`) oder eine andere Engine (`--v2`, `--legacy-ui`). Das entscheidet der Arbeitsplatz; keine Prüfung sieht es.
70
70
 
71
- **Die Hooks laufen nur in der interaktiven Sitzung.** Gemessen in drei Formen des Betriebs ohne Rückfragen (JSON-Ausgabe, Textausgabe, Terminaloberfläche mit `--no-interactive`): Kein Hook lief. Der Agentenserver aktiviert Hooks nur, wenn der aufrufende Client es meldet, und das tut allein die Terminaloberfläche. **Im Betrieb ohne Rückfragen trägt deshalb allein das Agentenprofil** – dort wird zugleich jede Rückfrage zur Abweisung (`QK-1`).
71
+ **Die Hooks laufen nur in der interaktiven Sitzung.** In drei Formen des Betriebs ohne Rückfragen (JSON-Ausgabe, Textausgabe, Terminaloberfläche mit `--no-interactive`) lief kein Hook: Der Agentenserver aktiviert Hooks nur, wenn der aufrufende Client es meldet, und das tut allein die Terminaloberfläche. Im Betrieb ohne Rückfragen trägt deshalb allein das Agentenprofil, und dort wird jede Rückfrage zur Abweisung (`QK-1`).
72
72
 
73
- **Die IDE** liest `.kiro/settings/cli.json` nach dem Programmcode ihrer Agent-Erweiterung nicht als Auswahl ihres Chat-Agenten; dort ist der Agent `koolie` im Chat zu wählen. **An einer IDE-Sitzung ist das nicht gemessen** (`K-162`).
73
+ **Die IDE** liest `.kiro/settings/cli.json` laut Programmcode ihrer Agent-Erweiterung nicht als Auswahl ihres Chat-Agenten. Dort wählt man den Agenten `koolie` im Chat. An einer IDE-Sitzung ist das nicht gemessen.
74
74
 
75
75
  ## 2. Fähigkeitsmatrix
76
76
 
@@ -83,9 +83,9 @@ Einstufung je Zusage: `[TECHNISCH]` erzwungen · `[TEXTUELL]` nur Anweisung · `
83
83
  | R1 | Wurzel-Anweisungsdatei wird ungefragt geladen | `AGENTS.md` steht in jeder Sitzung im Kontext | `[TECHNISCH]` | **gemessen** (2026-09-26, Aufschlüsselung der Kontextdateien): auch beim eigenen Agenten, ohne Eintrag in `resources` |
84
84
  | R2 | Regeldateien mit Ladebedingungen | `.kiro/steering/*.md`, Frontmatter `inclusion` (`always`, `fileMatch`, `manual`, `auto`) | `[TECHNISCH]` | **gemessen:** Dateien ohne Frontmatter laden immer, eine `fileMatch`-Datei nicht ohne passende Datei. `model_decision` bildet auf unbedingtes Laden ab – der Lademodus `auto` wäre genauer, ist aber ungemessen, und eine Regel, die nicht lädt, wäre ein Verlust. ⚠️ **Über das Feld `resources` eines Agentenprofils eingebunden, lädt eine `fileMatch`-Datei ohne Bedingung** – das Profil des Frameworks bindet deshalb nichts ein |
85
85
  | R3 | Regeln an Dateimuster bindbar | `inclusion: fileMatch` mit `fileMatchPattern` | `[TECHNISCH]` | **gemessen mit Gegenprobe:** eine Sonde mit `**/*.py` stand beim Lesen von `src/calc.py` im Kontext (Ereignis `steering_inclusion`) und wirkte, beim Lesen von `README.md` nicht |
86
- | R4 | Bekanntes Zeichenlimit | **Vorgabe des Frameworks** – höchstens 40.000 Zeichen für das stets Geladene (D-387) | `[TEXTUELL]` | `[EMPF]`. **Für diesen Client ist kein Limit dokumentiert** (`QK-2`). Gemessen ist die feste Last: 8.228 Token für die Wurzel-Anweisung und sechs Regeldateien |
86
+ | R4 | Bekanntes Zeichenlimit | Vorgabe des Frameworks – höchstens 40.000 Zeichen für das stets Geladene | `[TEXTUELL]` | `[EMPF]`. **Für diesen Client ist kein Limit dokumentiert** (`QK-2`). Gemessen ist die feste Last: 8.228 Token für die Wurzel-Anweisung und sechs Regeldateien |
87
87
  | R5 | Die geladenen Regelquellen sind vollständig aufzählbar | Die Sitzung meldet je Anfrage die Kontextdateien mit Pfad und Tokenzahl | `[TEXTUELL]` | **gemessen:** in der JSON-Ausgabe (`contextUsage.breakdown.contextFiles`) und in der Mitschrift (`steering_inclusion`). Eine Auskunft, keine Schranke |
88
- | R6 | Keine Importe fremder Werkzeugformate | **Kein Schalter.** Der Hersteller dokumentiert keinen Import fremder Formate außer `AGENTS.md`, und das ist hier die Wurzel-Anweisung | `[NICHT ABBILDBAR]` | **Ersatz, geliefert:** die Auskunft in Abschnitt 7 und die Meldung von `install.py` über belegte Quellen im Benutzerprofil (D-411). ⚠️ Das eingebaute Steering des Clients (`architecture-selection`, `quick-spec`, `bug-fix`) steht in jeder Sitzung zur Wahl – gemessen |
88
+ | R6 | Keine Importe fremder Werkzeugformate | Kein Schalter. Der Hersteller dokumentiert keinen Import fremder Formate außer `AGENTS.md`, und das ist hier die Wurzel-Anweisung | `[NICHT ABBILDBAR]` | **Ersatz, geliefert:** die Auskunft in Abschnitt 7 und die Meldung von `install.py` über belegte Quellen im Benutzerprofil (D-411). ⚠️ Das eingebaute Steering des Clients (`architecture-selection`, `quick-spec`, `bug-fix`) steht in jeder Sitzung zur Wahl – gemessen |
89
89
 
90
90
  ### S – Skills
91
91
 
@@ -93,22 +93,22 @@ Einstufung je Zusage: `[TECHNISCH]` erzwungen · `[TEXTUELL]` nur Anweisung · `
93
93
  |---|---|---|---|---|
94
94
  | S1 | Versionierte Skills im Repository | `.kiro/skills/<name>/SKILL.md` | `[TECHNISCH]` | **gemessen:** zwölf Skills des Frameworks aufgezählt |
95
95
  | S2 | Gezielter Aufruf | Werkzeug `disclose_context` mit dem Namen des Skills | `[TECHNISCH]` | **gemessen:** freigegeben lädt der Skill, ohne Freigabe weist der Client den Aufruf ab |
96
- | S3 | Werkzeugbeschränkung je Skill | **Kein Feld.** Die Felder des Frameworks (`allowed-tools`, `permissions`, `triggers`) werden angenommen und nicht ausgewertet | `[TEXTUELL]` | **gemessen:** ein Skill mit diesen Feldern lädt. **Was trägt, ist die globale Schicht:** das Agentenprofil und der Schutz-Hook, beide unabhängig vom Skill |
96
+ | S3 | Werkzeugbeschränkung je Skill | Kein Feld. Die Felder des Frameworks (`allowed-tools`, `permissions`, `triggers`) werden angenommen und nicht ausgewertet | `[TEXTUELL]` | **gemessen:** ein Skill mit diesen Feldern lädt. **Was trägt, ist die globale Schicht:** das Agentenprofil und der Schutz-Hook, beide unabhängig vom Skill |
97
97
  | S4 | Schreibende Skills nur benutzergetriggert | Framework-Konvention; ein Feld zum Ausschluss vom Modellzugriff ist nicht dokumentiert (`QK-4`) | `[TEXTUELL]` | `[EMPF]`. Das Profil gibt alle zwölf Skills frei, wie die Kernquelle |
98
98
  | S5 | Die geladenen Skills sind aufzählbar | Ereignis `available_commands_update` mit Art je Eintrag | `[TEXTUELL]` | **gemessen:** Skills, eingebautes Steering und Agenten, je mit Herkunft (`bundled` oder Arbeitsbereich) |
99
99
 
100
100
  ### B – Berechtigungen
101
101
 
102
- > **`[TECHNISCH]` heißt in diesem Block:** Die Engine setzt die Regel durch, **solange der Betriebsmodus die Berechtigungsprüfung nicht abschaltet** (D-35) – bei diesem Client der Schalter `--trust-all-tools` und die Freigabe „Trust all" (M2). Für dieses Pack kommt **eine gemessene Bedingung** hinzu: **Das Profil `koolie` muss der aktive Agent sein** (Abschnitt 1b). Fällt der Client auf seinen eingebauten Agenten zurück, trägt von diesem Block nichts. **Die zweite Linie ist der Schutz-Hook – nur in der interaktiven Sitzung.**
102
+ > `[TECHNISCH]` heißt in diesem Block: Die Engine setzt die Regel durch, solange der Betriebsmodus die Berechtigungsprüfung nicht abschaltet – bei diesem Client der Schalter `--trust-all-tools` und die Freigabe „Trust all" (M2). Dazu kommt die Bedingung aus Abschnitt 1b: **Das Profil `koolie` muss der aktive Agent sein.** Fällt der Client auf seinen eingebauten Agenten zurück, trägt von diesem Block nichts. Die zweite Linie ist der Schutz-Hook, und der läuft nur in der interaktiven Sitzung.
103
103
 
104
- Die mit **Kern** markierten Zeilen entsprechen `_core_rules_integrity` im Agentenprofil (D-395); Prüfung 96 hält das Profil gegen die Kernquelle.
104
+ Die mit **Kern** markierten Zeilen entsprechen `_core_rules_integrity` im Agentenprofil; Prüfung 96 hält das Profil gegen die Kernquelle.
105
105
 
106
106
  | ID | Zusage des Frameworks | Kern | Mechanismus beim Client | Einstufung | Beleg |
107
107
  |---|---|---|---|---|---|
108
108
  | B1 | Berechtigungen versioniert im Repository | ja | Agentenprofil `.kiro/agents/koolie.json`, gewählt durch `.kiro/settings/cli.json` | `[TECHNISCH]`, **bedingt** | **gemessen:** beide Träger liegen im Projekt und wirken ohne Schalter. **Die Bedingung:** der aktive Agent (Abschnitt 1b) – mit fehlendem oder kaputtem Profil stiller Rückfall, gemessen |
109
109
  | B2 | Verweigern vor Rückfragen vor Erlauben | ja | `deny` vor `ask` vor `allow`, über alle Ebenen | `[TECHNISCH]` | **gemessen:** `deny` auf `.env` schlägt `allow` auf `**`; ein Schreiben unter `arbeit/` fällt in die Rückfrage, obwohl nichts es verbietet |
110
110
  | B3 | Secret-Dateien per Pfadmuster lesegeschützt | ja | `deny fs_read` mit den Mustern der Kernquelle | `[TECHNISCH]` | **gemessen an einer realen Installation:** `.env` und `sub/.env` abgewiesen, `README.md` gelesen. ⚠️ Ein Muster, das die Kernquelle nicht führt (`id_ecdsa`), ließ das Profil durch – dort sperrte in der interaktiven Sitzung der Schutz-Hook (H2) |
111
- | B4 | Framework- und Overlay-Artefakte schreibgeschützt | ja | `deny fs_write` auf `AGENTS.md`, `.kiro/**` ohne `.kiro/specs/**`, `.koolie/core/**`; **Das Overlay sperrt seit `1.17.0` allein der Schutz-Hook** (D-448); die Berechtigungsdatei führt es nicht mehr – nachgezählt an einer Installation am 2026-09-29 (D-468), und der läuft bei diesem Client nur in der interaktiven Sitzung (`K-181`). **Gemessen am 2026-09-30** (D-502): Im Betrieb ohne Rückfragen weist die Rückfrageregel `ask fs_write` einen Schreibversuch ins Overlay ab (Rückfrage → Abweisung); mit `--trust-all-tools` ging er durch – ohne Hook, und das Modell meldete den Verstoß gegen den Regeltext erst danach. Der Modus ist nach D-05 untersagt; eine statische Sperre im Profil schlüge das Mandat (M6); jeder Shell-Befehl außer fünf lesenden `git`-Befehlen fragt zurück | `[TECHNISCH]` | **gemessen:** Schreiben in `.koolie/core/` und `.kiro/steering/` abgewiesen (`deny`), in `.kiro/specs/` nur rückgefragt – die Ausnahme greift. ⚠️ **Grenze, nicht gemessen:** ein freigegebener lesender `git`-Befehl mit schreibender Option (`git diff --output=<pfad>`) |
111
+ | B4 | Framework- und Overlay-Artefakte schreibgeschützt | ja | `deny fs_write` auf `AGENTS.md`, `.kiro/**` ohne `.kiro/specs/**`, `.koolie/core/**`. Das Overlay sperrt allein der Schutz-Hook; die Berechtigungsdatei führt es nicht (nachgezählt an einer Installation am 2026-09-29), und der Hook läuft bei diesem Client nur in der interaktiven Sitzung. Gemessen am 2026-09-30: Im Betrieb ohne Rückfragen weist die Rückfrageregel `ask fs_write` einen Schreibversuch ins Overlay ab (Rückfrage → Abweisung); mit `--trust-all-tools` ging er durch – ohne Hook, und das Modell meldete den Verstoß gegen den Regeltext erst danach. Der Modus ist untersagt (`.koolie/core/framework/core/03-security.md` Abschnitt 4); eine statische Sperre im Profil schlüge das Mandat (M6); jeder Shell-Befehl außer fünf lesenden `git`-Befehlen fragt zurück | `[TECHNISCH]` | **gemessen:** Schreiben in `.koolie/core/` und `.kiro/steering/` abgewiesen (`deny`), in `.kiro/specs/` nur rückgefragt – die Ausnahme greift. ⚠️ **Grenze, nicht gemessen:** ein freigegebener lesender `git`-Befehl mit schreibender Option (`git diff --output=<pfad>`) |
112
112
  | B5 | CI-, Quality-Gate- und Lockdateien schreibgeschützt | ja | `deny fs_write` mit den Lockmustern und den Schlitzen `<CI_CONFIG_PATHS>`, `<QUALITY_GATE_CONFIG_PATHS>` | `[TECHNISCH]` | **gemessen am Mechanismus** (Pfadmuster im `deny`, B4); die Schlitze füllt der Overlay Owner, die Lockmuster sind nicht einzeln angefahren. Shell wie B4 |
113
113
  | B6 | Befehle per Muster verweigerbar | ja | `deny shell` mit Präfixmustern (`git push*`) | `[TECHNISCH]` | **gemessen:** `git push origin main` abgewiesen, auch in `git status && git push origin main`. ⚠️ **Grenze wie bei allen Packs:** `git -C . push origin main` trifft das Muster nicht – hier fällt es in die **Rückfrage** und nicht durch, weil kein `allow` es deckt |
114
114
  | B7 | Schreiboperationen fragen zurück | – | `ask fs_write "**"` | `[TECHNISCH]` | **gemessen:** Schreiben unter `arbeit/` und Löschen (`delete_file`) rückgefragt; ohne Rückfragekanal abgewiesen |
@@ -121,15 +121,15 @@ Die mit **Kern** markierten Zeilen entsprechen `_core_rules_integrity` im Agente
121
121
  | ID | Zusage des Frameworks | Mechanismus beim Client | Einstufung | Beleg |
122
122
  |---|---|---|---|---|
123
123
  | H1 | Prüfung vor Werkzeugausführung | `PreToolUse` in `.kiro/hooks/koolie.json`, Matcher als regulärer Ausdruck über die Werkzeugnamen | `[TECHNISCH]`, **nur interaktiv** | **gemessen:** Der Hook läuft bei jedem Lese-, Such-, Schreib- und Shell-Aufruf, Eingabe `{session_id, hook_event_name, cwd, tool_name, tool_input}`. Im Betrieb ohne Rückfragen läuft er **nicht** (Abschnitt 1b) |
124
- | H2 | Prüfung kann **blockieren** | Exit 2 **und** ein Grund auf stderr | `[TECHNISCH]`, **nur interaktiv** | 🔴 **Gemessen, und der schwerste Befund des Packs** (D-417): Mit der Standardform (Grund auf stdout, Exit 2) kam der Köderinhalt heraus; der Hook endete nachweislich mit Exit 2. **Mit dem Grund auf stderr wurde derselbe Zugriff in drei von drei Läufen abgewiesen**, `README.md` jeweils gelesen – in einem Baum ohne Regeltext. **Prüfung 86** hält Manifest, Skript und Kommando zusammen |
124
+ | H2 | Prüfung kann **blockieren** | Exit 2 und ein Grund auf stderr | `[TECHNISCH]`, **nur interaktiv** | 🔴 **Gemessen, und der schwerste Befund des Packs** (D-417): Mit der Standardform (Grund auf stdout, Exit 2) kam der Köderinhalt heraus; der Hook endete nachweislich mit Exit 2. **Mit dem Grund auf stderr wurde derselbe Zugriff in drei von drei Läufen abgewiesen**, `README.md` jeweils gelesen – in einem Baum ohne Regeltext. **Prüfung 86** hält Manifest, Skript und Kommando zusammen |
125
125
  | H3 | Statusmeldung beim Sitzungsstart | `SessionStart` mit `hook-overlay-status.py` | `[TECHNISCH]`, **nur interaktiv** | **gemessen:** die Meldung steht im Kontext der Sitzung (`HOOK_INSTRUCTION`) und wurde wörtlich zitiert |
126
- | H4 | Eingabeschema und Pfadidentität des Schutz-Hooks | Ereignisprüfung, Pfadfelder `path` und `targetFile`, alle Muster ohne Rücksicht auf Groß-/Kleinschreibung; `hook_fail_closed` steht auf `true`. **Grenze:** Ein Hook prüft **vor** dem Zugriff (D-397) | `[TECHNISCH]` für die Musterprüfung, **mit der Zeitlücke** | **gemessen:** das Schema von `PreToolUse` für alle vier Werkzeugklassen. ⚠️ **Das Feld `targetFile` des Löschwerkzeugs fiel erst im Abnahmelauf auf** – vorher hätte der Hook den Pfad nur als Rohtext geprüft |
126
+ | H4 | Eingabeschema und Pfadidentität des Schutz-Hooks | Ereignisprüfung, Pfadfelder `path` und `targetFile`, alle Muster ohne Rücksicht auf Groß-/Kleinschreibung; `hook_fail_closed` steht auf `true`. Grenze: Ein Hook prüft vor dem Zugriff | `[TECHNISCH]` für die Musterprüfung, **mit der Zeitlücke** | **gemessen:** das Schema von `PreToolUse` für alle vier Werkzeugklassen. ⚠️ **Das Feld `targetFile` des Löschwerkzeugs fiel erst im Abnahmelauf auf** – vorher hätte der Hook den Pfad nur als Rohtext geprüft |
127
127
 
128
128
  ### A – Agentenprofile
129
129
 
130
130
  | ID | Zusage des Frameworks | Mechanismus beim Client | Einstufung | Beleg |
131
131
  |---|---|---|---|---|
132
- | A1 | Rein lesendes Reviewprofil | `.kiro/agents/fw-reviewer.md` mit `tools: [read]`; Unteragenten erben die Regeln der Sitzung | `[TEXTUELL]` | `BELEG OFFEN` (2026-09-26): Die Gestalt folgt `QK-6`; der Start eines Unteragenten (`invoke_sub_agent`) fällt in die Rückfrage und ist ohne Rückfragekanal nicht messbar |
132
+ | A1 | Rein lesendes Reviewprofil | `.kiro/agents/koolie-reviewer.md` mit `tools: [read]`; Unteragenten erben die Regeln der Sitzung | `[TEXTUELL]` | `BELEG OFFEN` (2026-09-26): Die Gestalt folgt `QK-6`; der Start eines Unteragenten (`invoke_sub_agent`) fällt in die Rückfrage und ist ohne Rückfragekanal nicht messbar |
133
133
  | A2 | Rein lesendes Analyseprofil für Modus M1 | Der Client führt einen Modus `plan` (*„without making any changes"*) | `[TEXTUELL]` | **gemessen ist nur die Existenz** (Modusliste der Sitzung); `BELEG OFFEN` (2026-09-26) für seine Wirkung |
134
134
 
135
135
  ### M – Modi und Sitzungsfreigaben
@@ -137,9 +137,9 @@ Die mit **Kern** markierten Zeilen entsprechen `_core_rules_integrity` im Agente
137
137
  | ID | Zusage des Frameworks | Mechanismus beim Client | Einstufung | Beleg |
138
138
  |---|---|---|---|---|
139
139
  | M1 | Standardmodus fragt bei Schreiben und Befehlen zurück | Rückfrageregeln des Profils; in der IDE zusätzlich `Supervised` | `[TECHNISCH]` | **gemessen** an der Kommandozeile (B7); für die IDE `[DOK]` **`QK-1`** |
140
- | M2 | Modus ohne Rückfragen ausschließbar | **Kein Ausschluss.** `--trust-all-tools` und „Trust all" überspringen Rückfragen; ein `deny` gilt weiter | `[TEXTUELL]` | `[DOK]` **`QK-1`**. ⚠️ Ein `deny` bleibt auch dann wirksam – das ist mehr als bei den übrigen Packs, aber keine Sperre des Modus |
140
+ | M2 | Modus ohne Rückfragen ausschließbar | Kein Ausschluss. `--trust-all-tools` und „Trust all" überspringen Rückfragen; ein `deny` gilt weiter | `[TEXTUELL]` | `[DOK]` **`QK-1`**. ⚠️ Ein `deny` bleibt auch dann wirksam – das ist mehr als bei den übrigen Packs, aber keine Sperre des Modus |
141
141
  | M3 | Freigabe auf die Sitzung begrenzbar | Stufe „This session" bei jeder Rückfrage | `[TECHNISCH]` | `[DOK]` **`QK-1`**; `BELEG OFFEN` (2026-09-26): eine Rückfrage an einen Menschen ist ohne Rückfragekanal nicht messbar |
142
- | M4 | Eigener Planungsmodus für Modus M2 | Modus `spec` mit Ablage im Repositorium (`.kiro/specs/`) und der Regel `16-plan-spezifikation.md` (D-415) | `[TEXTUELL]` | **gemessen mit Gegenprobe:** Mit der Regel legte die Sitzung Anforderungen mit Quelle und offenen Fragen, einen Entwurf mit Zieldateiliste und Kontrollstufe und eine Aufgabenliste mit Status `entwurf` an und setzte nichts um; ohne die Regel griff sie zur Planvorlage des Frameworks und legte keine Spezifikation an. ⚠️ Ihr Schlusssatz *„erfordert keine Freigabe"* widersprach der Regel |
142
+ | M4 | Eigener Planungsmodus für Modus M2 | Modus `spec` mit Ablage im Repositorium (`.kiro/specs/`) und der Regel `16-plan-spezifikation.md` | `[TEXTUELL]` | **gemessen mit Gegenprobe:** Mit der Regel legte die Sitzung Anforderungen mit Quelle und offenen Fragen, einen Entwurf mit Zieldateiliste und Kontrollstufe und eine Aufgabenliste mit Status `entwurf` an und setzte nichts um; ohne die Regel griff sie zur Planvorlage des Frameworks und legte keine Spezifikation an. ⚠️ Ihr Schlusssatz *„erfordert keine Freigabe"* widersprach der Regel |
143
143
  | M6 | Modus mit selbsttätiger Übernahme von Dateiänderungen begrenzbar | IDE: `Autopilot` (`kiroAgent.agentAutonomy`) | `[TEXTUELL]` | `[DOK]` **`QK-1`**; die Regeln des Profils gelten auch dort |
144
144
  | M7 | Modus, der selbst beurteilt, was sicher ist, begrenzbar | Modus `autonomous` | `[TEXTUELL]` | **gemessen ist nur die Existenz** (Modusliste); `BELEG OFFEN` (2026-09-26) für seine Begrenzbarkeit |
145
145
 
@@ -152,7 +152,7 @@ Die mit **Kern** markierten Zeilen entsprechen `_core_rules_integrity` im Agente
152
152
 
153
153
  ## 3. Zusammenfassung der Durchsetzungstiefe
154
154
 
155
- > **Zählregel (normativ für diese Tabelle):** Eine Zeile zählt bei ihrer **schwächsten** Einstufung (D-47). Prüfung 31 rechnet die Summen aus der Matrix nach.
155
+ > **Zählregel (normativ für diese Tabelle):** Eine Zeile zählt bei ihrer **schwächsten** Einstufung. Prüfung 31 rechnet die Summen aus der Matrix nach.
156
156
 
157
157
  | Klasse | Anzahl | davon Kernzusagen |
158
158
  |---|---|---|
@@ -160,18 +160,18 @@ Die mit **Kern** markierten Zeilen entsprechen `_core_rules_integrity` im Agente
160
160
  | `[TEXTUELL]` | **12 von 35** | 0 von 6 |
161
161
  | `[NICHT ABBILDBAR]` | **2 von 35** | 0 von 6 |
162
162
 
163
- **Belegstand:** `BELEG OFFEN` sagen **A1**, **A2**, **M3**, **M7** und **X1**, dazu **X2** dauerhaft. Die Zeilen der interaktiven Sitzung (H1 bis H3) sind gemessen; die der IDE stehen auf der Dokumentation (`K-162`).
163
+ Belegstand: `BELEG OFFEN` sagen A1, A2, M3, M7 und X1, dazu X2 dauerhaft. Die Zeilen der interaktiven Sitzung (H1 bis H3) sind gemessen; die der IDE stehen auf der Dokumentation.
164
164
 
165
165
  ## 4. Kernzusagen ohne technische Durchsetzung
166
166
 
167
- **Keine.** Alle sechs Kernzusagen sind `[TECHNISCH]` – unter der Bedingung des aktiven Agenten (Abschnitt 1b). Sie steht in B1 und in der Vorbemerkung des B-Blocks, weil sie keine Zeile einzeln betrifft, sondern alle zugleich.
167
+ Keine. Alle sechs Kernzusagen sind `[TECHNISCH]` – unter der Bedingung des aktiven Agenten (Abschnitt 1b). Sie steht in B1 und in der Vorbemerkung des B-Blocks, weil sie alle Zeilen zugleich betrifft.
168
168
 
169
169
  ## 5. Bekannte Abweichungen im Verhalten
170
170
 
171
- - **Die Berechtigungsdatei ist ein Agentenprofil** (`permissions_format` `kiro-agent`, D-414). Sie ist JSON, führt aber keine Körbe `deny`/`ask`/`allow` aus Regeln der Gestalt `Werkzeug(Muster)`. Deshalb erreichen dieses Pack nicht: **Prüfung 2**, **Prüfung 37**, **Prüfung 42**, **Prüfung 43** und **Prüfung 54**; nur zum Teil **Prüfung 59** und **Prüfung 89** (ihr Gegenstand (c), die Pfade des Overlays im `deny`, entfällt). An ihre Stelle tritt die Prüfung des Agentenprofils (Abschnitt 1b). Der Prüfapparat hält diese Liste gegen seine eigene Liste der formatgebundenen Prüfungen.
172
- - **Ein eigener Agent erbt keine Freigaben.** Ohne `allow` wird selbst das Lesen im Arbeitsbereich abgewiesen – das Profil führt die Freigaben der Kernquelle vollständig.
171
+ - **Die Berechtigungsdatei ist ein Agentenprofil** (`permissions_format` `kiro-agent`). Sie ist JSON, führt aber keine Körbe `deny`/`ask`/`allow` aus Regeln der Gestalt `Werkzeug(Muster)`. Deshalb erreichen dieses Pack nicht: Prüfung 2, Prüfung 37, Prüfung 42, Prüfung 43 und Prüfung 54; nur zum Teil Prüfung 59 und Prüfung 89 (ihr Gegenstand (c), die Pfade des Overlays im `deny`, entfällt). An ihre Stelle tritt die Prüfung des Agentenprofils (Abschnitt 1b). Der Prüfapparat hält diese Liste gegen seine eigene Liste der formatgebundenen Prüfungen.
172
+ - **Ein eigener Agent erbt keine Freigaben.** Ohne `allow` wird selbst das Lesen im Arbeitsbereich abgewiesen; das Profil führt die Freigaben der Kernquelle vollständig.
173
173
  - **Die Hooks laufen nur interaktiv**, und der Schutz-Hook braucht seinen Grund auf stderr (Abschnitt 1b, H2).
174
- - **Das Schreibverbot auf die Laufzeitschicht nimmt `.kiro/specs/` aus** (D-415) – dort liegt das Planartefakt. Der Schutz-Hook führt dieselbe Ausnahme.
174
+ - **Das Schreibverbot auf die Laufzeitschicht nimmt `.kiro/specs/` aus**, weil dort das Planartefakt liegt. Der Schutz-Hook führt dieselbe Ausnahme.
175
175
  - **Ein Befehl, den ein Präfixmuster nicht trifft, fällt in die Rückfrage** und nicht durch – anders als bei Packs, deren `allow` breiter ist.
176
176
  - **Die Dokumentation widerspricht sich an vier Stellen** (Anhang 31.4.4); zwei hat die Messung entschieden, eine hat sie widerlegt.
177
177
 
@@ -182,15 +182,21 @@ python .koolie/core/install.py --target /pfad/zum/projekt --client kiro
182
182
  python .koolie/core/tests/scripts/validate-framework.py
183
183
  ```
184
184
 
185
- 🔴 **Danach:** `kiro-cli` im Projektverzeichnis starten – nur dort gilt `.kiro/settings/cli.json`. Nicht mit `--agent`, `--v2` oder `--legacy-ui` starten. In der IDE den Agenten `koolie` im Chat wählen. `install.py` nennt diese Schritte nach der Installation; nach jeder Hebung nennt es, dass Profil und Einstellung Saat sind und nicht angefasst werden.
185
+ Danach:
186
186
 
187
- Vor der ersten produktiven Nutzung sind die Basistests des Testkatalogs gegen diesen Client zu fahren und zu protokollieren.
187
+ 1. `kiro-cli` im Projektverzeichnis starten – nur dort gilt `.kiro/settings/cli.json`.
188
+ 2. Nicht mit `--agent`, `--v2` oder `--legacy-ui` starten.
189
+ 3. In der IDE den Agenten `koolie` im Chat wählen.
190
+
191
+ `install.py` nennt diese Schritte nach der Installation. Nach jeder Hebung meldet es, dass Profil und Einstellung Saat sind und nicht angefasst werden.
192
+
193
+ Vor der ersten produktiven Nutzung die Basistests des Testkatalogs gegen diesen Client fahren und protokollieren.
188
194
 
189
195
  ## 7. Anweisungs- und Konfigurationsquellen außerhalb des Projekts
190
196
 
191
- **Pflichtabschnitt** (D-34). Solche Quellen haben nach Regel 2.6 der Prioritätshierarchie **keine Ebene**.
197
+ Pflichtabschnitt. Solche Quellen haben nach Regel 2.6 der Prioritätshierarchie **keine Ebene**.
192
198
 
193
- **Erhebungsstand: 2026-09-26**, Kommandozeile `2.24.1`, erhoben mit der Herstellerdokumentation (`QK-1`, `QK-2`, `QK-6`, `QK-7`), der Modus- und Befehlsliste der Sitzung und `install.py` (`import_channels_report`).
199
+ Erhebungsstand: 2026-09-26, Kommandozeile `2.24.1`, erhoben mit der Herstellerdokumentation (`QK-1`, `QK-2`, `QK-6`, `QK-7`), der Modus- und Befehlsliste der Sitzung und `install.py` (`import_channels_report`).
194
200
 
195
201
  ### 7.1 Anweisungsquellen
196
202
 
@@ -199,7 +205,7 @@ Vor der ersten produktiven Nutzung sind die Basistests des Testkatalogs gegen di
199
205
  | `~/.kiro/steering/` (auch `AGENTS.md` dort) | in jeder Sitzung neben dem Steering des Projekts | `[DOK]` `QK-2` | Auskunft; `install.py` meldet sie, wenn belegt |
200
206
  | `~/.kiro/skills/` | in jeder Sitzung verfügbar | `[DOK]` `QK-4` | Auskunft; `install.py` meldet sie |
201
207
  | `~/.kiro/agents/` | wählbar mit `--agent`; bei gleichem Namen gewinnt das Profil des Arbeitsbereichs | `[DOK]` `QK-6` | Auskunft; `install.py` meldet sie |
202
- | Eingebautes Steering und eingebaute Agenten des Clients | in jeder Sitzung zur Wahl | **gemessen** (Befehlsliste: `architecture-selection`, `quick-spec`, `bug-fix`, `general-task-execution`, `context-gatherer`) | **keine** – nicht abschaltbar, aber aufgezählt (S5) |
208
+ | Eingebautes Steering und eingebaute Agenten des Clients | in jeder Sitzung zur Wahl | **gemessen** (Befehlsliste: `architecture-selection`, `quick-spec`, `bug-fix`, `general-task-execution`, `context-gatherer`) | keine – nicht abschaltbar, aber aufgezählt (S5) |
203
209
 
204
210
  ### 7.2 Konfigurationsquellen
205
211
 
@@ -212,7 +218,7 @@ Vor der ersten produktiven Nutzung sind die Basistests des Testkatalogs gegen di
212
218
 
213
219
  ### 7.3 Was dieser Abschnitt nicht leistet
214
220
 
215
- **Eine Auskunft ist keine Schranke**, und ein **Abwesenheitsbeleg altert**. Prüfung 19 prüft die Anwesenheit dieser Auskunft, nicht ihre Richtigkeit.
221
+ Eine Auskunft ist keine Schranke, und ein Abwesenheitsbeleg altert. Prüfung 19 prüft, ob diese Auskunft da ist, nicht ob sie stimmt.
216
222
 
217
223
  ## 8. Änderungsverlauf
218
224
 
@@ -221,3 +227,4 @@ Vor der ersten produktiven Nutzung sind die Basistests des Testkatalogs gegen di
221
227
  | 0.1.0 | 2026-09-26 | **Angelegt (`CR-2026-150`, D-414 bis D-417).** Das vierte Client Pack, gebaut mit Zugang zum Client statt nur aus der Dokumentation. **Die Berechtigungen stehen in einem Agentenprofil**, weil die Datei des Arbeitsbereichs außerhalb des Repositoriums liegt; **die Spezifikationen des Clients sind das Planartefakt** (D-415); **der Schutz-Hook sperrte mit der Standardform nichts** und führt eine eigene Sperrform (D-417). **Prüfung 96** neu | `<FRAMEWORK_OWNER>` |
222
228
  | 0.1.2 | 2026-09-30 | Zeile B4: der Schutz des Overlays ohne Hook gemessen (`CR-2026-164`, D-502, `K-181`) – die Rückfrageregel trägt ohne Rückfragekanal, `--trust-all-tools` öffnet das Overlay | `<FRAMEWORK_OWNER>` |
223
229
  | 0.1.1 | 2026-09-29 | Zeile B4 folgt dem Erzeugnis: Das Agentenprofil sperrt das Overlay seit `1.17.0` nicht mehr, das tut allein der Schutz-Hook, und der läuft nur interaktiv (D-448, `K-181`; `CR-2026-158`, D-468) | `<FRAMEWORK_OWNER>` |
230
+ | 0.2.0 | 2026-10-02 | Sprachlich überarbeitet; Zusagen, Einstufungen und Belege unverändert | `<FRAMEWORK_OWNER>` |
@@ -22,7 +22,7 @@
22
22
  "agents_dir": ".kiro/agents",
23
23
  "pack_runtime_dir": ".kiro/steering",
24
24
  "has_rule_triggers": true,
25
- "core_skill_prefix": "fw-",
25
+ "core_skill_prefix": "koolie-",
26
26
  "core_paths": [
27
27
  ".kiro/README.md"
28
28
  ],
@@ -173,8 +173,8 @@
173
173
  "dst": "<RULES_DIR>/16-plan-spezifikation.md"
174
174
  },
175
175
  {
176
- "src": "framework/runtime/agents/fw-reviewer.md",
177
- "dst": "<AGENTS_DIR>/fw-reviewer.md"
176
+ "src": "framework/runtime/agents/koolie-reviewer.md",
177
+ "dst": "<AGENTS_DIR>/koolie-reviewer.md"
178
178
  },
179
179
  {
180
180
  "src": "templates/rules/21-overlay-TEMPLATE.md.template",
@@ -189,7 +189,7 @@
189
189
  "dst": "<HOOKS_FILE>"
190
190
  }
191
191
  ],
192
- "_shared_core_note": "16-plan-spezifikation.md liefert NUR dieses Pack aus: Es ist die Regel zu Weg B (D-415) - die Spezifikationen des Clients sind der Traeger des Plans, und die Regel gibt ihnen die Vorgaben der Planvorlage und von role-re-ticket mit. Keine Beispieldatei zur nutzerlokalen Wurzel-Anweisung (kein Mechanismus) und keine zur MCP-Konfiguration.",
192
+ "_shared_core_note": "16-plan-spezifikation.md liefert NUR dieses Pack aus: Es ist die Regel zu Weg B (D-415) - die Spezifikationen des Clients sind der Traeger des Plans, und die Regel gibt ihnen die Vorgaben der Planvorlage und von koolie-ticket mit. Keine Beispieldatei zur nutzerlokalen Wurzel-Anweisung (kein Mechanismus) und keine zur MCP-Konfiguration.",
193
193
  "shared_seed": [
194
194
  {
195
195
  "src": "framework/runtime/permissions.json",
@@ -1,6 +1,6 @@
1
1
  # Laufzeitschicht `.kiro/` – was hier liegt und wem es gehört
2
2
 
3
- Diese Ablage ist die **Laufzeitform** des Frameworks für den Client `kiro`. Die kanonische, werkzeugneutrale Langform steht in `.koolie/core/framework/`; was hier liegt, ist daraus erzeugt (D-02). **Inhaltliche Änderungen gehören in den Kern und laufen als Änderungsantrag** (`.koolie/core/governance/CHANGE_REQUEST_TEMPLATE.md`).
3
+ Diese Ablage ist die **Laufzeitform** des Frameworks für den Client `kiro`. Die kanonische, werkzeugneutrale Langform steht in `.koolie/core/framework/`; was hier liegt, ist daraus erzeugt. **Inhaltliche Änderungen gehören in den Kern und laufen als Änderungsantrag** (`.koolie/core/governance/CHANGE_REQUEST_TEMPLATE.md`).
4
4
 
5
5
  ## Was hier liegt
6
6
 
@@ -12,10 +12,10 @@ Diese Ablage ist die **Laufzeitform** des Frameworks für den Client `kiro`. Die
12
12
  | `steering/20-project-overlay.md` | Laufzeitfassung des Project Overlays (Ebene 4) | Projekt |
13
13
  | `steering/40-tech-*.md`, `steering/30-*.md` | Technology und Role Packs (Ebenen 5 und 6); eine an Dateimuster gebundene Regel trägt `inclusion: fileMatch` | Projekt |
14
14
  | `agents/koolie.json` | **Agentenprofil mit den Berechtigungen** des Frameworks, dazu die Projektwerte | Projekt (aus dem Kern erzeugt) |
15
- | `agents/fw-reviewer.md` | Nur lesender Review-Agent | Framework |
15
+ | `agents/koolie-reviewer.md` | Nur lesender Review-Agent | Framework |
16
16
  | `settings/cli.json` | **Wählt das Agentenprofil und die Engine** für jede Sitzung in diesem Verzeichnis | Projekt (aus dem Kern erzeugt) |
17
17
  | `hooks/koolie.json` | Schutz-Hook und Statusmeldung | Framework |
18
- | `skills/fw-*/` | Skills des Frameworks | Framework |
18
+ | `skills/koolie-*/` | Skills des Frameworks | Framework |
19
19
  | `specs/` | Spezifikationen, die der Client anlegt (Anforderungen, Entwurf, Aufgaben) | Projekt |
20
20
 
21
21
  ## Drei Dinge, die bei diesem Client anders sind