@renoxar/koolie 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +16 -0
- package/.gitignore +51 -0
- package/.koolie/QUELLREPOSITORIUM.md +18 -0
- package/.koolie/core/CHANGELOG.md +11832 -0
- package/.koolie/core/LICENSE +674 -0
- package/.koolie/core/LICENSE-HINWEIS.md +98 -0
- package/.koolie/core/OWNERS.md +36 -0
- package/.koolie/core/VERSION +1 -0
- package/.koolie/core/banner.py +397 -0
- package/.koolie/core/build/README.md +34 -0
- package/.koolie/core/build/assemble.py +354 -0
- package/.koolie/core/build/build-docx.py +194 -0
- package/.koolie/core/build/doc/00-kopf.md +18 -0
- package/.koolie/core/build/doc/01-executive-summary.md +24 -0
- package/.koolie/core/build/doc/02-zielbild.md +13 -0
- package/.koolie/core/build/doc/03-ziele-nichtziele.md +28 -0
- package/.koolie/core/build/doc/04-geltungsbereich.md +25 -0
- package/.koolie/core/build/doc/05-glossar.md +47 -0
- package/.koolie/core/build/doc/06-leitprinzipien.md +5 -0
- package/.koolie/core/build/doc/07-architektur.md +60 -0
- package/.koolie/core/build/doc/07a-abbildungsschicht.md +66 -0
- package/.koolie/core/build/doc/08-trennung.md +24 -0
- package/.koolie/core/build/doc/09-betriebsmodi.md +18 -0
- package/.koolie/core/build/doc/10-arbeitsablauf.md +5 -0
- package/.koolie/core/build/doc/11-datenschutz.md +5 -0
- package/.koolie/core/build/doc/12-sicherheit.md +5 -0
- package/.koolie/core/build/doc/13-risiko.md +5 -0
- package/.koolie/core/build/doc/14-rollen.md +9 -0
- package/.koolie/core/build/doc/15-referenzstruktur.md +124 -0
- package/.koolie/core/build/doc/16-agentenanweisung.md +8 -0
- package/.koolie/core/build/doc/17-overlay.md +29 -0
- package/.koolie/core/build/doc/18-skill-standard.md +5 -0
- package/.koolie/core/build/doc/19-skill-template.md +5 -0
- package/.koolie/core/build/doc/20-referenz-skills.md +70 -0
- package/.koolie/core/build/doc/21-prompts.md +53 -0
- package/.koolie/core/build/doc/22-checklisten.md +49 -0
- package/.koolie/core/build/doc/23-entscheidungsbaeume.md +29 -0
- package/.koolie/core/build/doc/24-onboarding.md +33 -0
- package/.koolie/core/build/doc/25-governance.md +35 -0
- package/.koolie/core/build/doc/26-qs-test.md +9 -0
- package/.koolie/core/build/doc/27-pilot.md +13 -0
- package/.koolie/core/build/doc/28-uebernahme.md +5 -0
- package/.koolie/core/build/doc/29-grenzen.md +87 -0
- package/.koolie/core/build/doc/30-roadmap.md +5 -0
- package/.koolie/core/build/doc/31-anhaenge.md +151 -0
- package/.koolie/core/build/doc/32-abschluss.md +92 -0
- package/.koolie/core/build/ref-a4.docx +0 -0
- package/.koolie/core/checklists/01-preflight.md +54 -0
- package/.koolie/core/checklists/02-privacy-context.md +51 -0
- package/.koolie/core/checklists/03-before-code-change.md +51 -0
- package/.koolie/core/checklists/04-review-ai-code.md +58 -0
- package/.koolie/core/checklists/05-testing.md +48 -0
- package/.koolie/core/checklists/06-security.md +50 -0
- package/.koolie/core/checklists/07-new-dependency.md +57 -0
- package/.koolie/core/checklists/08-merge-request.md +47 -0
- package/.koolie/core/checklists/09-onboarding.md +52 -0
- package/.koolie/core/checklists/10-project-adoption.md +74 -0
- package/.koolie/core/checklists/11-framework-release.md +71 -0
- package/.koolie/core/checklists/README.md +28 -0
- package/.koolie/core/clientmap.py +1358 -0
- package/.koolie/core/clients/README.md +113 -0
- package/.koolie/core/clients/_template/CLIENT_PACK.md +197 -0
- package/.koolie/core/clients/claude-code/CLIENT_PACK.md +383 -0
- package/.koolie/core/clients/claude-code/manifest.json +232 -0
- package/.koolie/core/clients/claude-code/root-template/.claude/README.md +127 -0
- package/.koolie/core/clients/cursor/CLIENT_PACK.md +229 -0
- package/.koolie/core/clients/cursor/manifest.json +330 -0
- package/.koolie/core/clients/cursor/root-template/.cursor/README.md +36 -0
- package/.koolie/core/clients/devin-desktop/CLIENT_PACK.md +251 -0
- package/.koolie/core/clients/devin-desktop/manifest.json +163 -0
- package/.koolie/core/clients/devin-desktop/root-template/.devin/README.md +79 -0
- package/.koolie/core/clients/kiro/CLIENT_PACK.md +223 -0
- package/.koolie/core/clients/kiro/manifest.json +300 -0
- package/.koolie/core/clients/kiro/root-template/.kiro/README.md +37 -0
- package/.koolie/core/clients/openai-codex/CLIENT_PACK.md +257 -0
- package/.koolie/core/clients/openai-codex/manifest.json +208 -0
- package/.koolie/core/clients/openai-codex/root-template/.codex/README.md +35 -0
- package/.koolie/core/decision-trees/01-context-allowed.md +46 -0
- package/.koolie/core/decision-trees/02-may-ai-do-task.md +47 -0
- package/.koolie/core/decision-trees/03-analyze-or-modify.md +50 -0
- package/.koolie/core/decision-trees/04-required-review.md +49 -0
- package/.koolie/core/decision-trees/05-stop-or-escalate.md +47 -0
- package/.koolie/core/decision-trees/06-rule-placement.md +58 -0
- package/.koolie/core/decision-trees/README.md +14 -0
- package/.koolie/core/docs/ADOPTION_GUIDE.md +582 -0
- package/.koolie/core/docs/DOCUMENTATION_STANDARD.md +91 -0
- package/.koolie/core/docs/PLACEHOLDER_REGISTRY.md +79 -0
- package/.koolie/core/docs/ROADMAP.md +848 -0
- package/.koolie/core/docs/RUNTIME_GLOSSARY.md +113 -0
- package/.koolie/core/examples/README.md +11 -0
- package/.koolie/core/examples/example-ergebnisbericht.md +31 -0
- package/.koolie/core/examples/example-mr-description.md +31 -0
- package/.koolie/core/examples/example-overlay-runtime.md +48 -0
- package/.koolie/core/framework/core/00-principles.md +93 -0
- package/.koolie/core/framework/core/01-governance.md +58 -0
- package/.koolie/core/framework/core/02-privacy.md +141 -0
- package/.koolie/core/framework/core/03-security.md +86 -0
- package/.koolie/core/framework/core/04-quality.md +48 -0
- package/.koolie/core/framework/core/05-working-model.md +199 -0
- package/.koolie/core/framework/core/06-prompting-rules.md +51 -0
- package/.koolie/core/framework/core/07-review-rules.md +52 -0
- package/.koolie/core/framework/core/08-skill-conventions.md +115 -0
- package/.koolie/core/framework/core/09-risk-model.md +87 -0
- package/.koolie/core/framework/core/10-error-escalation.md +53 -0
- package/.koolie/core/framework/org-policies/MAPPING_CLASSIFICATION.md +16 -0
- package/.koolie/core/framework/org-policies/README.md +29 -0
- package/.koolie/core/framework/overlay-patterns/general/documents/branching-strategy/muster-general.md +43 -0
- package/.koolie/core/framework/overlay-patterns/general/documents/coding-guidelines/muster-general.md +82 -0
- package/.koolie/core/framework/overlay-patterns/general/documents/definition-of-done/muster-general.md +52 -0
- package/.koolie/core/framework/overlay-patterns/general/documents/definition-of-ready/muster-general.md +54 -0
- package/.koolie/core/framework/overlay-patterns/general/documents/quality/muster-general.md +59 -0
- package/.koolie/core/framework/overlay-patterns/general/documents/security/muster-general.md +52 -0
- package/.koolie/core/framework/overlay-patterns/general.md +150 -0
- package/.koolie/core/framework/role-packs/README.md +63 -0
- package/.koolie/core/framework/role-packs/_template/ROLE_PACK.md +58 -0
- package/.koolie/core/framework/role-packs/requirements-engineering/ROLE_PACK.md +158 -0
- package/.koolie/core/framework/role-packs/requirements-engineering/runtime/30-role-requirements-engineering.md +88 -0
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/CHANGELOG.md +10 -0
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/EXAMPLES.md +148 -0
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/SKILL.md +195 -0
- package/.koolie/core/framework/role-packs/requirements-engineering/skills/role-re-ticket/TESTS.md +22 -0
- package/.koolie/core/framework/role-packs/software-development/ROLE_PACK.md +95 -0
- package/.koolie/core/framework/role-packs/software-development/runtime/30-role-software-development.md +26 -0
- package/.koolie/core/framework/runtime/agents/fw-reviewer.md +34 -0
- package/.koolie/core/framework/runtime/client-settings.json +3 -0
- package/.koolie/core/framework/runtime/hooks.json +20 -0
- package/.koolie/core/framework/runtime/mcp-config.example.json +4 -0
- package/.koolie/core/framework/runtime/permissions.json +106 -0
- package/.koolie/core/framework/runtime/root-instruction-local.example.md +19 -0
- package/.koolie/core/framework/runtime/root-instruction.md +116 -0
- package/.koolie/core/framework/runtime/rules/00-framework-core.md +49 -0
- package/.koolie/core/framework/runtime/rules/10-privacy-security.md +49 -0
- package/.koolie/core/framework/runtime/rules/15-development-rules.md +41 -0
- package/.koolie/core/framework/runtime/rules/16-plan-spezifikation.md +32 -0
- package/.koolie/core/framework/runtime/rules/20-project-overlay.md +60 -0
- package/.koolie/core/framework/skills/fw-bugfix-prepare/CHANGELOG.md +14 -0
- package/.koolie/core/framework/skills/fw-bugfix-prepare/EXAMPLES.md +57 -0
- package/.koolie/core/framework/skills/fw-bugfix-prepare/SKILL.md +177 -0
- package/.koolie/core/framework/skills/fw-bugfix-prepare/TESTS.md +15 -0
- package/.koolie/core/framework/skills/fw-change-analyze/CHANGELOG.md +12 -0
- package/.koolie/core/framework/skills/fw-change-analyze/EXAMPLES.md +66 -0
- package/.koolie/core/framework/skills/fw-change-analyze/SKILL.md +167 -0
- package/.koolie/core/framework/skills/fw-change-analyze/TESTS.md +16 -0
- package/.koolie/core/framework/skills/fw-change-small/CHANGELOG.md +13 -0
- package/.koolie/core/framework/skills/fw-change-small/EXAMPLES.md +68 -0
- package/.koolie/core/framework/skills/fw-change-small/SKILL.md +175 -0
- package/.koolie/core/framework/skills/fw-change-small/TESTS.md +13 -0
- package/.koolie/core/framework/skills/fw-code-explain/CHANGELOG.md +11 -0
- package/.koolie/core/framework/skills/fw-code-explain/EXAMPLES.md +61 -0
- package/.koolie/core/framework/skills/fw-code-explain/SKILL.md +163 -0
- package/.koolie/core/framework/skills/fw-code-explain/TESTS.md +11 -0
- package/.koolie/core/framework/skills/fw-docs-update/CHANGELOG.md +10 -0
- package/.koolie/core/framework/skills/fw-docs-update/EXAMPLES.md +59 -0
- package/.koolie/core/framework/skills/fw-docs-update/SKILL.md +160 -0
- package/.koolie/core/framework/skills/fw-docs-update/TESTS.md +12 -0
- package/.koolie/core/framework/skills/fw-error-analyze/CHANGELOG.md +10 -0
- package/.koolie/core/framework/skills/fw-error-analyze/EXAMPLES.md +67 -0
- package/.koolie/core/framework/skills/fw-error-analyze/SKILL.md +160 -0
- package/.koolie/core/framework/skills/fw-error-analyze/TESTS.md +12 -0
- package/.koolie/core/framework/skills/fw-mr-description/CHANGELOG.md +12 -0
- package/.koolie/core/framework/skills/fw-mr-description/EXAMPLES.md +69 -0
- package/.koolie/core/framework/skills/fw-mr-description/SKILL.md +170 -0
- package/.koolie/core/framework/skills/fw-mr-description/TESTS.md +12 -0
- package/.koolie/core/framework/skills/fw-overlay-pflege/CHANGELOG.md +7 -0
- package/.koolie/core/framework/skills/fw-overlay-pflege/EXAMPLES.md +48 -0
- package/.koolie/core/framework/skills/fw-overlay-pflege/SKILL.md +147 -0
- package/.koolie/core/framework/skills/fw-overlay-pflege/TESTS.md +13 -0
- package/.koolie/core/framework/skills/fw-plan/CHANGELOG.md +14 -0
- package/.koolie/core/framework/skills/fw-plan/EXAMPLES.md +69 -0
- package/.koolie/core/framework/skills/fw-plan/SKILL.md +168 -0
- package/.koolie/core/framework/skills/fw-plan/TESTS.md +14 -0
- package/.koolie/core/framework/skills/fw-refactor/CHANGELOG.md +10 -0
- package/.koolie/core/framework/skills/fw-refactor/EXAMPLES.md +70 -0
- package/.koolie/core/framework/skills/fw-refactor/SKILL.md +173 -0
- package/.koolie/core/framework/skills/fw-refactor/TESTS.md +14 -0
- package/.koolie/core/framework/skills/fw-repo-analyze/CHANGELOG.md +10 -0
- package/.koolie/core/framework/skills/fw-repo-analyze/EXAMPLES.md +52 -0
- package/.koolie/core/framework/skills/fw-repo-analyze/SKILL.md +149 -0
- package/.koolie/core/framework/skills/fw-repo-analyze/TESTS.md +11 -0
- package/.koolie/core/framework/skills/fw-review-support/CHANGELOG.md +12 -0
- package/.koolie/core/framework/skills/fw-review-support/EXAMPLES.md +69 -0
- package/.koolie/core/framework/skills/fw-review-support/SKILL.md +179 -0
- package/.koolie/core/framework/skills/fw-review-support/TESTS.md +13 -0
- package/.koolie/core/framework/skills/fw-tests/CHANGELOG.md +9 -0
- package/.koolie/core/framework/skills/fw-tests/EXAMPLES.md +65 -0
- package/.koolie/core/framework/skills/fw-tests/SKILL.md +169 -0
- package/.koolie/core/framework/skills/fw-tests/TESTS.md +12 -0
- package/.koolie/core/framework/tech-packs/README.md +15 -0
- package/.koolie/core/framework/tech-packs/_template/TECH_PACK.md +61 -0
- package/.koolie/core/governance/ADOPTION_REGISTRY.md +89 -0
- package/.koolie/core/governance/CHANGE_REQUEST_TEMPLATE.md +60 -0
- package/.koolie/core/governance/DECISION_LOG.md +779 -0
- package/.koolie/core/governance/EXCEPTION_PROCESS.md +31 -0
- package/.koolie/core/governance/FEEDBACK_PROCESS.md +34 -0
- package/.koolie/core/governance/FRAMEWORK_DEV_PROFILE.md +135 -0
- package/.koolie/core/governance/INCIDENT_HANDLING.md +47 -0
- package/.koolie/core/governance/PRIORITY_HIERARCHY.md +61 -0
- package/.koolie/core/governance/RACI.md +37 -0
- package/.koolie/core/governance/RELEASE_PROCESS.md +183 -0
- package/.koolie/core/governance/change-requests/CR-2026-001-definition-release-1-0-0.md +67 -0
- package/.koolie/core/governance/change-requests/CR-2026-002-client-packs.md +63 -0
- package/.koolie/core/governance/change-requests/CR-2026-003-install-client-schalter.md +70 -0
- package/.koolie/core/governance/change-requests/CR-2026-004-client-pack-claude-code.md +82 -0
- package/.koolie/core/governance/change-requests/CR-2026-005-kern-neutralisierung.md +75 -0
- package/.koolie/core/governance/change-requests/CR-2026-006-gemeinsame-skill-quelle.md +77 -0
- package/.koolie/core/governance/change-requests/CR-2026-007-geteilte-kernbestandteile.md +80 -0
- package/.koolie/core/governance/change-requests/CR-2026-008-berechtigungen-und-hooks.md +85 -0
- package/.koolie/core/governance/change-requests/CR-2026-009-umbenennung-leitwerk.md +77 -0
- package/.koolie/core/governance/change-requests/CR-2026-010-restduplikation.md +73 -0
- package/.koolie/core/governance/change-requests/CR-2026-011-hauptdokument.md +72 -0
- package/.koolie/core/governance/change-requests/CR-2026-012-schreibschutz-kernverzeichnis.md +106 -0
- package/.koolie/core/governance/change-requests/CR-2026-013-validator-blindstellen.md +128 -0
- package/.koolie/core/governance/change-requests/CR-2026-014-kurzform-langform.md +125 -0
- package/.koolie/core/governance/change-requests/CR-2026-015-versionskette.md +150 -0
- package/.koolie/core/governance/change-requests/CR-2026-016-ap2-claude-code.md +127 -0
- package/.koolie/core/governance/change-requests/CR-2026-017-ladebedingungen-claude-code.md +173 -0
- package/.koolie/core/governance/change-requests/CR-2026-018-quellenliste-claude-code.md +121 -0
- package/.koolie/core/governance/change-requests/CR-2026-019-strukturentscheidungen-fortschreiben.md +143 -0
- package/.koolie/core/governance/change-requests/CR-2026-020-akteursbezeichnung.md +118 -0
- package/.koolie/core/governance/change-requests/CR-2026-021-hook-interpreter.md +113 -0
- package/.koolie/core/governance/change-requests/CR-2026-022-artefaktversionen.md +73 -0
- package/.koolie/core/governance/change-requests/CR-2026-023-shell-lesesperre.md +128 -0
- package/.koolie/core/governance/change-requests/CR-2026-024-clientbindungen.md +78 -0
- package/.koolie/core/governance/change-requests/CR-2026-025-betriebsmodi.md +110 -0
- package/.koolie/core/governance/change-requests/CR-2026-026-fail-closed.md +134 -0
- package/.koolie/core/governance/change-requests/CR-2026-027-zeichenlimit-einstufung.md +105 -0
- package/.koolie/core/governance/change-requests/CR-2026-028-berechtigungsmodi.md +130 -0
- package/.koolie/core/governance/change-requests/CR-2026-029-hook-ablageort.md +115 -0
- package/.koolie/core/governance/change-requests/CR-2026-030-lesende-werkzeuge.md +143 -0
- package/.koolie/core/governance/change-requests/CR-2026-031-regelquellen-ausserhalb.md +182 -0
- package/.koolie/core/governance/change-requests/CR-2026-032-fremde-skill-ablage.md +151 -0
- package/.koolie/core/governance/change-requests/CR-2026-033-modusabhaengige-durchsetzung.md +131 -0
- package/.koolie/core/governance/change-requests/CR-2026-034-nachweisbedingungen.md +116 -0
- package/.koolie/core/governance/change-requests/CR-2026-035-readme-in-der-regelablage.md +115 -0
- package/.koolie/core/governance/change-requests/CR-2026-036-ortsangaben-hook-konfiguration.md +108 -0
- package/.koolie/core/governance/change-requests/CR-2026-037-meldender-hook-clientgebunden.md +133 -0
- package/.koolie/core/governance/change-requests/CR-2026-038-importsteuerung.md +159 -0
- package/.koolie/core/governance/change-requests/CR-2026-039-normative-saetze-in-kommentaren.md +124 -0
- package/.koolie/core/governance/change-requests/CR-2026-040-erh01-ist-clientgebunden.md +115 -0
- package/.koolie/core/governance/change-requests/CR-2026-041-s5-nicht-abbildbar.md +128 -0
- package/.koolie/core/governance/change-requests/CR-2026-042-abwesenheitsnachweis-suchwerkzeug.md +102 -0
- package/.koolie/core/governance/change-requests/CR-2026-043-validator-gibt-trefferwerte-aus.md +135 -0
- package/.koolie/core/governance/change-requests/CR-2026-044-aktivierungspruefung-clientgebunden.md +112 -0
- package/.koolie/core/governance/change-requests/CR-2026-045-update-verliert-die-clientwahl.md +116 -0
- package/.koolie/core/governance/change-requests/CR-2026-046-erstinstallation-ueberschreibt-projektdatei.md +125 -0
- package/.koolie/core/governance/change-requests/CR-2026-047-zusagen-je-zugriffskanal.md +133 -0
- package/.koolie/core/governance/change-requests/CR-2026-048-modusgrenze-ohne-durchsetzung.md +137 -0
- package/.koolie/core/governance/change-requests/CR-2026-049-sondenlauf-kodierungsabhaengig.md +126 -0
- package/.koolie/core/governance/change-requests/CR-2026-050-allowed-tools-und-verworfene-permissions.md +110 -0
- package/.koolie/core/governance/change-requests/CR-2026-051-quellenkarte-und-ueberholter-stand.md +110 -0
- package/.koolie/core/governance/change-requests/CR-2026-052-drei-regelkonflikte.md +166 -0
- package/.koolie/core/governance/change-requests/CR-2026-053-lesesperre-und-entwicklungsprofil.md +144 -0
- package/.koolie/core/governance/change-requests/CR-2026-054-aktivierung-verlangt-aktivitaet.md +124 -0
- package/.koolie/core/governance/change-requests/CR-2026-055-domain-ausnahme-ohne-mechanismus.md +173 -0
- package/.koolie/core/governance/change-requests/CR-2026-056-eingabeschema-und-pfadidentitaet.md +245 -0
- package/.koolie/core/governance/change-requests/CR-2026-057-disallowed-tools-und-s3.md +148 -0
- package/.koolie/core/governance/change-requests/CR-2026-058-unteragent-reichweite.md +203 -0
- package/.koolie/core/governance/change-requests/CR-2026-059-unteragent-tiefe-und-widerspruch.md +125 -0
- package/.koolie/core/governance/change-requests/CR-2026-060-stumme-brueche.md +170 -0
- package/.koolie/core/governance/change-requests/CR-2026-061-berechtigungsdatei-ohne-pruefung.md +169 -0
- package/.koolie/core/governance/change-requests/CR-2026-062-werkzeugabbildung-des-frontmatters.md +178 -0
- package/.koolie/core/governance/change-requests/CR-2026-063-skillaufruf-ohne-freigabe.md +207 -0
- package/.koolie/core/governance/change-requests/CR-2026-064-pruefregister-nicht-nachgezaehlt.md +141 -0
- package/.koolie/core/governance/change-requests/CR-2026-065-devin-suchwerkzeuge-erhoben.md +170 -0
- package/.koolie/core/governance/change-requests/CR-2026-066-schlitzdeckung-ohne-abgleich.md +153 -0
- package/.koolie/core/governance/change-requests/CR-2026-067-hookblock-und-praeparationsregister.md +140 -0
- package/.koolie/core/governance/change-requests/CR-2026-068-sondenlauf-nebenlaeufig.md +106 -0
- package/.koolie/core/governance/change-requests/CR-2026-069-bytecode-des-kerns.md +108 -0
- package/.koolie/core/governance/change-requests/CR-2026-070-d11-zaehler.md +114 -0
- package/.koolie/core/governance/change-requests/CR-2026-071-strukturentscheidungen-bestaetigen.md +322 -0
- package/.koolie/core/governance/change-requests/CR-2026-072-modulstatus-heben.md +315 -0
- package/.koolie/core/governance/change-requests/CR-2026-073-nicht-skill-traeger-heben.md +246 -0
- package/.koolie/core/governance/change-requests/CR-2026-074-restliche-nicht-skill-traeger-heben.md +271 -0
- package/.koolie/core/governance/change-requests/CR-2026-075-ap2-zielversion-devin-desktop.md +335 -0
- package/.koolie/core/governance/change-requests/CR-2026-076-erster-sitzungstest.md +455 -0
- package/.koolie/core/governance/change-requests/CR-2026-077-sitzungstest-schranken.md +425 -0
- package/.koolie/core/governance/change-requests/CR-2026-078-planung-nach-1-0-0.md +294 -0
- package/.koolie/core/governance/change-requests/CR-2026-079-umbenennung-vorziehen.md +233 -0
- package/.koolie/core/governance/change-requests/CR-2026-080-clientbindung-des-kerns.md +321 -0
- package/.koolie/core/governance/change-requests/CR-2026-081-produktnamen-im-kern.md +297 -0
- package/.koolie/core/governance/change-requests/CR-2026-082-sitzungstest-pi-ds-2.md +145 -0
- package/.koolie/core/governance/change-requests/CR-2026-083-sitzungstest-ne-sc.md +300 -0
- package/.koolie/core/governance/change-requests/CR-2026-084-trockenlauf-gegen-den-committeten-stand.md +117 -0
- package/.koolie/core/governance/change-requests/CR-2026-085-vorbedingungen-sitzungstest-5.md +182 -0
- package/.koolie/core/governance/change-requests/CR-2026-086-grenzfaelle-gegen-die-fassungen.md +164 -0
- package/.koolie/core/governance/change-requests/CR-2026-087-produktbeobachtung-quellenliste.md +206 -0
- package/.koolie/core/governance/change-requests/CR-2026-088-vorbedingungen-testblaetter.md +127 -0
- package/.koolie/core/governance/change-requests/CR-2026-089-herrichtung-uebungsrepositorium.md +226 -0
- package/.koolie/core/governance/change-requests/CR-2026-090-vorbedingungen-sitzungstest-5-zweiter-durchgang.md +255 -0
- package/.koolie/core/governance/change-requests/CR-2026-091-sitzungstest-5.md +163 -0
- package/.koolie/core/governance/change-requests/CR-2026-092-pruefmittelwort-und-buendelschnitt.md +226 -0
- package/.koolie/core/governance/change-requests/CR-2026-093-sechzehnte-praeparation.md +151 -0
- package/.koolie/core/governance/change-requests/CR-2026-094-testblaetter-buendel-1.md +113 -0
- package/.koolie/core/governance/change-requests/CR-2026-095-pruefapparat-filter.md +65 -0
- package/.koolie/core/governance/change-requests/CR-2026-096-vorbedingungen-buendel-2.md +225 -0
- package/.koolie/core/governance/change-requests/CR-2026-097-testblaetter-buendel-2.md +162 -0
- package/.koolie/core/governance/change-requests/CR-2026-098-anforderungen-auslieferung.md +93 -0
- package/.koolie/core/governance/change-requests/CR-2026-099-k74-und-vorbedingungen-buendel-3.md +119 -0
- package/.koolie/core/governance/change-requests/CR-2026-100-testblaetter-buendel-3.md +120 -0
- package/.koolie/core/governance/change-requests/CR-2026-101-k77-eigener-posten.md +165 -0
- package/.koolie/core/governance/change-requests/CR-2026-102-k77-entschieden.md +118 -0
- package/.koolie/core/governance/change-requests/CR-2026-103-vorbedingungen-buendel-4.md +76 -0
- package/.koolie/core/governance/change-requests/CR-2026-104-herrichtung-buendel-4.md +82 -0
- package/.koolie/core/governance/change-requests/CR-2026-105-messapparat-buendel-4.md +227 -0
- package/.koolie/core/governance/change-requests/CR-2026-106-uebergabe-einchecken.md +91 -0
- package/.koolie/core/governance/change-requests/CR-2026-107-uebergabe-im-release-commit.md +111 -0
- package/.koolie/core/governance/change-requests/CR-2026-108-testblaetter-buendel-4.md +118 -0
- package/.koolie/core/governance/change-requests/CR-2026-109-berichtsweg-des-aufraeumers.md +108 -0
- package/.koolie/core/governance/change-requests/CR-2026-110-vorbedingungen-des-nachlaufs.md +184 -0
- package/.koolie/core/governance/change-requests/CR-2026-111-der-apparat-auf-dem-weg-der-wiederaufnahme.md +127 -0
- package/.koolie/core/governance/change-requests/CR-2026-112-der-arbeitsplatz-im-kern.md +103 -0
- package/.koolie/core/governance/change-requests/CR-2026-113-nachlauf-buendel-4.md +103 -0
- package/.koolie/core/governance/change-requests/CR-2026-114-vorbedingungen-buendel-5.md +317 -0
- package/.koolie/core/governance/change-requests/CR-2026-115-herrichtung-buendel-5.md +244 -0
- package/.koolie/core/governance/change-requests/CR-2026-116-messtag-buendel-5.md +178 -0
- package/.koolie/core/governance/change-requests/CR-2026-117-sammelzellen-zentraler-katalog.md +251 -0
- package/.koolie/core/governance/change-requests/CR-2026-118-quellenzuordnung-matrixzeilen.md +115 -0
- package/.koolie/core/governance/change-requests/CR-2026-119-umbenennung-koolie.md +204 -0
- package/.koolie/core/governance/change-requests/CR-2026-120-ap2-rest-devin-desktop.md +96 -0
- package/.koolie/core/governance/change-requests/CR-2026-121-verify-marker-abschaffen.md +185 -0
- package/.koolie/core/governance/change-requests/CR-2026-122-umbenennung-koolie-lauf.md +131 -0
- package/.koolie/core/governance/change-requests/CR-2026-123-vortrag-und-namensabsatz.md +170 -0
- package/.koolie/core/governance/change-requests/CR-2026-124-hauptdokument-ap11.md +237 -0
- package/.koolie/core/governance/change-requests/CR-2026-125-word-fassung-und-blinder-fleck.md +204 -0
- package/.koolie/core/governance/change-requests/CR-2026-126-lizenz-gpl3.md +112 -0
- package/.koolie/core/governance/change-requests/CR-2026-127-gegenzeichnung-rollenfrage.md +96 -0
- package/.koolie/core/governance/change-requests/CR-2026-128-freigabelauf-1.0.0.md +278 -0
- package/.koolie/core/governance/change-requests/CR-2026-129-archiv-zeilenenden.md +90 -0
- package/.koolie/core/governance/change-requests/CR-2026-130-reihenfolge-des-hebens.md +204 -0
- package/.koolie/core/governance/change-requests/CR-2026-131-chronik-und-vorlage.md +194 -0
- package/.koolie/core/governance/change-requests/CR-2026-132-erhebung-openai-codex.md +185 -0
- package/.koolie/core/governance/change-requests/CR-2026-133-bau-openai-codex.md +97 -0
- package/.koolie/core/governance/change-requests/CR-2026-134-uebergabe-lokal.md +117 -0
- package/.koolie/core/governance/change-requests/CR-2026-135-pfadlisten-nul-getrennt.md +139 -0
- package/.koolie/core/governance/change-requests/CR-2026-136-overlay-werte-einordnung.md +156 -0
- package/.koolie/core/governance/change-requests/CR-2026-137-kopierweg-kern.md +144 -0
- package/.koolie/core/governance/change-requests/CR-2026-138-overlay-muster-general.md +118 -0
- package/.koolie/core/governance/change-requests/CR-2026-139-overlay-muster-dokumente.md +105 -0
- package/.koolie/core/governance/change-requests/CR-2026-140-installer-je-zielsystem.md +120 -0
- package/.koolie/core/governance/change-requests/CR-2026-141-lieferumfang.md +123 -0
- package/.koolie/core/governance/change-requests/CR-2026-142-dokumentationsstandard.md +90 -0
- package/.koolie/core/governance/change-requests/CR-2026-143-klasse-b-core-laufzeit.md +89 -0
- package/.koolie/core/governance/change-requests/CR-2026-144-klasse-b-governance.md +90 -0
- package/.koolie/core/governance/change-requests/CR-2026-145-klasse-b-skills.md +81 -0
- package/.koolie/core/governance/change-requests/CR-2026-146-code-pack-posten.md +84 -0
- package/.koolie/core/governance/change-requests/CR-2026-147-regel-register-posten.md +78 -0
- package/.koolie/core/governance/change-requests/CR-2026-148-mehrprojekt-tokenlast.md +70 -0
- package/.koolie/core/governance/change-requests/CR-2026-149-regelablage-pfadtoken.md +71 -0
- package/.koolie/core/governance/change-requests/CR-2026-150-client-pack-kiro.md +76 -0
- package/.koolie/core/governance/change-requests/CR-2026-151-skill-anweisungen.md +71 -0
- package/.koolie/core/governance/change-requests/CR-2026-152-testblaetter-modellwechsel.md +78 -0
- package/.koolie/core/governance/change-requests/CR-2026-153-attributionszeile.md +88 -0
- package/.koolie/core/governance/change-requests/CR-2026-154-auffindbarkeit.md +102 -0
- package/.koolie/core/governance/change-requests/CR-2026-155-client-pack-cursor.md +80 -0
- package/.koolie/core/governance/change-requests/CR-2026-156-mandat-und-reibung.md +100 -0
- package/.koolie/core/governance/change-requests/CR-2026-157-mcp-anbindung.md +93 -0
- package/.koolie/core/governance/change-requests/CR-2026-158-registerpflege.md +69 -0
- package/.koolie/core/governance/change-requests/CR-2026-159-powershell.md +49 -0
- package/.koolie/core/governance/change-requests/CR-2026-160-messapparat.md +59 -0
- package/.koolie/core/governance/change-requests/CR-2026-161-pruefwerkzeuge.md +52 -0
- package/.koolie/core/governance/change-requests/CR-2026-162-schutzschicht.md +65 -0
- package/.koolie/core/governance/change-requests/CR-2026-163-pfadsemantik.md +61 -0
- package/.koolie/core/governance/change-requests/CR-2026-164-modi-ausnahmen.md +65 -0
- package/.koolie/core/governance/change-requests/CR-2026-165-installer-banner.md +406 -0
- package/.koolie/core/governance/change-requests/CR-2026-166-nachlauf-aufzeichnungen.md +59 -0
- package/.koolie/core/governance/change-requests/CR-2026-167-einsatzarchitektur.md +60 -0
- package/.koolie/core/governance/change-requests/CR-2026-168-paketquellen.md +64 -0
- package/.koolie/core/governance/change-requests/CR-2026-169-modusbindung-messfragen.md +58 -0
- package/.koolie/core/governance/change-requests/CR-2026-170-erste-veroeffentlichung.md +62 -0
- package/.koolie/core/governance/change-requests/CR-2026-171-befehl-im-projektverzeichnis.md +57 -0
- package/.koolie/core/governance/change-requests/CR-2026-172-auftritt-npm-suche.md +58 -0
- package/.koolie/core/install.py +2402 -0
- package/.koolie/core/install_dialog.py +227 -0
- package/.koolie/core/koexistenz.py +112 -0
- package/.koolie/core/mandat.py +605 -0
- package/.koolie/core/onboarding/COMPLETION_CRITERIA.md +37 -0
- package/.koolie/core/onboarding/GUIDE.md +103 -0
- package/.koolie/core/onboarding/KNOWLEDGE_CHECK.md +48 -0
- package/.koolie/core/onboarding/MENTOR_CHECKLIST.md +40 -0
- package/.koolie/core/onboarding/QUICKSTART.md +50 -0
- package/.koolie/core/onboarding/REFERENCE.md +69 -0
- package/.koolie/core/onboarding/exercises/EXERCISES.md +78 -0
- package/.koolie/core/onboarding/exercises/README.md +120 -0
- package/.koolie/core/pilot/METRICS.md +59 -0
- package/.koolie/core/pilot/PILOT_CONCEPT.md +42 -0
- package/.koolie/core/prompts/01-understand-codebase.md +99 -0
- package/.koolie/core/prompts/02-impact-analysis.md +104 -0
- package/.koolie/core/prompts/03-implementation-planning.md +102 -0
- package/.koolie/core/prompts/04-code-generation.md +100 -0
- package/.koolie/core/prompts/05-test-generation.md +103 -0
- package/.koolie/core/prompts/06-refactoring.md +102 -0
- package/.koolie/core/prompts/07-debugging.md +97 -0
- package/.koolie/core/prompts/08-security-review.md +92 -0
- package/.koolie/core/prompts/09-performance-analysis.md +89 -0
- package/.koolie/core/prompts/10-documentation.md +91 -0
- package/.koolie/core/prompts/11-merge-request-review.md +94 -0
- package/.koolie/core/prompts/12-developer-training.md +90 -0
- package/.koolie/core/prompts/README.md +88 -0
- package/.koolie/core/templates/MR_AI_DISCLOSURE.md +37 -0
- package/.koolie/core/templates/PLAN_TEMPLATE.md +57 -0
- package/.koolie/core/templates/SKILL_TEMPLATE.md +159 -0
- package/.koolie/core/templates/project-overlay/OVERLAY.md +315 -0
- package/.koolie/core/templates/project-overlay/documents/README.md +43 -0
- package/.koolie/core/templates/project-overlay/documents/ai-governance/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/ai-process-model/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/architecture/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/architecture/decisions/README.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/branching-strategy/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/coding-guidelines/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/definition-of-done/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/definition-of-ready/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/deployment/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/glossary/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/quality/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/roadmap/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/roles/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/documents/security/.gitkeep.md +3 -0
- package/.koolie/core/templates/project-overlay/exceptions/EXCEPTIONS.md +9 -0
- package/.koolie/core/templates/project-overlay/forbidden-terms.txt +8 -0
- package/.koolie/core/templates/project-overlay/overlay-manifest.yaml +73 -0
- package/.koolie/core/templates/rules/21-overlay-TEMPLATE.md.template +28 -0
- package/.koolie/core/templates/rules/40-tech-TEMPLATE.md.template +33 -0
- package/.koolie/core/tests/EDGE_CASES.md +67 -0
- package/.koolie/core/tests/TEST_CATALOG.md +170 -0
- package/.koolie/core/tests/erhebungen/README.md +326 -0
- package/.koolie/core/tests/erhebungen/ablage.py +357 -0
- package/.koolie/core/tests/erhebungen/apparat/__init__.py +22 -0
- package/.koolie/core/tests/erhebungen/apparat/baum.py +214 -0
- package/.koolie/core/tests/erhebungen/apparat/belege.py +91 -0
- package/.koolie/core/tests/erhebungen/apparat/clients.py +321 -0
- package/.koolie/core/tests/erhebungen/apparat/freigabe.py +74 -0
- package/.koolie/core/tests/erhebungen/apparat/kontingent.py +64 -0
- package/.koolie/core/tests/erhebungen/apparat/laeufer.py +155 -0
- package/.koolie/core/tests/erhebungen/apparat/reihe.py +202 -0
- package/.koolie/core/tests/erhebungen/apparat/selbsttest.py +280 -0
- package/.koolie/core/tests/erhebungen/apparat/stand.py +30 -0
- package/.koolie/core/tests/erhebungen/apparat/vorpruefung.py +70 -0
- package/.koolie/core/tests/erhebungen/auswerten-b4.py +468 -0
- package/.koolie/core/tests/erhebungen/auswerten-b5.py +517 -0
- package/.koolie/core/tests/erhebungen/auswerten-dd.py +172 -0
- package/.koolie/core/tests/erhebungen/baeume-b4.py +334 -0
- package/.koolie/core/tests/erhebungen/baeume-b5.py +339 -0
- package/.koolie/core/tests/erhebungen/baeume_loeschen.py +138 -0
- package/.koolie/core/tests/erhebungen/cc-overlay-fuellen.py +277 -0
- package/.koolie/core/tests/erhebungen/dossier-b4.py +178 -0
- package/.koolie/core/tests/erhebungen/dossier-b5.py +202 -0
- package/.koolie/core/tests/erhebungen/historie-bauen-b4.py +642 -0
- package/.koolie/core/tests/erhebungen/k-bauen-b3.py +841 -0
- package/.koolie/core/tests/erhebungen/lauf-dd.py +146 -0
- package/.koolie/core/tests/erhebungen/lauf.py +114 -0
- package/.koolie/core/tests/erhebungen/mcp-waechter.py +278 -0
- package/.koolie/core/tests/erhebungen/messbaum-schnitt.py +256 -0
- package/.koolie/core/tests/erhebungen/messen.py +72 -0
- package/.koolie/core/tests/erhebungen/node-waechter.py +74 -0
- package/.koolie/core/tests/erhebungen/packaktivierung.py +403 -0
- package/.koolie/core/tests/erhebungen/prompts-schreiben-b4.py +210 -0
- package/.koolie/core/tests/erhebungen/prompts-schreiben-b5.py +251 -0
- package/.koolie/core/tests/erhebungen/reihe-b4.py +171 -0
- package/.koolie/core/tests/erhebungen/reihe-b5.py +172 -0
- package/.koolie/core/tests/erhebungen/stand-b4.py +135 -0
- package/.koolie/core/tests/erhebungen/stand-b5.py +137 -0
- package/.koolie/core/tests/erhebungen/trust-b4.py +56 -0
- package/.koolie/core/tests/erhebungen/trust-b5.py +56 -0
- package/.koolie/core/tests/erhebungen/turn2-schreiben-b4.py +105 -0
- package/.koolie/core/tests/erhebungen/umgebungen-bauen-b4.py +377 -0
- package/.koolie/core/tests/erhebungen/umgebungen-bauen-b5.py +363 -0
- package/.koolie/core/tests/erhebungen/zaehlen46.py +74 -0
- package/.koolie/core/tests/erhebungen/zustand-b4.py +82 -0
- package/.koolie/core/tests/erhebungen/zustand-b5.py +82 -0
- package/.koolie/core/tests/protocols/2026-09-10-AP2-claude-code-wirkungsnachweise.md +194 -0
- package/.koolie/core/tests/protocols/2026-09-10-AP2-claude-code.md +468 -0
- package/.koolie/core/tests/protocols/2026-09-10-CR-2026-020-akteursbezeichnung.md +99 -0
- package/.koolie/core/tests/protocols/2026-09-10-CR-2026-021-hook-interpreter.md +138 -0
- package/.koolie/core/tests/protocols/2026-09-10-CR-2026-022-artefaktversionen.md +87 -0
- package/.koolie/core/tests/protocols/2026-09-10-CR-2026-023-shell-lesesperre.md +135 -0
- package/.koolie/core/tests/protocols/2026-09-10-CR-2026-024-clientbindungen.md +98 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-DS-03.md +90 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-KO-01.md +105 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-KO-02.md +123 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-KO-04.md +73 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-RE-02.md +99 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-VN-01-wiederholung.md +108 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-VN-01.md +249 -0
- package/.koolie/core/tests/protocols/2026-09-10-FW-ZA-05.md +99 -0
- package/.koolie/core/tests/protocols/2026-09-11-AP2-devin-desktop.md +257 -0
- package/.koolie/core/tests/protocols/2026-09-11-CR-2026-026-fail-closed.md +113 -0
- package/.koolie/core/tests/protocols/2026-09-11-erhebungen-K21-K26.md +243 -0
- package/.koolie/core/tests/protocols/2026-09-11-wirkungsnachweise-0.26.0.md +101 -0
- package/.koolie/core/tests/protocols/2026-09-12-B01-allowed-tools.md +152 -0
- package/.koolie/core/tests/protocols/2026-09-12-B04-B05-gegenpruefung.md +204 -0
- package/.koolie/core/tests/protocols/2026-09-12-erhebungen-K28-S5-B9-bypass.md +268 -0
- package/.koolie/core/tests/protocols/2026-09-12-mehrprojekt-arbeitsbereich.md +154 -0
- package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.26.1.md +126 -0
- package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.27.0.md +114 -0
- package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.28.0.md +129 -0
- package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.29.0.md +121 -0
- package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.30.0.md +112 -0
- package/.koolie/core/tests/protocols/2026-09-12-wirkungsnachweise-0.31.0.md +107 -0
- package/.koolie/core/tests/protocols/2026-09-13-B06-gegenpruefung.md +370 -0
- package/.koolie/core/tests/protocols/2026-09-13-B07-B09-gegenpruefung.md +211 -0
- package/.koolie/core/tests/protocols/2026-09-13-B08-B11-gegenpruefung.md +179 -0
- package/.koolie/core/tests/protocols/2026-09-13-erhebung-disallowed-tools.md +147 -0
- package/.koolie/core/tests/protocols/2026-09-13-erhebung-unteragent-tiefe.md +139 -0
- package/.koolie/core/tests/protocols/2026-09-13-erhebung-unteragent.md +214 -0
- package/.koolie/core/tests/protocols/2026-09-13-gegenpruefung-berechtigungsdatei.md +253 -0
- package/.koolie/core/tests/protocols/2026-09-13-gegenpruefung-stumme-brueche.md +202 -0
- package/.koolie/core/tests/protocols/2026-09-13-gegenpruefung-werkzeugabbildung.md +219 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.32.0.md +133 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.33.0.md +169 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.34.0.md +187 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.35.0.md +187 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.36.0.md +137 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.37.0.md +112 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.38.0.md +154 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.39.0.md +188 -0
- package/.koolie/core/tests/protocols/2026-09-13-wirkungsnachweise-0.40.0.md +214 -0
- package/.koolie/core/tests/protocols/2026-09-14-erhebung-devin-werkzeuge.md +267 -0
- package/.koolie/core/tests/protocols/2026-09-14-erhebung-skillaufruf.md +238 -0
- package/.koolie/core/tests/protocols/2026-09-14-gegenpruefung-pruefregister.md +156 -0
- package/.koolie/core/tests/protocols/2026-09-14-gegenpruefung-schlitzdeckung.md +206 -0
- package/.koolie/core/tests/protocols/2026-09-14-gegenpruefung-skillwahl.md +127 -0
- package/.koolie/core/tests/protocols/2026-09-14-migrationslauf-pilot.md +134 -0
- package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.41.0.md +175 -0
- package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.42.0.md +180 -0
- package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.43.0.md +165 -0
- package/.koolie/core/tests/protocols/2026-09-14-wirkungsnachweise-0.44.0.md +130 -0
- package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-d11-zaehlregeln.md +311 -0
- package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-modulstatus.md +524 -0
- package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-nicht-skill-traeger.md +225 -0
- package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-restliche-nicht-skill-traeger.md +345 -0
- package/.koolie/core/tests/protocols/2026-09-15-gegenpruefung-strukturentscheidungen.md +392 -0
- package/.koolie/core/tests/protocols/2026-09-15-herrichtung-uebungsrepositorium.md +213 -0
- package/.koolie/core/tests/protocols/2026-09-15-migrationslauf-pilot-0.46.0.md +143 -0
- package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.45.0.md +127 -0
- package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.46.0.md +193 -0
- package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.47.0.md +149 -0
- package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.49.0.md +202 -0
- package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.50.0.md +183 -0
- package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.51.0.md +202 -0
- package/.koolie/core/tests/protocols/2026-09-15-wirkungsnachweise-0.52.0.md +168 -0
- package/.koolie/core/tests/protocols/2026-09-16-AP2-zielversion-devin-desktop.md +231 -0
- package/.koolie/core/tests/protocols/2026-09-16-wirkungsnachweise-0.53.0.md +350 -0
- package/.koolie/core/tests/protocols/2026-09-17-nachtrag-migrationshinweis-0.54.1.md +121 -0
- package/.koolie/core/tests/protocols/2026-09-17-sitzungstest-pi-ds.md +523 -0
- package/.koolie/core/tests/protocols/2026-09-17-sitzungstest-schranken.md +433 -0
- package/.koolie/core/tests/protocols/2026-09-17-wirkungsnachweise-0.54.0.md +159 -0
- package/.koolie/core/tests/protocols/2026-09-18-FW-AK-01.md +442 -0
- package/.koolie/core/tests/protocols/2026-09-18-FW-KO-05.md +231 -0
- package/.koolie/core/tests/protocols/2026-09-18-herrichtung-uebungsrepositorium.md +273 -0
- package/.koolie/core/tests/protocols/2026-09-18-nachtrag-preis-umbenennung-0.56.1.md +102 -0
- package/.koolie/core/tests/protocols/2026-09-18-sitzungstest-5.md +349 -0
- package/.koolie/core/tests/protocols/2026-09-18-sitzungstest-ne-sc.md +430 -0
- package/.koolie/core/tests/protocols/2026-09-18-sitzungstest-pi-ds-2.md +499 -0
- package/.koolie/core/tests/protocols/2026-09-18-vorbedingungen-sitzungstest-5-zweiter-durchgang.md +170 -0
- package/.koolie/core/tests/protocols/2026-09-18-vorbedingungen-testblaetter.md +184 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.55.0.md +202 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.56.0.md +135 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.56.2.md +154 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.57.0.md +228 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.57.1.md +262 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.58.0.md +135 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.59.0.md +150 -0
- package/.koolie/core/tests/protocols/2026-09-18-wirkungsnachweise-0.60.0.md +340 -0
- package/.koolie/core/tests/protocols/2026-09-19-herrichtung-buendel-4.md +235 -0
- package/.koolie/core/tests/protocols/2026-09-19-k77-zurechenbarkeit.md +236 -0
- package/.koolie/core/tests/protocols/2026-09-19-pruefapparat-filter.md +50 -0
- package/.koolie/core/tests/protocols/2026-09-19-pruefmittelwort-und-buendelschnitt.md +239 -0
- package/.koolie/core/tests/protocols/2026-09-19-sechzehnte-praeparation.md +135 -0
- package/.koolie/core/tests/protocols/2026-09-19-testblaetter-buendel-1.md +250 -0
- package/.koolie/core/tests/protocols/2026-09-19-testblaetter-buendel-2.md +229 -0
- package/.koolie/core/tests/protocols/2026-09-19-testblaetter-buendel-3.md +293 -0
- package/.koolie/core/tests/protocols/2026-09-19-vorbedingungen-buendel-2.md +236 -0
- package/.koolie/core/tests/protocols/2026-09-19-vorbedingungen-buendel-3.md +253 -0
- package/.koolie/core/tests/protocols/2026-09-19-vorbedingungen-buendel-4.md +138 -0
- package/.koolie/core/tests/protocols/2026-09-20-messapparat-buendel-4.md +433 -0
- package/.koolie/core/tests/protocols/2026-09-20-testblaetter-buendel-4.md +321 -0
- package/.koolie/core/tests/protocols/2026-09-20-uebergabe-im-release-commit.md +146 -0
- package/.koolie/core/tests/protocols/2026-09-20-vorbedingungen-nachlauf-b4.md +259 -0
- package/.koolie/core/tests/protocols/2026-09-21-arbeitsplatz-im-kern.md +127 -0
- package/.koolie/core/tests/protocols/2026-09-21-nachlauf-buendel-4.md +157 -0
- package/.koolie/core/tests/protocols/2026-09-21-vorbedingungen-buendel-5.md +247 -0
- package/.koolie/core/tests/protocols/2026-09-21-wiederaufnahme-nachlauf-b4.md +190 -0
- package/.koolie/core/tests/protocols/2026-09-22-ap2-rest-devin-desktop.md +614 -0
- package/.koolie/core/tests/protocols/2026-09-22-hauptdokument-ap11.md +443 -0
- package/.koolie/core/tests/protocols/2026-09-22-herrichtung-buendel-5.md +224 -0
- package/.koolie/core/tests/protocols/2026-09-22-messtag-buendel-5.md +327 -0
- package/.koolie/core/tests/protocols/2026-09-22-quellenzuordnung-matrixzeilen.md +230 -0
- package/.koolie/core/tests/protocols/2026-09-22-sammelzellen-zentraler-katalog.md +354 -0
- package/.koolie/core/tests/protocols/2026-09-22-umbenennung-koolie.md +296 -0
- package/.koolie/core/tests/protocols/2026-09-22-verify-marker-abschaffen.md +283 -0
- package/.koolie/core/tests/protocols/2026-09-22-vortrag-und-name.md +261 -0
- package/.koolie/core/tests/protocols/2026-09-22-wirkungsnachweise-0.86.0.md +158 -0
- package/.koolie/core/tests/protocols/2026-09-23-archiv-zeilenenden.md +113 -0
- package/.koolie/core/tests/protocols/2026-09-23-bau-openai-codex.md +168 -0
- package/.koolie/core/tests/protocols/2026-09-23-chronik-und-vorlage.md +224 -0
- package/.koolie/core/tests/protocols/2026-09-23-erhebung-openai-codex.md +309 -0
- package/.koolie/core/tests/protocols/2026-09-23-freigabelauf-1.0.0-vorbereitung.md +119 -0
- package/.koolie/core/tests/protocols/2026-09-23-freigabelauf-1.0.0.md +150 -0
- package/.koolie/core/tests/protocols/2026-09-23-gegenzeichnung-rollenfrage.md +198 -0
- package/.koolie/core/tests/protocols/2026-09-23-reihenfolge-des-hebens.md +220 -0
- package/.koolie/core/tests/protocols/2026-09-23-word-fassung-und-blinder-fleck.md +307 -0
- package/.koolie/core/tests/protocols/2026-09-24-kopierweg-kern.md +98 -0
- package/.koolie/core/tests/protocols/2026-09-24-overlay-werte-einordnung.md +111 -0
- package/.koolie/core/tests/protocols/2026-09-24-pfadlisten-nul-getrennt.md +128 -0
- package/.koolie/core/tests/protocols/2026-09-24-uebergabe-lokal.md +85 -0
- package/.koolie/core/tests/protocols/2026-09-25-code-pack-posten.md +86 -0
- package/.koolie/core/tests/protocols/2026-09-25-dokumentationsstandard.md +101 -0
- package/.koolie/core/tests/protocols/2026-09-25-installer-je-zielsystem.md +134 -0
- package/.koolie/core/tests/protocols/2026-09-25-klasse-b-core-laufzeit.md +126 -0
- package/.koolie/core/tests/protocols/2026-09-25-klasse-b-governance.md +133 -0
- package/.koolie/core/tests/protocols/2026-09-25-klasse-b-skills.md +91 -0
- package/.koolie/core/tests/protocols/2026-09-25-lieferumfang.md +76 -0
- package/.koolie/core/tests/protocols/2026-09-25-overlay-muster-dokumente.md +107 -0
- package/.koolie/core/tests/protocols/2026-09-25-overlay-muster-general.md +100 -0
- package/.koolie/core/tests/protocols/2026-09-25-regel-register-posten.md +87 -0
- package/.koolie/core/tests/protocols/2026-09-26-attributionszeile.md +83 -0
- package/.koolie/core/tests/protocols/2026-09-26-auffindbarkeit.md +85 -0
- package/.koolie/core/tests/protocols/2026-09-26-bau-cursor.md +68 -0
- package/.koolie/core/tests/protocols/2026-09-26-bau-kiro.md +75 -0
- package/.koolie/core/tests/protocols/2026-09-26-mehrprojekt-tokenlast.md +174 -0
- package/.koolie/core/tests/protocols/2026-09-26-regelablage-pfadtoken.md +133 -0
- package/.koolie/core/tests/protocols/2026-09-26-skill-anweisungen.md +111 -0
- package/.koolie/core/tests/protocols/2026-09-26-testblaetter-modellwechsel.md +106 -0
- package/.koolie/core/tests/protocols/2026-09-27-mandat-und-reibung.md +58 -0
- package/.koolie/core/tests/protocols/2026-09-28-mcp-anbindung.md +72 -0
- package/.koolie/core/tests/protocols/2026-09-29-messapparat.md +75 -0
- package/.koolie/core/tests/protocols/2026-09-29-powershell.md +58 -0
- package/.koolie/core/tests/protocols/2026-09-29-pruefwerkzeuge.md +64 -0
- package/.koolie/core/tests/protocols/2026-09-29-registerpflege.md +228 -0
- package/.koolie/core/tests/protocols/2026-09-29-schutzschicht.md +95 -0
- package/.koolie/core/tests/protocols/2026-09-30-einsatzarchitektur.md +104 -0
- package/.koolie/core/tests/protocols/2026-09-30-modi-ausnahmen.md +77 -0
- package/.koolie/core/tests/protocols/2026-09-30-nachlauf-banner.md +85 -0
- package/.koolie/core/tests/protocols/2026-09-30-paketquellen.md +65 -0
- package/.koolie/core/tests/protocols/2026-09-30-pfadsemantik.md +79 -0
- package/.koolie/core/tests/protocols/2026-10-01-auftritt-und-suche.md +58 -0
- package/.koolie/core/tests/protocols/2026-10-01-befehl-im-projektverzeichnis.md +47 -0
- package/.koolie/core/tests/protocols/2026-10-01-erste-veroeffentlichung.md +60 -0
- package/.koolie/core/tests/protocols/2026-10-01-modusbindung-messfragen.md +107 -0
- package/.koolie/core/tests/protocols/README.md +14 -0
- package/.koolie/core/tests/scripts/hook-check-secrets.py +1307 -0
- package/.koolie/core/tests/scripts/hook-overlay-status.py +120 -0
- package/.koolie/core/tests/scripts/mermaid_renderer.py +67 -0
- package/.koolie/core/tests/scripts/overlay_status.py +130 -0
- package/.koolie/core/tests/scripts/probe-pruefungen.py +110 -0
- package/.koolie/core/tests/scripts/pruefungen/__init__.py +4 -0
- package/.koolie/core/tests/scripts/pruefungen/berechtigungen.py +1559 -0
- package/.koolie/core/tests/scripts/pruefungen/bestand.py +1433 -0
- package/.koolie/core/tests/scripts/pruefungen/dokumente.py +1262 -0
- package/.koolie/core/tests/scripts/pruefungen/gemeinsam.py +784 -0
- package/.koolie/core/tests/scripts/pruefungen/hooks.py +1188 -0
- package/.koolie/core/tests/scripts/pruefungen/overlay.py +1251 -0
- package/.koolie/core/tests/scripts/pruefungen/packs.py +1314 -0
- package/.koolie/core/tests/scripts/pruefungen/register.py +950 -0
- package/.koolie/core/tests/scripts/pruefungen/testkatalog.py +1202 -0
- package/.koolie/core/tests/scripts/pruefungen/werkzeuge.py +957 -0
- package/.koolie/core/tests/scripts/sonden/__init__.py +4 -0
- package/.koolie/core/tests/scripts/sonden/apparat.py +653 -0
- package/.koolie/core/tests/scripts/sonden/teil01_grundbestand_und_installation.py +999 -0
- package/.koolie/core/tests/scripts/sonden/teil02_packs_mandat_mcp.py +942 -0
- package/.koolie/core/tests/scripts/sonden/teil03_pruefungen_26_bis_36.py +1184 -0
- package/.koolie/core/tests/scripts/sonden/teil04_pruefungen_37_bis_45.py +1491 -0
- package/.koolie/core/tests/scripts/sonden/teil05_pruefungen_46_bis_55.py +1447 -0
- package/.koolie/core/tests/scripts/sonden/teil06_pruefungen_57_bis_65.py +739 -0
- package/.koolie/core/tests/scripts/sonden/teil07_overlay_und_lieferung.py +1014 -0
- package/.koolie/core/tests/scripts/sonden/teil08_pruefungen_66_bis_80.py +1325 -0
- package/.koolie/core/tests/scripts/sonden/teil09_pruefmittel_81_und_82.py +505 -0
- package/.koolie/core/tests/scripts/sonden/teil10_pruefungen_83_bis_95.py +1218 -0
- package/.koolie/core/tests/scripts/sonden/teil11_pruefungen_104_und_105.py +149 -0
- package/.koolie/core/tests/scripts/sonden/teil12_pruefungen_106_und_107.py +136 -0
- package/.koolie/core/tests/scripts/sonden/teil13_pfad_und_mustersemantik.py +150 -0
- package/.koolie/core/tests/scripts/sonden/teil14_modi_ausnahmen_skills.py +204 -0
- package/.koolie/core/tests/scripts/sonden/teil15_banner_und_nachlauf.py +193 -0
- package/.koolie/core/tests/scripts/sonden/teil16_koexistenz.py +114 -0
- package/.koolie/core/tests/scripts/sonden/teil17_paketquellen.py +115 -0
- package/.koolie/core/tests/scripts/sonden/teil18_modusbindung_m3_m5.py +113 -0
- package/.koolie/core/tests/scripts/validate-framework.py +1104 -0
- package/.koolie/core/tests/scripts/validate-output.py +296 -0
- package/.koolie/core/wirksamkeit.py +430 -0
- package/CONTRIBUTING.md +119 -0
- package/LICENSE +674 -0
- package/QUICKSTART.en.md +135 -0
- package/QUICKSTART.md +129 -0
- package/README.en.md +108 -0
- package/README.md +107 -0
- package/install.cmd +44 -0
- package/install.command +46 -0
- package/package.json +21 -0
- package/paketquellen/README.md +41 -0
- package/paketquellen/bauen.py +411 -0
- package/paketquellen/koolie.cmd +23 -0
- package/paketquellen/koolie_befehl.py +82 -0
- package/paketquellen/npm/koolie.js +26 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Gegenprüfung zu B07 und B09: die Widersprüche, die nur ein Mensch entscheiden kann
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | **B09** – drei Regelkonflikte: K3-Einstufung, Sicherheitskonfiguration, Parallelität. **B07** – Lese- und Schreibsperre in der Overlay-Vorlage und der fehlende Weg in das eigene Repositorium |
|
|
6
|
+
| Anlass | Die Befunde **B07** und **B09** des unabhängigen Reviews vom 2026-09-12, beide P2 und beide ungeprüft. Nach D-23 und dem Arbeitsplan gehört jeder Befund vor der Umsetzung gegengeprüft, auch ein Befund von außen |
|
|
7
|
+
| Datum | 2026-09-13 |
|
|
8
|
+
| Framework-Version | 0.31.0 (Auscheckstand `97052c1`, Arbeitsbaum sauber) |
|
|
9
|
+
| Prüfmethode | **Dokumenten- und Codeprüfung.** Jede der elf Fundstellen des Reviews einzeln nachgelesen; dazu die beiden technischen Schichten – `framework/runtime/permissions.json` und `tests/scripts/hook-check-secrets.py` – auf die behauptete Vermischung geprüft, und die K3-Kategorien über alle Fassungen gezählt |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4 |
|
|
11
|
+
| Ergebnis | **Beide Befunde bestätigen sich inhaltlich vollständig.** Dazu **fünf eigene Feststellungen** (Abschnitte 1.1 bis 2.2), von denen zwei den Befund verschärfen, ein **Nebenbefund** zum Kernverzeichnis und eine **Berichtigung**: Drei der vier Zeilenangaben zur Wurzel-Anweisungsdatei stimmen nicht |
|
|
12
|
+
|
|
13
|
+
> **Was diese Gegenprüfung nicht ist.** Sie misst nichts. B07 und B09 sind
|
|
14
|
+
> Dokumentenwidersprüche; es gibt keinen Mechanismus, der sie zeigen könnte. Geprüft ist
|
|
15
|
+
> deshalb der Text – und dort, wo der Bericht eine Vermischung der Schutzziele behauptet,
|
|
16
|
+
> zusätzlich der Code, der sie angeblich trägt. **Genau dort liegt der Zugewinn:** Der Code
|
|
17
|
+
> trennt korrekt, und das macht den Befund schlimmer, nicht kleiner.
|
|
18
|
+
|
|
19
|
+
## 1. B09 – die drei Konflikte, Fundstelle für Fundstelle
|
|
20
|
+
|
|
21
|
+
### 1.1 K3: bestätigt, mit zwei eigenen Feststellungen
|
|
22
|
+
|
|
23
|
+
| Behauptung des Reviews | Nachgelesen | Ergebnis |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| Die Wurzel-Anweisung erklärt interne Adressen ausnahmslos zu K3 (`:83`) | `framework/runtime/root-instruction.md:84` | **bestätigt**, Zeile 84 statt 83 |
|
|
26
|
+
| Die Langform erlaubt eine K1-Einstufung im Overlay (`02-privacy.md:33`) | `framework/core/02-privacy.md:33`: „…, sofern nicht im Overlay ausdrücklich als K1 eingestuft“ | **bestätigt**, Zeile trifft |
|
|
27
|
+
| Die Langform nennt eine allgemeine Lockerungsmöglichkeit (`:42`) | `framework/core/02-privacy.md:42`, Einstufungsregel 4 | **bestätigt**, Zeile trifft |
|
|
28
|
+
| Die Hierarchie erklärt K3 für nicht aufhebbar (`PRIORITY_HIERARCHY.md:31`) | Regel 2.4: „Delegationsverbote und K3 sind ebenenfest“ | **bestätigt**, Zeile trifft |
|
|
29
|
+
|
|
30
|
+
**Eigene Feststellung 1 – es ist keine Pattsituation, sondern eine Minderheitsmeinung.**
|
|
31
|
+
Ausgezählt über das ganze Repositorium: **acht weitere Stellen** führen dieselbe Kategorie
|
|
32
|
+
**ohne** jede Bedingung.
|
|
33
|
+
|
|
34
|
+
| Nr. | Stelle | Art |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| 1 | `framework/runtime/rules/10-privacy-security.md:17` | Laufzeitregel, immer geladen |
|
|
37
|
+
| 2 | `decision-trees/01-context-allowed.md:14` | Entscheidungsbaum, normativ |
|
|
38
|
+
| 3 | `checklists/02-privacy-context.md:23` | Checkliste, MUSS-Punkt |
|
|
39
|
+
| 4 | `onboarding/REFERENCE.md:12` | Spickzettel |
|
|
40
|
+
| 5 | `onboarding/QUICKSTART.md:26` | Einstieg |
|
|
41
|
+
| 6 | `onboarding/KNOWLEDGE_CHECK.md:36` | Wissensprüfung |
|
|
42
|
+
| 7 | `prompts/01-understand-codebase.md:27` | Promptvorlage |
|
|
43
|
+
| 8 | `prompts/10-documentation.md:27` | Promptvorlage |
|
|
44
|
+
|
|
45
|
+
Gezählt sind nur Stellen, die die K3-**Kategorien aufzählen**. Nicht gezählt sind Verbote und Bereinigungspflichten, die dieselben Angaben nennen, ohne eine Klasse zu bestimmen – `framework/runtime/rules/15-development-rules.md:31`, `prompts/05-test-generation.md:89`, die Ausfüllhinweise der Vorlagen und die Prüflisten dreier Skills. Sie gehören nicht dazu, weil sie keine Einstufung aussprechen. **Eine Zahl steht hier absichtlich nicht:** Wo die Grenze zwischen einer Aufzählung und einem Verbot liegt, ist eine Ermessensfrage – eine gezählte Zahl wäre dann eine Genauigkeit, die es nicht gibt.
|
|
46
|
+
|
|
47
|
+
Die Bedingung steht an **einer** Stelle – und diese eine ist die kanonische Langform. Der
|
|
48
|
+
Entscheidungsbaum beschreibt sogar bereits den Weg, der nach der Entscheidung offen bleibt: „Lässt
|
|
49
|
+
sich der K3-Anteil vollständig entfernen oder ersetzen, wird die bereinigte Fassung neu
|
|
50
|
+
eingestuft.“
|
|
51
|
+
|
|
52
|
+
**Eigene Feststellung 2 – die Kurzform ist zwei Kategorien zu kurz.** Abschnitt 2.1 führt
|
|
53
|
+
**acht** Kategorien. Die Wurzel-Anweisungsdatei nannte **sechs**:
|
|
54
|
+
|
|
55
|
+
| Nr. | Kategorie aus Abschnitt 2.1 | in der Kurzform |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| 1 | Secrets, Zugangsdaten, Schlüssel, Zertifikate, Keystores | ja |
|
|
58
|
+
| 2 | personenbezogene Echtdaten | ja |
|
|
59
|
+
| 3 | Produktionsdaten | ja |
|
|
60
|
+
| 4 | nicht freigegebene Kunden-, Behörden-, Vertragsdokumente | ja |
|
|
61
|
+
| 5 | **Sicherheitskonfigurationen mit Schutzwirkung** | **nein** |
|
|
62
|
+
| 6 | interne Adressen, Hostnamen, Netzpläne, Kennungen | ja |
|
|
63
|
+
| 7 | als vertraulich oder höher eingestufte Inhalte | ja |
|
|
64
|
+
| 8 | **Inhalte aus anderen Projekten oder Mandanten** | **nein** |
|
|
65
|
+
|
|
66
|
+
Die Laufzeitregel `10-*` und die Checkliste führen alle acht. **Der Ausreißer ist die Fassung, die
|
|
67
|
+
in jede Sitzung lädt** – dieselbe Lehre wie bei `CR-2026-048`: Wer beim Gegenprüfen merkt, dass
|
|
68
|
+
eine Fassung die richtige Form hat, zieht auf sie nach. Hier ist es umgekehrt zu der Vermutung des
|
|
69
|
+
Berichts: Die Kurzform ist nicht der strengere, sondern der lückenhafte Text.
|
|
70
|
+
|
|
71
|
+
**Ein zusätzlicher Träger, den das Review nicht nennt:**
|
|
72
|
+
`framework/org-policies/MAPPING_CLASSIFICATION.md:12` bot für die Organisationsstufe „vertraulich“
|
|
73
|
+
eine Lockerung auf K2 an. Diese Stufe ist Kategorie 7 – die Zeile widersprach derselben Regel.
|
|
74
|
+
|
|
75
|
+
### 1.2 Sicherheitskonfiguration: bestätigt, aber nur teilweise ein Widerspruch
|
|
76
|
+
|
|
77
|
+
| Behauptung | Nachgelesen | Ergebnis |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| Die Wurzel-Anweisung lässt Umsetzung nach Sicherheitsfreigabe zu (`:90`) | `framework/runtime/root-instruction.md:91` | **bestätigt**, Zeile 91 statt 90 |
|
|
80
|
+
| V6 nennt Änderungen an Sicherheitskonfigurationen nicht delegierbar (`09-risk-model.md:64`) | V6, zulässige Unterstützung „Analyse und Planvorschlag“ | **bestätigt**, Zeile trifft |
|
|
81
|
+
|
|
82
|
+
**Eigene Feststellung 3 – das Framework will die eine Hälfte ausdrücklich.** Dieselbe Datei
|
|
83
|
+
enthält die Kontrollstufentabelle, und sie sieht für Stufe hoch vor: „Controlled Modification nur
|
|
84
|
+
nach dokumentierter Freigabe durch `<APPROVAL_ROLE>` und mit begleitender Person (Pairing)“. **R3**
|
|
85
|
+
stuft „Kryptografie, Sitzungsverwaltung, Berechtigungsprüfung, Security-Konfiguration“ als hoch
|
|
86
|
+
ein, **R10** jede Änderung an Authentifizierung oder Autorisierung. Ein Risikomodell, das einen
|
|
87
|
+
Gegenstand einstuft und die Umsetzungsbedingungen dafür nennt, verbietet sie nicht.
|
|
88
|
+
|
|
89
|
+
Der Widerspruch ist also nicht „Freigabe gegen Verbot“, sondern **zwei Sätze über zwei
|
|
90
|
+
verschiedene Gegenstände, von denen keiner sagt, welcher gemeint ist**: V6 nennt neben
|
|
91
|
+
Sicherheitskonfigurationen auch Produktionssysteme, Infrastruktur und Berechtigungen – das ist der
|
|
92
|
+
Betrieb. Die Wurzel-Anweisung nennt Authentifizierung, Autorisierung, Kryptografie und
|
|
93
|
+
Sitzungsverwaltung – das ist Anwendungslogik. Nur das vierte Glied, „Sicherheitskonfiguration“,
|
|
94
|
+
steht in beiden Listen.
|
|
95
|
+
|
|
96
|
+
### 1.3 Parallelität: bestätigt und verschärft – die Regel war nicht erfüllbar
|
|
97
|
+
|
|
98
|
+
| Behauptung | Nachgelesen | Ergebnis |
|
|
99
|
+
|---|---|---|
|
|
100
|
+
| R12 stuft Parallelsitzungen als hoch ein (`09-risk-model.md:38`) | R12, Spalte „hoch“: „Hintergrund-Subagenten, Parallelsitzungen oder erweiterte Permission-Modi“ | **bestätigt**, Zeile trifft |
|
|
101
|
+
| Das Arbeitsmodell empfiehlt sie für Aufgaben niedriger Kontrollstufe (`05-working-model.md:119`) | Abschnitt 3.1, Punkt 3: „SOLLEN nur für voneinander unabhängige Aufgaben der Kontrollstufe niedrig“ | **bestätigt**, Zeile trifft |
|
|
102
|
+
|
|
103
|
+
**Das ist mehr als eine Uneinheitlichkeit.** `framework/core/09-risk-model.md` Abschnitt 5 legt
|
|
104
|
+
fest, wie die Kontrollstufe bestimmt wird: „geht die dreizehn Faktoren durch, notiert den
|
|
105
|
+
**höchsten Treffer**“. Wer parallel arbeitet, trifft R12 hoch. Die Aufgabe ist damit Kontrollstufe
|
|
106
|
+
hoch – und kann die Voraussetzung des Arbeitsmodells, Stufe niedrig, **nie** erfüllen.
|
|
107
|
+
|
|
108
|
+
**Die Schnittmenge ist leer. Die Regel war seit ihrer Erstfassung nicht anwendbar** – dieselbe
|
|
109
|
+
Bauform wie B08, wo die Aktivierung eine Prüfung verlangt, die bereits Aktivität voraussetzt.
|
|
110
|
+
|
|
111
|
+
**Und der Lösungsvorschlag des Reviews löst es nicht.** Er lautet, Parallelität nur im für Stufe
|
|
112
|
+
hoch zulässigen Modus zu erlauben und die Beschränkung auf niedrige Aufgaben zu entfernen. R12
|
|
113
|
+
bleibt dabei unangetastet – also macht auch danach ein rein lesender Subagent jede Analyse zu einer
|
|
114
|
+
Aufgabe der Kontrollstufe hoch, mit Architektur- und Security-Review, Nachweis der Testabdeckung
|
|
115
|
+
und vollständigem Sitzungsprotokoll. Das widerspricht Abschnitt 3.1 Punkt 4 desselben
|
|
116
|
+
Arbeitsmodells, der für M1 ausdrücklich „ein rein lesendes Agentenprofil“ erlaubt.
|
|
117
|
+
|
|
118
|
+
## 2. B07 – bestätigt, und der Befund sitzt an einer anderen Stelle als vermutet
|
|
119
|
+
|
|
120
|
+
### 2.1 Die Vermischung ist real – aber nur im Text
|
|
121
|
+
|
|
122
|
+
Das Review nennt es eine Vermischung von Integritäts- und Vertraulichkeitsschutz „obwohl der Hook
|
|
123
|
+
sie bereits unterscheidet“. **Nachgeprüft an beiden Schichten – beide unterscheiden korrekt:**
|
|
124
|
+
|
|
125
|
+
`framework/runtime/permissions.json`, die werkzeugneutrale Regelmenge:
|
|
126
|
+
|
|
127
|
+
| Verb | Regel | Schutzziel |
|
|
128
|
+
|---|---|---|
|
|
129
|
+
| `read` | `deny` auf `.env*`, Schlüsseldateien, Keystores, `**/secrets/**`, `<EXCLUDED_PATHS>` | Vertraulichkeit |
|
|
130
|
+
| `read` | `allow **` | alles Übrige ist lesbar |
|
|
131
|
+
| `write` | `deny` auf `<ROOT_INSTRUCTION_FILE>`, `<RUNTIME_DIR>/**`, `<CORE_DIR>/**`, `project-overlay/**` | Integrität, **nur schreibend** |
|
|
132
|
+
|
|
133
|
+
`tests/scripts/hook-check-secrets.py` führt zwei Musterlisten und kommentiert den Unterschied
|
|
134
|
+
ausdrücklich: „Ein Secret-Pfad ist vertraulich – er darf auch nicht GELESEN werden. Ein
|
|
135
|
+
Strukturpfad ist integritaetsgeschuetzt – er darf nicht GESCHRIEBEN werden, gelesen aber sehr
|
|
136
|
+
wohl.“ Die Trennung besteht seit D-30.
|
|
137
|
+
|
|
138
|
+
**Eigene Feststellung 4 – der Textfehler wirkt in die Technik zurück.** `<EXCLUDED_PATHS>` ist
|
|
139
|
+
nicht irgendeine Liste: Er ist **der Platzhalter, der in die `read`-Verweigerung eingesetzt wird**.
|
|
140
|
+
Die Vorlage (`templates/project-overlay/OVERLAY.md:71`) und die Laufzeitregel
|
|
141
|
+
(`framework/runtime/rules/20-project-overlay.md:23`) tragen ihm die Strukturpfade zu. Ein Projekt,
|
|
142
|
+
das die Vorlage wörtlich ausfüllt, erzeugt damit eine **Lesesperre auf seine eigenen
|
|
143
|
+
Regeldateien** – auf genau die Anweisungen, die der KI-Client befolgen soll.
|
|
144
|
+
|
|
145
|
+
Damit ist B07 kein reiner Dokumentenwiderspruch mehr. Er erreicht die erzeugte
|
|
146
|
+
Berechtigungsdatei.
|
|
147
|
+
|
|
148
|
+
**Wo der Befund nicht sitzt:** Die Wurzel-Anweisungsdatei macht es richtig. Abschnitt 3 verbietet
|
|
149
|
+
das Lesen von `<EXCLUDED_PATHS>`, Abschnitt 6 verbietet das Ändern der Strukturpfade – zwei
|
|
150
|
+
getrennte Aussagen. Sie bekommt die Lesesperre nur zugeliefert. Die Zeilenangabe `:37` des Reviews
|
|
151
|
+
trifft; `:60` trifft nicht, die Verbotsliste steht auf Zeile 57.
|
|
152
|
+
|
|
153
|
+
**Nebenbefund:** `<CORE_DIR>/**` steht in der Berechtigungsdatei als `write`-Verweigerung mit
|
|
154
|
+
`core: true`, **aber nicht** in der Verbotsliste der Wurzel-Anweisungsdatei (Zeile 57 nennt
|
|
155
|
+
`<ROOT_INSTRUCTION_FILE>`, `<RUNTIME_DIR>/` und `project-overlay/`). Der Mechanismus schützt mehr,
|
|
156
|
+
als der Text ankündigt – der wiederkehrende Befundtyp des Projekts mit umgekehrtem Vorzeichen.
|
|
157
|
+
|
|
158
|
+
### 2.2 Der fehlende Weg in das eigene Repositorium
|
|
159
|
+
|
|
160
|
+
| Behauptung | Nachgelesen | Ergebnis |
|
|
161
|
+
|---|---|---|
|
|
162
|
+
| Der Analyseskill lässt ein inaktives Overlay nur in Übungsrepositorys zu (`fw-repo-analyze/SKILL.md:43`) | Vorbedingung 2: „Ohne Overlay (Status `inaktiv`) ist der Skill nur auf Übungsrepositorys zulässig.“ | **bestätigt**, Zeile trifft |
|
|
163
|
+
| Die Regeln setzen freigegebene Pfade voraus (`root-instruction.md:37`) | Abschnitt 3: „nur in den im Overlay als erlaubt gelisteten Pfaden“; bei fehlendem oder inaktivem Overlay „arbeitest du nur lesend“ | **bestätigt** |
|
|
164
|
+
| Die README verweist auf `install.py`, ohne den Kontext zu regeln (`README.md:112`, `:144`) | Abschnitt „Arbeiten an diesem Repository“ ordnet die Installation an, sagt aber nichts über die Arbeitsweise | **bestätigt** |
|
|
165
|
+
|
|
166
|
+
**Eigene Feststellung 5 – derselbe Satz steht in fünf Skills**, nicht in einem:
|
|
167
|
+
`fw-repo-analyze`, `fw-code-explain`, `fw-change-analyze`, `fw-error-analyze`,
|
|
168
|
+
`fw-review-support`. Eine Berichtigung an einer Stelle hätte die nächste Inkonsistenz erzeugt.
|
|
169
|
+
|
|
170
|
+
**Der Zustand dieses Repositoriums, geprüft:** Der Overlay-Status steht in der erzeugten
|
|
171
|
+
Laufzeitregel auf `<TBD: aktiv | inaktiv>` – also fehlender Eintrag, also „nur lesend“. Die Arbeit
|
|
172
|
+
an diesem Framework ist nach seinen eigenen Regeln nicht vorgesehen. **Das ist die
|
|
173
|
+
Arbeitsbedingung jeder Sitzung dieses Projekts, auch dieser.** Das externe Review musste den
|
|
174
|
+
Auftrag als Berechtigung behandeln und hat es ausgewiesen.
|
|
175
|
+
|
|
176
|
+
## 3. Berichtigung der Fundstellen
|
|
177
|
+
|
|
178
|
+
Drei von vier Zeilenangaben des Reviews zu `framework/runtime/root-instruction.md` stimmen nicht:
|
|
179
|
+
|
|
180
|
+
| Review | tatsächlich | Inhalt |
|
|
181
|
+
|---|---|---|
|
|
182
|
+
| `:37` | **37** | Ausgeschlossene Pfade werden nicht gelesen (trifft) |
|
|
183
|
+
| `:60` | **57** | Verbotsliste der Änderungen |
|
|
184
|
+
| `:83` | **84** | „Immer K3: …“ |
|
|
185
|
+
| `:90` | **91** | Änderungen an Authentifizierung und Sicherheitskonfiguration |
|
|
186
|
+
|
|
187
|
+
Die Datei ist seit 0.27.0 unverändert (`5b4f490`); die Abweichung stammt aus dem Prüfstand des
|
|
188
|
+
Berichts. **Inhaltlich ändert sie nichts** – jede Aussage ist an der berichtigten Zeile belegt. Sie
|
|
189
|
+
steht hier, weil dieses Projekt jede Zahl nachzählt, die es liest.
|
|
190
|
+
|
|
191
|
+
## 4. Was diese Gegenprüfung nicht belegt
|
|
192
|
+
|
|
193
|
+
- **Sie belegt nicht, wie ein KI-Client die Grenzfälle einstuft.** Geprüft ist der Text. Ob eine
|
|
194
|
+
Sitzung die entschiedene Einstufung trifft, ist `FW-KO-05` und steht auf `offen`.
|
|
195
|
+
- **Sie belegt nicht, dass ein Projekt die fehlerhafte Lesesperre tatsächlich erzeugt.** Belegt ist
|
|
196
|
+
der Weg dorthin: Die Vorlage trägt die Strukturpfade in den Platzhalter, und der Platzhalter
|
|
197
|
+
steht in der `read`-Verweigerung. Ein Lauf gegen eine Installation mit ausgefüllter
|
|
198
|
+
`<EXCLUDED_PATHS>`-Liste ist **nicht** gefahren – kein ausgeliefertes Overlay füllt sie aus,
|
|
199
|
+
weil die Vorlage `<TBD>` liefert.
|
|
200
|
+
- **Sie belegt nicht die Wirkung der neuen Prüfungen.** Das leistet der Wirkungsnachweis
|
|
201
|
+
(`2026-09-13-wirkungsnachweise-0.32.0.md`) mit sechs Sonden, zwei Gegenproben und dem Gegenbeweis
|
|
202
|
+
gegen 0.31.0.
|
|
203
|
+
- **Zur Zählung:** Sieben zusätzliche K3-Träger und acht Kategorien sind ausgezählt, nicht
|
|
204
|
+
geschätzt. Wer sie nachzählt, sollte auf dieselben Zahlen kommen; wenn nicht, ist dieses
|
|
205
|
+
Protokoll der Befund.
|
|
206
|
+
|
|
207
|
+
## 5. Gegenzeichnung
|
|
208
|
+
|
|
209
|
+
| Rolle | Name/Kennung | Datum | Ergebnis bestätigt |
|
|
210
|
+
|---|---|---|---|
|
|
211
|
+
| `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` | `<TBD>` |
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# Gegenprüfung zu B08 und B11: die Aktivierung, die sich selbst voraussetzt, und die Ausnahme ohne Mechanismus
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | **B08** – die Aktivierungsprüfung und der Status-Hook. **B11** – das generelle Netzverbot und die zugesagten Ausnahmen je Domain |
|
|
6
|
+
| Anlass | Die Befunde **B08** und **B11** des unabhängigen Reviews vom 2026-09-12, beide P2 und beide ungeprüft. Nach D-23 und dem Arbeitsplan gehört jeder Befund vor der Umsetzung gegengeprüft |
|
|
7
|
+
| Datum | 2026-09-13 |
|
|
8
|
+
| Framework-Version | 0.32.0 (Auscheckstand `a950c35`, Arbeitsbaum sauber) |
|
|
9
|
+
| Prüfmethode | **Code- und Dokumentenprüfung, dazu zwei erzeugte Installationen.** Jede Fundstelle nachgelesen; `check_strict_overlay` und `hook-overlay-status.py` Zeile für Zeile; die Namensliste des Validators durchgerechnet; die erzeugte Berechtigungsdatei beider Packs an frischen Installationen nachgesehen; die Fachmatrizen ausgezählt |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4 |
|
|
11
|
+
| Ergebnis | **Beide Befunde bestätigen sich vollständig.** Dazu **fünf eigene Feststellungen**, von denen zwei den Zuschnitt der Umsetzung verändert haben, und ein Nebenbefund, der beim Einfügen einer Matrixzeile auffiel |
|
|
12
|
+
|
|
13
|
+
## 1. B08 – die Aktivierung verlangt, was sie herstellen soll
|
|
14
|
+
|
|
15
|
+
### 1.1 Die Zirkularität ist dreifach verankert
|
|
16
|
+
|
|
17
|
+
| Stelle | Aussage | Ergebnis |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `docs/ADOPTION_GUIDE.md` Schritt 7 | fährt `validate-framework.py --strict-overlay` | **bestätigt** |
|
|
20
|
+
| `docs/ADOPTION_GUIDE.md` Schritt 9 | setzt den Status **danach** auf `aktiv` | **bestätigt** |
|
|
21
|
+
| `checklists/10-project-adoption.md`, Kopfzeile „Wann“ | „bei Übernahme …, **vor dem Setzen des Overlay-Status auf `aktiv`**“ | **bestätigt** |
|
|
22
|
+
| ebenda, MUSS-Punkt | „`validate-framework.py --strict-overlay` läuft ohne Fehler“ | **bestätigt** |
|
|
23
|
+
| `templates/project-overlay/OVERLAY.md` Abschnitt 21 | Status wird `aktiv`, **wenn** Checkliste **und** Lauf durch sind | **bestätigt** |
|
|
24
|
+
| `check_strict_overlay` | vergleicht **exakt** auf `aktiv`, in beiden Trägern | **bestätigt** |
|
|
25
|
+
|
|
26
|
+
Der Vergleich ist seit 0.28.0 eine Aufzählung statt eines Präfixvergleichs, weil
|
|
27
|
+
`aktivierung-ausstehend` vorher bestand (D-44). Damit ist die Lage eindeutig: **Wer den
|
|
28
|
+
dokumentierten Ablauf befolgt, setzt `aktiv`, bevor die Übernahmecheckliste fertig ist** – und ein
|
|
29
|
+
Agent arbeitet dann regelkonform in M3 auf einem unfertigen Overlay. Das Review nennt es „zirkulär,
|
|
30
|
+
solange keine Prüfung eines Aktivierungskandidaten vorgesehen ist“; das trifft.
|
|
31
|
+
|
|
32
|
+
### 1.2 Eigene Feststellung 1: Der Name der fehlenden Prüfung steht längst da
|
|
33
|
+
|
|
34
|
+
| Stelle | Wortlaut |
|
|
35
|
+
|---|---|
|
|
36
|
+
| `docs/ADOPTION_GUIDE.md:145` | „Der erste Lauf prüft Struktur, Inhalte und **Aktivierungsreife** des Overlays.“ |
|
|
37
|
+
| `validate-framework.py`, Docstring von `check_strict_overlay` | „**Aktivierungsreife** des Projekts (--strict-overlay) – clientneutral.“ |
|
|
38
|
+
|
|
39
|
+
**Beide beschreiben eine Kandidatenprüfung. Die Umsetzung verlangt den fertigen Zustand.** Es fehlt
|
|
40
|
+
kein Begriff, es fehlt die Prüfung dazu.
|
|
41
|
+
|
|
42
|
+
Das hat den Zuschnitt der Umsetzung verschoben: Nicht ein neues Konzept wird eingeführt, sondern
|
|
43
|
+
eine Prüfung gebaut, die zwei Dokumente seit je beschreiben. Und es entschied die Frage, **welcher**
|
|
44
|
+
Schalter der neue sein soll: Der Name „Aktivierungsreife“ passt auf den Kandidaten, aber
|
|
45
|
+
`--strict-overlay` hat mit dem Aktualisierungsablauf (`ADOPTION_GUIDE.md` Abschnitt 3, Schritt 4)
|
|
46
|
+
einen **zweiten, funktionierenden Aufrufer**, der ein bereits aktives Overlay prüft. Ihn umzudeuten
|
|
47
|
+
hätte jeder bestehenden Projekt-CI stillschweigend eine andere Prüfung gegeben.
|
|
48
|
+
|
|
49
|
+
### 1.3 Eigene Feststellung 2: Der Status-Hook trägt drei Defekte, nicht zwei
|
|
50
|
+
|
|
51
|
+
Das Review nennt zwei. Am Skript (Stand 0.32.0) nachgelesen sind es drei:
|
|
52
|
+
|
|
53
|
+
| Nr. | Zeile | Code | Folge |
|
|
54
|
+
|---|---|---|---|
|
|
55
|
+
| 1 | `:54` | `if value.startswith("aktiv"):` | **Präfixvergleich.** `aktivierung-ausstehend` wird als `aktiv` gemeldet – der Wert, der wörtlich sagt, dass die Aktivierung aussteht. **Das Review nennt diesen Defekt nicht** |
|
|
56
|
+
| 2 | `:51` | `re.search(r"Overlay-Status:\s*…")` | Verlangt einen Doppelpunkt. Die Steckbriefzeile `\| Overlay-Status \| … \|` trägt keinen – sie wird **nie** getroffen |
|
|
57
|
+
| 3 | `:60` | `break` | Die erste Datei mit Treffer entscheidet; eine aktive Laufzeitregel gewinnt gegen ein inaktives Quell-Overlay |
|
|
58
|
+
|
|
59
|
+
**Defekt 1 ist wörtlich derselbe, den D-44 im Validator behoben hat.** Die gemeinsame Auswertung
|
|
60
|
+
`_overlay_status_angaben` liegt seit 0.28.0 im Validator; der Hook benutzt sie nicht. Das ist das
|
|
61
|
+
Muster von D-49: Die Lehre war gezogen, aber nur in der Nachbarfunktion.
|
|
62
|
+
|
|
63
|
+
Die Reproduktion des Reviews bestätigt sich aus den Defekten 2 und 3: Tabellenstatus `inaktiv` ohne
|
|
64
|
+
lesbare Laufzeitregel → `unbekannt` (Defekt 2); aktive Laufzeitregel plus inaktiver Quellstatus →
|
|
65
|
+
`aktiv` (Defekt 3).
|
|
66
|
+
|
|
67
|
+
## 2. B11 – die Ausnahme ohne Mechanismus
|
|
68
|
+
|
|
69
|
+
### 2.1 Eigene Feststellung 3: Die Widerlegung steht fünf Zeilen unter der Zusage
|
|
70
|
+
|
|
71
|
+
`framework/core/03-security.md`, Abschnitt 4:
|
|
72
|
+
|
|
73
|
+
| Zeile | Text |
|
|
74
|
+
|---|---|
|
|
75
|
+
| 54 | „`Fetch(*)` \| deny; **Ausnahmen je Domain im Overlay**“ |
|
|
76
|
+
| 57 | „Regeln aus höheren Ebenen haben Vorrang, **`deny` gewinnt immer** `[DOK]`.“ |
|
|
77
|
+
| 59 | „Der Grund ist mechanisch: In der Berechtigungsdatei gewinnt `deny` immer, und **keine der abgebildeten Clientformen kennt ein Ausnahmemuster innerhalb eines deny**.“ |
|
|
78
|
+
|
|
79
|
+
**Zeile 59 buchstabiert das Argument aus, das Zeile 54 widerlegt** – geschrieben für das
|
|
80
|
+
Kernverzeichnis, zu einem anderen Zweck. Der Befund war im eigenen Dokument vorweggenommen.
|
|
81
|
+
|
|
82
|
+
### 2.2 Eigene Feststellung 4: Fünf Träger, keine Matrixzeile
|
|
83
|
+
|
|
84
|
+
Ausgezählt über das Repositorium – fünf Stellen versprechen die Freigabe je Domain:
|
|
85
|
+
`framework/core/03-security.md:54`, `framework/core/02-privacy.md` Regel 3.7 (dort mit `[DOK]`),
|
|
86
|
+
`framework/runtime/rules/10-privacy-security.md:31`, `checklists/02-privacy-context.md:39`,
|
|
87
|
+
`templates/project-overlay/OVERLAY.md` Abschnitt 11.
|
|
88
|
+
|
|
89
|
+
Eine sechste Stelle nennt einen **anderen** Mechanismus: `framework/core/02-privacy.md` Abschnitt 6
|
|
90
|
+
führt „Sandbox-Modus mit Domain-Allowlist“ – unter Windows laut Dokumentation nicht verfügbar. Das
|
|
91
|
+
ist keine Berechtigungsregel und löst die Zusage nicht ein.
|
|
92
|
+
|
|
93
|
+
**Keine Fähigkeitsmatrix führt eine Zeile zur zugesagten Ausnahme.** B8 deckt das *Verbot* ab und
|
|
94
|
+
steht bei beiden Packs für die Abrufwerkzeuge auf `[TECHNISCH]`. Dieselbe Bauform wie der Suchkanal
|
|
95
|
+
aus 0.30.0: **eine Zusage, die keine Schicht kennt.**
|
|
96
|
+
|
|
97
|
+
### 2.3 Eigene Feststellung 5: Bei einem Pack ist sie nicht ausdrückbar
|
|
98
|
+
|
|
99
|
+
`clients/claude-code/manifest.json` führt `WebFetch` und `WebSearch` in `permission_tools_bare`.
|
|
100
|
+
An einer frischen Installation nachgesehen:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
$ python leitwerk-core/install.py --client claude-code --root <leer>
|
|
104
|
+
$ python -c "…" .claude/settings.json
|
|
105
|
+
deny: ['WebFetch', 'WebSearch']
|
|
106
|
+
ask: ['mcp__*']
|
|
107
|
+
allow: []
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Das ganze Werkzeug, ohne Argument.** Eine Domain-Angabe ist nicht ausdrückbar. Zum Vergleich
|
|
111
|
+
`devin-desktop`: `permission_tools_bare` enthält nur `mcp__*`, die erzeugte Datei trägt
|
|
112
|
+
`deny: ['Fetch(*)']` – dort **überlebt** ein Muster das Rendern; ob der Client eine Domain-Angabe
|
|
113
|
+
auswertet, ist unbelegt.
|
|
114
|
+
|
|
115
|
+
Dazu: `permission_tools.fetch` führt bei `claude-code` beide Werkzeuge zusammen. **Für eine
|
|
116
|
+
Websuche gibt es überhaupt kein Domain-Ziel** – auch ein künftiger Mechanismus könnte sie nicht
|
|
117
|
+
abdecken.
|
|
118
|
+
|
|
119
|
+
Das Verwerfen ist im Manifest deklariert und für sich richtig. Unbenannt blieb die **Folge** –
|
|
120
|
+
wörtlich dasselbe Muster wie B01 bei `permissions` in `drop_fields` (D-50), über einen anderen
|
|
121
|
+
Mechanismus.
|
|
122
|
+
|
|
123
|
+
### 2.4 Der Validator entschied dieselbe Absicht je Pack verschieden
|
|
124
|
+
|
|
125
|
+
`check_config` führte die Liste `("Exec(git push", …, "Fetch(*", …, "WebFetch", "WebSearch")` und
|
|
126
|
+
prüfte mit `rule.startswith(verboten)`. Durchgerechnet:
|
|
127
|
+
|
|
128
|
+
| Regel in `allow` | Ergebnis bis 0.32.0 |
|
|
129
|
+
|---|---|
|
|
130
|
+
| `Fetch(*)` | abgelehnt |
|
|
131
|
+
| `Fetch(domain:docs.example.invalid)` | **zulässig** |
|
|
132
|
+
| `WebFetch(domain:docs.example.invalid)` | abgelehnt |
|
|
133
|
+
| `WebSearch` | abgelehnt |
|
|
134
|
+
|
|
135
|
+
**Dieselbe Absicht, zwei Packs, zwei Entscheidungen.** Niemand hat das entschieden; es ist eine
|
|
136
|
+
Nebenwirkung fest verdrahteter Namen – derselbe Fehlertyp wie B02 und B10.
|
|
137
|
+
|
|
138
|
+
## 3. Nebenbefund beim Einfügen der Matrixzeile: Die Summen überzeichnen
|
|
139
|
+
|
|
140
|
+
Die neue Zeile **B10** musste in die Fachmatrix und damit in die Summen von Abschnitt 3. Dabei
|
|
141
|
+
zeigte sich:
|
|
142
|
+
|
|
143
|
+
| Angabe bis 0.32.0 (`claude-code`) | Ausgezählt |
|
|
144
|
+
|---|---|
|
|
145
|
+
| `[TECHNISCH]` 25 von 29 | **20** von 30 |
|
|
146
|
+
| `[TEXTUELL]` 3 von 29 (R5, R6, B9) | **7** von 30 (dazu B3, B4, B5, B8) |
|
|
147
|
+
| `[NICHT ABBILDBAR]` 1 von 29 (S5) | **3** von 30 (S3, S5, B10) |
|
|
148
|
+
|
|
149
|
+
Zwei Ursachen: **S3 steht seit 0.31.0 auf `[NICHT ABBILDBAR]`** (`CR-2026-050`), ohne dass die
|
|
150
|
+
Summen nachgezogen wurden. Und die vier Zeilen mit einer Kanalgrenze – B3, B4, B5, B8 – zählten als
|
|
151
|
+
`[TECHNISCH]`, obwohl D-47 sie je Kanal ausweist und ihr Shell-Teil nur als Anweisung trägt.
|
|
152
|
+
|
|
153
|
+
**Die Überschrift desselben Abschnitts sagte „Alle sechs Kernzusagen sind technisch abgebildet“** –
|
|
154
|
+
seit 0.30.0 zu weit gefasst: B3, B4 und B5 gelten nur für den direkten Zugriff.
|
|
155
|
+
|
|
156
|
+
**Es ist der dritte Drift dieser Summen.** Das Pack `devin-desktop` dokumentiert einen früheren
|
|
157
|
+
selbst: „Die Zeilenzahl ist mit 0.26.0 nachgezählt worden – sie stimmte vorher nicht.“ Eine Zahl,
|
|
158
|
+
die dreimal von Hand stimmen musste, gehört ausgerechnet (**Prüfung 31**, D-60).
|
|
159
|
+
|
|
160
|
+
## 4. Was diese Gegenprüfung nicht belegt
|
|
161
|
+
|
|
162
|
+
- **Sie belegt nicht, dass ein Client eine Domain-Angabe auswertet oder nicht.** Für
|
|
163
|
+
`devin-desktop` ist die Form ausdrückbar und ihre Wirkung **unerhoben**; die Matrixzeile B10
|
|
164
|
+
trägt deshalb `[TEXTUELL]` mit VERIFY-Marker. Widerlegt ist nur, dass sie **gegen ein bestehendes
|
|
165
|
+
`deny`** wirken könnte – das ist Mechanik, nicht Messung.
|
|
166
|
+
- **Sie belegt keine Sitzung.** Ob ein KI-Client den Status-Hinweis des Hooks befolgt und
|
|
167
|
+
tatsächlich in M1 bleibt, ist nicht gemessen. Der Hook informiert; er blockiert nie.
|
|
168
|
+
- **Sie belegt die Zirkularität nicht durch einen vollständigen Übernahmelauf.** Belegt ist, dass
|
|
169
|
+
`check_strict_overlay` exakt `aktiv` verlangt und dass fünf Textstellen die Reihenfolge
|
|
170
|
+
andersherum vorschreiben. Ein realer Übernahmelauf in ein fremdes Projekt ist **nicht** gefahren.
|
|
171
|
+
- **Die Auszählung der Matrix hängt an einer Zählregel**, und die ist eine Entscheidung, nicht ein
|
|
172
|
+
Messwert. Sie steht seit 0.33.0 in beiden Packs und in Prüfung 31 an derselben Stelle: eine Zeile
|
|
173
|
+
zählt bei ihrer schwächsten Einstufung.
|
|
174
|
+
|
|
175
|
+
## 5. Gegenzeichnung
|
|
176
|
+
|
|
177
|
+
| Rolle | Name/Kennung | Datum | Ergebnis bestätigt |
|
|
178
|
+
|---|---|---|---|
|
|
179
|
+
| `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` | `<TBD>` |
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Erhebung: Ist `disallowed-tools` bei `claude-code` eine Werkzeugbeschränkung je Skill?
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Zeile **S3** der Fähigkeitsmatrix `claude-code`: „Werkzeugbeschränkung je Skill", seit 0.31.0 `[NICHT ABBILDBAR]` mit benanntem, ausdrücklich **schwächerem** Ersatz (D-50) |
|
|
6
|
+
| Anlass | Offener Punkt aus `CR-2026-050` und Eintrag in **Paket 6**: „Die Herstellerdokumentation nennt `disallowed-tools` als gesonderten Mechanismus. **Es wäre der Weg, S3 zurückzugewinnen**" – bis heute `[DOK]` und **nicht erhoben** |
|
|
7
|
+
| Datum | 2026-09-13 |
|
|
8
|
+
| Framework-Version | 0.34.0 (`cf45a01`) |
|
|
9
|
+
| Geprüfte Clientversion | **Claude Code 2.1.270** (Modell Opus 5) |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4; leeres Verzeichnis im Sitzungs-Scratchpad, **ohne Regeltexte**, Berechtigungsschicht **an** mit `allow`-Liste, Rekorder-Hook auf alle Werkzeuge |
|
|
11
|
+
| Belege | `devpacks/leitwerk-erhebungen-2026-09-13/` (außerhalb des Repositoriums, mit eigener README) |
|
|
12
|
+
| Ergebnis | **`disallowed-tools` ist eine echte Werkzeugbeschränkung je Skill** – es schlägt sogar eine ausdrückliche `allow`-Regel. **Mit drei gemessenen Grenzen**, von denen die dritte eine lautlose ist |
|
|
13
|
+
|
|
14
|
+
> **Warum diese Erhebung entsteht.** `AP2-CC-13` hing acht Releases an einem Belegtyp, bei dem
|
|
15
|
+
> die *Dokumentation* belegt war und nicht das *Verhalten*; D-50 hat `disallowed-tools` genau
|
|
16
|
+
> deshalb **nicht** zugesagt, obwohl die Dokumentation es nennt. D-23 verlangt für eine Zusage
|
|
17
|
+
> den Wirkungsnachweis. Er wird hier nachgeholt.
|
|
18
|
+
|
|
19
|
+
## 1. Was die Dokumentation sagt – und warum das allein nicht reicht
|
|
20
|
+
|
|
21
|
+
Die Herstellerdokumentation zu Skills führt beide Felder und unterscheidet sie ausdrücklich:
|
|
22
|
+
|
|
23
|
+
| Feld | Wortlaut der Dokumentation |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `allowed-tools` | „Tools Claude can use without asking permission during the turn that invokes this skill." Und ausdrücklich: „**It does not restrict** which tools are available: every tool remains callable" |
|
|
26
|
+
| `disallowed-tools` | „Tools **removed from Claude's available pool** while this skill is active. … **The restriction clears when you send your next message.** Like deny rules, the field can't remove `EndConversation` while any other tool remains" |
|
|
27
|
+
|
|
28
|
+
**Der Wortlaut trennt die beiden sauber** – und er nennt die Turngrenze von sich aus. Das ist
|
|
29
|
+
ein besserer Ausgangspunkt als bei B01, wo die Matrixzeile eine Aussage trug, die die
|
|
30
|
+
Dokumentation so nicht macht. Es bleibt trotzdem `[DOK]`.
|
|
31
|
+
|
|
32
|
+
## 2. Methode
|
|
33
|
+
|
|
34
|
+
Vier Vorkehrungen, jede aus einem Befund dieses Projekts:
|
|
35
|
+
|
|
36
|
+
- **Umgebung ohne Regeltexte** (WN-5, `AP2-DD-11`). Keine `CLAUDE.md`, keine `.claude/rules/`,
|
|
37
|
+
kein Overlay. Sonst lehnt der Agent aus den Regeln ab, und gemessen wäre Modellverhalten.
|
|
38
|
+
- **Kein Bypass, sondern eine `allow`-Liste.** Die B01-Messung schaltete die
|
|
39
|
+
Berechtigungsschicht ab. Das geht hier nicht: Ein Bypass könnte die geprüfte Schranke gleich
|
|
40
|
+
mit abschalten, und das Ergebnis wäre nicht zuzuordnen. Stattdessen steht in `allow` alles,
|
|
41
|
+
was die Sonde braucht – **`Write` eingeschlossen**. Damit kann eine Verweigerung von `Write`
|
|
42
|
+
nur noch aus `disallowed-tools` kommen. **Das ist der schärfere Aufbau, nicht der bequemere.**
|
|
43
|
+
- **Positivkontrolle im selben Lauf** (Testkatalog Nr. 7): Der Skill liest zuerst `MARKE.txt`.
|
|
44
|
+
- **Rekorder-Hook auf alle Werkzeuge.** Ohne ihn ist nicht belegt, dass der Skill überhaupt
|
|
45
|
+
aufgerufen wurde – schlägt der Aufruf fehl, liest die Sitzung die `SKILL.md` als gewöhnliche
|
|
46
|
+
Datei und führt sie im normalen Kontext aus. **Das Ergebnis sähe identisch aus.** Genau so
|
|
47
|
+
ist Lauf A der B01-Messung entstanden, und in dieser Erhebung ist es **zweimal** passiert.
|
|
48
|
+
|
|
49
|
+
## 3. Läufe
|
|
50
|
+
|
|
51
|
+
| Lauf | Aufbau | Ergebnis |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| **A** | `defaultMode: bypassPermissions` in der Projektdatei | **Verworfen.** Der `Skill`-Aufruf selbst wurde abgewiesen, der Skill nie geladen. Die Projektdatei trägt diesen Modus nicht |
|
|
54
|
+
| **B** | `allow`-Liste, `disallowed-tools: Write, Edit` | Positivkontrolle `MARKE-DT-7731` gelesen; **`Write` abgewiesen**, Datei nicht entstanden |
|
|
55
|
+
| **C** | **Kontrolllauf:** identisch, ohne das Feld | Positivkontrolle gelesen; **`Write` gelang**, Datei mit `GESCHRIEBEN-7731` entstanden |
|
|
56
|
+
| **D** | wie B; danach Turn 2 derselben Sitzung (`claude -c -p`) ohne Skill-Aufruf | Turn 1 abgewiesen, **Turn 2 gelang** |
|
|
57
|
+
| **E** | `disallowed-tools: Write, Edit`, Schreiben über **`Bash`** | **gelang** – `BASH-7731` entstanden |
|
|
58
|
+
| **F** | `disallowed-tools: Write, Edit, Bash`, sonst wie E | **`Bash` abgewiesen**, Datei nicht entstanden |
|
|
59
|
+
| **G** | erster Versuch der Argumentmuster-Messung | **Verworfen, Eigenverschulden** – ohne Vertrauenseintrag gefahren, `Skill` abgewiesen |
|
|
60
|
+
| **G′** | `disallowed-tools: Bash(echo verboten:*)` bzw. `Bash(echo verboten *)` | **Beide Formen wirkungslos:** verbotener Befehl lief, **keine Verweigerung** |
|
|
61
|
+
| **G″** | **Gegenprobe im selben Skill:** `disallowed-tools: Bash` | **beide Befehle abgewiesen** |
|
|
62
|
+
|
|
63
|
+
### Die Messung (B) gegen den Kontrolllauf (C)
|
|
64
|
+
|
|
65
|
+
Beide Läufe zeigen dieselbe Werkzeugfolge – nur der Ausgang von `Write` unterscheidet sich:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
Skill | {"skill": "lw-probe-dt"}
|
|
69
|
+
Read | MARKE.txt
|
|
70
|
+
Glob | **/MARKE.txt
|
|
71
|
+
Read | MARKE.txt
|
|
72
|
+
Write | DT-SCHREIBPROBE.txt
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
| | Antworttext | `permission_denials` | Datei |
|
|
76
|
+
|---|---|---|---|
|
|
77
|
+
| **B** | „Permission to use Write has been denied." | **1 Eintrag, `Write`** | nicht entstanden |
|
|
78
|
+
| **C** | „SCHREIBEN GELANG" | 0 Einträge | `GESCHRIEBEN-7731` |
|
|
79
|
+
|
|
80
|
+
`permission_denials` ist die **zweite, vom Antworttext unabhängige Quelle**. Sie stimmt überein.
|
|
81
|
+
|
|
82
|
+
**`Write` steht in der `allow`-Liste und wurde trotzdem abgewiesen.** Das ist der eigentliche
|
|
83
|
+
Befund: `disallowed-tools` wirkt **nicht** als Berechtigungsregel unter anderen, die man
|
|
84
|
+
gegeneinander abwägt – es nimmt das Werkzeug aus dem Vorrat, und eine Freigabe holt es nicht
|
|
85
|
+
zurück. Damit ist es genau das, was `allowed-tools` nach B01 **nicht** ist.
|
|
86
|
+
|
|
87
|
+
## 4. Ergebnis
|
|
88
|
+
|
|
89
|
+
**`disallowed-tools` ist bei diesem Client eine Werkzeugbeschränkung je Skill.** Die Zeile S3
|
|
90
|
+
ist damit zurückgewinnbar. **Drei Grenzen sind gemessen und gehören in jede Zusage:**
|
|
91
|
+
|
|
92
|
+
### 4.1 Die Schranke gilt nur für den aufrufenden Turn (Lauf D)
|
|
93
|
+
|
|
94
|
+
Turn 1 mit Skill: `Write` abgewiesen. Turn 2 derselben Sitzung, ohne den Skill erneut
|
|
95
|
+
aufzurufen: **`Write` gelang**, `TURN2-7731` entstanden. Die Dokumentation sagt das vorher
|
|
96
|
+
(„clears when you send your next message"); **gemessen ist es jetzt auch.**
|
|
97
|
+
|
|
98
|
+
Für das Arbeitsmodell heißt das: Ein „nur lesender" Skill ist nur **während seines Turns** nur
|
|
99
|
+
lesend. Er ist keine Betriebsart, sondern eine Schranke mit Verfallsdatum.
|
|
100
|
+
|
|
101
|
+
### 4.2 Die Liste ist aufzählend, und eine Lücke ist ausnutzbar (Läufe E und F)
|
|
102
|
+
|
|
103
|
+
Mit `disallowed-tools: Write, Edit` schrieb der Skill **über `Bash`**. Mit
|
|
104
|
+
`Write, Edit, Bash` wurde `Bash` abgewiesen. **Der exec-Weg ist also ausdrückbar – aber nur,
|
|
105
|
+
wenn er dasteht.** Eine Abbildung, die `deny: edit` auf `Write, Edit` abbildet und `exec`
|
|
106
|
+
vergisst, erzeugt eine Zusage mit offener Flanke.
|
|
107
|
+
|
|
108
|
+
### 4.3 Eine Argumentmuster-Form wirkt **lautlos gar nicht** (Läufe G′ und G″)
|
|
109
|
+
|
|
110
|
+
`disallowed-tools: Bash(echo verboten:*)` – und ebenso die Schreibweise mit Leerzeichen –
|
|
111
|
+
ließ den verbotenen Befehl durchlaufen, **ohne Verweigerung und ohne Fehlermeldung**.
|
|
112
|
+
Derselbe Skill mit `disallowed-tools: Bash` wies **beide** Befehle ab.
|
|
113
|
+
|
|
114
|
+
> **Das ist der wiederkehrende Befundtyp dieses Projekts, und hier in seiner unangenehmsten
|
|
115
|
+
> Form:** Der Eintrag sieht aus wie eine Regel, wird angenommen, meldet nichts – und beschränkt
|
|
116
|
+
> nichts. Wer `Bash(git push:*)` schreibt, hat keine engere Schranke als wer nichts schreibt.
|
|
117
|
+
> **Er hat gar keine.**
|
|
118
|
+
|
|
119
|
+
Das entscheidet, wie treu das Framework überhaupt abbilden kann. Von den zwölf Quellskills
|
|
120
|
+
tragen **fünf befehlsgenaue Verbote** (`Exec(git push)`, `Exec(git reset --hard)` …), teils
|
|
121
|
+
neben `allow:`-Einträgen. Für sie gibt es nur zwei ehrliche Wege: das **ganze** Werkzeug sperren
|
|
122
|
+
(strenger als gemeint und macht die `allow:`-Einträge derselben Skills wirkungslos) oder sie
|
|
123
|
+
**nicht** abbilden und das benennen. Ein `disallowed-tools` mit Argumentmuster ist kein Weg.
|
|
124
|
+
|
|
125
|
+
## 5. Was diese Erhebung nicht belegt
|
|
126
|
+
|
|
127
|
+
- **`devin-desktop`.** Die Wirkung der Skill-`permissions` ist dort weiter **unerhoben**; das
|
|
128
|
+
Pack bildet das Feld anders ab. Die Frage ist dort eigens zu stellen.
|
|
129
|
+
- **Das Agentenprofil.** Das Review schlug `tools`/`disallowedTools` im Agentenprofil als
|
|
130
|
+
Ersatz vor. Weiterhin ungemessen; diese Erhebung betrifft nur das Skill-Frontmatter.
|
|
131
|
+
- **Die Wechselwirkung mit dem Schutz-Hook.** Gemessen ist `disallowed-tools` gegen die
|
|
132
|
+
Berechtigungsschicht (es schlägt `allow`). Ob ein blockierender Hook und eine
|
|
133
|
+
Werkzeugentfernung sich in der Reihenfolge beeinflussen, ist hier nicht geprüft – für den
|
|
134
|
+
Befund unerheblich, beide sperren.
|
|
135
|
+
- **Verschachtelte Aufrufe.** Ob die Entfernung auch für einen Unteragenten gilt, den der Skill
|
|
136
|
+
startet, ist nicht gemessen. **Für M1 wäre genau das die nächste Frage.**
|
|
137
|
+
- **Kein Lauf in einer vollständigen Installation.** Gemessen ist der Mechanismus, nicht sein
|
|
138
|
+
Zusammenspiel mit den erzeugten Regeln. Das gehört in den Wirkungsnachweis der Umsetzung.
|
|
139
|
+
- **Die Turngrenze ist im Druckmodus gemessen**, mit `claude -c -p` als zweitem Turn. Dass eine
|
|
140
|
+
interaktive Sitzung sich gleich verhält, ist Erwartung – dieselbe Mechanik, aber nicht
|
|
141
|
+
derselbe Lauf.
|
|
142
|
+
|
|
143
|
+
## 6. Gegenzeichnung
|
|
144
|
+
|
|
145
|
+
| Rolle | Name/Kennung | Datum | Ergebnis bestätigt |
|
|
146
|
+
|---|---|---|---|
|
|
147
|
+
| `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` | `<TBD>` |
|