@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
|
@@ -3,123 +3,101 @@
|
|
|
3
3
|
| Attribut | Wert |
|
|
4
4
|
|---|---|
|
|
5
5
|
| ID | `FW-DOC-ADOPT` |
|
|
6
|
-
| Version | `0.
|
|
6
|
+
| Version | `0.8.0` |
|
|
7
7
|
| Status | `pilot` |
|
|
8
8
|
| Owner (Rolle) | `<FRAMEWORK_OWNER>` |
|
|
9
9
|
| Checkliste | `.koolie/core/checklists/10-project-adoption.md` (verbindlicher Nachweis) |
|
|
10
10
|
|
|
11
|
-
> Kennungen in diesem Dokument: `D-…` ist ein Decision Record in `.koolie/core/governance/DECISION_LOG.md`, `K-…` ein offener Klärungspunkt in derselben Datei, `CR-…` ein Änderungsantrag unter `.koolie/core/governance/change-requests/`. Zum Handeln braucht man sie nicht – sie sagen, wo die Begründung steht.
|
|
12
|
-
|
|
13
11
|
## 1. Grundprinzip
|
|
14
12
|
|
|
15
|
-
Der
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
Der unveränderliche Kern liegt in **einem** Verzeichnis: `.koolie/core/`. Er wird als Release in
|
|
14
|
+
die Wurzel des Projekt-Repositorys kopiert und bleibt byte-gleich zum Release. Änderungswünsche
|
|
15
|
+
gehen als Änderungsantrag an den Framework Owner (`.koolie/core/governance/FEEDBACK_PROCESS.md`),
|
|
16
|
+
nicht als lokale Bearbeitung.
|
|
19
17
|
|
|
20
|
-
Zwei
|
|
21
|
-
konfigurierbar `[DOK]`:
|
|
18
|
+
Zwei Dinge kann der Kern nicht mitbringen, weil der KI-Client sie nur an festen Orten sucht `[DOK]`:
|
|
22
19
|
|
|
23
20
|
| Bestandteil | Rolle |
|
|
24
21
|
|---|---|
|
|
25
|
-
| Wurzel-Anweisungsdatei |
|
|
26
|
-
| Laufzeitschicht |
|
|
27
|
-
|
|
28
|
-
**Laufzeitschicht** heißt alles, was der KI-Client selbst lädt und ausführt: die Regeltexte,
|
|
29
|
-
die Skills, die Agentenprofile, die Berechtigungen und die Hooks. Der Client findet sie nur an
|
|
30
|
-
den Orten, die er kennt – deshalb heißen und liegen sie je Client anders. Die tatsächlichen
|
|
31
|
-
Pfade stehen in
|
|
32
|
-
`.koolie/core/docs/RUNTIME_GLOSSARY.md` und im `CLIENT_PACK.md` des gewählten Packs.
|
|
22
|
+
| Wurzel-Anweisungsdatei | die zentrale Agentenanweisung, die der Client beim Start lädt |
|
|
23
|
+
| Laufzeitschicht | Regeln, Skills, Agentenprofile, Berechtigungen und Hooks, die der Client selbst lädt und ausführt |
|
|
33
24
|
|
|
34
|
-
|
|
35
|
-
`.koolie/core/
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
Name und Ort hängen vom Client ab; die Pfade je Client stehen in
|
|
26
|
+
`.koolie/core/docs/RUNTIME_GLOSSARY.md` und im `CLIENT_PACK.md` des Packs. Die Quellen liegen
|
|
27
|
+
trotzdem im Kern (`framework/runtime/`, `framework/skills/`, `templates/`), und
|
|
28
|
+
`.koolie/core/install.py` legt sie in der Form des gewählten Clients an. Welcher Client gilt,
|
|
29
|
+
entscheidet `--client`; `--list-clients` zeigt die verfügbaren. Wer eine gemeinsame Quelle ändern
|
|
30
|
+
will, ändert sie im Kern, nicht im Pack.
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
> `seed_paths` ist in allen Manifesten leer (`CR-2026-010`). Wer eine gemeinsame Quelle
|
|
41
|
-
> ändern will, ändert sie im Kern, nicht im Pack.
|
|
42
|
-
|
|
43
|
-
**Projektspezifisch sind ausschließlich:**
|
|
32
|
+
**Dem Projekt gehören nur:**
|
|
44
33
|
|
|
45
34
|
| Bestandteil | Ebene |
|
|
46
35
|
|---|---|
|
|
47
36
|
| `.koolie/project-overlay/` einschließlich `forbidden-terms.txt` | 4 |
|
|
48
|
-
| `20-project-overlay.md` in der Regelablage (
|
|
37
|
+
| `20-project-overlay.md` in der Regelablage (und optionale `2N-overlay-*`) | 4 |
|
|
49
38
|
| die ausgefüllten Werte in der Berechtigungsdatei | 3/4 |
|
|
50
|
-
| die
|
|
39
|
+
| die Entscheidung, welche Packs aktiviert sind (Overlay Abschnitt 1) | 5/6 |
|
|
51
40
|
| `prj-*`-Skills in der Skill-Ablage | 4 |
|
|
52
|
-
| die
|
|
41
|
+
| die Entscheidung, welches Client Pack verwendet wird | – |
|
|
53
42
|
|
|
54
|
-
Alles andere ist
|
|
55
|
-
bleibt unberührt (P10, Baum 6).
|
|
43
|
+
Alles andere ist Kern. Wechselt ein Team das Projekt, tauscht es nur das Overlay (P10, Baum 6).
|
|
56
44
|
|
|
57
45
|
## 2. Neuaufnahme (Schrittfolge)
|
|
58
46
|
|
|
59
47
|
1. **Voraussetzungen der Organisation:** Werkzeugfreigabe, Datenschutz- und Vertragsprüfung,
|
|
60
|
-
dokumentierte Team-Einstellungen (`.koolie/core/framework/org-policies/`;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
`koolie --target /pfad/zum/projekt --client <client>`.
|
|
70
|
-
nur den Befehl; liegt er außerhalb des `PATH`,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
Overlay-Muster und Lieferumfang ab und rufen dann genau einen Befehl auf, der auch
|
|
77
|
-
direkt geht:
|
|
48
|
+
dokumentierte Team-Einstellungen (`.koolie/core/framework/org-policies/`; die Projektwerte
|
|
49
|
+
stehen im Overlay).
|
|
50
|
+
|
|
51
|
+
Die Schritte 2 und 3 gehen auch in einem Zug – auf zwei Wegen:
|
|
52
|
+
|
|
53
|
+
**Über eine Paketquelle.** Im Projektverzeichnis holt `uvx koolie` (oder `pipx run koolie`,
|
|
54
|
+
`npx @renoxar/koolie`) Koolie aus PyPI beziehungsweise npm und startet einen Dialog mit dem
|
|
55
|
+
aktuellen Verzeichnis als Vorgabe. Dauerhaft installiert (`pipx install koolie`,
|
|
56
|
+
`uv tool install koolie`, `npm install -g @renoxar/koolie`) heißt der Befehl `koolie` und nimmt
|
|
57
|
+
dieselben Argumente wie `install.py`, etwa `koolie --target /pfad/zum/projekt --client <client>`.
|
|
58
|
+
`pip install koolie` installiert nur den Befehl; liegt er außerhalb des `PATH`, geht
|
|
59
|
+
`python -m koolie`. Jedes Paket enthält genau den Baum des Release-Archivs.
|
|
60
|
+
|
|
61
|
+
**Mit dem Starter.** In der Wurzel des entpackten Release-Archivs liegen `install.cmd` (Windows)
|
|
62
|
+
und `install.command` (macOS). Sie suchen ein Python ab 3.8, fragen Projektverzeichnis, Client,
|
|
63
|
+
Overlay-Muster und Lieferumfang ab und rufen dann diesen Befehl auf, der auch direkt geht:
|
|
78
64
|
|
|
79
65
|
```bash
|
|
80
66
|
python .koolie/core/install.py --target /pfad/zum/projekt --client <client> [--overlay general] [--lieferumfang nutzung]
|
|
81
67
|
```
|
|
82
68
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
69
|
+
`--target` kopiert nur `.koolie/core/` – aus einem Klon das Versionierte, aus dem Archiv alles
|
|
70
|
+
außer Bytecode und `build/out/` – und ruft dann das kopierte `install.py` im Projekt auf.
|
|
71
|
+
Scheitert es, wird der kopierte Kern wieder entfernt. Python und PyYAML installiert der Starter
|
|
72
|
+
nicht, und die Schritte ab 4 bleiben Handarbeit.
|
|
73
|
+
|
|
74
|
+
**Lieferumfang:** `voll` (Vorgabe) kopiert den ganzen Kern. `nutzung` lässt die Nachweisschicht
|
|
75
|
+
weg – Änderungsanträge, Abnahmeprotokolle, Erhebungen und den Bau des Hauptdokuments, zusammen
|
|
76
|
+
der größere Teil der Dateien. Alles zur Nutzung bleibt, auch Hooks und Validator. Die Wahl steht
|
|
77
|
+
in `.koolie/core/LIEFERUMFANG` und gilt beim Heben weiter; gewechselt wird nur mit ausdrücklichem
|
|
78
|
+
`--lieferumfang`. In einem reduzierten Projekt nennt der Validator das Weggelassene in
|
|
79
|
+
`HINWEIS`-Zeilen. Verweise auf Protokolle zeigen dort ins Leere; die Belege stehen im
|
|
92
80
|
Release-Archiv.
|
|
93
81
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
warnt das System vor dem unsignierten Starter (SmartScreen, Gatekeeper); unter macOS
|
|
103
|
-
ist der sichere Weg `sh install.command` im Terminal. Der macOS-Starter ist unter
|
|
104
|
-
Git Bash und Linux geprüft, auf macOS selbst noch nicht (`CR-2026-140`).
|
|
105
|
-
|
|
106
|
-
2. **Kern kopieren (Handweg):** Das Verzeichnis `.koolie/core/` in das Wurzelverzeichnis des
|
|
107
|
-
Projekt-Repositorys kopieren. Bei Monorepos in das Wurzelverzeichnis des Workspace, den
|
|
108
|
-
der KI-Client öffnet (A-01).
|
|
82
|
+
⚠️ Unter Windows muss der Projektpfad so kurz sein, dass kein Pfad im Kern 259 Zeichen
|
|
83
|
+
überschreitet; sonst hält `--target` vor der ersten Kopie an. Beim ersten Start warnt das
|
|
84
|
+
System vor dem unsignierten Starter (SmartScreen, Gatekeeper); unter macOS ist
|
|
85
|
+
`sh install.command` im Terminal der sichere Weg. Der macOS-Starter ist unter Git Bash und
|
|
86
|
+
Linux geprüft, auf macOS selbst noch nicht.
|
|
87
|
+
|
|
88
|
+
2. **Kern kopieren (von Hand):** `.koolie/core/` in die Wurzel des Projekt-Repositorys kopieren,
|
|
89
|
+
bei einem Monorepo in die Wurzel des Workspace, den der KI-Client öffnet.
|
|
109
90
|
|
|
110
91
|
```bash
|
|
111
92
|
mkdir -p /pfad/zum/projekt/.koolie
|
|
112
93
|
cp -r .koolie/core /pfad/zum/projekt/.koolie/
|
|
113
94
|
```
|
|
114
95
|
|
|
115
|
-
⚠️ **Nur `.koolie/core/` kopieren
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
keine der Meldungen nennt die Ursache. Aus einem Klon kommt zusätzlich dessen eigenes
|
|
121
|
-
Overlay mit (`.koolie/project-overlay/`). `install.py` meldet ein mitkopiertes
|
|
122
|
-
Kennzeichen; die Abhilfe ist, die Datei zu entfernen (D-354).
|
|
96
|
+
⚠️ **Nur `.koolie/core/` kopieren, nie ganz `.koolie/`.** Daneben liegt das Kennzeichen des
|
|
97
|
+
Framework-Repositoriums (`.koolie/QUELLREPOSITORIUM.md`). Kopiert hält der Validator das Projekt
|
|
98
|
+
für das Framework selbst und meldet Fehler, die die Ursache nicht nennen; aus einem Klon kommt
|
|
99
|
+
außerdem dessen Overlay mit. `install.py` meldet ein mitkopiertes Kennzeichen – dann die Datei
|
|
100
|
+
löschen.
|
|
123
101
|
|
|
124
102
|
3. **Wurzelbestandteile anlegen:**
|
|
125
103
|
|
|
@@ -131,109 +109,77 @@ bleibt unberührt (P10, Baum 6).
|
|
|
131
109
|
python .koolie/core/install.py --client <client> --overlay general
|
|
132
110
|
```
|
|
133
111
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
Frameworks – ein Projekt, das bereits mit diesem Client arbeitet, führt sie meistens. Wie
|
|
164
|
-
der vorhandene Inhalt übernommen wird, steht in Schritt 3a.
|
|
165
|
-
|
|
166
|
-
**Vor der Wahl des Client Packs** die Fähigkeitsmatrix des Kandidaten lesen
|
|
167
|
-
(`.koolie/core/clients/<client>/CLIENT_PACK.md`): Sie weist aus, welche Zusagen
|
|
168
|
-
des Frameworks dieser Client technisch erzwingt und welche nur als Anweisung im Kontext
|
|
169
|
-
stehen.
|
|
170
|
-
|
|
171
|
-
Übernimm die `.gitignore` des Framework-Repositorys **nicht** unverändert: Dort sind
|
|
172
|
-
die Wurzel-Anweisungsdatei, die Laufzeitschicht und `.koolie/project-overlay/` ausgeschlossen,
|
|
173
|
-
weil sie im Framework-Repository Erzeugnisse sind. Im Projekt gehören sie in die
|
|
174
|
-
Versionierung.
|
|
175
|
-
|
|
176
|
-
**Eine Zeile gehört umgekehrt hinein** (D-97):
|
|
112
|
+
Vor der Wahl des Client Packs dessen Fähigkeitsmatrix lesen
|
|
113
|
+
(`.koolie/core/clients/<client>/CLIENT_PACK.md`): Sie zeigt, welche Zusagen der Client
|
|
114
|
+
technisch erzwingt und welche nur als Anweisung wirken.
|
|
115
|
+
|
|
116
|
+
Das Skript legt die Wurzel-Anweisungsdatei, ihre `.example`-Vorlage für persönliche
|
|
117
|
+
Ergänzungen, die Laufzeitschicht und – falls noch nicht vorhanden – `.koolie/project-overlay/`
|
|
118
|
+
an. **Berechtigungsdatei und Overlay werden nie überschrieben**, auch bei `--update` nicht.
|
|
119
|
+
|
|
120
|
+
**Das Overlay-Muster `general` ist wählbar, nicht Standard.** Ohne `--overlay` beginnt das
|
|
121
|
+
Projekt mit einem leeren Overlay. Mit ihm füllt `install.py` drei Pfadplatzhalter, deren Wert
|
|
122
|
+
sich ohne Kenntnis des Projekts sicher angeben lässt – `<CI_CONFIG_PATHS>`,
|
|
123
|
+
`<QUALITY_GATE_CONFIG_PATHS>` und `<EXCLUDED_PATHS>` –, in Overlay, Laufzeitfassung und
|
|
124
|
+
Berechtigungsdatei zugleich. Das Muster sperrt nur, es gibt nichts frei; ein Overlay daraus ist
|
|
125
|
+
noch nicht aktivierungsreif. Dazu kommen sechs Musterdokumente – Coding Guidelines, Definition
|
|
126
|
+
of Ready, Definition of Done, Qualität, Sicherheit, Branching – unter
|
|
127
|
+
`.koolie/project-overlay/documents/<typ>/` mit Status `entwurf`. Verbindlich werden sie erst,
|
|
128
|
+
wenn der Overlay Owner sie prüft, im Manifest auf `aktuell` setzt, freigibt und in der
|
|
129
|
+
Laufzeitfassung als K1-Dokumente führt. Einzelheiten:
|
|
130
|
+
`.koolie/core/framework/overlay-patterns/general.md`. Liegt schon ein Overlay im Projekt, bricht
|
|
131
|
+
`--overlay` ab.
|
|
132
|
+
|
|
133
|
+
**Belegt das Projekt schon einen Pfad des Frameworks, bricht die Installation ab** und nennt die
|
|
134
|
+
Dateien. Meist ist es die Wurzel-Anweisungsdatei, weil das Projekt bereits mit dem Client
|
|
135
|
+
arbeitet. Wie ihr Inhalt übernommen wird, steht in Schritt 3a.
|
|
136
|
+
|
|
137
|
+
**`.gitignore`:** Die des Framework-Repositorys nicht übernehmen – sie schließt
|
|
138
|
+
Wurzel-Anweisungsdatei, Laufzeitschicht und Overlay aus, die im Projekt versioniert werden.
|
|
139
|
+
Hinein gehört dagegen diese Zeile, weil die Werkzeuge des Kerns bei jedem Lauf Bytecode
|
|
140
|
+
erzeugen:
|
|
177
141
|
|
|
178
142
|
```gitignore
|
|
179
|
-
# Bytecode der Python-Werkzeuge des Kerns – ein Erzeugnis, kein Quelltext
|
|
180
143
|
__pycache__/
|
|
181
144
|
```
|
|
182
145
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
Zeile und meldet außerdem bereits versionierten Bytecode** – denn die Zeile allein
|
|
187
|
-
entfernt ihn nicht: Git liest die `.gitignore` für bereits verfolgte Dateien nicht.
|
|
188
|
-
Der Weg dorthin ist `git rm -r --cached .koolie/core/**/__pycache__`, **danach** die
|
|
189
|
-
Zeile.
|
|
146
|
+
Ist Bytecode schon versioniert, entfernt die Zeile ihn nicht. Zuerst
|
|
147
|
+
`git rm -r --cached .koolie/core/**/__pycache__`, dann die Zeile. Der Validator meldet beides
|
|
148
|
+
(Prüfung 45).
|
|
190
149
|
|
|
191
|
-
3a. **Vorhandene Anweisungsdatei übernehmen** (nur, wenn Schritt 3 abgebrochen ist).
|
|
192
|
-
|
|
193
|
-
Das Framework beansprucht die Wurzel-Anweisungsdatei für Ebene 1. Ihr bisheriger Inhalt
|
|
194
|
-
geht nicht verloren, er wechselt die Ebene:
|
|
150
|
+
3a. **Vorhandene Anweisungsdatei übernehmen** (nur, wenn Schritt 3 abgebrochen ist). Die
|
|
151
|
+
Wurzel-Anweisungsdatei gehört dem Kern. Ihr bisheriger Inhalt geht nicht verloren, er zieht um:
|
|
195
152
|
|
|
196
153
|
| Bisheriger Inhalt | Neuer Ort |
|
|
197
154
|
|---|---|
|
|
198
|
-
| Projektwissen – Stack, Befehle, Architektur, Konventionen | `.koolie/project-overlay/OVERLAY.md`,
|
|
155
|
+
| Projektwissen – Stack, Befehle, Architektur, Konventionen | `.koolie/project-overlay/OVERLAY.md`, passender Abschnitt |
|
|
199
156
|
| Projektspezifische **Regeln** an den Agenten | eine eigene Regeldatei `2N-overlay-<name>.md` in der Regelablage (Ebene 4) |
|
|
200
|
-
| Persönliche Gewohnheiten
|
|
201
|
-
| Abschnitte, die ein **anderes Werkzeug** erzeugt
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
**
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
läuft.** Ein Schlitz, der einen nicht ausführbaren Befehl trägt, sichert nichts ab
|
|
227
|
-
und verdeckt, welcher Befehl wirklich läuft (Befund am Übungsrepository:
|
|
228
|
-
`.koolie/core/tests/protocols/2026-09-15-herrichtung-uebungsrepositorium.md`).
|
|
229
|
-
- **Die übrigen Befehle bleiben gelistet und wirken über die Regelschicht.** Das ist
|
|
230
|
-
eine Anweisung an den KI-Client und keine technische Schranke; die Tabelle sagt es,
|
|
231
|
-
damit niemand mehr erwartet. **Ein Eintrag von Hand in die Berechtigungsdatei ist
|
|
232
|
-
kein Ersatz:** Prüfung 42 meldet jeden Befehl, den kein Platzhalter erklärt (D-90).
|
|
233
|
-
|
|
234
|
-
5. **Packs aktivieren.** Kein Pack ist nach der Installation aktiv — auch nicht das
|
|
235
|
-
Referenzpack `software-development`. Je benötigtem Pack: Rolle im Overlay Abschnitt 1
|
|
236
|
-
aufführen, dann Laufzeitfassung und – falls vorhanden – Skills kopieren:
|
|
157
|
+
| Persönliche Gewohnheiten | die `.example`-Vorlage für persönliche Ergänzungen, nicht das Repositorium |
|
|
158
|
+
| Abschnitte, die ein **anderes Werkzeug** erzeugt | siehe Abschnitt 8.2 |
|
|
159
|
+
|
|
160
|
+
Danach die alte Datei löschen und Schritt 3 wiederholen. Führt das Projekt bereits ein anderes
|
|
161
|
+
Agenten-Rahmenwerk, das Abschnitte in die Wurzel-Anweisung schreibt, wird es vorher auf eine
|
|
162
|
+
eigene Datei umgestellt.
|
|
163
|
+
|
|
164
|
+
4. **Overlay ausfüllen:** `.koolie/project-overlay/OVERLAY.md` vollständig; die Laufzeitfassung
|
|
165
|
+
`20-project-overlay.md` synchron halten; Werte in die Berechtigungsdatei eintragen, ohne die
|
|
166
|
+
Kernregeln im Block `_core_rules_integrity` zu entfernen; Manifest und Dokumente einpflegen.
|
|
167
|
+
|
|
168
|
+
**Mehr als ein Technologiestrang?** Die Berechtigungsdatei hat drei Befehlsschlitze –
|
|
169
|
+
`<BUILD_COMMAND>`, `<TEST_COMMAND>`, `<LINT_COMMAND>` –, ein Projekt mit Backend und Frontend
|
|
170
|
+
aber sechs Befehle. So gehen sie zusammen:
|
|
171
|
+
|
|
172
|
+
- **Je Platzhalter genau eine Tabellenzeile** in Abschnitt 5 oder 6 des Overlays, mit dem
|
|
173
|
+
Platzhalter in spitzen Klammern und dem Befehl rechts daneben (Prüfung 42).
|
|
174
|
+
- **Den Schlitz bekommt der Befehl, der auf den Arbeitsplätzen tatsächlich läuft.** Ein Schlitz
|
|
175
|
+
mit einem Befehl, der nicht läuft, sichert nichts ab.
|
|
176
|
+
- **Die übrigen Befehle bleiben gelistet und wirken über die Regelschicht** – als Anweisung,
|
|
177
|
+
nicht als technische Schranke. Von Hand in die Berechtigungsdatei eintragen hilft nicht;
|
|
178
|
+
Prüfung 42 meldet jeden Befehl, den kein Platzhalter erklärt.
|
|
179
|
+
|
|
180
|
+
5. **Packs aktivieren.** Nach der Installation ist kein Pack aktiv, auch nicht das Referenzpack
|
|
181
|
+
`software-development`. Je benötigtem Pack die Rolle im Overlay Abschnitt 1 eintragen, dann
|
|
182
|
+
die Laufzeitfassung und – falls vorhanden – die Skills kopieren:
|
|
237
183
|
|
|
238
184
|
```bash
|
|
239
185
|
# <regelablage> ist der Pfad aus dem manifest.json des gewählten Client Packs
|
|
@@ -241,12 +187,12 @@ bleibt unberührt (P10, Baum 6).
|
|
|
241
187
|
cp $P/runtime/30-role-software-development.md <regelablage>/
|
|
242
188
|
```
|
|
243
189
|
|
|
244
|
-
|
|
245
|
-
|
|
190
|
+
Danach hält `install.py --update` diese Bestandteile auf dem Stand des Releases; `--check`
|
|
191
|
+
meldet lokale Abweichungen.
|
|
246
192
|
|
|
247
|
-
6. **
|
|
248
|
-
Kunden-, Behörden-, Produkt- und Systemnamen füllen (bleibt projektlokal);
|
|
249
|
-
|
|
193
|
+
6. **Projektlokal härten:** `.koolie/project-overlay/forbidden-terms.txt` mit den echten Projekt-,
|
|
194
|
+
Kunden-, Behörden-, Produkt- und Systemnamen füllen (bleibt projektlokal); bei Bedarf weitere
|
|
195
|
+
Verbote in der Berechtigungsdatei.
|
|
250
196
|
|
|
251
197
|
7. **Validieren und testen:**
|
|
252
198
|
|
|
@@ -255,110 +201,102 @@ bleibt unberührt (P10, Baum 6).
|
|
|
255
201
|
python .koolie/core/install.py --check
|
|
256
202
|
```
|
|
257
203
|
|
|
258
|
-
Der erste
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
falschen Stelle. Anschließend die Basistests des Testkatalogs auf dem Übungsrepository
|
|
263
|
-
ausführen und das Übungsrepository für das Onboarding erzeugen
|
|
264
|
-
(`.koolie/core/onboarding/exercises/README.md`).
|
|
204
|
+
Der erste Befehl prüft Struktur, Inhalte und ob das Overlay aktivierungsreif ist; er erwartet
|
|
205
|
+
einen Status, der noch nicht `aktiv` ist. Der zweite prüft, ob eine Kerndatei lokal verändert
|
|
206
|
+
wurde. Danach die Basistests des Testkatalogs auf dem Übungsrepository fahren und das
|
|
207
|
+
Übungsrepository für das Onboarding anlegen (`.koolie/core/onboarding/exercises/README.md`).
|
|
265
208
|
|
|
266
|
-
8. **Organisation im Projekt:** Rollen zuordnen (außerhalb des
|
|
209
|
+
8. **Organisation im Projekt:** Rollen zuordnen (außerhalb des Repositorys), Eskalationskanäle,
|
|
267
210
|
Ablageorte für Berichte und Pläne, Feedbackkanal.
|
|
268
211
|
|
|
269
|
-
9. **Overlay aktivieren:** Checkliste 10 abschließen, Overlay-Status
|
|
270
|
-
|
|
271
|
-
`
|
|
272
|
-
|
|
273
|
-
mit Schreibrechten.
|
|
212
|
+
9. **Overlay aktivieren:** Checkliste 10 abschließen, den Overlay-Status an jeder Stelle, an der
|
|
213
|
+
das Overlay ihn führt, auf `aktiv` setzen, dann `validate-framework.py --strict-overlay` und
|
|
214
|
+
`install.py --probe` laufen lassen und das Projekt beim Framework Owner melden (Bestandsliste).
|
|
215
|
+
**Erst danach** arbeitet der Agent mit Schreibrechten.
|
|
274
216
|
|
|
275
|
-
10. **Menschen befähigen:** Onboarding vor
|
|
276
|
-
Projekt als Pilot läuft.
|
|
217
|
+
10. **Menschen befähigen:** Onboarding vor der produktiven Nutzung; Pilotparameter setzen, wenn
|
|
218
|
+
das Projekt als Pilot läuft.
|
|
277
219
|
|
|
278
220
|
## 3. Aktualisierung auf ein neues Framework-Release
|
|
279
221
|
|
|
280
|
-
1. Release-Notes und Migrationshinweise lesen
|
|
281
|
-
(`.koolie/core/CHANGELOG.md` des neuen Releases).
|
|
222
|
+
1. Die Release-Notes und Migrationshinweise im `CHANGELOG.md` des neuen Releases lesen.
|
|
282
223
|
|
|
283
|
-
2.
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
224
|
+
2. **Heben.** Am einfachsten aus dem neuen Release heraus – mit `uvx koolie` im Projekt, mit dem
|
|
225
|
+
Starter oder direkt:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
python .koolie/core/install.py --target /pfad/zum/projekt --update
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Der alte Kern wird als Ganzes ersetzt und erst entfernt, wenn `--update` im Projekt geklappt
|
|
232
|
+
hat; sonst liegt er wieder an seinem Platz. Der Lieferumfang bleibt, wie er war.
|
|
233
|
+
|
|
234
|
+
**Von Hand:** `.koolie/core/` im Projekt löschen, das neue Verzeichnis hineinkopieren – nur
|
|
235
|
+
dieses, nie ganz `.koolie/` (Abschnitt 2, Schritt 2) – und im Projekt aufrufen:
|
|
287
236
|
|
|
288
237
|
```bash
|
|
289
238
|
python .koolie/core/install.py --update
|
|
290
239
|
```
|
|
291
240
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
**
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
`--update`
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
Merge-Request-Vorlage
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
Dokumentablage des Overlays, registriert es im Manifest wie jedes andere Dokument
|
|
339
|
-
(`.koolie/project-overlay/OVERLAY.md` Abschnitt 19) und prüft es vorher gegen die
|
|
340
|
-
vorhandenen Dokumente desselben Typs: Zwei Coding Guidelines nebeneinander sind zwei
|
|
341
|
-
Register.
|
|
342
|
-
|
|
343
|
-
4. Validator (`--strict-overlay`) und Basistests erneut ausführen; bei MAJOR-Releases
|
|
241
|
+
Von Hand geht der Lieferumfang `nutzung` verloren; das Projekt ist danach wieder `voll`.
|
|
242
|
+
|
|
243
|
+
**Das Client Pack wird erkannt.** `install.py` sieht, welche Laufzeitschicht im Projekt liegt,
|
|
244
|
+
und aktualisiert dieses Pack; `--client` ist nicht nötig. Die erste Ausgabezeile nennt das
|
|
245
|
+
erkannte Pack. Findet die Erkennung nichts, etwa bei einer unvollständigen Installation, ist
|
|
246
|
+
`--client <pack>` anzugeben.
|
|
247
|
+
|
|
248
|
+
**Was `--update` schreibt:** die Kerndateien in der Wurzel – Wurzel-Anweisungsdatei, Regeln
|
|
249
|
+
`00-`, `10-`, `15-`, die `*-TEMPLATE`-Vorlagen, die `koolie-*`-Skills, die Agentenprofile, bei
|
|
250
|
+
`openai-codex` auch Hook-Datei und Befehlsregeldatei – und die Bestandteile aktivierter Packs
|
|
251
|
+
(Regeln `30-`, `40-` und ihre Skills). Welche Dateien das sind, steht im `manifest.json` des
|
|
252
|
+
Packs.
|
|
253
|
+
|
|
254
|
+
**Was `--update` nicht schreibt:** Berechtigungsdatei (bei `devin-desktop` und `claude-code`
|
|
255
|
+
samt Hooks), Overlay, `prj-*`-Skills und projekteigene Packs. Die Berechtigungsdatei trägt
|
|
256
|
+
Projektwerte; nach dem Heben prüfen, ob die Kernregeln vollständig sind, und Hook-Änderungen
|
|
257
|
+
aus den Migrationshinweisen von Hand nachtragen.
|
|
258
|
+
|
|
259
|
+
⚠️ Bei `openai-codex` ändert `--update` die Hook-Datei und damit ihren Hash. Der Schutz-Hook
|
|
260
|
+
läuft erst wieder, wenn ihm erneut vertraut wurde
|
|
261
|
+
(`.koolie/core/clients/openai-codex/CLIENT_PACK.md` Abschnitt 1b).
|
|
262
|
+
|
|
263
|
+
**Wechsel auf 2.0.0: neue Skillnamen.** Die mitgelieferten Skills heißen jetzt `koolie-<name>`
|
|
264
|
+
statt `fw-<name>`, `role-re-ticket` heißt `koolie-ticket` und das Agentenprofil
|
|
265
|
+
`koolie-reviewer`. `--update` benennt die Skillordner um, entfernt das alte Agentenprofil und
|
|
266
|
+
ersetzt die alten Namen einmalig in der Berechtigungsdatei – das ist die einzige Stelle, an der
|
|
267
|
+
es die Berechtigungsdatei anfasst. Die Ausgabe listet jede Änderung. Ins Overlay schreibt es
|
|
268
|
+
nicht; es nennt die Dateien, in denen noch ein alter Name steht (etwa `/fw-plan`), zum Anpassen
|
|
269
|
+
von Hand.
|
|
270
|
+
|
|
271
|
+
3. **Projektdateien nachziehen.** Overlay, Laufzeitfassung, projekteigene Packs, `prj-*`-Skills,
|
|
272
|
+
`README`, Onboarding-Material und `.gitignore` können auf geänderte Kernpfade, Platzhalter oder
|
|
273
|
+
Skillnamen verweisen. Der Validator findet nur, was er als Verweis erkennt – eine Suche über das
|
|
274
|
+
Projekt gehört dazu.
|
|
275
|
+
|
|
276
|
+
Feste Versionswerte in Projektdateien fallen dabei am wenigsten auf: Nennt eine
|
|
277
|
+
Merge-Request-Vorlage oder ein `README` die Framework-Version als Wert, veraltet sie mit dem
|
|
278
|
+
nächsten Release. Besser einen Platzhalter eintragen (`<Inhalt der Datei .koolie/core/VERSION>`).
|
|
279
|
+
|
|
280
|
+
Die Musterdokumente des Overlay-Musters `general` kommen bei einem Update nicht ins Projekt.
|
|
281
|
+
Wer eines übernehmen will, kopiert es aus
|
|
282
|
+
`.koolie/core/framework/overlay-patterns/general/documents/<typ>/`, registriert es im Manifest
|
|
283
|
+
(`.koolie/project-overlay/OVERLAY.md` Abschnitt 19) und gleicht es vorher mit den vorhandenen
|
|
284
|
+
Dokumenten desselben Typs ab.
|
|
285
|
+
|
|
286
|
+
4. Validator (`--strict-overlay`) und Basistests erneut ausführen; bei einem MAJOR-Release
|
|
344
287
|
zusätzlich FW-RE-01/02.
|
|
345
288
|
|
|
346
|
-
5. Overlay-Änderungsverlauf ergänzen
|
|
347
|
-
Änderungen informieren; Onboarding-Materialstand prüfen.
|
|
289
|
+
5. Den Overlay-Änderungsverlauf ergänzen, das Team informieren, das Onboarding-Material prüfen.
|
|
348
290
|
|
|
349
|
-
6. **
|
|
350
|
-
|
|
351
|
-
ist ein Zustand, kein Stand (D-343).
|
|
291
|
+
6. **Kern, Laufzeitschicht und Overlay in einem Commit festhalten.** Erst dann ist der neue Stand
|
|
292
|
+
dauerhaft.
|
|
352
293
|
|
|
353
294
|
## 4. Mehrere Repositories, ein Projekt
|
|
354
295
|
|
|
355
|
-
**Entscheidend ist, wo die Sitzung startet
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
Berechtigungen noch Hooks, bei `devin-desktop` und `openai-codex` auch die Wurzel-Anweisung nicht.
|
|
360
|
-
**Nichts meldet es** – die Sitzung verhält sich, als gäbe es das Framework nicht, oder kennt bei
|
|
361
|
-
`claude-code` sogar ihre Regeln und hat keine Durchsetzung.
|
|
296
|
+
**Entscheidend ist, wo die Sitzung startet, nicht wo das Framework liegt.** Eine Installation
|
|
297
|
+
wirkt nur für eine Sitzung, die im Verzeichnis der Installation startet. Startet sie in einem
|
|
298
|
+
Repository darunter, laden weder Berechtigungen noch Hooks – und nichts meldet es. Gemessen am
|
|
299
|
+
2026-09-26 (`.koolie/core/tests/protocols/2026-09-26-mehrprojekt-tokenlast.md`):
|
|
362
300
|
|
|
363
301
|
| Client Pack (Clientversion) | Sitzung im Verzeichnis der Installation | Sitzung im Repository darunter: Wurzel-Anweisung | … Berechtigungen und Hooks | Eigene Installation im Repository |
|
|
364
302
|
|---|---|---|---|---|
|
|
@@ -368,22 +306,19 @@ Berechtigungen noch Hooks, bei `devin-desktop` und `openai-codex` auch die Wurze
|
|
|
368
306
|
|
|
369
307
|
**Drei Einsatzszenarien:**
|
|
370
308
|
|
|
371
|
-
1. **Ein Repository
|
|
372
|
-
2. **
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
startet immer dort. Unterschiede der Module tragen Technology Packs mit Pfad-Ladebedingung (bei
|
|
378
|
-
`openai-codex` ohne Ladebedingung, D-348).
|
|
309
|
+
1. **Ein Repository:** Installation in dessen Wurzel. Der Normalfall.
|
|
310
|
+
2. **Mehrere lose Repositories:** je Repository eine eigene Installation; die Sitzung startet im
|
|
311
|
+
Repository. Das Overlay kann gemeinsam gepflegt und je Repository ausgerollt werden.
|
|
312
|
+
3. **Ein Multimodul-Projekt in einem Repository:** eine Installation in der Wurzel, die Sitzung
|
|
313
|
+
startet dort. Unterschiede der Module tragen Technology Packs mit Pfad-Ladebedingung (bei
|
|
314
|
+
`openai-codex` ohne Ladebedingung).
|
|
379
315
|
|
|
380
|
-
⚠️
|
|
381
|
-
Arbeitsbereich startet
|
|
382
|
-
|
|
316
|
+
⚠️ Eine einzige Installation über mehreren Repositories trägt nur, solange jede Sitzung im
|
|
317
|
+
gemeinsamen Arbeitsbereich startet. Das prüft kein Werkzeug; wenn Menschen Repositories einzeln
|
|
318
|
+
öffnen, ist davon abzuraten.
|
|
383
319
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
einfachsten mit `--target` aus dem neuen Release heraus, das nur den Kern kopiert:
|
|
320
|
+
Mehrere Repositories lassen sich in einer Schleife heben; `--target` kopiert nur den Kern, das
|
|
321
|
+
Overlay jedes Repositorys bleibt:
|
|
387
322
|
|
|
388
323
|
```bash
|
|
389
324
|
for repo in repo-a repo-b; do
|
|
@@ -391,127 +326,91 @@ for repo in repo-a repo-b; do
|
|
|
391
326
|
done
|
|
392
327
|
```
|
|
393
328
|
|
|
394
|
-
Von Hand sieht dieselbe Schleife so aus:
|
|
395
|
-
|
|
396
|
-
```bash
|
|
397
|
-
for repo in repo-a repo-b; do
|
|
398
|
-
rm -rf "$repo/.koolie/core" # ersetzen, nicht überkopieren: sonst bleiben entfernte Dateien liegen
|
|
399
|
-
mkdir -p "$repo/.koolie"
|
|
400
|
-
cp -r .koolie/core "$repo/.koolie/"
|
|
401
|
-
(cd "$repo" && python .koolie/core/install.py --update)
|
|
402
|
-
done
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
Die Pfadlisten (Abschnitt 4 des Overlays) sind je Repository spezifisch und werden nicht
|
|
406
|
-
mitkopiert — `install.py` überschreibt `.koolie/project-overlay/` nie. ⚠️ **Das gilt nur,
|
|
407
|
-
solange die Schleife `.koolie/core` kopiert:** Ein `cp -r .koolie` überschreibt das Overlay,
|
|
408
|
-
bevor `install.py` läuft, und `install.py` meldet es danach als unberührt (D-354).
|
|
409
|
-
|
|
410
329
|
## 5. Deinstallation oder Werkzeugwechsel
|
|
411
330
|
|
|
412
|
-
**
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
**Werkzeugwechsel:** Die kanonische Ebene `.koolie/core/framework/` bleibt unverändert —
|
|
417
|
-
sie ist werkzeugneutral. Ein anderer KI-Client wird als **Client Pack** unter
|
|
418
|
-
`.koolie/core/clients/<client>/` angelegt: eine `CLIENT_PACK.md` mit Pfadabbildung und
|
|
419
|
-
Fähigkeitsmatrix und ein `manifest.json` mit der maschinenlesbaren Abbildung. **Die
|
|
420
|
-
Wurzelartefakte kommen aus dem Kern**, nicht aus dem Pack (`.koolie/core/clients/README.md`,
|
|
421
|
-
Abschnitt 5).
|
|
331
|
+
**Deaktivieren:** Overlay-Status auf `inaktiv` setzen – das Werkzeug arbeitet dann nur noch
|
|
332
|
+
lesend –, danach bei Bedarf die Laufzeitschicht entfernen. `.koolie/core/` kann als Nachweis im
|
|
333
|
+
Repository bleiben.
|
|
422
334
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
335
|
+
**Werkzeug wechseln:** Die Regeln unter `.koolie/core/framework/` sind werkzeugneutral und bleiben.
|
|
336
|
+
Für einen neuen KI-Client entsteht ein Client Pack unter `.koolie/core/clients/<client>/`
|
|
337
|
+
(`.koolie/core/clients/README.md`, Abschnitt 5). Vorher die Fähigkeitsmatrix des Zielclients
|
|
338
|
+
auswerten: Eine Kernzusage, die er nicht technisch durchsetzt, ist zu begründen, im Overlay als
|
|
339
|
+
Ausnahme zu führen und durch `<SECURITY_CONTACT>` freizugeben. Wer das überspringt, senkt das
|
|
340
|
+
Schutzniveau, ohne dass es jemand merkt.
|
|
428
341
|
|
|
429
342
|
## 6. Warum der Kern gebündelt ist
|
|
430
343
|
|
|
431
|
-
Liegt der
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
Die Bündelung ändert nichts an der Ebenenhierarchie und an keiner inhaltlichen Regel. Sie
|
|
436
|
-
trennt physisch, was ohnehin logisch getrennt war: **Der Kern ist ein Ordner, den man
|
|
437
|
-
ersetzt. Das Projekt ist alles daneben.**
|
|
344
|
+
Liegt der Kern in einem Ordner, muss beim Übernehmen und Heben niemand entscheiden, was zum
|
|
345
|
+
Framework und was zum Projekt gehört, und die Wurzel des Projekts bleibt übersichtlich. **Der Kern
|
|
346
|
+
ist ein Ordner, den man ersetzt. Das Projekt ist alles daneben.**
|
|
438
347
|
|
|
439
348
|
## 7. Was das Framework kostet – gemessen
|
|
440
349
|
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
350
|
+
Koolie verteuert eine Aufgabe des KI-Clients: Es lädt Regeln in jeden Modellaufruf und verlangt
|
|
351
|
+
mehr – Fundstellen, einen Ergebnisbericht, den passenden Skill. Gemessen am 2026-09-26 im
|
|
352
|
+
Übungsrepository, je Client Pack derselbe Auftrag mit und ohne Installation, jeder dreimal
|
|
353
|
+
(`.koolie/core/tests/protocols/2026-09-26-mehrprojekt-tokenlast.md`). Mittelwerte; die feste Last
|
|
354
|
+
mit angelegtem Cache:
|
|
446
355
|
|
|
447
356
|
| Client Pack | Aufgabe | Eingabe-Token ohne → mit | Kosten je Aufgabe ohne → mit (USD) | Faktor Kosten |
|
|
448
357
|
|---|---|---|---|---|
|
|
449
|
-
| `claude-code` | nur „OK“ antworten (
|
|
358
|
+
| `claude-code` | nur „OK“ antworten (feste Last) | 32.330 → 47.232 | 0,007 → 0,010 (erster Aufruf einer Sitzung: 0,137 → 0,285) | 1,4 (2,1) |
|
|
450
359
|
| | kleine Änderung als Diff | 65.466 → 99.443 | 0,065 → 0,184 | 2,8 |
|
|
451
360
|
| | Analyse über mehrere Dateien | 104.503 → 173.236 | 0,137 → 0,284 | 2,1 |
|
|
452
|
-
| `devin-desktop` |
|
|
361
|
+
| `devin-desktop` | feste Last | 23.556 → 31.913 | 0,012 → 0,016 | 1,3 |
|
|
453
362
|
| | kleine Änderung als Diff | 47.983 → 81.585 | 0,051 → 0,123 | 2,4 |
|
|
454
363
|
| | Analyse über mehrere Dateien | 167.503 → 295.203 | 0,272 → 0,494 | 1,8 |
|
|
455
|
-
| `openai-codex` |
|
|
364
|
+
| `openai-codex` | feste Last | 15.346 → 19.755 | 0,006 → 0,011 | 1,7 |
|
|
456
365
|
| | kleine Änderung als Diff | 63.503 → 107.119 | 0,021 → 0,049 | 2,4 |
|
|
457
366
|
| | Analyse über mehrere Dateien | 89.826 → 135.566 | 0,035 → 0,062 | 1,8 |
|
|
458
367
|
|
|
459
368
|
**Was daraus folgt:**
|
|
460
369
|
|
|
461
|
-
- **Die feste Last
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
bei der kleinen Änderung rund dreimal so lang.
|
|
470
|
-
- **In Beträgen:** Je hundert kleine Aufgaben rund 3 bis 12 USD mehr, je hundert Analysen rund 3 bis
|
|
471
|
-
22 USD mehr, je nach Client (Listenpreise vom 2026-09-26). Die Laufzeit steigt um bis zu das
|
|
370
|
+
- **Die feste Last ist klein und kommt fast immer aus dem Cache:** rund 15.000 Token bei
|
|
371
|
+
`claude-code`, 8.400 bei `devin-desktop`, 4.400 bei `openai-codex`. Der Cache kostet ein Zehntel
|
|
372
|
+
des Eingabepreises; teuer ist nur der erste Aufruf einer Sitzung.
|
|
373
|
+
- **Eine kleine Aufgabe wird zwei- bis dreimal so teuer, eine größere rund doppelt so teuer.** Den
|
|
374
|
+
Unterschied macht die Arbeitsweise: Die Sitzung liest den Skill, belegt mit Fundstellen und
|
|
375
|
+
schreibt einen Ergebnisbericht.
|
|
376
|
+
- **In Beträgen:** je hundert kleine Aufgaben rund 3 bis 12 USD mehr, je hundert Analysen rund 3
|
|
377
|
+
bis 22 USD mehr, je nach Client (Listenpreise vom 2026-09-26). Die Laufzeit steigt bis auf das
|
|
472
378
|
Doppelte.
|
|
473
|
-
- **Gesenkt wird nur, wo keine Schranke nachgibt** (`K-144`). Die feste Last ist nicht der Hebel;
|
|
474
|
-
eine kürzere Zuordnung von Arbeitsschritt zu Skill ist vorgeschlagen und nicht umgesetzt.
|
|
475
379
|
|
|
476
|
-
**Was die Zahlen nicht sagen:** Sie stammen aus drei Aufgaben in einem Repository an einem Tag
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
richtige Größe. **Der Nutzen ist nicht gemessen** – ob weniger Nacharbeit, weniger Fehler oder ein
|
|
482
|
-
verhindertes Leck die Mehrkosten aufwiegt, sagt keine dieser Zahlen.
|
|
380
|
+
**Was die Zahlen nicht sagen:** Sie stammen aus drei Aufgaben in einem Repository an einem Tag;
|
|
381
|
+
die Spannen stehen im Protokoll. Die Preise sind Listenpreise der API. Ein Abo rechnet anders ab –
|
|
382
|
+
dort zählt der Verbrauch am Kontingent, und dafür sind die Token die richtige Größe. **Den Nutzen
|
|
383
|
+
messen sie nicht:** ob weniger Nacharbeit, weniger Fehler oder ein verhindertes Leck die
|
|
384
|
+
Mehrkosten aufwiegen.
|
|
483
385
|
|
|
484
386
|
## 8. Einsatzarchitektur, Koexistenz und Vergleich
|
|
485
387
|
|
|
486
|
-
Koolie ist die
|
|
487
|
-
GRC-Plattform
|
|
488
|
-
|
|
388
|
+
Koolie ist die Regel- und Nachweisschicht im Repositorium – kein Sandkasten und keine
|
|
389
|
+
GRC-Plattform. Es wirkt über Dateien im Projekt und über den Client, der sie lädt. Was außerhalb
|
|
390
|
+
davon liegt, muss die Umgebung tragen.
|
|
489
391
|
|
|
490
392
|
### 8.1 Was Koolie trägt – und was die Umgebung tragen muss
|
|
491
393
|
|
|
492
394
|
| Schicht | Trägt | Was Koolie beiträgt | Was fehlt, wenn nur Koolie da ist |
|
|
493
395
|
|---|---|---|---|
|
|
494
396
|
| Regeln, Skills, Nachweise | Koolie | Ebenen 1 bis 7, Testblätter, Validator, Protokolle | – |
|
|
495
|
-
| Berechtigungen und Schutz-Hook des Projekts | Koolie | Berechtigungsdatei und Hook je Client Pack, Wirksamkeitsprobe `install.py --probe` | Die Dateien liegen im Projekt; ein Mensch kann sie ändern, und sie wirken nur für eine Sitzung, die im Projekt startet
|
|
496
|
-
| Verwaltete Einstellungen des Clients | Administration |
|
|
397
|
+
| Berechtigungen und Schutz-Hook des Projekts | Koolie | Berechtigungsdatei und Hook je Client Pack, Wirksamkeitsprobe `install.py --probe` | Die Dateien liegen im Projekt; ein Mensch kann sie ändern, und sie wirken nur für eine Sitzung, die im Projekt startet |
|
|
398
|
+
| Verwaltete Einstellungen des Clients | Administration | Das Pack nennt die Schalter (etwa `disableBypassPermissionsMode`, `syncClaudeAiSkills`) | Ein Schutz, den weder Agent noch Projekt abschalten kann und der auch außerhalb des Projekts gilt |
|
|
497
399
|
| Branch-Schutz, Pflicht-Review, CI | Plattform | Die CI- und Quality-Gate-Pfade sind für den Agenten gesperrt (Prüfung 89) | Eine Prüfung, die der Agent weder erzeugen noch umgehen kann |
|
|
498
|
-
| Isolation (Container, Netz, Dateisystem) | Laufzeit |
|
|
400
|
+
| Isolation (Container, Netz, Dateisystem) | Laufzeit | – | Schutz gegen einen Agenten, der aktiv umgeht |
|
|
499
401
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
Ausnahme nach `governance/EXCEPTION_PROCESS.md` – dieselbe Bauform wie das Mandat (D-447). Koolie
|
|
503
|
-
baut dafür keine eigene Pfadsperre für die Shell (D-497).
|
|
402
|
+
Schließt eine Isolationsschicht den Schreibweg über die Shell, gibt es für eine Änderung am Kern
|
|
403
|
+
nur die registrierte, befristete Ausnahme nach `governance/EXCEPTION_PROCESS.md`.
|
|
504
404
|
|
|
505
405
|
### 8.2 Koexistenz mit einem anderen Agenten-Rahmenwerk
|
|
506
406
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
seine Prozessartefakte in seiner eigenen Ablage.
|
|
407
|
+
OpenSpec und GitHub Spec Kit schreiben beim Anlegen nicht in die Wurzel-Anweisung und ändern keine
|
|
408
|
+
Datei von Koolie, auch umgekehrt nicht (gemessen am 2026-09-30 mit OpenSpec 1.13.2). Beide legen
|
|
409
|
+
ihre Skills aber in **dieselbe Ablage** wie Koolie, mit den Präfixen `openspec-` und `speckit-`.
|
|
410
|
+
Die Aufteilung: Koolie trägt Ebene 1 – Sicherheit, Berechtigungen, Schutz-Hook –, das andere
|
|
411
|
+
Rahmenwerk seine Prozessartefakte in eigener Ablage.
|
|
513
412
|
|
|
514
|
-
1. `install.py` meldet ein erkanntes Rahmenwerk am Ende jedes Laufs
|
|
413
|
+
1. `install.py` meldet ein erkanntes Rahmenwerk am Ende jedes Laufs.
|
|
515
414
|
2. Die fremden Skills im Overlay-Manifest deklarieren, damit der Validator sie nicht nach den
|
|
516
415
|
Regeln für Koolie-Skills prüft (Prüfung 111):
|
|
517
416
|
|
|
@@ -519,27 +418,25 @@ seine Prozessartefakte in seiner eigenen Ablage.
|
|
|
519
418
|
fremde_skills: openspec-, speckit-
|
|
520
419
|
```
|
|
521
420
|
|
|
522
|
-
Ein Präfix, das einen Koolie-Skill treffen könnte (`
|
|
523
|
-
aus.
|
|
421
|
+
Ein Präfix, das einen Koolie-Skill treffen könnte (`koolie-`, `prj-`), nimmt nichts aus.
|
|
524
422
|
3. Jeden fremden Skill in der Berechtigungsdatei einem Korb zuordnen, etwa `Skill(openspec-*)` in
|
|
525
|
-
`ask` – sonst fällt sein Aufruf in die Rückfrage (Prüfung 72
|
|
423
|
+
`ask` – sonst fällt sein Aufruf in die Rückfrage (Prüfung 72).
|
|
526
424
|
|
|
527
425
|
**Die Wurzel-Anweisung gehört dem Kern.** Schreibt ein Generator markierte Abschnitte hinein
|
|
528
|
-
(`<!-- NAME:START -->` … `<!-- NAME:END -->`),
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
zählt ins Budget der stets geladenen Texte (Prüfung 4, K-185).
|
|
426
|
+
(`<!-- NAME:START -->` … `<!-- NAME:END -->`), bricht `install.py --update` ab, statt sie zu
|
|
427
|
+
überschreiben, und Prüfung 111 warnt vorher. Abhilfe: den Generator auf eine eigene Datei
|
|
428
|
+
umstellen, die bei Bedarf lädt. Jeder Block in der Wurzel-Anweisung zählt außerdem ins Budget der
|
|
429
|
+
stets geladenen Texte (Prüfung 4).
|
|
533
430
|
|
|
534
431
|
### 8.3 Koolie gegen eine gute Standardkonfiguration – gemessen
|
|
535
432
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
(
|
|
433
|
+
Was trägt Koolie zusätzlich zu dem, was ein Team mit einer guten Standardkonfiguration ohnehin hat?
|
|
434
|
+
Gemessen am 2026-09-30 mit `claude-code` 2.1.285 und Opus 5.5
|
|
435
|
+
(Protokoll `tests/protocols/2026-09-30-einsatzarchitektur.md`):
|
|
539
436
|
|
|
540
|
-
- **Referenz R:** Einstellungen außerhalb des Repositoriums (Secret-Pfade,
|
|
541
|
-
|
|
542
|
-
|
|
437
|
+
- **Referenz R:** Einstellungen außerhalb des Repositoriums (Secret-Pfade, Laufzeitschicht,
|
|
438
|
+
Wurzel-Anweisungsdatei und CI-Dateien gesperrt, Modus ohne Rückfragen abgeschaltet), eine kurze
|
|
439
|
+
Wurzel-Anweisungsdatei mit Teamregeln, ein Remote mit Branch-Schutz und Secret-Scan.
|
|
543
440
|
- **R+K:** dasselbe, dazu Koolie mit ausgefülltem Overlay.
|
|
544
441
|
- Jede Rückfrage beantwortete ein Stellvertreter mit „ja“ – der unaufmerksame Mensch. Was dann noch
|
|
545
442
|
gesperrt bleibt, sperrt die Technik.
|
|
@@ -554,18 +451,17 @@ Standardkonfiguration ohnehin hat? Gemessen am 2026-09-30 mit `claude-code` 2.1.
|
|
|
554
451
|
| Kosten je Lauf (Mittel, Listenpreis) | | 0,20 USD (Änderung 0,29) | 0,33 USD (Änderung 0,52) |
|
|
555
452
|
| Rückfragen je kleiner Änderung | | 3,8 | 5,0 |
|
|
556
453
|
|
|
557
|
-
**Was daraus folgt:** Mit Regeltexten hielt in beiden Gruppen fast immer schon das Modell –
|
|
558
|
-
kurze
|
|
559
|
-
greift: Einen Unterprozess, der eine Secret-Datei liest, erfasst die
|
|
560
|
-
nicht
|
|
561
|
-
bei der Änderung rund die Hälfte mehr Zeit und etwas mehr
|
|
562
|
-
|
|
454
|
+
**Was daraus folgt:** Mit Regeltexten hielt in beiden Gruppen fast immer schon das Modell – dafür
|
|
455
|
+
genügte auch die kurze Anweisungsdatei der Referenz. Den Unterschied macht die Technik, wenn die
|
|
456
|
+
Regel nicht greift: Einen Unterprozess, der eine Secret-Datei liest, erfasst die
|
|
457
|
+
Berechtigungsschicht des Clients nicht, der Schutz-Hook von Koolie schon. Der Preis: rund 65 bis
|
|
458
|
+
80 Prozent mehr Kosten je Lauf, bei der Änderung rund die Hälfte mehr Zeit und etwas mehr
|
|
459
|
+
Rückfragen; Fehlblockaden gab es nicht.
|
|
563
460
|
|
|
564
461
|
**Was die Zahlen nicht sagen:** Ein Client, ein Modell, ein Tag; je Sicherheitsfall ein Lauf je
|
|
565
|
-
Gruppe
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
dass Koolie eine gute Standardkonfiguration ergänzt und nicht ersetzt.
|
|
462
|
+
Gruppe. Die Einstellungen der Referenz lagen in einer Datei außerhalb des Repositoriums, nicht in
|
|
463
|
+
verwalteten Einstellungen; ein Agent, der aktiv umgeht, ist nicht gemessen. Die Zahlen belegen
|
|
464
|
+
keine Überlegenheit – nur, dass Koolie eine gute Standardkonfiguration ergänzt und nicht ersetzt.
|
|
569
465
|
|
|
570
466
|
## 9. Befehle im Überblick
|
|
571
467
|
|