@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.
- package/.github/workflows/publish.yml +177 -0
- package/.koolie/QUELLREPOSITORIUM.md +9 -14
- package/.koolie/core/CHANGELOG.md +59 -0
- package/.koolie/core/LICENSE-HINWEIS.md +5 -6
- package/.koolie/core/OWNERS.md +2 -2
- package/.koolie/core/VERSION +1 -1
- package/.koolie/core/build/doc/00-kopf.md +6 -6
- package/.koolie/core/build/doc/01-executive-summary.md +8 -8
- package/.koolie/core/build/doc/03-ziele-nichtziele.md +2 -2
- package/.koolie/core/build/doc/04-geltungsbereich.md +4 -4
- package/.koolie/core/build/doc/05-glossar.md +3 -3
- package/.koolie/core/build/doc/07-architektur.md +2 -2
- package/.koolie/core/build/doc/07a-abbildungsschicht.md +9 -9
- package/.koolie/core/build/doc/08-trennung.md +3 -3
- package/.koolie/core/build/doc/09-betriebsmodi.md +8 -8
- package/.koolie/core/build/doc/15-referenzstruktur.md +56 -27
- package/.koolie/core/build/doc/16-agentenanweisung.md +2 -2
- package/.koolie/core/build/doc/20-referenz-skills.md +46 -46
- package/.koolie/core/build/doc/25-governance.md +9 -1
- package/.koolie/core/build/doc/26-qs-test.md +32 -3
- package/.koolie/core/build/doc/27-pilot.md +2 -2
- package/.koolie/core/build/doc/28-uebernahme.md +9 -1
- package/.koolie/core/build/doc/30-roadmap.md +3 -1
- package/.koolie/core/build/doc/31-anhaenge.md +1 -1
- package/.koolie/core/checklists/01-preflight.md +3 -3
- package/.koolie/core/checklists/02-privacy-context.md +1 -1
- package/.koolie/core/checklists/03-before-code-change.md +2 -2
- package/.koolie/core/checklists/04-review-ai-code.md +1 -1
- package/.koolie/core/checklists/05-testing.md +1 -1
- package/.koolie/core/checklists/06-security.md +1 -1
- package/.koolie/core/checklists/08-merge-request.md +1 -1
- package/.koolie/core/checklists/09-onboarding.md +2 -2
- package/.koolie/core/checklists/10-project-adoption.md +8 -8
- package/.koolie/core/checklists/11-framework-release.md +14 -14
- package/.koolie/core/clientmap.py +2 -2
- package/.koolie/core/clients/README.md +54 -52
- package/.koolie/core/clients/_template/CLIENT_PACK.md +19 -19
- package/.koolie/core/clients/claude-code/CLIENT_PACK.md +108 -164
- package/.koolie/core/clients/claude-code/manifest.json +5 -5
- package/.koolie/core/clients/claude-code/root-template/.claude/README.md +9 -9
- package/.koolie/core/clients/cursor/CLIENT_PACK.md +66 -60
- package/.koolie/core/clients/cursor/manifest.json +3 -3
- package/.koolie/core/clients/cursor/root-template/.cursor/README.md +3 -3
- package/.koolie/core/clients/devin-desktop/CLIENT_PACK.md +62 -64
- package/.koolie/core/clients/devin-desktop/manifest.json +5 -5
- package/.koolie/core/clients/devin-desktop/root-template/.devin/README.md +9 -9
- package/.koolie/core/clients/kiro/CLIENT_PACK.md +55 -48
- package/.koolie/core/clients/kiro/manifest.json +4 -4
- package/.koolie/core/clients/kiro/root-template/.kiro/README.md +3 -3
- package/.koolie/core/clients/openai-codex/CLIENT_PACK.md +98 -103
- package/.koolie/core/clients/openai-codex/manifest.json +3 -3
- package/.koolie/core/clients/openai-codex/root-template/.codex/README.md +2 -2
- package/.koolie/core/decision-trees/02-may-ai-do-task.md +2 -2
- package/.koolie/core/decision-trees/03-analyze-or-modify.md +12 -12
- package/.koolie/core/decision-trees/04-required-review.md +1 -1
- package/.koolie/core/docs/ADOPTION_GUIDE.md +281 -385
- package/.koolie/core/docs/DOCUMENTATION_STANDARD.md +44 -36
- package/.koolie/core/docs/PLACEHOLDER_REGISTRY.md +8 -8
- package/.koolie/core/docs/ROADMAP.md +34 -17
- package/.koolie/core/docs/RUNTIME_GLOSSARY.md +34 -35
- package/.koolie/core/examples/example-ergebnisbericht.md +1 -1
- package/.koolie/core/examples/example-mr-description.md +2 -2
- package/.koolie/core/framework/core/00-principles.md +1 -1
- package/.koolie/core/framework/core/01-governance.md +8 -8
- package/.koolie/core/framework/core/02-privacy.md +12 -12
- package/.koolie/core/framework/core/03-security.md +13 -11
- package/.koolie/core/framework/core/05-working-model.md +22 -22
- package/.koolie/core/framework/core/06-prompting-rules.md +5 -5
- package/.koolie/core/framework/core/07-review-rules.md +1 -1
- package/.koolie/core/framework/core/08-skill-conventions.md +11 -11
- package/.koolie/core/framework/core/09-risk-model.md +6 -6
- package/.koolie/core/framework/core/10-error-escalation.md +1 -1
- package/.koolie/core/framework/org-policies/MAPPING_CLASSIFICATION.md +1 -1
- package/.koolie/core/framework/overlay-patterns/general.md +63 -75
- package/.koolie/core/framework/role-packs/README.md +16 -28
- package/.koolie/core/framework/role-packs/_template/ROLE_PACK.md +3 -3
- package/.koolie/core/framework/role-packs/requirements-engineering/ROLE_PACK.md +23 -22
- package/.koolie/core/framework/role-packs/requirements-engineering/runtime/30-role-requirements-engineering.md +5 -5
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/{role-re-ticket → koolie-ticket}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/{role-re-ticket → koolie-ticket}/EXAMPLES.md +5 -5
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/{role-re-ticket → koolie-ticket}/SKILL.md +9 -9
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/koolie-ticket/TESTS.md +22 -0
- package/.koolie/core/framework/role-packs/software-development/ROLE_PACK.md +16 -16
- package/.koolie/core/framework/role-packs/software-development/runtime/30-role-software-development.md +1 -1
- package/.koolie/core/framework/runtime/agents/{fw-reviewer.md → koolie-reviewer.md} +2 -2
- package/.koolie/core/framework/runtime/permissions.json +13 -13
- package/.koolie/core/framework/runtime/root-instruction.md +5 -5
- package/.koolie/core/framework/runtime/rules/10-privacy-security.md +2 -2
- package/.koolie/core/framework/runtime/rules/15-development-rules.md +1 -1
- package/.koolie/core/framework/runtime/rules/16-plan-spezifikation.md +1 -1
- package/.koolie/core/framework/runtime/rules/20-project-overlay.md +2 -2
- package/.koolie/core/framework/skills/{fw-bugfix-prepare → koolie-bugfix-prepare}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-bugfix-prepare → koolie-bugfix-prepare}/EXAMPLES.md +8 -8
- package/.koolie/core/framework/skills/{fw-bugfix-prepare → koolie-bugfix-prepare}/SKILL.md +21 -21
- package/.koolie/core/framework/skills/koolie-bugfix-prepare/TESTS.md +15 -0
- package/.koolie/core/framework/skills/{fw-change-analyze → koolie-change-analyze}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-change-analyze → koolie-change-analyze}/EXAMPLES.md +6 -6
- package/.koolie/core/framework/skills/{fw-change-analyze → koolie-change-analyze}/SKILL.md +12 -12
- package/.koolie/core/framework/skills/koolie-change-analyze/TESTS.md +16 -0
- package/.koolie/core/framework/skills/{fw-change-small → koolie-change-small}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-change-small → koolie-change-small}/EXAMPLES.md +4 -4
- package/.koolie/core/framework/skills/{fw-change-small → koolie-change-small}/SKILL.md +15 -15
- package/.koolie/core/framework/skills/koolie-change-small/TESTS.md +13 -0
- package/.koolie/core/framework/skills/{fw-code-explain → koolie-code-explain}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-code-explain → koolie-code-explain}/EXAMPLES.md +4 -4
- package/.koolie/core/framework/skills/{fw-code-explain → koolie-code-explain}/SKILL.md +10 -10
- package/.koolie/core/framework/skills/koolie-code-explain/TESTS.md +11 -0
- package/.koolie/core/framework/skills/{fw-docs-update → koolie-docs-update}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-docs-update → koolie-docs-update}/EXAMPLES.md +3 -3
- package/.koolie/core/framework/skills/{fw-docs-update → koolie-docs-update}/SKILL.md +8 -8
- package/.koolie/core/framework/skills/koolie-docs-update/TESTS.md +12 -0
- package/.koolie/core/framework/skills/{fw-error-analyze → koolie-error-analyze}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-error-analyze → koolie-error-analyze}/EXAMPLES.md +6 -6
- package/.koolie/core/framework/skills/{fw-error-analyze → koolie-error-analyze}/SKILL.md +15 -15
- package/.koolie/core/framework/skills/koolie-error-analyze/TESTS.md +12 -0
- package/.koolie/core/framework/skills/{fw-mr-description → koolie-mr-description}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-mr-description → koolie-mr-description}/EXAMPLES.md +6 -6
- package/.koolie/core/framework/skills/{fw-mr-description → koolie-mr-description}/SKILL.md +8 -8
- package/.koolie/core/framework/skills/koolie-mr-description/TESTS.md +12 -0
- package/.koolie/core/framework/skills/{fw-overlay-pflege → koolie-overlay-pflege}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-overlay-pflege → koolie-overlay-pflege}/EXAMPLES.md +4 -4
- package/.koolie/core/framework/skills/{fw-overlay-pflege → koolie-overlay-pflege}/SKILL.md +8 -8
- package/.koolie/core/framework/skills/koolie-overlay-pflege/TESTS.md +13 -0
- package/.koolie/core/framework/skills/{fw-plan → koolie-plan}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-plan → koolie-plan}/EXAMPLES.md +7 -7
- package/.koolie/core/framework/skills/{fw-plan → koolie-plan}/SKILL.md +14 -14
- package/.koolie/core/framework/skills/koolie-plan/TESTS.md +14 -0
- package/.koolie/core/framework/skills/{fw-refactor → koolie-refactor}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-refactor → koolie-refactor}/EXAMPLES.md +4 -4
- package/.koolie/core/framework/skills/{fw-refactor → koolie-refactor}/SKILL.md +12 -12
- package/.koolie/core/framework/skills/koolie-refactor/TESTS.md +14 -0
- package/.koolie/core/framework/skills/{fw-repo-analyze → koolie-repo-analyze}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-repo-analyze → koolie-repo-analyze}/EXAMPLES.md +4 -4
- package/.koolie/core/framework/skills/{fw-repo-analyze → koolie-repo-analyze}/SKILL.md +8 -8
- package/.koolie/core/framework/skills/koolie-repo-analyze/TESTS.md +11 -0
- package/.koolie/core/framework/skills/{fw-review-support → koolie-review-support}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-review-support → koolie-review-support}/EXAMPLES.md +3 -3
- package/.koolie/core/framework/skills/{fw-review-support → koolie-review-support}/SKILL.md +7 -7
- package/.koolie/core/framework/skills/koolie-review-support/TESTS.md +13 -0
- package/.koolie/core/framework/skills/{fw-tests → koolie-tests}/CHANGELOG.md +2 -1
- package/.koolie/core/framework/skills/{fw-tests → koolie-tests}/EXAMPLES.md +5 -5
- package/.koolie/core/framework/skills/{fw-tests → koolie-tests}/SKILL.md +11 -11
- package/.koolie/core/framework/skills/koolie-tests/TESTS.md +12 -0
- package/.koolie/core/framework/tech-packs/README.md +2 -2
- package/.koolie/core/framework/tech-packs/_template/TECH_PACK.md +2 -2
- package/.koolie/core/governance/ADOPTION_REGISTRY.md +22 -58
- package/.koolie/core/governance/CHANGE_REQUEST_TEMPLATE.md +1 -1
- package/.koolie/core/governance/DECISION_LOG.md +7 -1
- package/.koolie/core/governance/EXCEPTION_PROCESS.md +1 -1
- package/.koolie/core/governance/FEEDBACK_PROCESS.md +1 -1
- package/.koolie/core/governance/FRAMEWORK_DEV_PROFILE.md +64 -66
- package/.koolie/core/governance/PRIORITY_HIERARCHY.md +13 -13
- package/.koolie/core/governance/RACI.md +3 -3
- package/.koolie/core/governance/RELEASE_PROCESS.md +101 -108
- package/.koolie/core/governance/change-requests/CR-2026-173-oeffentlicher-auftritt-koolie-praefix.md +67 -0
- package/.koolie/core/install.py +99 -0
- package/.koolie/core/koexistenz.py +2 -2
- package/.koolie/core/onboarding/GUIDE.md +7 -7
- package/.koolie/core/onboarding/KNOWLEDGE_CHECK.md +1 -1
- package/.koolie/core/onboarding/MENTOR_CHECKLIST.md +3 -3
- package/.koolie/core/onboarding/QUICKSTART.md +2 -2
- package/.koolie/core/onboarding/REFERENCE.md +14 -14
- package/.koolie/core/onboarding/exercises/EXERCISES.md +8 -8
- package/.koolie/core/onboarding/exercises/README.md +47 -65
- package/.koolie/core/pilot/PILOT_CONCEPT.md +1 -1
- package/.koolie/core/prompts/01-understand-codebase.md +11 -7
- package/.koolie/core/prompts/02-impact-analysis.md +17 -7
- package/.koolie/core/prompts/03-implementation-planning.md +10 -6
- package/.koolie/core/prompts/04-code-generation.md +11 -5
- package/.koolie/core/prompts/05-test-generation.md +13 -7
- package/.koolie/core/prompts/06-refactoring.md +14 -8
- package/.koolie/core/prompts/07-debugging.md +13 -11
- package/.koolie/core/prompts/08-security-review.md +2 -2
- package/.koolie/core/prompts/09-performance-analysis.md +2 -2
- package/.koolie/core/prompts/10-documentation.md +6 -4
- package/.koolie/core/prompts/11-merge-request-review.md +7 -5
- package/.koolie/core/prompts/12-developer-training.md +5 -3
- package/.koolie/core/prompts/README.md +17 -15
- package/.koolie/core/templates/MR_AI_DISCLOSURE.md +2 -2
- package/.koolie/core/templates/PLAN_TEMPLATE.md +2 -2
- package/.koolie/core/templates/SKILL_TEMPLATE.md +3 -3
- package/.koolie/core/templates/project-overlay/OVERLAY.md +28 -22
- package/.koolie/core/templates/project-overlay/documents/architecture/decisions/README.md +1 -1
- package/.koolie/core/tests/EDGE_CASES.md +4 -7
- package/.koolie/core/tests/TEST_CATALOG.md +33 -33
- package/.koolie/core/tests/protocols/2026-10-02-oeffentlicher-auftritt-2.0.0.md +42 -0
- package/.koolie/core/tests/scripts/hook-check-secrets.py +2 -2
- package/.koolie/core/tests/scripts/hook-overlay-status.py +1 -1
- package/.koolie/core/tests/scripts/probe-pruefungen.py +4 -2
- package/.koolie/core/tests/scripts/pruefungen/berechtigungen.py +7 -7
- package/.koolie/core/tests/scripts/pruefungen/bestand.py +20 -3
- package/.koolie/core/tests/scripts/pruefungen/dokumente.py +88 -0
- package/.koolie/core/tests/scripts/pruefungen/gemeinsam.py +1 -1
- package/.koolie/core/tests/scripts/pruefungen/hooks.py +1 -1
- package/.koolie/core/tests/scripts/pruefungen/overlay.py +5 -5
- package/.koolie/core/tests/scripts/pruefungen/testkatalog.py +5 -5
- package/.koolie/core/tests/scripts/pruefungen/werkzeuge.py +81 -2
- package/.koolie/core/tests/scripts/sonden/teil02_packs_mandat_mcp.py +6 -6
- package/.koolie/core/tests/scripts/sonden/teil03_pruefungen_26_bis_36.py +11 -11
- package/.koolie/core/tests/scripts/sonden/teil04_pruefungen_37_bis_45.py +11 -11
- package/.koolie/core/tests/scripts/sonden/teil05_pruefungen_46_bis_55.py +4 -4
- package/.koolie/core/tests/scripts/sonden/teil06_pruefungen_57_bis_65.py +33 -33
- package/.koolie/core/tests/scripts/sonden/teil07_overlay_und_lieferung.py +3 -3
- package/.koolie/core/tests/scripts/sonden/teil08_pruefungen_66_bis_80.py +3 -3
- package/.koolie/core/tests/scripts/sonden/teil10_pruefungen_83_bis_95.py +3 -3
- package/.koolie/core/tests/scripts/sonden/teil11_pruefungen_104_und_105.py +2 -2
- package/.koolie/core/tests/scripts/sonden/teil14_modi_ausnahmen_skills.py +1 -1
- package/.koolie/core/tests/scripts/sonden/teil16_koexistenz.py +5 -5
- package/.koolie/core/tests/scripts/sonden/teil17_paketquellen.py +33 -0
- package/.koolie/core/tests/scripts/sonden/teil19_skillnamen.py +97 -0
- package/.koolie/core/tests/scripts/sonden/teil20_kennungen.py +70 -0
- package/.koolie/core/tests/scripts/validate-framework.py +15 -6
- package/.koolie/core/tests/scripts/validate-output.py +1 -1
- package/CONTRIBUTING.md +16 -10
- package/QUICKSTART.en.md +44 -51
- package/QUICKSTART.md +44 -50
- package/package.json +2 -2
- package/paketquellen/README.md +11 -11
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/TESTS.md +0 -22
- package/.koolie/core/framework/skills/fw-bugfix-prepare/TESTS.md +0 -15
- package/.koolie/core/framework/skills/fw-change-analyze/TESTS.md +0 -16
- package/.koolie/core/framework/skills/fw-change-small/TESTS.md +0 -13
- package/.koolie/core/framework/skills/fw-code-explain/TESTS.md +0 -11
- package/.koolie/core/framework/skills/fw-docs-update/TESTS.md +0 -12
- package/.koolie/core/framework/skills/fw-error-analyze/TESTS.md +0 -12
- package/.koolie/core/framework/skills/fw-mr-description/TESTS.md +0 -12
- package/.koolie/core/framework/skills/fw-overlay-pflege/TESTS.md +0 -13
- package/.koolie/core/framework/skills/fw-plan/TESTS.md +0 -14
- package/.koolie/core/framework/skills/fw-refactor/TESTS.md +0 -14
- package/.koolie/core/framework/skills/fw-repo-analyze/TESTS.md +0 -11
- package/.koolie/core/framework/skills/fw-review-support/TESTS.md +0 -13
- package/.koolie/core/framework/skills/fw-tests/TESTS.md +0 -12
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| Ebene | 1 – Framework Core |
|
|
7
7
|
| Verbindlichkeit | normativ (Abschnitte 1–3), Erläuterung (Abschnitt 4) |
|
|
8
8
|
| Owner | `<FRAMEWORK_OWNER>` |
|
|
9
|
-
| Version | 0.1.
|
|
9
|
+
| Version | 0.1.14 |
|
|
10
10
|
| Status | `pilot` |
|
|
11
11
|
|
|
12
12
|
## 1. Standardarbeitsablauf (normativ)
|
|
@@ -19,22 +19,22 @@ Jede KI-Aufgabe folgt den vierzehn Schritten. Schritte DÜRFEN NICHT übersprung
|
|
|
19
19
|
| 2 | Scope und Grenzen bestimmen | Mensch | Erlaubte Pfade, ausgeschlossene Pfade, Betriebsmodus, Kontrollstufe (`09-risk-model.md`) | `.koolie/core/decision-trees/02-may-ai-do-task.md`, `03-analyze-or-modify.md` |
|
|
20
20
|
| 3 | Datenschutz und Kontextfreigabe prüfen | Mensch | Kontextklassen aller vorgesehenen Quellen prüfen (`02-privacy.md`); K3-Inhalte ausschließen | `.koolie/core/checklists/02-privacy-context.md`, `.koolie/core/decision-trees/01-context-allowed.md` |
|
|
21
21
|
| 4 | Rückfragen und offene Punkte erfassen | KI-Client | Liste der Unklarheiten mit Auswirkung; keine Bearbeitung ungeklärter Punkte (P3) | – |
|
|
22
|
-
| 5 | Relevanten Ist-Zustand analysieren | KI-Client | Nur die für die Aufgabe relevanten Dateien lesen; keine Änderungen (P4) | Skill `
|
|
22
|
+
| 5 | Relevanten Ist-Zustand analysieren | KI-Client | Nur die für die Aufgabe relevanten Dateien lesen; keine Änderungen (P4) | Skill `koolie-repo-analyze` |
|
|
23
23
|
| 6 | Befunde mit Fundstellen darstellen | KI-Client | Jede Aussage mit `pfad/datei:zeile` oder Suchmuster belegen | – |
|
|
24
|
-
| 7 | Lösungsoptionen bewerten | KI-Client, Entscheidung Mensch | Mindestens zwei Optionen bei Stufe mittel/hoch; Kriterien: Risiko, Aufwand, Reversibilität, Konsistenz mit Architektur | Skill `
|
|
25
|
-
| 8 | Vorgehen oder Änderungsplan vorschlagen | KI-Client | Schrittfolge, betroffene Dateien, Tests, Abbruchkriterien | Skill `
|
|
24
|
+
| 7 | Lösungsoptionen bewerten | KI-Client, Entscheidung Mensch | Mindestens zwei Optionen bei Stufe mittel/hoch; Kriterien: Risiko, Aufwand, Reversibilität, Konsistenz mit Architektur | Skill `koolie-change-analyze` |
|
|
25
|
+
| 8 | Vorgehen oder Änderungsplan vorschlagen | KI-Client | Schrittfolge, betroffene Dateien, Tests, Abbruchkriterien | Skill `koolie-plan` |
|
|
26
26
|
| 9 | Freigabepunkt vor Änderungen am Produktivcode (Schritt 10, M3) | Mensch | Bestätigung des Plans (Stufe mittel) oder dokumentierte Freigabe `<APPROVAL_ROLE>` (Stufe hoch) | `09-risk-model.md` |
|
|
27
|
-
| 10 | Änderung in kleinen, nachvollziehbaren Schritten umsetzen | KI-Client unter Beobachtung | Ein logischer Schritt je Änderung; nach jedem Schritt Zwischenstand berichten (P7) | Skill `
|
|
27
|
+
| 10 | Änderung in kleinen, nachvollziehbaren Schritten umsetzen | KI-Client unter Beobachtung | Ein logischer Schritt je Änderung; nach jedem Schritt Zwischenstand berichten (P7) | Skill `koolie-change-small`, `.koolie/core/checklists/03-before-code-change.md` |
|
|
28
28
|
| 11 | Tests und Qualitätsprüfungen ausführen | KI-Client, Bewertung Mensch | Nur im Overlay freigegebene Befehle (`<BUILD_COMMAND>`, `<TEST_COMMAND>`, `<LINT_COMMAND>`); Ergebnisse unverändert berichten | `.koolie/core/checklists/05-testing.md` |
|
|
29
29
|
| 12 | Ergebnis, Abweichungen und Restrisiken dokumentieren | KI-Client | Ergebnisbericht nach Standardformat (Abschnitt 3.6) | – |
|
|
30
|
-
| 13 | Menschliche Prüfung ermöglichen | KI-Client, dann Mensch | Diff, Fundstellen, Testprotokoll, offene Punkte bereitstellen; Review anhand `.koolie/core/checklists/04-review-ai-code.md` | Skill `
|
|
31
|
-
| 14 | Übernahme über den bestehenden Review- und Freigabeprozess | Mensch | Merge Request mit KI-Nutzungsvermerk; reguläre Quality Gates und Review (P5, P6) | `.koolie/core/checklists/08-merge-request.md`, Skill `
|
|
30
|
+
| 13 | Menschliche Prüfung ermöglichen | KI-Client, dann Mensch | Diff, Fundstellen, Testprotokoll, offene Punkte bereitstellen; Review anhand `.koolie/core/checklists/04-review-ai-code.md` | Skill `koolie-review-support` |
|
|
31
|
+
| 14 | Übernahme über den bestehenden Review- und Freigabeprozess | Mensch | Merge Request mit KI-Nutzungsvermerk; reguläre Quality Gates und Review (P5, P6) | `.koolie/core/checklists/08-merge-request.md`, Skill `koolie-mr-description` |
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Die Spalte „Referenz“ nennt bei sechs Schritten einen Skill (5, 7, 8, 10, 13, 14). Wo sie einen nennt, ist er der vorgesehene Weg des Schrittes – keine Leseempfehlung. Ein anderer Weg ist zulässig, MUSS aber im Ergebnisbericht benannt und begründet werden (Abschnitt 3.6). Ein abgewiesener Skill-Aufruf ist keine Verwendung: Wer die `SKILL.md` ersatzweise liest und ihren Ablauf von Hand nacharbeitet, arbeitet ohne die Werkzeugbeschränkung des Skills. Gemessen am 2026-09-14 `[MESS]` (`.koolie/core/tests/protocols/2026-09-14-erhebung-skillaufruf.md`): In zwei von zwei nachgearbeiteten Läufen wies die Sitzung den Skill im Bericht als verwendet oder aufgerufen aus, und in einem davon verwendete sie ein Werkzeug, das der Skill sperrt.
|
|
34
34
|
|
|
35
35
|
## 2. Betriebsmodi (normativ)
|
|
36
36
|
|
|
37
|
-
Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensch vor; ohne Angabe gilt M1
|
|
37
|
+
Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensch vor; ohne Angabe gilt M1. Ein Moduswechsel innerhalb einer Sitzung ist zulässig, MUSS aber ausdrücklich durch den Menschen angewiesen werden und wird vom KI-Client im Ergebnisbericht vermerkt.
|
|
38
38
|
|
|
39
39
|
### 2.1 Übersicht
|
|
40
40
|
|
|
@@ -60,7 +60,7 @@ Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensc
|
|
|
60
60
|
| Prüfpflichten | Mensch prüft Befunde stichprobenartig an den angegebenen Fundstellen; unbelegte Aussagen gelten als unbestätigt |
|
|
61
61
|
| Abbruchkriterien | Zugriff auf K3-Inhalte erforderlich; Fundstellen nicht auffindbar; Frage erfordert Informationen außerhalb des Repositorys, die nicht freigegeben sind |
|
|
62
62
|
| Erwartete Ausgabe | Strukturierter Analysebericht: Fragestellung, untersuchte Bereiche, Befunde mit Fundstellen, offene Punkte, ausdrückliche Kennzeichnung von Vermutungen |
|
|
63
|
-
| Umsetzung im Werkzeug |
|
|
63
|
+
| Umsetzung im Werkzeug | Die Modusgrenze gilt normativ; technisch durchsetzen lässt sie sich mit einer Modusbindung (`mandat.py modus M1`): Dann sperrt der Schutz-Hook jedes Schreibwerkzeug `[MESS]`; ein Shell-Befehl, der schreibt, entgeht ihr. Kennt der KI-Client einen eigenen Nur-Lese-Modus oder ein rein lesendes Agentenprofil, ist dieser Weg vorzuziehen – welcher das ist, steht in der Fähigkeitsmatrix seines Client Packs (Zeilen S3 und A1) `[DOK]` je Pack. Die Skill-`permissions` tragen die Modusgrenze teilweise, ersetzen sie aber nicht `[MESS]`: Bei `claude-code` ist die Quelle `permissions.deny` auf `disallowed-tools` abgebildet, und das entfernt die Schreibwerkzeuge wirklich – gemessen am 2026-09-13 (`tests/protocols/2026-09-13-erhebung-disallowed-tools.md`). **Die Sperre gilt aber nur für den aufrufenden Turn;** mit der nächsten Nachricht der Person ist das Werkzeug zurück – gemessen. Ein „nur lesender" Skill ist damit nur während seines Turns nur lesend und trägt M1 nicht als Betriebsmodus einer Sitzung. Wer M1 über einen Turn hinaus braucht, braucht die globale Berechtigungsschicht oder einen Nur-Lese-Modus des Clients. Innerhalb des Turns gilt die Entfernung auch für einen Unteragenten, den der Skill startet – gemessen am 2026-09-13 (`tests/protocols/2026-09-13-erhebung-unteragent.md`) `[MESS]`, mit Kontrolllauf –, sie reicht dort aber genauso weit wie oben: Mit gesperrtem `Write, Edit` schrieb der Unteragent über `Bash`. Das rein lesende Agentenprofil ist der belastbarere Weg zu M1, gemessen am 2026-09-13 `[MESS]`: Ein Profil mit `tools: Read, Grep, Glob` hatte kein Schreibwerkzeug im Vorrat; es hängt nicht am Turn, sondern am Profil. Es kann sich nicht selbst erweitern `[MESS]`: Ihm fehlt das Werkzeug, um eine zweite, weniger beschränkte Ebene zu starten. Bei Widerspruch gewinnt die restriktivere Liste `[MESS]` – ein Profil, das ein Werkzeug ausdrücklich erlaubt, bekommt es unter einem Skill, der es sperrt, nicht; die Liste lässt sich nur enger machen, nie weiter. `allowed-tools` trägt die Grenze nicht: Es ist eine Vorabfreigabe und keine Beschränkung – gemessen am 2026-09-12 (`tests/protocols/2026-09-12-B01-allowed-tools.md`, B01) `[MESS]`. Jedes Pack benennt, was an die Stelle eines verworfenen Feldes tritt, sonst bricht die Installation ab; der Ersatz steht in Zeile S3 der Fähigkeitsmatrix. Unabhängig vom Modus wirken die Sperren auf Secret- und Kernpfade `[DOK]` |
|
|
64
64
|
|
|
65
65
|
#### M2 Guided Planning
|
|
66
66
|
|
|
@@ -73,7 +73,7 @@ Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensc
|
|
|
73
73
|
| Prüfpflichten | Mensch bestätigt oder verwirft den Plan schriftlich (Stufe mittel) beziehungsweise `<APPROVAL_ROLE>` gibt frei (Stufe hoch); jede Planänderung nach Freigabe erfordert erneute Bestätigung |
|
|
74
74
|
| Abbruchkriterien | Anforderungen widersprüchlich; Plan würde Delegationsverbotsliste berühren; Plan erfordert Kontext außerhalb der Freigabe |
|
|
75
75
|
| Erwartete Ausgabe | Plan nach `.koolie/core/templates/PLAN_TEMPLATE.md`: Ziel, Annahmen (gekennzeichnet), offene Fragen, Schritte, betroffene Dateien, Teststrategie, Risiken, Rollback |
|
|
76
|
-
| Umsetzung im Werkzeug |
|
|
76
|
+
| Umsetzung im Werkzeug | Die Beschränkung des Schreibrechts auf die Plan-Datei gilt normativ; technisch durchsetzen lässt sie sich mit einer Modusbindung: Der Mensch führt im eigenen Terminal `python .koolie/core/mandat.py modus M2 --ablage <pfad>` aus, und der Schutz-Hook sperrt jedes Schreibwerkzeug außerhalb der Plan-Ablage – befristet wie ein Mandat, und der Client kann die Bindung weder setzen noch aufheben `[MESS]`. Grenze: Ein Shell-Befehl, der schreibt, entgeht der Bindung; dort tragen Rückfrage und Regelschicht. Ohne Bindung gilt die Grenze nur normativ. Kennt der KI-Client einen eigenen Planungsmodus mit persistenter Plan-Datei, ist dieser vorzuziehen (Fähigkeitsmatrix des Client Packs) `[DOK]` je Pack. Liegt die Plan-Datei außerhalb des Repositorys, wird sie für die Nachvollziehbarkeit in das im Overlay festgelegte Ablageformat übernommen (`<TBD: Ablage von Plänen im Projekt>`) |
|
|
77
77
|
|
|
78
78
|
#### M3 Controlled Modification
|
|
79
79
|
|
|
@@ -83,10 +83,10 @@ Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensc
|
|
|
83
83
|
| Zulässige Aktionen | Dateien innerhalb `<ALLOWED_PATHS>` ändern; freigegebene Build-, Test- und Lint-Befehle ausführen; lesende Git-Befehle (status, diff, log, show, blame) zur Aufnahme des eigenen Änderungsstands ausführen; nach jedem Schritt Zwischenstand berichten |
|
|
84
84
|
| Verbotene Aktionen | Änderungen außerhalb des Scopes; Änderungen an `<EXCLUDED_PATHS>`; neue Abhängigkeiten ohne Freigabe; Git-Operationen mit Fernwirkung (push, merge, tag, rebase auf geteilten Branches); Löschen von Dateien ohne ausdrückliche Einzelfreigabe; Deaktivieren oder Löschen von Tests; Anpassen von Quality-Gate-Konfigurationen |
|
|
85
85
|
| Benötigter Kontext | Bestätigter Plan; betroffene Dateien; Coding Conventions; Test- und Build-Befehle aus dem Overlay |
|
|
86
|
-
| Prüfpflichten | Mensch beobachtet die Sitzung im rückfragenden Standardmodus (
|
|
86
|
+
| Prüfpflichten | Mensch beobachtet die Sitzung im rückfragenden Standardmodus (wie der Modus im Client heißt, nennt die Fähigkeitsmatrix des Client Packs) und bestätigt Schreib- und Ausführungsanfragen einzeln; vollständiger Diff-Review vor Commit; Quality Gates |
|
|
87
87
|
| Abbruchkriterien | Abweichung vom Plan erforderlich; unerwartete Berührung weiterer Komponenten; fehlgeschlagene Tests ohne klare Ursache; Fund von Secrets oder personenbezogenen Echtdaten; Anstieg der Kontrollstufe |
|
|
88
88
|
| Erwartete Ausgabe | Änderungssatz (Diff) mit Schrittprotokoll, ausgeführten Befehlen und Ergebnissen, Abweichungen vom Plan, Restrisiken, Vorschlag für Commit-Nachricht |
|
|
89
|
-
| Umsetzung im Werkzeug | Rückfragender Standardmodus (Schreib- und Ausführungsanfragen werden einzeln bestätigt) `[DOK]`; Berechtigungsdatei mit Verweigerung für ausgeschlossene Pfade und Fernwirkungs-Befehle, Rückfrage für Schreiben und Ausführen `[DOK]`; ein Modus ohne Rückfragen DARF NICHT verwendet werden
|
|
89
|
+
| Umsetzung im Werkzeug | Rückfragender Standardmodus (Schreib- und Ausführungsanfragen werden einzeln bestätigt) `[DOK]`; Berechtigungsdatei mit Verweigerung für ausgeschlossene Pfade und Fernwirkungs-Befehle, Rückfrage für Schreiben und Ausführen `[DOK]`; ein Modus ohne Rückfragen DARF NICHT verwendet werden `[KONZ]`; sitzungsweite Freigaben nur für die im Overlay freigegebenen Testbefehle `[EMPF]`. Die Beschränkung auf `<ALLOWED_PATHS>` lässt sich binden: `python .koolie/core/mandat.py modus M3 [--umfang <glob> …]` – der Schutz-Hook sperrt dann jedes Schreibwerkzeug außerhalb der Pfadliste (mit `--umfang` außerhalb der Schnittmenge mit dem freigegebenen Scope) und in `<READ_ONLY_PATHS>` `[MESS]`. Die Bindung ersetzt weder die Rückfrage noch das Review; ein Shell-Befehl, der schreibt, entgeht ihr |
|
|
90
90
|
|
|
91
91
|
#### M4 Test and Validation
|
|
92
92
|
|
|
@@ -99,7 +99,7 @@ Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensc
|
|
|
99
99
|
| Prüfpflichten | Mensch prüft, ob Tests das fachliche Verhalten und nicht die Implementierung zementieren; prüft synthetische Testdaten; prüft Aussagekraft fehlschlagender Tests |
|
|
100
100
|
| Abbruchkriterien | Test erfordert Änderung am Produktivcode (dann Wechsel nach M2/M3 durch den Menschen); Testinfrastruktur nicht verfügbar; Testdaten nur aus Echtdaten ableitbar |
|
|
101
101
|
| Erwartete Ausgabe | Testdateien, Testprotokoll (Befehl, Ergebnis, Dauer), Liste nicht abgedeckter Fälle, Bewertung der Aussagekraft |
|
|
102
|
-
| Umsetzung im Werkzeug |
|
|
102
|
+
| Umsetzung im Werkzeug | Die Beschränkung auf `<TEST_PATHS>` gilt normativ; technisch durchsetzen lässt sie sich mit einer Modusbindung (`mandat.py modus M4`): Dann sperrt der Schutz-Hook jedes Schreibwerkzeug außerhalb von `<TEST_PATHS>` `[MESS]`; ein Shell-Befehl, der schreibt, entgeht ihr. Ohne Bindung entscheidet der Hook innerhalb und außerhalb des Scopes gleich – gemessen am 2026-09-12 (`.koolie/core/tests/protocols/2026-09-12-B04-B05-gegenpruefung.md`, B05) `[DOK]` für den Befund. Die Skill-`permissions` tragen sie ebenfalls nicht (B01, siehe M1); welcher Mechanismus stattdessen trägt, steht in Zeile S3 der Fähigkeitsmatrix des jeweiligen Packs. Getragen wird sie von der Regelschicht und der Prüfpflicht dieses Modus; unabhängig davon wirken die Sperren auf Secret- und Kernpfade `[DOK]` |
|
|
103
103
|
|
|
104
104
|
#### M5 Documentation Support
|
|
105
105
|
|
|
@@ -112,21 +112,21 @@ Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensc
|
|
|
112
112
|
| Prüfpflichten | Fachliche Prüfung durch eine Person mit Domänenwissen; Prüfung auf vertrauliche Inhalte vor Ablage in `<DOCUMENTATION_PLATFORM>` |
|
|
113
113
|
| Abbruchkriterien | Dokumentierter Sachverhalt aus dem Code nicht belegbar; Widerspruch zwischen Code und bestehender Dokumentation, der eine fachliche Entscheidung erfordert |
|
|
114
114
|
| Erwartete Ausgabe | Geänderte Dokumentationsdateien, Änderungsübersicht, Liste belegter Quellen, Liste offener fachlicher Klärungen |
|
|
115
|
-
| Umsetzung im Werkzeug |
|
|
115
|
+
| Umsetzung im Werkzeug | Die Beschränkung auf `<DOC_PATHS>` gilt normativ; technisch durchsetzen lässt sie sich mit einer Modusbindung (`mandat.py modus M5`; ohne `<DOC_PATHS>` bindet sie nicht) `[MESS]`; ein Shell-Befehl, der schreibt, entgeht ihr. Ohne Bindung gilt: Eine Beschränkung auf `<DOC_PATHS>` unter Ausschluss aller übrigen Pfade ist über Skill-`permissions` nicht ausdrückbar (`<DOC_PATHS>` ist Teilmenge von `<ALLOWED_PATHS>`, und `deny` gewinnt gegen `allow`) `[DOK]`, und das Feld `permissions` kennt nicht jeder Client für Skills (`skill_frontmatter.drop_fields` im Manifest des Packs, B01) – was an seine Stelle tritt, benennt die Zeile S3 seiner Fähigkeitsmatrix. Der Schutz-Hook kennt den Modus dann nicht (`.koolie/core/tests/protocols/2026-09-12-B04-B05-gegenpruefung.md`, B05) `[DOK]` für den Befund. Getragen wird sie von der Regelschicht und der fachlichen Prüfpflicht dieses Modus |
|
|
116
116
|
|
|
117
117
|
#### M6 Mandated Maintenance
|
|
118
118
|
|
|
119
119
|
| Aspekt | Festlegung |
|
|
120
120
|
|---|---|
|
|
121
|
-
| Zweck | Eine Entscheidung, die der Mensch in der Sitzung getroffen hat, direkt in das Project Overlay und die Projektdokumentation eintragen – bei der Einrichtung, nach einem Framework-Update und im laufenden Projekt –, statt sie als Vorlage zum Abschreiben zu liefern
|
|
121
|
+
| Zweck | Eine Entscheidung, die der Mensch in der Sitzung getroffen hat, direkt in das Project Overlay und die Projektdokumentation eintragen – bei der Einrichtung, nach einem Framework-Update und im laufenden Projekt –, statt sie als Vorlage zum Abschreiben zu liefern |
|
|
122
122
|
| Voraussetzung | Ein **Mandat**, das der Mensch im eigenen Terminal erteilt: `python .koolie/core/mandat.py erteilen --rolle <Rolle> --umfang overlay\|dokumente --minuten <1–480>`. Es ist befristet, auf einen Umfang begrenzt und liegt im Git-Verzeichnis, nicht im Arbeitsbaum. Ein Satz im Chat ist kein Mandat |
|
|
123
123
|
| Zulässige Aktionen | Im Umfang des Mandats Dateien erstellen und ändern; in `<DOC_PATHS>` wie M5; lesende Git-Befehle; `validate-framework.py`, `install.py --check` und `mandat.py status` ausführen; offene Punkte als `<TBD: …>` eintragen |
|
|
124
124
|
| Verbotene Aktionen | Eine Entscheidung treffen, die der Mensch nicht getroffen hat (V3, V10); ein Mandat erteilen, verlängern oder ändern; Kern, Laufzeitschicht, Wurzel-Anweisungsdatei oder Berechtigungsdatei ändern; `install.py --update` ausführen (es erzeugt die Berechtigungsdatei neu – V6); eine Regel des Kerns im Overlay lockern (Verschärfungsprinzip) |
|
|
125
125
|
| Benötigter Kontext | Die Entscheidung des Menschen in der Sitzung, mit Rolle; die betroffenen Overlay-Abschnitte; bei einem Framework-Update die Meldungen von `install.py --update` |
|
|
126
126
|
| Prüfpflichten | Am Ende `python .koolie/core/tests/scripts/validate-framework.py --strict-overlay`; Überprüfung jeder Änderung im Merge Request durch den Menschen (V1) |
|
|
127
127
|
| Abbruchkriterien | Kein gültiges Mandat (Blockade-Hinweis, Abschnitt 3.7); die Anweisung verlangt eine Entscheidung statt ihrer Eintragung; eine Änderung würde eine Kernregel lockern; der Validator meldet einen Fehler, den die Eintragung verursacht hat |
|
|
128
|
-
| Erwartete Ausgabe | Geänderte Dateien; im Änderungsverlauf des Overlays eine Zeile mit Rolle, Anlass und Datum; im Ergebnisbericht Mandat (Rolle, Umfang), Validatorergebnis und
|
|
129
|
-
| Umsetzung im Werkzeug |
|
|
128
|
+
| Erwartete Ausgabe | Geänderte Dateien; im Änderungsverlauf des Overlays eine Zeile mit Rolle, Anlass und Datum; im Ergebnisbericht Mandat (Rolle, Umfang), Validatorergebnis und jede geänderte Befehlsfreigabe oder Pfadliste als berechtigungswirksam – sie wirkt erst, wenn der Mensch `install.py --update` ausführt |
|
|
129
|
+
| Umsetzung im Werkzeug | Technisch durchgesetzt über den Schutz-Hook `[KONZ]`: Er sperrt `.koolie/project-overlay/` für jedes Schreibwerkzeug, solange kein gültiges Mandat das Ziel deckt, und sperrt Mandatsdatei und `mandat.py` für jede nicht lesende Operation. Die Berechtigungsdatei sperrt das Overlay nicht – eine statische Sperre könnte das Mandat nicht aufheben. Wo der Hook eines Packs nicht läuft, gilt die Grenze nur normativ; die Fähigkeitsmatrix des Packs sagt, wo das der Fall ist |
|
|
130
130
|
|
|
131
131
|
## 3. Querschnittsregeln für alle Modi (normativ)
|
|
132
132
|
|
|
@@ -134,8 +134,8 @@ Jede Aufgabe wird genau einem Betriebsmodus zugeordnet. Den Modus gibt der Mensc
|
|
|
134
134
|
|
|
135
135
|
1. Eine Sitzung bearbeitet eine Aufgabe. Neue Aufgaben MÜSSEN in neuen Sitzungen begonnen werden (Least Context, Nachvollziehbarkeit).
|
|
136
136
|
2. Sitzungsweite Freigaben („für diese Sitzung erlauben") SOLLEN nur für die im Overlay freigegebenen Testbefehle erteilt werden. Projektweite oder globale Freigaben `[DOK]` DÜRFEN NICHT durch einzelne Entwicklerinnen oder Entwickler erteilt werden; sie erfordern einen Änderungsantrag an die Berechtigungsdatei.
|
|
137
|
-
3. Parallel laufende Agentensitzungen `[DOK]` sind an **Voraussetzungen** gebunden, nicht an eine Kontrollstufe der Aufgabe: Die Aufgaben MÜSSEN voneinander unabhängig sein, die Schreibziele disjunkt – sie DÜRFEN NICHT auf denselben Dateien arbeiten –, eine Person MUSS die Aufsicht führen, und jede Sitzung MUSS ihre eigene Aufgabe und ihren eigenen Ergebnisbericht haben. Die Einstufung dieser Arbeitsweise leistet R12 (`.koolie/core/framework/core/09-risk-model.md`, Abschnitt 2): rein lesende Parallelarbeit unter Aufsicht niedrig, schreibende auf getrennten Zielen mittel, gemeinsame Schreibziele hoch und damit ausgeschlossen. Jede parallel bearbeitete Aufgabe bleibt an die Betriebsmodi **ihrer eigenen** Kontrollstufe gebunden
|
|
138
|
-
4. Hintergrund-Subagenten DÜRFEN NICHT für Modus M3 verwendet werden.
|
|
137
|
+
3. Parallel laufende Agentensitzungen `[DOK]` sind an **Voraussetzungen** gebunden, nicht an eine Kontrollstufe der Aufgabe: Die Aufgaben MÜSSEN voneinander unabhängig sein, die Schreibziele disjunkt – sie DÜRFEN NICHT auf denselben Dateien arbeiten –, eine Person MUSS die Aufsicht führen, und jede Sitzung MUSS ihre eigene Aufgabe und ihren eigenen Ergebnisbericht haben. Die Einstufung dieser Arbeitsweise leistet R12 (`.koolie/core/framework/core/09-risk-model.md`, Abschnitt 2): rein lesende Parallelarbeit unter Aufsicht niedrig, schreibende auf getrennten Zielen mittel, gemeinsame Schreibziele hoch und damit ausgeschlossen. Jede parallel bearbeitete Aufgabe bleibt an die Betriebsmodi **ihrer eigenen** Kontrollstufe gebunden.
|
|
138
|
+
4. Hintergrund-Subagenten DÜRFEN NICHT für Modus M3 verwendet werden. Diese Grenze gilt normativ; technisch abbildbar ist sie nicht `[MESS]`: Sperrbar ist nur das Startwerkzeug ganz – gemessen am 2026-09-13, `disallowed-tools: Agent` weist den Start ab, und die zweite Schreibweise `Task` ebenso (`tests/protocols/2026-09-13-erhebung-unteragent.md`). „Nur im Hintergrund" ist dagegen ein Argument (`run_in_background`), und ein Argumentmuster in der Werkzeugsperre wirkt lautlos gar nicht. Wer diese Regel technisch durchsetzen will, sperrt Unteragenten vollständig – das ist mehr, als die Regel sagt, und deshalb bleibt sie eine Anweisung. Was ein Skill sperrt, ist auch im Hintergrund gesperrt – gemessen am 2026-09-13 mit Kontrolllauf `[MESS]`. Ein Hintergrund-Unteragent ist also kein Weg, ein entferntes Werkzeug zurückzubekommen, sondern ein Weg, unbeaufsichtigt zu arbeiten – und das untersagt die Regel. Für M1 KANN ein rein lesendes Agentenprofil genutzt werden, sofern der KI-Client eines kennt (Fähigkeitsmatrix des Client Packs, A1); bei `claude-code` ist seine Wirkung gemessen.
|
|
139
139
|
|
|
140
140
|
### 3.2 Befehlsausführung
|
|
141
141
|
|
|
@@ -153,7 +153,7 @@ Fehlt Kontext, fragt der KI-Client gezielt nach (was fehlt, wozu es benötigt wi
|
|
|
153
153
|
|
|
154
154
|
### 3.5 Nachvollziehbarkeit
|
|
155
155
|
|
|
156
|
-
Jede Aufgabe endet mit einem Ergebnisbericht (Abschnitt 3.6).
|
|
156
|
+
Jede Aufgabe endet mit einem Ergebnisbericht (Abschnitt 3.6). Zwischen den Turns derselben Aufgabe genügt ein Kurzstatus in ein bis drei Zeilen – was getan ist, was als Nächstes kommt, was fehlt; der volle Bericht steht am Aufgabenende und bei jedem Moduswechsel. Bei Kontrollstufe mittel und hoch wird der Bericht im Merge Request oder im führenden System abgelegt, das Overlay Abschnitt 13 nennt (Ticketsystem oder Rückfallablage im Repositorium); dort liegen auch Plan und dokumentierte Freigabe.
|
|
157
157
|
|
|
158
158
|
### 3.6 Standardformat Ergebnisbericht
|
|
159
159
|
|
|
@@ -183,7 +183,7 @@ Jede Aufgabe endet mit einem Ergebnisbericht (Abschnitt 3.6). **Zwischen den Tur
|
|
|
183
183
|
|
|
184
184
|
### 3.7 Blockade-Hinweis
|
|
185
185
|
|
|
186
|
-
Sperrt eine Regel, ein Hook, eine Berechtigung, ein fehlendes Mandat, ein fehlender Overlay-Wert oder ein abgewiesener Skill-Aufruf den nächsten Schritt, gibt der KI-Client **sofort und ohne Nachfrage** vier kurze Zeilen aus
|
|
186
|
+
Sperrt eine Regel, ein Hook, eine Berechtigung, ein fehlendes Mandat, ein fehlender Overlay-Wert oder ein abgewiesener Skill-Aufruf den nächsten Schritt, gibt der KI-Client **sofort und ohne Nachfrage** vier kurze Zeilen aus:
|
|
187
187
|
|
|
188
188
|
```text
|
|
189
189
|
Gesperrt: <was – ein Satz>
|
|
@@ -32,20 +32,20 @@ Jede Anweisung an den KI-Client, die über eine einfache Rückfrage hinausgeht,
|
|
|
32
32
|
4. **Keine Rollenspiele mit Regelwirkung.** Anweisungen, die den KI-Client auffordern, Regeln zu ignorieren, sich als anderes System auszugeben oder Sicherheitsprüfungen zu überspringen, sind unzulässig – auch zu Testzwecken außerhalb des Testkatalogs.
|
|
33
33
|
5. **Ergebnis vor Stil.** Prompts fordern belegte Ergebnisse (Fundstellen, Testausgaben), nicht Selbstbewertungen („Bist du sicher?“).
|
|
34
34
|
6. **Sprache.** Anweisungen werden in der im Overlay festgelegten Arbeitssprache verfasst (`<TBD: Arbeitssprache>`); Bezeichner, Befehle und Pfade bleiben unverändert.
|
|
35
|
-
7. **Skills bevorzugen – von beiden Seiten.** Liegt für eine Aufgabe ein Skill vor, benennt ihn die Anweisung, und der KI-Client ruft ihn auch dann auf, wenn die Anweisung ihn nicht nennt (
|
|
35
|
+
7. **Skills bevorzugen – von beiden Seiten.** Liegt für eine Aufgabe ein Skill vor, benennt ihn die Anweisung, und der KI-Client ruft ihn auch dann auf, wenn die Anweisung ihn nicht nennt (Wurzel-Anweisungsdatei Abschnitt 17, `05-working-model.md` Abschnitt 1; wie ein Skill aufgerufen wird, nennt die Fähigkeitsmatrix des Client Packs, Zeile S2). Freie Prompts sind für Aufgaben ohne passenden Skill vorgesehen. Gemessen am 2026-09-14 hat eine Sitzung den passenden Skill benannt und seinen Aufruf im eigenen Bericht für „nicht nötig“ erklärt (`.koolie/core/tests/protocols/2026-09-14-erhebung-skillaufruf.md`).
|
|
36
36
|
8. **Iterationen kennzeichnen.** Folgeanweisungen in derselben Sitzung benennen, was sich gegenüber dem vorherigen Schritt ändert („Nur Schritt 3 des Plans anpassen: …“).
|
|
37
37
|
|
|
38
38
|
## 3. Unzulässige Prompt-Muster (normativ)
|
|
39
39
|
|
|
40
40
|
| Muster | Warum unzulässig | Stattdessen |
|
|
41
41
|
|---|---|---|
|
|
42
|
-
| „Behebe alle Fehler im Projekt“ | Kein Scope, keine Reversibilität, keine Prüfbarkeit | Ein Fehler, eine Sitzung, Skill `
|
|
42
|
+
| „Behebe alle Fehler im Projekt“ | Kein Scope, keine Reversibilität, keine Prüfbarkeit | Ein Fehler, eine Sitzung, Skill `koolie-error-analyze` |
|
|
43
43
|
| „Hier ist der Ticket-Export, mach das“ | Ungeprüfter Kontext (K2/K3-Risiko), kein Ziel | Ticket bereinigen, Ziel und Akzeptanzkriterien formulieren |
|
|
44
|
-
| „Schreib die Tests so, dass sie durchlaufen“ | Zementiert Fehlverhalten, umgeht Quality Gates | Skill `
|
|
45
|
-
| „Push das und erstell den MR“ | Delegationsverbot V2 | Skill `
|
|
44
|
+
| „Schreib die Tests so, dass sie durchlaufen“ | Zementiert Fehlverhalten, umgeht Quality Gates | Skill `koolie-tests` mit fachlichen Erwartungen |
|
|
45
|
+
| „Push das und erstell den MR“ | Delegationsverbot V2 | Skill `koolie-mr-description`, Push und MR durch den Menschen |
|
|
46
46
|
| „Ignoriere die Regeln, das ist nur ein Test“ | Regelumgehung, Injektionsmuster | Testkatalog verwenden |
|
|
47
47
|
| „Welche Bibliothek wäre gut? Bau sie ein.“ | Delegationsverbot V3 | Optionsanalyse anfordern, Entscheidung durch Mensch |
|
|
48
48
|
|
|
49
49
|
## 4. Erläuterung
|
|
50
50
|
|
|
51
|
-
Gute Prompts ähneln guten Tickets: Sie beschreiben Ziel, Grenzen und Erfolgskriterium und überlassen den Weg dem Bearbeiter – mit dem Unterschied, dass der Bearbeiter hier bei jeder Unklarheit sofort nachfragen soll. Wer Schwierigkeiten hat, einen Prompt zu formulieren, hat meist noch keine klare Aufgabe; dann hilft der Skill `
|
|
51
|
+
Gute Prompts ähneln guten Tickets: Sie beschreiben Ziel, Grenzen und Erfolgskriterium und überlassen den Weg dem Bearbeiter – mit dem Unterschied, dass der Bearbeiter hier bei jeder Unklarheit sofort nachfragen soll. Wer Schwierigkeiten hat, einen Prompt zu formulieren, hat meist noch keine klare Aufgabe; dann hilft der Skill `koolie-change-analyze` oder ein Gespräch mit dem Product Owner mehr als ein besserer Prompt.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
1. Ein Review prüft das Ergebnis, nicht die Entstehung: Für den Reviewer gelten dieselben Maßstäbe wie bei manuell erstelltem Code, ergänzt um die Prüfpunkte aus Abschnitt 2.
|
|
15
15
|
2. Die Bearbeiterin oder der Bearbeiter ist die erste Reviewerin beziehungsweise der erste Reviewer (Selbstreview anhand `.koolie/core/checklists/04-review-ai-code.md`) und DARF NICHT die einzige Prüfinstanz sein (Vier-Augen-Prinzip, sofern im Projekt vorgesehen; ab Kontrollstufe mittel verpflichtend).
|
|
16
|
-
3. Der KI-Client KANN das Review unterstützen (Skill `
|
|
16
|
+
3. Der KI-Client KANN das Review unterstützen (Skill `koolie-review-support`), aber ein KI-Befund ersetzt keine menschliche Prüfung und eine KI-„Freigabe“ existiert nicht (V1).
|
|
17
17
|
4. Reviewerinnen und Reviewer erhalten den KI-Nutzungsvermerk (Kontrollstufe, Modus, Skills, Kontext) vor Beginn des Reviews.
|
|
18
18
|
|
|
19
19
|
## 2. Zusätzliche Prüfpunkte für KI-generierte Änderungen (normativ)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| Ebene | 1 – Framework Core |
|
|
7
7
|
| Verbindlichkeit | normativ (Abschnitte 1–7), Erläuterung (Abschnitt 8) |
|
|
8
8
|
| Owner | `<FRAMEWORK_OWNER>` |
|
|
9
|
-
| Version | 0.3.
|
|
9
|
+
| Version | 0.3.6 |
|
|
10
10
|
| Status | `pilot` |
|
|
11
11
|
|
|
12
12
|
## 1. Begriff (normativ)
|
|
@@ -26,12 +26,12 @@ Skill-Ablage der Laufzeitschicht
|
|
|
26
26
|
|
|
27
27
|
- Ablageort: die Skill-Ablage der Laufzeitschicht, je Skill ein Unterverzeichnis mit `SKILL.md`. Der konkrete Pfad je Client steht in `.koolie/core/docs/RUNTIME_GLOSSARY.md` (Zeile „Skill-Ablage“), etwaige Alternativpfade im Client Pack.
|
|
28
28
|
- Der Verzeichnisname ist der Aufrufname; die Aufrufform je Client (etwa `/skill-name`) nennt Zeile S2 der Fähigkeitsmatrix seines Client Packs.
|
|
29
|
-
-
|
|
29
|
+
- Mitgelieferte Skills – aus dem Kern wie aus Role und Technology Packs – tragen das Präfix `koolie-`, projektspezifische Skills `prj-`. Ein mitgelieferter Name ist über alle Packs eindeutig.
|
|
30
30
|
- Skill-Namen bestehen aus Kleinbuchstaben, Ziffern und Bindestrichen.
|
|
31
31
|
|
|
32
32
|
## 3. Frontmatter (normativ)
|
|
33
33
|
|
|
34
|
-
Die Tabelle beschreibt das Frontmatter der **Quelle** unter `framework/skills/`. Es ist das Quellformat des Frameworks: `install.py` bildet es je Client Pack ab, und Felder wie `permissions` und `triggers` erscheinen in der installierten Fassung unter dem Namen, den das Manifest des Packs dafür führt, oder werden durch den dort benannten Ersatz getragen. **Die installierte Fassung enthält ausschließlich Felder, die in der Dokumentation des Clients belegt sind** `[DOK]`; wo das für ein Pack nicht erhoben ist, sagt es dessen Fähigkeitsmatrix
|
|
34
|
+
Die Tabelle beschreibt das Frontmatter der **Quelle** unter `framework/skills/`. Es ist das Quellformat des Frameworks: `install.py` bildet es je Client Pack ab, und Felder wie `permissions` und `triggers` erscheinen in der installierten Fassung unter dem Namen, den das Manifest des Packs dafür führt, oder werden durch den dort benannten Ersatz getragen. **Die installierte Fassung enthält ausschließlich Felder, die in der Dokumentation des Clients belegt sind** `[DOK]`; wo das für ein Pack nicht erhoben ist, sagt es dessen Fähigkeitsmatrix.
|
|
35
35
|
|
|
36
36
|
| Feld | Pflicht | Regel |
|
|
37
37
|
|---|---|---|
|
|
@@ -43,7 +43,7 @@ Die Tabelle beschreibt das Frontmatter der **Quelle** unter `framework/skills/`.
|
|
|
43
43
|
| `triggers` | MUSS | `["user"]` für alle Skills, die Dateien ändern oder Befehle ausführen; `["user", "model"]` nur für rein lesende Skills |
|
|
44
44
|
| `model`, `subagent`, `agent` | KANN | nur mit dokumentierter Begründung im Metadatenblock |
|
|
45
45
|
|
|
46
|
-
Framework-Metadaten (ID, Version, Status, Owner) stehen nicht im Frontmatter, sondern im Metadatenblock des Dateikörpers
|
|
46
|
+
Framework-Metadaten (ID, Version, Status, Owner) stehen nicht im Frontmatter, sondern im Metadatenblock des Dateikörpers.
|
|
47
47
|
|
|
48
48
|
## 4. Pflichtinhalte je Skill (normativ)
|
|
49
49
|
|
|
@@ -57,7 +57,7 @@ Framework-Metadaten (ID, Version, Status, Owner) stehen nicht im Frontmatter, so
|
|
|
57
57
|
| 6 | Zielgruppe | SKILL.md Abschnitt 1 | Rollen |
|
|
58
58
|
| 7 | Trigger | SKILL.md Abschnitt 1 | Situationen, in denen der Skill verwendet wird; Aufrufform |
|
|
59
59
|
| 8 | Vorbedingungen | SKILL.md Abschnitt 2 | Was vor dem Aufruf erfüllt sein muss (Preflight, Kontrollstufe, Modus) |
|
|
60
|
-
| 9 | Benötigte Eingaben | SKILL.md Abschnitt 2 | Argumente und Kontext mit Kontextklasse; „K2 (bereinigt)“ heißt bereinigt **und** freigegeben (`02-privacy.md` Abschnitt 4
|
|
60
|
+
| 9 | Benötigte Eingaben | SKILL.md Abschnitt 2 | Argumente und Kontext mit Kontextklasse; „K2 (bereinigt)“ heißt bereinigt **und** freigegeben (`02-privacy.md` Abschnitt 4) |
|
|
61
61
|
| 10 | Zulässige Kontextquellen | SKILL.md Abschnitt 2 | Positivliste |
|
|
62
62
|
| 11 | Ausgeschlossene Informationen | SKILL.md Abschnitt 2 | Negativliste, mindestens K3 |
|
|
63
63
|
| 12 | Arbeitsschritte | SKILL.md Abschnitt 3 | nummeriert, mit Halte- und Rückfragepunkten |
|
|
@@ -85,7 +85,7 @@ Framework-Metadaten (ID, Version, Status, Owner) stehen nicht im Frontmatter, so
|
|
|
85
85
|
2. Rückfragen bei Unklarheiten verlangen (P3) und Annahmen sichtbar machen.
|
|
86
86
|
3. Scope ausdrücklich begrenzen (Pfade, Modus, Kontrollstufe) und Überschreitungen melden.
|
|
87
87
|
4. Relevante Prüfungen definieren (welche Tests, welche Checkliste).
|
|
88
|
-
5. Festes Ausgabeformat verwenden. Die Überschriften des Gerüsts werden **wörtlich** übernommen – ohne Umformulierung, ohne Zusatz, in derselben Ebene; was ein Abschnitt für den Fall erläutert, steht im Text darunter. Auch die Ergebnisausgabe eines Folgeturns trägt jede Pflichtüberschrift; ein Abschnitt, dessen Inhalt schon in einem früheren Turn steht, verweist dort darauf
|
|
88
|
+
5. Festes Ausgabeformat verwenden. Die Überschriften des Gerüsts werden **wörtlich** übernommen – ohne Umformulierung, ohne Zusatz, in derselben Ebene; was ein Abschnitt für den Fall erläutert, steht im Text darunter. Auch die Ergebnisausgabe eines Folgeturns trägt jede Pflichtüberschrift; ein Abschnitt, dessen Inhalt schon in einem früheren Turn steht, verweist dort darauf.
|
|
89
89
|
6. Delegationsverbotsliste beachten.
|
|
90
90
|
7. Bei Kontrollstufe hoch ohne dokumentierte Freigabe die Bearbeitung ablehnen.
|
|
91
91
|
|
|
@@ -99,16 +99,16 @@ Framework-Metadaten (ID, Version, Status, Owner) stehen nicht im Frontmatter, so
|
|
|
99
99
|
| `veraltet` | ersetzt oder nicht mehr empfohlen; Nutzung mit Hinweis | Nachfolger benannt oder Begründung dokumentiert |
|
|
100
100
|
| `zurückgezogen` | entfernt; Verzeichnis bleibt bis zum nächsten Major-Release mit Hinweisdatei | Deprecation-Frist abgelaufen |
|
|
101
101
|
|
|
102
|
-
**Reichweite dieser Tabelle.** Die fünf Statuswerte und ihre Bedeutung gelten für
|
|
102
|
+
**Reichweite dieser Tabelle.** Die fünf Statuswerte und ihre Bedeutung gelten für jeden Modulträger des Frameworks; die Spalte *Voraussetzung für Übergang* gilt für Skills. Die Bedingungen für Modulträger, die keine Skills sind, stehen in `01-governance.md` Abschnitt 5. **„Testfälle bestanden" ist Bedingung für `aktiv`, nicht für `pilot`** – für `pilot` genügt, dass sie vorliegen.
|
|
103
103
|
|
|
104
104
|
- MAJOR: Änderung des Ausgabeformats oder des Scopes; MINOR: neue Schritte oder Prüfungen ohne Formatbruch; PATCH: Korrekturen und Formulierungen.
|
|
105
|
-
- Jede Versionsänderung, die eine **Anweisung** des Skills berührt, erfordert die erneute Ausführung der Testfälle in `TESTS.md`; Ergebnisse werden im Testkatalog vermerkt.
|
|
106
|
-
|
|
105
|
+
- Jede Versionsänderung, die eine **Anweisung** des Skills berührt, erfordert die erneute Ausführung der Testfälle in `TESTS.md`; Ergebnisse werden im Testkatalog vermerkt. Eine Änderung, die ausschließlich Erläuterung, Schreibweise oder einen Namen betrifft, tut das nicht – ein Testblatt nimmt ab, was der Skill anweist, und was er erläutert, hat es nie geprüft.
|
|
106
|
+
Die Grenze zwischen Anweisung und Erläuterung zieht ein Mensch; keine Prüfung setzt sie durch. Wer sie zieht, schreibt in den Änderungsverlauf des Skills, welche Art von Änderung er vorgenommen hat.
|
|
107
107
|
- Die strukturelle Konformität prüft `.koolie/core/tests/scripts/validate-framework.py` (Pflichtabschnitte, Frontmatter, Platzhalter, verbotene Muster).
|
|
108
108
|
|
|
109
|
-
**Reichweite dieser Konventionen.** Sie gelten für die
|
|
109
|
+
**Reichweite dieser Konventionen.** Sie gelten für die Skill-Ablage, die das Framework schreibt. Skills aus Ablagen außerhalb des Repositoriums – etwa aus dem Benutzerprofil – unterliegen ihnen nicht; sie sind nach Regel 2.6 der Prioritätshierarchie ebenenlos und dürfen den Handlungsspielraum nur einschränken, nie erweitern. Der KI-Client kann sie dennoch aufrufen: Am 2026-09-11 führte eine Installation 81 Skills, 67 davon aus einer fremden Ablage und mit Aufrufbarkeit durch Mensch und Modell.
|
|
110
110
|
|
|
111
|
-
Was ein solcher Skill tut, läuft durch die normalen Werkzeuge des Clients und erreicht damit Berechtigungsregeln und Schutz-Hook – gemessen im selben Lauf, einschließlich Positivkontrolle und einschließlich des Modus ohne Rückfragen. **Der Skill-Aufruf selbst ist kein Werkzeugaufruf** und damit nicht einzeln kontrollierbar; kontrolliert wird, was er auslöst. Welche fremden Ablagen ein Client führt und ob sie abschaltbar sind, steht im Abschnitt „Anweisungs- und Konfigurationsquellen außerhalb des Projekts" seines Client Packs
|
|
111
|
+
Was ein solcher Skill tut, läuft durch die normalen Werkzeuge des Clients und erreicht damit Berechtigungsregeln und Schutz-Hook – gemessen im selben Lauf, einschließlich Positivkontrolle und einschließlich des Modus ohne Rückfragen. **Der Skill-Aufruf selbst ist kein Werkzeugaufruf** und damit nicht einzeln kontrollierbar; kontrolliert wird, was er auslöst. Welche fremden Ablagen ein Client führt und ob sie abschaltbar sind, steht im Abschnitt „Anweisungs- und Konfigurationsquellen außerhalb des Projekts" seines Client Packs.
|
|
112
112
|
|
|
113
113
|
## 8. Erläuterung
|
|
114
114
|
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
| R9 | Einführung externer Abhängigkeiten | keine | Aktualisierung einer bestehenden Abhängigkeit (Patch/Minor) | neue Abhängigkeit oder Major-Update (Checkliste `.koolie/core/checklists/07-new-dependency.md`) |
|
|
37
37
|
| R10 | Änderung von Authentifizierung oder Autorisierung | keine | keine (jede Berührung ist mindestens hoch) | jede Änderung |
|
|
38
38
|
| R11 | Änderung von Datenmodellen oder Schnittstellen | keine | interne, abwärtskompatible Erweiterung | Schema-Änderung, Vertragsbruch einer Schnittstelle, Migration |
|
|
39
|
-
| R12 | Automatisierungsgrad der KI-Nutzung | einzelne, überwachte Sitzung im rückfragenden Standardmodus (
|
|
39
|
+
| R12 | Automatisierungsgrad der KI-Nutzung | einzelne, überwachte Sitzung im rückfragenden Standardmodus (wie der Modus im Client heißt, nennt die Fähigkeitsmatrix des Client Packs); oder mehrere rein lesende Sitzungen beziehungsweise Subagenten (M1, M2) unter einer aufsichtführenden Person | mehrere Schritte in einer Sitzung mit sitzungsweiten Freigaben; oder parallele schreibende Sitzungen auf disjunkten Schreibzielen | Modus mit selbsttätiger Übernahme, soweit ihn eine dokumentierte Ausnahme zulässt; parallele Sitzungen auf gemeinsamen Schreibzielen; Hintergrund-Subagenten in M3 |
|
|
40
40
|
| R13 | Mögliche Fehlerfolgen | lokal begrenzt, sofort erkennbar | Funktionsstörung in Test oder Produktion, erkennbar durch Monitoring | Datenverlust, Sicherheitsvorfall, Verstoß gegen rechtliche Vorgaben, Reputationsschaden |
|
|
41
41
|
|
|
42
42
|
`<CHANGE_SIZE_THRESHOLD>` und die Liste kritischer Komponenten werden im Project Overlay festgelegt (`<TBD: Schwellenwert für Änderungsumfang>`).
|
|
43
43
|
|
|
44
|
-
**Zu R12 (normativ).** Die Spalten unterscheiden nach **Schreibziel und Aufsicht**, nicht nach der Zahl der Sitzungen: rein lesende Parallelarbeit unter Aufsicht niedrig, schreibende Parallelarbeit auf getrennten Zielen mittel, gemeinsame Schreibziele hoch (
|
|
44
|
+
**Zu R12 (normativ).** Die Spalten unterscheiden nach **Schreibziel und Aufsicht**, nicht nach der Zahl der Sitzungen: rein lesende Parallelarbeit unter Aufsicht niedrig, schreibende Parallelarbeit auf getrennten Zielen mittel, gemeinsame Schreibziele hoch (die Voraussetzungen für Parallelarbeit nennt `.koolie/core/framework/core/05-working-model.md`, Abschnitt 3.1). Ein Modus mit selbsttätiger Übernahme bleibt **hoch**: Dass die erste Schutzlinie in einem erweiterten Modus ausfällt, ist gemessen, und diese Einstufung wird nicht gelockert. Der Modus ohne Rückfragen ist **keine Stufe von R12**, sondern untersagt.
|
|
45
45
|
|
|
46
46
|
## 3. Kontrollstufen (normativ)
|
|
47
47
|
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
| Dokumentationsumfang | KI-Nutzungsvermerk im Merge Request (Kurzform, `.koolie/core/templates/MR_AI_DISCLOSURE.md`) | zusätzlich: Plan, Fundstellenliste, Ergebnisbericht mit Abweichungen und Restrisiken | zusätzlich: vollständiges Sitzungsprotokoll (Prompts, Freigaben, ausgeführte Befehle), Entscheidungsvermerk der Freigabe |
|
|
54
54
|
| Eskalationskriterien | Scope-Überschreitung, unerwartete Berührung anderer Komponenten, fehlgeschlagene Quality Gates ohne klare Ursache | zusätzlich: Abweichung vom bestätigten Plan, neue Abhängigkeit, Testlücke | jede Unklarheit führt zum Stopp; Fortsetzung nur nach erneuter Freigabe |
|
|
55
55
|
|
|
56
|
-
**M6 Mandated Maintenance steht außerhalb dieser Tabelle
|
|
56
|
+
**M6 Mandated Maintenance steht außerhalb dieser Tabelle**. Er ändert keinen Code und trägt nur ein, was der Mensch entschieden hat; seine Voraussetzung ist das Mandat (`05-working-model.md`, M6), nicht die Kontrollstufe einer Aufgabe. Die Freigabe, die eine eingetragene Entscheidung braucht, richtet sich nach der Entscheidung selbst – etwa eine Architekturentscheidung der Stufe hoch nach dieser Tabelle.
|
|
57
57
|
|
|
58
58
|
## 4. Delegationsverbotsliste (normativ)
|
|
59
59
|
|
|
@@ -61,7 +61,7 @@ Folgende Aufgaben und Entscheidungen DÜRFEN NICHT an den KI-Client delegiert we
|
|
|
61
61
|
|
|
62
62
|
| Nr. | Nicht delegierbar | Zulässige Unterstützung durch den KI-Client |
|
|
63
63
|
|---|---|---|
|
|
64
|
-
| V1 | Freigabe, Genehmigung oder Abnahme von Änderungen, Merge Requests, Releases | Review-Unterstützung mit Befunden (Skill `
|
|
64
|
+
| V1 | Freigabe, Genehmigung oder Abnahme von Änderungen, Merge Requests, Releases | Review-Unterstützung mit Befunden (Skill `koolie-review-support`) |
|
|
65
65
|
| V2 | Merge in geschützte Branches, Tagging von Releases, Deployment in Produktion | Erstellung von Merge-Request-Beschreibungen |
|
|
66
66
|
| V3 | Architekturentscheidungen, Technologieauswahl, Einführung neuer Abhängigkeiten | Optionsanalyse mit Vor- und Nachteilen, Vorschlag mit Kennzeichnung; im Modus M6 das Eintragen einer Architekturentscheidung, die der Mensch getroffen hat |
|
|
67
67
|
| V4 | Umgang mit Secrets, Zugangsdaten, Zertifikaten, Schlüsselmaterial (Erzeugen, Rotieren, Eintragen, Lesen) | keine; Fundstellen vermuteter Secrets sind zu melden, nicht auszugeben |
|
|
@@ -74,9 +74,9 @@ Folgende Aufgaben und Entscheidungen DÜRFEN NICHT an den KI-Client delegiert we
|
|
|
74
74
|
| V11 | Kommunikation nach außen (Kunden, Behörden, Öffentlichkeit) im Namen des Projekts | Entwürfe für interne Verwendung |
|
|
75
75
|
| V12 | Löschen von Branches, Historie, Daten oder Artefakten außerhalb des Arbeitsbereichs | keine |
|
|
76
76
|
|
|
77
|
-
**Abgrenzung zu V6 (normativ).** V6 erfasst den **Betrieb**: tatsächliche Berechtigungen sowie Betriebs-, Infrastruktur- und Sicherheitskonfigurationen – auch dann, wenn sie als Code im Repositorium liegen (Infrastrukturbeschreibungen, Berechtigungs- und Richtliniendateien, die Berechtigungsdatei dieses Frameworks), denn ihr Inhalt **ist** die Berechtigung. V6 erfasst **nicht** die lokale Anwendungslogik mit Sicherheitsbezug: Authentifizierungs- und Autorisierungsprüfungen im Quellcode, Verwendung kryptografischer Bibliotheken, Sitzungsverwaltung. Diese ist über R3 und R10 Kontrollstufe **hoch** und nach deren Freigaben umsetzbar – dokumentierte Freigabe durch `<APPROVAL_ROLE>` und `<SECURITY_CONTACT>`, Umsetzung mit begleitender Person. **Die Frage im Zweifel:** Wirkt die Änderung über Build, Review und Quality Gates des Projekts, oder ist die geänderte Datei selbst die Berechtigung eines laufenden Systems? Im zweiten Fall gilt V6. Greift daneben ein anderes Delegationsverbot – V4 für Schlüsselmaterial, V10 für die Framework-Regeln und die Berechtigungsdatei –, bleibt es unberührt
|
|
77
|
+
**Abgrenzung zu V6 (normativ).** V6 erfasst den **Betrieb**: tatsächliche Berechtigungen sowie Betriebs-, Infrastruktur- und Sicherheitskonfigurationen – auch dann, wenn sie als Code im Repositorium liegen (Infrastrukturbeschreibungen, Berechtigungs- und Richtliniendateien, die Berechtigungsdatei dieses Frameworks), denn ihr Inhalt **ist** die Berechtigung. V6 erfasst **nicht** die lokale Anwendungslogik mit Sicherheitsbezug: Authentifizierungs- und Autorisierungsprüfungen im Quellcode, Verwendung kryptografischer Bibliotheken, Sitzungsverwaltung. Diese ist über R3 und R10 Kontrollstufe **hoch** und nach deren Freigaben umsetzbar – dokumentierte Freigabe durch `<APPROVAL_ROLE>` und `<SECURITY_CONTACT>`, Umsetzung mit begleitender Person. **Die Frage im Zweifel:** Wirkt die Änderung über Build, Review und Quality Gates des Projekts, oder ist die geänderte Datei selbst die Berechtigung eines laufenden Systems? Im zweiten Fall gilt V6. Greift daneben ein anderes Delegationsverbot – V4 für Schlüsselmaterial, V10 für die Framework-Regeln und die Berechtigungsdatei –, bleibt es unberührt.
|
|
78
78
|
|
|
79
|
-
**Entscheiden und Eintragen (normativ
|
|
79
|
+
**Entscheiden und Eintragen (normativ).** Nicht delegierbar ist bei V3 und V10 die **Entscheidung**. Das Eintragen einer Entscheidung, die der Mensch in der Sitzung getroffen und benannt hat, ist Ausführung: Es ist im Modus M6 mit Mandat zulässig (`05-working-model.md`, M6), und die Prüfung ist der Merge Request (V1). Was nicht entschieden ist, trägt der KI-Client nicht ein, sondern als `<TBD: …>`.
|
|
80
80
|
|
|
81
81
|
Das Project Overlay KANN die Liste erweitern (`.koolie/project-overlay/OVERLAY.md`, Abschnitt „Ausgeschlossene Aufgaben"). Es DARF sie NICHT verkürzen.
|
|
82
82
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
## 1. Abbruchbedingungen für den KI-Client (normativ)
|
|
13
13
|
|
|
14
|
-
Der KI-Client MUSS die Bearbeitung anhalten, den Zustand berichten und auf eine menschliche Entscheidung warten, wenn eine der folgenden Bedingungen eintritt. Die Kennungen S1 bis S10 bezeichnen in allen Regeldokumenten diese Abbruchbedingungen; die gleichlautenden Zeilen der Fähigkeitsmatrix eines Client Packs heißen dort stets *Zeile* S1 bis S5
|
|
14
|
+
Der KI-Client MUSS die Bearbeitung anhalten, den Zustand berichten und auf eine menschliche Entscheidung warten, wenn eine der folgenden Bedingungen eintritt. Die Kennungen S1 bis S10 bezeichnen in allen Regeldokumenten diese Abbruchbedingungen; die gleichlautenden Zeilen der Fähigkeitsmatrix eines Client Packs heißen dort stets *Zeile* S1 bis S5.
|
|
15
15
|
|
|
16
16
|
| ID | Bedingung | Meldung an |
|
|
17
17
|
|---|---|---|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|---|---|---|
|
|
10
10
|
| `<TBD: z. B. „öffentlich">` | K0 | `<TBD>` |
|
|
11
11
|
| `<TBD: z. B. „intern">` | K1 oder K2 | `<TBD: Kriterien, wann intern eingestufte Inhalte als K1 gelten dürfen>` |
|
|
12
|
-
| `<TBD: z. B. „vertraulich">` | K3 (unbedingt – Abschnitt 2.1 Nr. 7 von `.koolie/core/framework/core/02-privacy.md`; eine Lockerung ist auf keinem Weg vorgesehen
|
|
12
|
+
| `<TBD: z. B. „vertraulich">` | K3 (unbedingt – Abschnitt 2.1 Nr. 7 von `.koolie/core/framework/core/02-privacy.md`; eine Lockerung ist auf keinem Weg vorgesehen) | `<TBD: welche bereinigten Ableitungen zulässig sind; sie werden als eigener Inhalt neu eingestuft>` |
|
|
13
13
|
| `<TBD: z. B. „streng vertraulich">` | K3 (keine Lockerung) | – |
|
|
14
14
|
| personenbezogene Daten gemäß Richtlinie `<TBD: Referenz>` | K3 (Echtdaten); synthetische Testdaten K1 | `<TBD>` |
|
|
15
15
|
|
|
@@ -4,38 +4,33 @@
|
|
|
4
4
|
|---|---|
|
|
5
5
|
| ID | `FW-OVL-GENERAL` |
|
|
6
6
|
| Name | `general` |
|
|
7
|
-
| Version | `0.2.
|
|
7
|
+
| Version | `0.2.2` |
|
|
8
8
|
| Status | `pilot` |
|
|
9
9
|
| Owner (Rolle) | `<FRAMEWORK_OWNER>` |
|
|
10
|
-
| Gewählt über | `python .koolie/core/install.py --overlay general` – **nur bei der Erstinstallation**
|
|
11
|
-
| Wirkung | füllt drei Pfadplatzhalter einmal in Overlay, Laufzeitfassung und Berechtigungsdatei
|
|
10
|
+
| Gewählt über | `python .koolie/core/install.py --overlay general` – **nur bei der Erstinstallation** |
|
|
11
|
+
| Wirkung | füllt drei Pfadplatzhalter einmal in Overlay, Laufzeitfassung und Berechtigungsdatei; legt sechs Musterdokumente allgemeiner Praktiken an und registriert sie im Manifest |
|
|
12
12
|
| Nachweis | Sonden `M355` bis `M355e` und `M359` bis `M359c` in `.koolie/core/tests/scripts/probe-pruefungen.py` |
|
|
13
13
|
|
|
14
14
|
## Zweck
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
Ohne Muster beginnt ein Projekt mit einem leeren Overlay: Jeder Platzhalter ist ein Schlitz,
|
|
17
|
+
und solange er offen ist, sperrt die Berechtigungsdatei an seiner Stelle nichts. Dieses Muster
|
|
18
|
+
füllt die Schlitze, deren Wert sich ohne Kenntnis des Projekts sicher angeben lässt – und nur
|
|
19
|
+
diese.
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
(Abschnitt *„Die Dokumente“*). Sie sind ein zweiter Gegenstand mit eigener Grenze.
|
|
21
|
+
Außerdem liefert es Dokumente mit allgemein anerkannten Praktiken der Softwareentwicklung, die
|
|
22
|
+
auf jedes Projekt passen (Abschnitt *„Die Dokumente“*).
|
|
24
23
|
|
|
25
24
|
## Der Grundsatz: Das Muster sperrt, es gibt nichts frei
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Er steht ausschließlich in einem `deny`-Eintrag; ein Wert, der auf ein Projekt nicht
|
|
31
|
-
passt, sperrt eine Datei, die es dort nicht gibt, und kostet nichts.
|
|
26
|
+
Der Kern darf keine Projektwerte enthalten (Entscheidungsbaum 6, Prüfungen 6 und 14). Deshalb
|
|
27
|
+
**verschärft jeder Wert dieses Musters**: Er steht ausschließlich in einem `deny`-Eintrag. Passt
|
|
28
|
+
ein Wert nicht, sperrt er eine Datei, die es im Projekt nicht gibt, und kostet nichts.
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
`<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Tabelle unten an und bricht ab, wenn sie einen anderen führt – die Grenze steht im
|
|
38
|
-
Werkzeug, nicht nur in diesem Satz.
|
|
30
|
+
Nicht gefüllt wird alles, was etwas freigibt oder das Projekt beschreibt: `<ALLOWED_PATHS>`,
|
|
31
|
+
`<TEST_PATHS>`, `<DOC_PATHS>`, `<READ_ONLY_PATHS>`, die drei Befehlsschlitze, Rollen, Status,
|
|
32
|
+
Freigaben und die Ergebnisse der Datenschutz- und Vertragsprüfung. `install.py` nimmt aus dieser
|
|
33
|
+
Datei nur die drei Platzhalter der Tabelle unten an und bricht bei jedem anderen ab.
|
|
39
34
|
|
|
40
35
|
## Die Werte
|
|
41
36
|
|
|
@@ -44,52 +39,47 @@ Jeder Wert steht in einer eigenen Codespanne.
|
|
|
44
39
|
|
|
45
40
|
| Platzhalter | Werte | Warum ohne Kenntnis des Projekts sicher |
|
|
46
41
|
|---|---|---|
|
|
47
|
-
| `<CI_CONFIG_PATHS>` | `.github/workflows/**`, `.gitlab-ci.yml`, `.gitea/workflows/**`, `Jenkinsfile`, `azure-pipelines.yml`, `bitbucket-pipelines.yml`, `.circleci/**` | Die üblichen Ablagen der verbreiteten CI-Werkzeugklassen. Gesperrt wird nur das
|
|
48
|
-
| `<QUALITY_GATE_CONFIG_PATHS>` | `.editorconfig`, `.eslintrc*`, `eslint.config.*`, `.prettierrc*`, `.stylelintrc*`, `sonar-project.properties`, `codecov.yml`, `.codecov.yml`, `.coveragerc`, `.pylintrc`, `.flake8`, `ruff.toml`, `.golangci.yml`, `checkstyle.xml` | Eigenständige Konfigurationsdateien von Linter, Formatierer, Analyse und Abdeckung – Schwellenwerte ändert der KI-Client nie (`OVERLAY.md` Abschnitt 7).
|
|
49
|
-
| `<EXCLUDED_PATHS>` | `**/*.tfstate`, `**/*.tfstate.*`, `**/*.dump` | Zustandsdateien einer Infrastrukturbeschreibung tragen Zugangsdaten im Klartext, Datenbankabzüge echte Daten (K3).
|
|
42
|
+
| `<CI_CONFIG_PATHS>` | `.github/workflows/**`, `.gitlab-ci.yml`, `.gitea/workflows/**`, `Jenkinsfile`, `azure-pipelines.yml`, `bitbucket-pipelines.yml`, `.circleci/**` | Die üblichen Ablagen der verbreiteten CI-Werkzeugklassen. Gesperrt wird nur das Schreiben; eine Merge-Request-Vorlage neben `.github/workflows/` bleibt lesbar |
|
|
43
|
+
| `<QUALITY_GATE_CONFIG_PATHS>` | `.editorconfig`, `.eslintrc*`, `eslint.config.*`, `.prettierrc*`, `.stylelintrc*`, `sonar-project.properties`, `codecov.yml`, `.codecov.yml`, `.coveragerc`, `.pylintrc`, `.flake8`, `ruff.toml`, `.golangci.yml`, `checkstyle.xml` | Eigenständige Konfigurationsdateien von Linter, Formatierer, Analyse und Abdeckung – Schwellenwerte ändert der KI-Client nie (`OVERLAY.md` Abschnitt 7). Nicht enthalten sind Sammeldateien wie `pyproject.toml` oder `package.json`, die auch Abhängigkeiten tragen; sie zu sperren, wäre eine Aussage über das Projekt |
|
|
44
|
+
| `<EXCLUDED_PATHS>` | `**/*.tfstate`, `**/*.tfstate.*`, `**/*.dump` | Zustandsdateien einer Infrastrukturbeschreibung tragen Zugangsdaten im Klartext, Datenbankabzüge echte Daten (K3). Nicht enthalten sind `deploy/**`, `infra/**` oder `config/prod/**` aus dem Beispiel der Vorlage: Sie setzen ein Verzeichnislayout voraus, und eine Lesesperre auf ein Arbeitsverzeichnis wäre ein Hindernis, keine Verschärfung |
|
|
50
45
|
|
|
51
46
|
## Wie die Werte in das Projekt kommen
|
|
52
47
|
|
|
53
|
-
`install.py --overlay general` schreibt bei der Erstinstallation
|
|
54
|
-
Tabelle, und zwar genau einmal
|
|
48
|
+
`install.py --overlay general` schreibt bei der Erstinstallation drei Träger aus dieser
|
|
49
|
+
Tabelle, und zwar genau einmal:
|
|
55
50
|
|
|
56
51
|
| Träger | Was gefüllt wird |
|
|
57
52
|
|---|---|
|
|
58
53
|
| `.koolie/project-overlay/OVERLAY.md` | die Spalte **Wert** der drei Zeilen in Abschnitt 4; ein Eintrag im Änderungsverlauf nennt Muster und Version |
|
|
59
54
|
| `<RULES_DIR>/20-project-overlay.md` | der Wert hinter `<EXCLUDED_PATHS>` – die beiden anderen Platzhalter führt die Laufzeitfassung nicht |
|
|
60
|
-
| `<PERMISSIONS_FILE>` | jeder `deny`-Eintrag der Kernquelle, der einen der drei Platzhalter trägt, wird zu einem Eintrag je Wert –
|
|
55
|
+
| `<PERMISSIONS_FILE>` | jeder `deny`-Eintrag der Kernquelle, der einen der drei Platzhalter trägt, wird zu einem Eintrag je Wert – dieselben Schlitze, keiner mehr |
|
|
61
56
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
Projekt, das einen Wert später ändert, zieht ihn wie jeden anderen Wert von Hand nach –
|
|
66
|
-
**und Prüfung 59 findet die Abweichung für `<EXCLUDED_PATHS>`.**
|
|
57
|
+
Das Muster liefert nur den Anfangszustand. Danach gehören alle drei Dateien dem Projekt;
|
|
58
|
+
`install.py --update` liest das Muster nie wieder. Wer einen Wert später ändert, zieht ihn in
|
|
59
|
+
allen Trägern von Hand nach; Prüfung 59 meldet eine Abweichung bei `<EXCLUDED_PATHS>`.
|
|
67
60
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
nichts, und das Pack sagt es in Abschnitt 5 selbst.
|
|
61
|
+
Bei `openai-codex` (B3 und B5 `[NICHT ABBILDBAR]`) kennt die Berechtigungsschicht keine
|
|
62
|
+
Musterform, und nur ein Teil kommt an: Ein Teilbaum (`.github/workflows/**`) und ein einzelner
|
|
63
|
+
Dateiname (`Jenkinsfile`) werden zu einem Pfad mit Zugriffsart `read`, ein Namensmuster mit `*`
|
|
64
|
+
(`**/*.tfstate`, `.eslintrc*`) erreicht die Datei nicht. Das Pack nennt diese Grenze in
|
|
65
|
+
Abschnitt 5.
|
|
74
66
|
|
|
75
67
|
## Die Dokumente
|
|
76
68
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
**beschreibt** – und darf deshalb nur beschreiben, was für jedes Projekt gilt:
|
|
69
|
+
Ein Dokument gibt nichts frei, aber es beschreibt. Deshalb darf es nur beschreiben, was für
|
|
70
|
+
jedes Projekt gilt:
|
|
80
71
|
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
*„Verhältnis zum Framework“*, wo die Grenze liegt; bei Widerspruch gilt der Kern.
|
|
72
|
+
- nur allgemein anerkannte, werkzeug- und sprachneutrale Praktiken;
|
|
73
|
+
- keine Schwellenwerte (Abdeckung, Methodenlänge, Anzahl Reviewer), keine Werkzeugnamen, keine
|
|
74
|
+
Vorgaben, die Vorgehensmodell, Teamgröße oder Plattform voraussetzen;
|
|
75
|
+
- keine Wiederholung des Kerns. Was der Kern für KI-unterstützte Arbeit regelt –
|
|
76
|
+
`04-quality.md` Abschnitte 2 und 3, `07-review-rules.md`, die Checklisten 03, 05, 06, 07 und
|
|
77
|
+
08 –, wird verwiesen. Jedes Dokument sagt im Abschnitt *„Verhältnis zum Framework“*, wo die
|
|
78
|
+
Grenze liegt; bei Widerspruch gilt der Kern.
|
|
89
79
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
80
|
+
Was nicht überall passt, kommt nicht hinein, auch nicht als Beispiel. Projektfestlegungen
|
|
81
|
+
gehören in den Abschnitt *„Projektspezifische Ergänzungen“* am Ende jedes Dokuments und in die
|
|
82
|
+
zugehörige Zeile in `OVERLAY.md`.
|
|
93
83
|
|
|
94
84
|
Diese Tabelle beschreibt die Ablage unter `overlay-patterns/general/documents/<typ>/`;
|
|
95
85
|
`install.py` hält ihre erste Spalte gegen die Verzeichnisse und bricht ab, wenn beide
|
|
@@ -104,15 +94,15 @@ auseinanderlaufen.
|
|
|
104
94
|
| `security` | Sicherheit als Anforderung, minimale Rechte, gestaffelte Abwehr, sicher scheitern, sichere Voreinstellungen, Geheimnisse, Pflege der Abhängigkeiten | Verfahren, Bibliotheken, Schutzkonfiguration (K3); die Prüfpunkte aus Checkliste 06 und 07 |
|
|
105
95
|
| `branching-strategy` | Standard-Branch baubar, kurzlebige Branches, Integration über Merge Request, schlüssige Commits, gemeinsame Historie nicht umschreiben | ein Branching-Modell, Namensschema, Commit-Konvention (`OVERLAY.md` Abschnitt 10) |
|
|
106
96
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
97
|
+
Nicht mitgeliefert werden `architecture`, `roadmap`, `deployment`, `roles` und `glossary` – sie
|
|
98
|
+
beschreiben das Projekt – sowie `ai-governance` und `ai-process-model`, die der Kern selbst
|
|
99
|
+
trägt.
|
|
110
100
|
|
|
111
101
|
### Wie die Dokumente in das Projekt kommen
|
|
112
102
|
|
|
113
103
|
`install.py --overlay general` schreibt sie bei der Erstinstallation nach
|
|
114
|
-
`.koolie/project-overlay/documents/<typ>/muster-general.md` und
|
|
115
|
-
Beispieleinträge der Manifestvorlage durch einen Eintrag je Dokument
|
|
104
|
+
`.koolie/project-overlay/documents/<typ>/muster-general.md` und ersetzt die drei
|
|
105
|
+
Beispieleinträge der Manifestvorlage durch einen Eintrag je Dokument:
|
|
116
106
|
|
|
117
107
|
| Feld | Wert | Warum |
|
|
118
108
|
|---|---|---|
|
|
@@ -121,30 +111,28 @@ Beispieleinträge der Manifestvorlage durch einen Eintrag je Dokument (D-360):
|
|
|
121
111
|
| `load` | `on-demand` | kein weiterer Träger je Client Pack; `summary` und `rule` wählt der Overlay Owner |
|
|
122
112
|
| `approved_by`, `approved_on` | Ausfüllschlitze | die Freigabe erteilt ein Mensch |
|
|
123
113
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
die Richtung von D-355 an einem Gegenstand, der beschreibt statt sperrt: Ein ungeprüfter
|
|
129
|
-
Text wird nicht verbindlich, nur weil er mitgeliefert wurde.
|
|
114
|
+
**Die Dokumente wirken erst, wenn der Overlay Owner sie freigibt.** Die Liste der freigegebenen
|
|
115
|
+
K1-Dokumente in der Laufzeitfassung bleibt ein Ausfüllschlitz, und einen offenen Wert behandelt
|
|
116
|
+
der KI-Client als nicht freigegeben. Bis dahin sind die Dokumente ein Anfang für Menschen; ein
|
|
117
|
+
ungeprüfter Text wird nicht verbindlich, nur weil er mitgeliefert wurde.
|
|
130
118
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
(`.koolie/core/docs/ADOPTION_GUIDE.md` Abschnitt 3).
|
|
119
|
+
Kein weiterer Platzhalter wird gefüllt, auch nicht `<PROJECT_RULES_PATH>` oder die Pfade der
|
|
120
|
+
projektweiten DoR und DoD in `OVERLAY.md` Abschnitt 11 und 12 – das hieße, die Dokumente für
|
|
121
|
+
das Projekt zu erklären. Bestandsprojekte erreicht das Muster nicht; sie übernehmen einzelne
|
|
122
|
+
Dokumente von Hand (`.koolie/core/docs/ADOPTION_GUIDE.md` Abschnitt 3).
|
|
136
123
|
|
|
137
124
|
## Die Grenze zur Aktivierungsreife
|
|
138
125
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
126
|
+
Ein Overlay aus diesem Muster ist nicht aktivierungsreif, und das ist gewollt. Es lässt die
|
|
127
|
+
Pflichtwerte der Abschnitte 1, 5, 6, 13, 14 und 15 offen; ein Overlay, das
|
|
128
|
+
`--check-overlay-ready` von selbst bestünde, wäre aktivierungsreif, ohne dass jemand es geprüft
|
|
129
|
+
hat. Die Sonde `M355b` hält fest, dass eine frische Installation mit diesem Muster die Prüfung
|
|
130
|
+
nicht besteht.
|
|
144
131
|
|
|
145
132
|
## Änderungsverlauf
|
|
146
133
|
|
|
147
134
|
| Version | Datum | Änderung |
|
|
148
135
|
|---|---|---|
|
|
149
|
-
| `0.2.
|
|
150
|
-
| `0.
|
|
136
|
+
| `0.2.2` | 2026-10-02 | Sprachlich überarbeitet; Werte und Dokumente unverändert |
|
|
137
|
+
| `0.2.0` | 2026-09-25 | Sechs Musterdokumente allgemeiner Praktiken, im Manifest als `entwurf` registriert; Framework-Release `1.6.0` |
|
|
138
|
+
| `0.1.0` | 2026-09-25 | Erstfassung mit Framework-Release `1.5.0` |
|