@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,194 @@
|
|
|
1
|
+
# Wirkungsnachweise AP2 – Client Pack `claude-code`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Die unter „Offen" geführten Wirkungsnachweise des AP2-Protokolls: Verhalten einer Sitzung, die **in** der Testinstallation startet |
|
|
6
|
+
| Prüfmethode | `sitzung` (D-23: Sonde je Prüfung mit Gegenproben) |
|
|
7
|
+
| Datum | 2026-09-10 |
|
|
8
|
+
| Geprüfte Clientversion | 2.1.267 |
|
|
9
|
+
| Framework-Version | 0.18.0 |
|
|
10
|
+
| Betriebssystem | Windows 11 Home 10.0.22631 |
|
|
11
|
+
| Testinstallation | leeres Verzeichnis, `leitwerk-core/` hineinkopiert, `install.py --client claude-code` (79 Dateien), `README.md` angelegt; Validator 0 Fehler |
|
|
12
|
+
| Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
|
|
13
|
+
|
|
14
|
+
## Anlass
|
|
15
|
+
|
|
16
|
+
Das AP2-Protokoll führt seit 0.14.0 unter „Offen – braucht eine Sitzung in der
|
|
17
|
+
Testinstallation": die Startwarnungen aus AP2-CC-02 und – seit 0.15.0 – den Beleg, dass eine
|
|
18
|
+
Regel ohne `paths` tatsächlich im Kontext steht und eine Regel mit `paths` erst nach dem Lesen
|
|
19
|
+
einer passenden Datei. Beides war **dokumentiert, nicht beobachtet**.
|
|
20
|
+
|
|
21
|
+
Die Sitzungen wurden mit `claude -p` im Verzeichnis der Testinstallation gefahren, teilweise mit
|
|
22
|
+
`--output-format stream-json`, um Werkzeugaufrufe und Berechtigungsantworten im Wortlaut zu
|
|
23
|
+
sehen statt der Selbstauskunft des Modells.
|
|
24
|
+
|
|
25
|
+
## Geführte Nachweise
|
|
26
|
+
|
|
27
|
+
### WN-1 – Keine Startwarnung über wirkungslose Regeln (AP2-CC-02 bestätigt)
|
|
28
|
+
|
|
29
|
+
Beim Sitzungsstart erscheint **keine** Meldung über nicht konsultierte Berechtigungsregeln. Vor
|
|
30
|
+
0.14.0 waren es 18 je Installation. Die erzeugte Datei führt 65 Regeln (54 `deny`, 5 `ask`,
|
|
31
|
+
6 `allow`) und **keine** Pfadregel für `Write`, `Glob`, `MultiEdit` oder `NotebookEdit` – genau
|
|
32
|
+
die Werkzeuge, für die dieser Client eine Pfadregel annimmt, aber nie auswertet.
|
|
33
|
+
|
|
34
|
+
**AP2-CC-02 ist damit nicht mehr nur dokumentiert, sondern beobachtet.**
|
|
35
|
+
|
|
36
|
+
### WN-2 – Eine Regel ohne `paths` steht im Kontext (AP2-CC-03, AP2-CC-10 belegt)
|
|
37
|
+
|
|
38
|
+
Frage an die Sitzung: die exakten Bezeichnungen der fünf Betriebsmodi. Antwort:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
M1 Read-only Analysis
|
|
42
|
+
M2 Guided Planning
|
|
43
|
+
M3 Controlled Modification
|
|
44
|
+
M4 Test and Validation
|
|
45
|
+
M5 Documentation Support
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Wörtlich aus `.claude/rules/00-framework-core.md` – einer Datei **ohne** `paths`-Feld und
|
|
49
|
+
**ohne** Import in der Wurzel-Anweisung. Ein zweiter Lauf belegt dasselbe für
|
|
50
|
+
`10-privacy-security.md`: Die Sitzung zitierte bei einer Verweigerung die Kontextklassen-Tabelle
|
|
51
|
+
mit Fundstelle.
|
|
52
|
+
|
|
53
|
+
**Die tragende Annahme von D-27 ist damit beobachtet:** Der Client lädt eine Regeldatei ohne
|
|
54
|
+
Ladebedingung von sich aus. Die vor 0.15.0 gebauten Importe waren nie nötig.
|
|
55
|
+
|
|
56
|
+
### WN-3 – Eine Regel mit `paths` lädt erst nach dem Lesen einer passenden Datei
|
|
57
|
+
|
|
58
|
+
Angelegt wurde ein Technology Pack `.claude/rules/40-tech-java.md` mit
|
|
59
|
+
`paths: ["**/*.java"]` und der unratbaren Sondenkennung `TECHPACK-SONDE-Q7X4M`, dazu
|
|
60
|
+
`src/Beispiel.java`. Validator: 0 Fehler.
|
|
61
|
+
|
|
62
|
+
| Lauf | Vorgang | Ergebnis |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| WN-3a | Frage nach der Sondenkennung, **ohne** eine Datei zu lesen | **`NICHT IM KONTEXT`** |
|
|
65
|
+
| WN-3b | Erst `Read src/Beispiel.java`, dann dieselbe Frage | **`TECHPACK-SONDE-Q7X4M`** wörtlich genannt |
|
|
66
|
+
|
|
67
|
+
Die Sitzung in WN-3b hielt von sich aus fest, die Regel sei „nach dem Read automatisch über
|
|
68
|
+
ihre `paths`-Bedingung nachgeladen" worden. **Damit ist die Grundlage der Technology Packs bei
|
|
69
|
+
diesem Client beobachtet**, nicht nur aus der Herstellerdokumentation übernommen.
|
|
70
|
+
|
|
71
|
+
### WN-4 – Die Regeln wirken auf das Verhalten
|
|
72
|
+
|
|
73
|
+
Zwei Beobachtungen, die keine eigene Sonde brauchten:
|
|
74
|
+
|
|
75
|
+
- Auf die Anweisung, `.env` zu lesen, verweigerte die Sitzung **mit Fundstelle** – zitiert wurden
|
|
76
|
+
die Wurzel-Anweisungsdatei Abschnitt 3 und die Kontextklassen-Tabelle der Regelablage – und
|
|
77
|
+
wies ausdrücklich darauf hin, dass eine Nutzeranweisung (Ebene 8) den Handlungsrahmen nicht
|
|
78
|
+
erweitert. Das Werkzeug wurde dabei **gar nicht erst aufgerufen**.
|
|
79
|
+
- Eine Sitzung lieferte ungefragt einen Ergebnisbericht im Standardformat, mit Modus,
|
|
80
|
+
Kontrollstufe, Kontextklassen, Fundstellen und einem gekennzeichneten `<TBD>`.
|
|
81
|
+
|
|
82
|
+
### WN-5 – Die Lesesperre greift technisch, nicht nur als Anweisung (B3)
|
|
83
|
+
|
|
84
|
+
WN-4 belegt die Anweisungsebene, nicht die technische. Zur Trennung wurde eine **isolierte**
|
|
85
|
+
Umgebung gebaut: nur `.claude/settings.json`, **keine** Regeltexte, **keine**
|
|
86
|
+
Wurzel-Anweisungsdatei. Dort kann nichts als Anweisung wirken.
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
TOOL_USE: Read <…>/.env
|
|
90
|
+
TOOL_RESULT: is_error=True
|
|
91
|
+
<tool_use_error>File is in a directory that is denied
|
|
92
|
+
by your permission settings.</tool_use_error>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**B3 ist damit `[TECHNISCH]` in einer laufenden Sitzung belegt.** Nebenbeobachtung: `Glob` mit
|
|
96
|
+
dem Muster `**/.env*` meldete „No files found" – die Datei ist für das Suchwerkzeug unsichtbar,
|
|
97
|
+
nicht nur ungelesen.
|
|
98
|
+
|
|
99
|
+
## Neue Befunde
|
|
100
|
+
|
|
101
|
+
### AP2-CC-13 – Beide Hooks laufen unter Windows nicht
|
|
102
|
+
|
|
103
|
+
**Schwere: hoch.** Betrifft beide Client Packs.
|
|
104
|
+
|
|
105
|
+
Der Sitzungsverlauf zeigt drei `SessionStart`-Hooks, einer davon mit `exit=49,
|
|
106
|
+
outcome=error`. Ursache: `leitwerk-core/clientmap.py` Zeile 230 verdrahtet den Interpreter fest:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
return 'python3 "$' + variable + '/' + core_dir_name(man) + '/' + script + '"'
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Auf diesem System ist `python3` der **Microsoft-Store-Alias**, der nur eine Fehlermeldung
|
|
113
|
+
ausgibt; der Interpreter heißt `python` (Python 3.14.4). Gegenüberstellung mit demselben
|
|
114
|
+
Hook und derselben Eingabe:
|
|
115
|
+
|
|
116
|
+
| Aufruf | Ausgabe |
|
|
117
|
+
|---|---|
|
|
118
|
+
| `python3 …/hook-check-secrets.py` | „Python wurde nicht gefunden…", **kein** `decision` |
|
|
119
|
+
| `python …/hook-check-secrets.py` | `{"decision": "block", "reason": "…Muster der Kategorie 'Cloud-Zugangsschluessel'…"}` |
|
|
120
|
+
|
|
121
|
+
**Die Folgen sind verschieden schwer:**
|
|
122
|
+
|
|
123
|
+
- `SessionStart` – die Overlay-Statusmeldung erreicht die Sitzung nie. Genau daran hängt die
|
|
124
|
+
Zusage „Bei nicht aktivem Overlay ausschließlich Modus M1". Der Hook selbst arbeitet korrekt;
|
|
125
|
+
ausgeliefert wird seine Ausgabe nicht.
|
|
126
|
+
- `PreToolUse` – die Secret-Prüfung läuft nicht. **Zusage H2 der Fähigkeitsmatrix („Prüfung kann
|
|
127
|
+
blockieren") gilt unter Windows nicht.** Ein fehlschlagender Hook blockiert nichts; das
|
|
128
|
+
Verhalten ist fail-open, was die Roadmap für den Schutz-Hook ohnehin als offen führt – neu ist,
|
|
129
|
+
dass er gar nicht erst läuft.
|
|
130
|
+
|
|
131
|
+
Windows ist keine Randumgebung des Frameworks: Die Roadmap führt eigens den `MAX_PATH`-Hinweis.
|
|
132
|
+
Der Befund ist nicht clientspezifisch, sondern liegt in der gemeinsamen Semantikabbildung.
|
|
133
|
+
|
|
134
|
+
### AP2-CC-14 – `allow`-Regeln wirken erst nach dem Vertrauensdialog
|
|
135
|
+
|
|
136
|
+
**Schwere: mittel.** Startwarnung bei jeder frischen Installation:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
Ignoring 6 permissions.allow entries from .claude/settings.json:
|
|
140
|
+
this workspace has not been trusted.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Die sechs `allow`-Regeln der ausgelieferten Berechtigungsdatei sind wirkungslos, bis der
|
|
144
|
+
Workspace einmal interaktiv bestätigt wurde. `deny` und `ask` sind nicht betroffen – WN-5 belegt,
|
|
145
|
+
dass `deny` in genau dieser Lage greift.
|
|
146
|
+
|
|
147
|
+
**Das ist eine Verschärfung, kein Bruch von B9**: Es wird mehr nachgefragt, nicht weniger
|
|
148
|
+
verweigert. Auszuweisen ist es trotzdem, weil die Berechtigungsdatei nach der Installation nicht
|
|
149
|
+
so wirkt, wie sie geschrieben ist, und weil der Weg zur Behebung – ein interaktiver Dialog oder
|
|
150
|
+
ein Eintrag in `~/.claude.json` – außerhalb des Repositorys liegt und damit außerhalb dessen,
|
|
151
|
+
was `install.py` zusagen kann.
|
|
152
|
+
|
|
153
|
+
### AP2-CC-15 – Die Lesesperre gilt für `Read`, nicht für Shell-Lesebefehle
|
|
154
|
+
|
|
155
|
+
**Schwere: mittel.** In der isolierten Umgebung wurde `cat .env` über das Bash-Werkzeug
|
|
156
|
+
abgelehnt – **aber nicht durch eine Regel des Frameworks.** Die `deny`-Liste enthält 21
|
|
157
|
+
Bash-Regeln (`git push`, `rm`, `curl`, `sudo`, `kubectl` …) und **keine für Lesebefehle**.
|
|
158
|
+
Abgelehnt wurde der Aufruf, weil Bash-Befehle ohne `allow`-Regel grundsätzlich nachfragen und
|
|
159
|
+
eine nicht beantwortete Nachfrage im nicht-interaktiven Betrieb als Ablehnung endet.
|
|
160
|
+
|
|
161
|
+
`ls -la` lief dagegen durch und zeigte `.env` mitsamt Größe – die Datei ist über die Shell
|
|
162
|
+
sichtbar, während `Glob` sie nicht findet.
|
|
163
|
+
|
|
164
|
+
**Ein Projekt, das `Bash(cat:*)` oder eine breite Leseerlaubnis in `allow` aufnimmt, öffnet
|
|
165
|
+
damit die Secret-Sperre**, ohne eine `deny`-Regel zu verletzen. Aufgefangen würde das vom
|
|
166
|
+
Schutz-Hook – der nach AP2-CC-13 unter Windows nicht läuft. **Die beiden Befunde greifen
|
|
167
|
+
ineinander.**
|
|
168
|
+
|
|
169
|
+
Die Roadmap führt unter „Bewusst offen gelassen" bereits: „Ein Shell-Befehl, der in den Kern
|
|
170
|
+
schreibt, wird vom Schutz-Hook nicht erfasst; dort trägt allein die `deny`-Liste." Der Satz gilt
|
|
171
|
+
für **Lesen** genauso, und für Lesen trägt die `deny`-Liste nichts.
|
|
172
|
+
|
|
173
|
+
## Was diese Nachweise nicht belegen
|
|
174
|
+
|
|
175
|
+
- **Kein Nachweis für `devin-desktop`.** Nichts hiervon überträgt sich; AP2-CC-13 ist die
|
|
176
|
+
Ausnahme, weil die Ursache in der gemeinsamen Abbildung liegt.
|
|
177
|
+
- **Kein Nachweis für andere Betriebssysteme.** AP2-CC-13 tritt auf, wo `python3` fehlt oder
|
|
178
|
+
auf einen Alias zeigt. Auf einem System mit `python3` im Pfad laufen beide Hooks.
|
|
179
|
+
- **Die Zeichenlimits (R4) sind nicht geprüft.** Ebenso wenig Subagentenprofile, Plan-Modus,
|
|
180
|
+
MCP-Konfiguration und Enterprise-Einstellungen.
|
|
181
|
+
- **AP2-CC-12 bleibt offen.** Ob die Sperre aus M2 auch für `permissionMode` eines
|
|
182
|
+
Subagentenprofils gilt, wurde nicht geprüft.
|
|
183
|
+
- **Die Testfälle des Katalogs mit Prüfmethode `sitzung` sind damit nicht abgearbeitet.** Diese
|
|
184
|
+
Nachweise betreffen die AP2-Marker, nicht den Testkatalog; die Testfälle haben eigene
|
|
185
|
+
Prüfgegenstände und eigene Protokollpflichten.
|
|
186
|
+
|
|
187
|
+
## Gegenzeichnung (Prüfmethode `review`)
|
|
188
|
+
|
|
189
|
+
| Rolle | Datum | Ergebnis |
|
|
190
|
+
|---|---|---|
|
|
191
|
+
| Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | Fünf Wirkungsnachweise geführt (WN-1 bis WN-5); drei neue Befunde, einer davon schwer |
|
|
192
|
+
| Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme>` |
|
|
193
|
+
|
|
194
|
+
Solange die zweite Zeile offen ist, ist dieses Protokoll **vorgelegt, nicht abgezeichnet**.
|
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
# Validierungsprotokoll AP2 – Client Pack `claude-code`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Arbeitspaket | AP2 – Validierung der Client-Mechanismen (`docs/ROADMAP.md`) |
|
|
6
|
+
| Client Pack | `claude-code` (Pack-Version 0.3.0 → 0.4.0) |
|
|
7
|
+
| Framework-Version | 0.13.0 |
|
|
8
|
+
| Geprüfte Clientversion | **Claude Code 2.1.267** |
|
|
9
|
+
| Datum | 2026-09-10 |
|
|
10
|
+
| Prüfmethode | Dokumentenabgleich gegen die Herstellerdokumentation + Beobachtung an einer realen Installation |
|
|
11
|
+
| Prüfgegenstand | Die zehn Prüfmarker der Fähigkeitsmatrix sowie die erzeugte Berechtigungsdatei |
|
|
12
|
+
| Installation | Erstinstallation in einem leeren Verzeichnis, 79 Dateien, `install.py --client claude-code` |
|
|
13
|
+
| Quellen | `code.claude.com/docs/en/` – `settings`, `permissions`, `skills`, `sub-agents`, `memory` (abgerufen 2026-09-10). Belegzuordnung je Seite: Hauptdokument Anhang 31.4.2 (`QC-1` bis `QC-5`), ergänzt mit Release 0.16.0 |
|
|
14
|
+
|
|
15
|
+
## Anlass
|
|
16
|
+
|
|
17
|
+
Das Client Pack `claude-code` existiert seit Release 0.5.0. Über acht Releases hinweg trug es
|
|
18
|
+
`Geprüfte Clientversion: <TBD>` und `Datum der Prüfung: <TBD: steht aus>`; keine seiner
|
|
19
|
+
Einstufungen war gegen eine reale Installation belegt. Die Roadmap führte AP2 durchgehend als
|
|
20
|
+
einzigen verbliebenen P1, und jede Fortschreibung vermerkte „hängt an AP2", ohne zu prüfen, ob
|
|
21
|
+
der Client erreichbar ist. Er ist es: Das Framework wird in einer Claude-Code-Sitzung
|
|
22
|
+
entwickelt.
|
|
23
|
+
|
|
24
|
+
Dieses Protokoll deckt den Teil von AP2 ab, der ohne eine Testsitzung *in* der Installation
|
|
25
|
+
auskommt: den Abgleich gegen die Herstellerdokumentation und die Beobachtung der erzeugten
|
|
26
|
+
Artefakte. Was eine eigene Sitzung braucht, steht unter „Offen".
|
|
27
|
+
|
|
28
|
+
## Befunde
|
|
29
|
+
|
|
30
|
+
### AP2-CC-01 – Die Zusage S4 verfällt bei der Installation, obwohl der Client sie abbilden kann
|
|
31
|
+
|
|
32
|
+
**Schwere: hoch.** Betrifft eine Regel, die der Validator in der Quelle erzwingt.
|
|
33
|
+
|
|
34
|
+
Die Skill-Quellen des Kerns tragen `triggers: [user]`. Der Validator fordert das ein:
|
|
35
|
+
„schreibender/ausführender Skill muss `triggers: [user]` haben". Die Semantikabbildung des
|
|
36
|
+
Packs verwirft das Feld beim Rendern – `manifest.json`, `skill_frontmatter.drop_fields:
|
|
37
|
+
["permissions", "triggers"]`. Die installierte Fassung von `fw-change-small`, einem Skill mit
|
|
38
|
+
`Edit`, `Write` und `Bash`, enthält kein Äquivalent.
|
|
39
|
+
|
|
40
|
+
Die Fähigkeitsmatrix führt S4 deshalb als `[NICHT ABBILDBAR]` mit dem Marker „Ob ein
|
|
41
|
+
Frontmatter-Feld die Modellwahl unterbinden kann" – Prüfmarker.
|
|
42
|
+
|
|
43
|
+
**Das Feld existiert.** `docs/en/skills`:
|
|
44
|
+
|
|
45
|
+
> `disable-model-invocation`: „Set to `true` to prevent Claude from automatically loading this
|
|
46
|
+
> skill. Use for workflows you want to trigger manually with `/name`."
|
|
47
|
+
|
|
48
|
+
Damit ist S4 nicht `[NICHT ABBILDBAR]`, sondern `[TECHNISCH]`. Bis das Feld gesetzt wird, kann
|
|
49
|
+
das Modell einen schreibenden Skill der Betriebsart M3 selbst wählen; der Mensch, der ihn nach
|
|
50
|
+
Kernregel aufrufen müsste, ist nicht beteiligt. Das ist genau der Fall, vor dem D-12 warnt:
|
|
51
|
+
Eine Zusage, deren Durchsetzungstiefe nicht ausgewiesen ist, erzeugt falsche Sicherheit – hier
|
|
52
|
+
verschärft dadurch, dass die Kontrolle beim Client vorhanden ist und das Pack sie nur nicht
|
|
53
|
+
kennt.
|
|
54
|
+
|
|
55
|
+
Der dokumentierte Ersatz (`ask` auf `Edit(**)` und `Write(**)`) greift nur zur Hälfte, siehe
|
|
56
|
+
AP2-CC-02.
|
|
57
|
+
|
|
58
|
+
### AP2-CC-02 – 17 Regeln der erzeugten Berechtigungsdatei werden nie konsultiert
|
|
59
|
+
|
|
60
|
+
**Schwere: hoch.** Betrifft die Kernzusagen B4 und B5.
|
|
61
|
+
|
|
62
|
+
`docs/en/permissions`:
|
|
63
|
+
|
|
64
|
+
> „Claude Code checks file permissions against `Edit(path)` and `Read(path)` rules only. If you
|
|
65
|
+
> write a path rule for `Write`, `NotebookEdit`, `Glob`, or the legacy `MultiEdit` tool instead,
|
|
66
|
+
> Claude Code accepts the rule but never consults it, and warns at startup […] Use
|
|
67
|
+
> `Edit(docs/**)` in place of `Write(docs/**)` […] and `Read(docs/**)` in place of
|
|
68
|
+
> `Glob(docs/**)`."
|
|
69
|
+
|
|
70
|
+
Die Semantikabbildung bildet `write` auf **beide** Werkzeuge ab (`permission_tools.write:
|
|
71
|
+
["Edit", "Write"]`) und begründet das im Pack als Verschärfung: „Schreibschutz erfordert je Pfad
|
|
72
|
+
eine Edit- und eine Write-Regel, weil Ändern und Anlegen getrennte Werkzeuge sind."
|
|
73
|
+
|
|
74
|
+
**Die Prämisse trifft für Pfadregeln nicht zu.** In der frischen Installation:
|
|
75
|
+
|
|
76
|
+
| Liste | Regeln gesamt | davon `Edit(pfad)` | davon `Write(pfad)` – nie konsultiert |
|
|
77
|
+
|---|---|---|---|
|
|
78
|
+
| `deny` | 69 | 15 | **15** |
|
|
79
|
+
| `ask` | 6 | 1 | **1** |
|
|
80
|
+
| `allow` | 8 | 0 | 0, aber ein `Glob(**)` – ebenfalls nie konsultiert |
|
|
81
|
+
|
|
82
|
+
**17 Regeln ohne Wirkung, jede davon mit einer Startwarnung.** Der Schutz selbst hält, weil die
|
|
83
|
+
`Edit(...)`-Hälfte greift; die beschriebene Verschärfung ist aber keine.
|
|
84
|
+
|
|
85
|
+
Verschärfend: **Vier** der wirkungslosen Regeln stehen in
|
|
86
|
+
`_core_rules_integrity.deny_must_contain` – `Write(./CLAUDE.md)`, `Write(.claude/**)`,
|
|
87
|
+
`Write(leitwerk-core/**)` und `Write(project-overlay/**)`. Der Validator **erzwingt** damit die
|
|
88
|
+
Anwesenheit von Regeln, die der Client ignoriert: Ein Projekt, das sie folgenlos entfernte,
|
|
89
|
+
bekäme vier Fehler gemeldet.
|
|
90
|
+
|
|
91
|
+
Nicht betroffen ist eine Regel ohne Pfad: „Claude Code doesn't warn about a tool-name rule with
|
|
92
|
+
no path, such as a deny rule for `Write`; it matches that rule at the tool level everywhere."
|
|
93
|
+
|
|
94
|
+
### AP2-CC-03 – R2 und R3 sind abbildbar; die Grundlage der Technology Packs existiert
|
|
95
|
+
|
|
96
|
+
**Schwere: mittel.** Zwei Einstufungen `[NICHT ABBILDBAR]` sind überholt. **Behoben mit `CR-2026-017` (Release 0.15.0) – siehe Nachtrag 2.**
|
|
97
|
+
|
|
98
|
+
Die Matrix führt R2 („Regeldateien mit Ladebedingungen") und R3 („Regeln an Dateimuster bindbar
|
|
99
|
+
– Grundlage der Technology Packs") als **kein Äquivalent**, weil `@pfad`-Importe immer geladen
|
|
100
|
+
werden. Das ist für Importe richtig und für den Client falsch. `docs/en/memory` beschreibt
|
|
101
|
+
`.claude/rules/`:
|
|
102
|
+
|
|
103
|
+
> „Rules can be scoped to specific files using YAML frontmatter with the `paths` field. These
|
|
104
|
+
> conditional rules only apply when Claude is working with files matching the specified
|
|
105
|
+
> patterns. […] Rules without a `paths` field are loaded unconditionally."
|
|
106
|
+
|
|
107
|
+
Das ist eine wörtliche Entsprechung beider Zusagen: Ladebedingung und Bindung an Dateimuster,
|
|
108
|
+
mit Glob-Syntax und Mehrfachmustern. Ein Technology Pack (Ebene 6) ließe sich bei diesem Client
|
|
109
|
+
damit nativ abbilden statt als „nicht abbildbar" zu entfallen.
|
|
110
|
+
|
|
111
|
+
### AP2-CC-04 – R4: Ein Zeichenlimit ist dokumentiert
|
|
112
|
+
|
|
113
|
+
**Schwere: mittel.** Die Matrix sagt „Kein Limit dokumentiert", eingestuft `[NICHT ABBILDBAR]`.
|
|
114
|
+
|
|
115
|
+
`docs/en/memory`: „Claude Code loads a CLAUDE.md file of up to **4 MiB** in full and skips a
|
|
116
|
+
larger file." Zusätzlich als Empfehlung: „target under 200 lines per CLAUDE.md file. Longer
|
|
117
|
+
files consume more context and reduce adherence."
|
|
118
|
+
|
|
119
|
+
Es gibt also eine harte Grenze, die das Framework einhalten kann, und eine weiche, an der es
|
|
120
|
+
sich ausrichten sollte. Die Laufzeitschicht liegt weit darunter (`00-framework-core.md`: 3.946
|
|
121
|
+
Zeichen). Die Einstufung ist auf `[TECHNISCH]` zu heben, das Limit im Pack zu nennen.
|
|
122
|
+
|
|
123
|
+
### AP2-CC-05 – M2: Eine technische Sperre gegen den Modus ohne Rückfragen existiert
|
|
124
|
+
|
|
125
|
+
**Schwere: mittel.** Die Matrix sagt: „Ob eine **technische** Sperre über verwaltete
|
|
126
|
+
Einstellungen möglich ist, ist nicht belegt", eingestuft `[TEXTUELL]`.
|
|
127
|
+
|
|
128
|
+
Zwei belegte Mechanismen:
|
|
129
|
+
|
|
130
|
+
> „To prevent `bypassPermissions` or `auto` mode from being used, set
|
|
131
|
+
> `permissions.disableBypassPermissionsMode` or `permissions.disableAutoMode` to `"disable"` in
|
|
132
|
+
> any settings file. These are most useful in managed settings where they can't be overridden."
|
|
133
|
+
|
|
134
|
+
> „`permissions.defaultMode` values `auto` and `bypassPermissions` don't take effect from project
|
|
135
|
+
> or local settings; set them in user or managed settings instead […] Before v2.1.257,
|
|
136
|
+
> `bypassPermissions` took effect from any file."
|
|
137
|
+
|
|
138
|
+
D-05 untersagt den Bypass-Modus als Regel. Der Client kann ihn zusätzlich technisch sperren –
|
|
139
|
+
in verwalteten Einstellungen unüberschreibbar. Die Einstufung ist auf `[TECHNISCH]` zu heben,
|
|
140
|
+
mit dem Vorbehalt, dass verwaltete Einstellungen eine Enterprise-Voraussetzung sind.
|
|
141
|
+
|
|
142
|
+
### AP2-CC-06 – A1: Feldname bestätigt, Kommentar der Kernvorlage falsch
|
|
143
|
+
|
|
144
|
+
**Schwere: gering.**
|
|
145
|
+
|
|
146
|
+
Der Marker fragt nach dem Frontmatter-Feld des Subagentenprofils. `docs/en/subagents` führt
|
|
147
|
+
`tools` als Feldnamen; die 22 Agentendefinitionen auf der Prüfmaschine verwenden ausnahmslos
|
|
148
|
+
`tools:`. Die erzeugte Datei `.claude/agents/fw-reviewer.md` ist damit **korrekt**.
|
|
149
|
+
|
|
150
|
+
Falsch ist ihr eigener Kommentar: „Mechanismus: `.claude/agents/<name>.md` mit Frontmatter
|
|
151
|
+
`name`, `description`, **`allowed-tools`** `[DOK]`". Er steht in der Kernvorlage
|
|
152
|
+
`framework/runtime/agents/fw-reviewer.md` und wird in jedes Pack installiert. `allowed-tools`
|
|
153
|
+
ist der Feldname bei **Skills**, nicht bei Subagenten – zwei Mechanismen mit ähnlichem Zweck und
|
|
154
|
+
verschiedenen Feldnamen, im Kommentar vertauscht.
|
|
155
|
+
|
|
156
|
+
Zusätzlich belegt: Die Beschränkung wirkt technisch, und es gibt ein ergänzendes
|
|
157
|
+
`disallowedTools`.
|
|
158
|
+
|
|
159
|
+
### AP2-CC-07 – B9: Eine `deny`-Regel ist nicht lockerbar
|
|
160
|
+
|
|
161
|
+
**Schwere: gering.** Die Matrix führt B9 als `[TEXTUELL]` mit `[EMPF]` und dem Marker „ob eine
|
|
162
|
+
Lockerung technisch verhindert wird".
|
|
163
|
+
|
|
164
|
+
> „If a tool is denied at any level, no other level can allow it. For example, a managed settings
|
|
165
|
+
> deny can't be overridden by `--allowedTools`, and `--disallowedTools` can add restrictions
|
|
166
|
+
> beyond what managed settings define."
|
|
167
|
+
|
|
168
|
+
Die nutzerlokale Datei rangiert zwar **über** der Projektdatei (Reihenfolge: verwaltet →
|
|
169
|
+
Kommandozeile → `settings.local.json` → `settings.json` → Nutzer), kann eine dort gesetzte
|
|
170
|
+
Verweigerung aber nicht aufheben. Die Zusage „nutzerlokale Konfiguration kann nur verschärfen"
|
|
171
|
+
gilt für ihren wichtigsten Teil technisch. Ergänzend: „`deny` and `ask` rules apply right away",
|
|
172
|
+
während `allow`-Regeln erst nach dem Vertrauen in den Ordner greifen – eine Verschärfung
|
|
173
|
+
zugunsten des Frameworks.
|
|
174
|
+
|
|
175
|
+
### AP2-CC-08 – B6: Präfixsemantik bestätigt, mit dokumentierter Grenze
|
|
176
|
+
|
|
177
|
+
**Schwere: Hinweis.**
|
|
178
|
+
|
|
179
|
+
Die Matrix beschreibt Befehlsverbote als präfixbasiert und damit breiter. Bestätigt: `Bash(ls
|
|
180
|
+
*)` trifft auch `ls`, `:*` ist die gleichwertige Schreibweise, `Bash(git * main)` trifft jedes
|
|
181
|
+
Unterkommando.
|
|
182
|
+
|
|
183
|
+
Dokumentiert ist auch die Grenze, die das Pack bisher nicht nennt:
|
|
184
|
+
|
|
185
|
+
> „A push written another way, such as `git -C . push`, isn't matched."
|
|
186
|
+
|
|
187
|
+
Ein Befehlsverbot ist damit kein vollständiger Schutz, sondern eine Hürde. Das gehört in die
|
|
188
|
+
Fähigkeitsmatrix, weil B6 eine Kernzusage ist.
|
|
189
|
+
|
|
190
|
+
## Nicht abschließend geklärt
|
|
191
|
+
|
|
192
|
+
**X2 – Art und Ort der Codebasis-Indexierung.** Die Matrix sagt „Kein Indexierungsmechanismus
|
|
193
|
+
dokumentiert; Dateien werden bei Bedarf gelesen". In den fünf abgerufenen Seiten findet sich
|
|
194
|
+
kein Indexierungsmechanismus, und die Beschreibung des Ladeverhaltens stützt die Aussage. Ein
|
|
195
|
+
Beleg durch Abwesenheit bleibt aber schwächer als ein Beleg: Der Marker wird auf `[DOK]
|
|
196
|
+
(Abwesenheit belegt, Stand 2.1.267)` gesetzt statt entfernt.
|
|
197
|
+
|
|
198
|
+
**AP2-CC-12 – `permissionMode` im Subagentenprofil.** Die Zeile M2 stützt sich darauf, dass
|
|
199
|
+
`permissions.disableBypassPermissionsMode` den Modus ohne Rückfragen sperrt. `docs/en/sub-agents`
|
|
200
|
+
führt für ein Subagentenprofil ein **eigenes** Frontmatter-Feld `permissionMode`, das unter
|
|
201
|
+
anderen Werten auch `bypassPermissions` annimmt. Ob die Sperre auch dort greift, sagt keine der
|
|
202
|
+
fünf abgerufenen Seiten. Solange das offen ist, gilt M2 für die Hauptsitzung als belegt und für
|
|
203
|
+
den Weg über ein Subagentenprofil als ungeklärt. Das Framework liefert genau ein Profil aus
|
|
204
|
+
(`fw-reviewer`), und es setzt das Feld nicht; ein Projekt könnte es setzen. **Nachgetragen mit
|
|
205
|
+
Release 0.16.0** beim Abgleich der Quellenliste (`FW-AK-01`, `CR-2026-018`).
|
|
206
|
+
|
|
207
|
+
## Sitzungsnachweise – Stand nach den Wirkungsnachweisen (2026-09-10)
|
|
208
|
+
|
|
209
|
+
Die folgenden Nachweise verlangen eine Sitzung, die **in** der Installation startet, weil
|
|
210
|
+
Berechtigungen und Regeln beim Sitzungsstart gelesen werden. Sie sind mit
|
|
211
|
+
`tests/protocols/2026-09-10-AP2-claude-code-wirkungsnachweise.md` teilweise geführt.
|
|
212
|
+
|
|
213
|
+
| Nachweis | Erwartung | Stand |
|
|
214
|
+
|---|---|---|
|
|
215
|
+
| `FW-DS-02` – Read-Sperre wirkt | Eine `.env`-Testdatei ist nicht lesbar; Hinweis statt Inhalt | **belegt** (WN-5), technisch isoliert gegen die Anweisungsebene |
|
|
216
|
+
| R2 / R3 an der Wirkung | Eine Regel ohne `paths` steht im Kontext; eine Regel mit `paths` erst nach dem Lesen einer passenden Datei | **belegt** (WN-2, WN-3) |
|
|
217
|
+
| Startwarnungen aus AP2-CC-02 | keine Meldung über wirkungslose Regeln | **belegt** (WN-1) |
|
|
218
|
+
| H2 – Hook blockiert | Werkzeugausführung unterbleibt | **belegt** (`CR-2026-021`, SN-3) – technisch, in einer Umgebung ohne jede Anweisungsebene. Bis 0.19.0 widerlegt, weil der Hook nicht lief |
|
|
219
|
+
| B4 an der Wirkung | `Edit(leitwerk-core/**)` blockiert | offen |
|
|
220
|
+
| B7 / S4-Ersatz | Jede Schreiboperation löst eine Rückfrage aus | offen |
|
|
221
|
+
| AP2-CC-12 – `permissionMode` im Subagentenprofil | Ein Profil mit `permissionMode: bypassPermissions` startet bei gesetztem `disableBypassPermissionsMode` nicht oder ohne den Modus | offen |
|
|
222
|
+
| `FW-ZA-06` – Schreibverbot auf den Kern in realer Installation | blockiert | offen |
|
|
223
|
+
|
|
224
|
+
Drei Befunde kamen bei den Nachweisen dazu:
|
|
225
|
+
|
|
226
|
+
- **AP2-CC-13** – beide Hooks laufen unter Windows nicht, Schwere hoch. **Behoben mit
|
|
227
|
+
`CR-2026-021` (Release 0.19.0, D-29):** Der Interpreter wird an seiner Wirkung geprüft statt
|
|
228
|
+
angenommen, Prüfung 15 setzt es als Fehler durch. Damit ist auch **H2 belegt** statt widerlegt.
|
|
229
|
+
- **AP2-CC-14** – die `allow`-Regeln wirken erst nach dem Vertrauensdialog. **Offen**; der Weg
|
|
230
|
+
zur Behebung liegt außerhalb des Repositorys. Eine Verschärfung, kein Bruch von B9.
|
|
231
|
+
- **AP2-CC-15** – die Lesesperre gilt für `Read`, nicht für Shell-Lesebefehle. **Behoben mit
|
|
232
|
+
`CR-2026-023` (Release 0.21.0, D-30):** Der Hook tokenisiert Shell-Befehle und misst sie an
|
|
233
|
+
den Secret-Pfaden. Die `deny`-Liste bleibt unverändert – der Schutz kommt vom Hook.
|
|
234
|
+
- **AP2-CC-16** (neu, Schwere hoch) – die Semantikabbildung erreichte den **Matcher**, nicht
|
|
235
|
+
die Prüfung im Hook: Das Manifest bildet `exec` auf `Bash` ab, der Hook verglich gegen
|
|
236
|
+
`("exec",)`. Bei `claude-code` lief die Pfadprüfung für Shell-Befehle acht Releases lang ins
|
|
237
|
+
Leere, bei `devin-desktop` nicht – ein **clientspezifischer** Verlust. **Behoben mit
|
|
238
|
+
`CR-2026-023`;** Prüfung 16 setzt die Abdeckung durch Aufruf durch.
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
## Bewertung
|
|
242
|
+
|
|
243
|
+
Zehn Marker geprüft, **acht Befunde** aus dem Abgleich, davon zwei schwer; ein neunter (AP2-CC-09) kam bei der Behebung dazu, siehe Nachtrag. Zwei Einstufungen `[NICHT ABBILDBAR]`
|
|
244
|
+
(R2, R3) und zwei weitere (R4, S4) sind überholt; der Client kann mehr, als das Pack ihm
|
|
245
|
+
zutraut. Eine Einstufung `[TEXTUELL]` (M2) und eine (B9) sind auf `[TECHNISCH]` zu heben.
|
|
246
|
+
|
|
247
|
+
Das Muster ist bemerkenswert: **Kein einziger Befund lautet, das Pack habe eine Fähigkeit
|
|
248
|
+
behauptet, die der Client nicht hat.** Sechs von acht lauten umgekehrt – das Pack hat
|
|
249
|
+
unterschätzt, was der Client leistet, und einen Ersatz gebaut, wo eine native Kontrolle
|
|
250
|
+
existiert. Der gefährlichste Befund (AP2-CC-01) ist genau von dieser Art: Eine Kernregel, die
|
|
251
|
+
der Validator in der Quelle erzwingt, wird beim Rendern verworfen, obwohl der Zielclient ein
|
|
252
|
+
Feld dafür hat.
|
|
253
|
+
|
|
254
|
+
Der zweitgefährlichste (AP2-CC-02) ist die Ausnahme, die die Regel bestätigt: Dort hat das Pack
|
|
255
|
+
eine Verschärfung beschrieben, die keine ist – 17 Regeln ohne Wirkung, sechs davon vom
|
|
256
|
+
Validator erzwungen.
|
|
257
|
+
|
|
258
|
+
**Ergebnis: AP2 für `claude-code` ist begonnen und nicht abgeschlossen.** Die Marker sind
|
|
259
|
+
belegt oder korrigiert; die Wirkungsnachweise stehen aus. AP2-CC-01, AP2-CC-02 und der bei der
|
|
260
|
+
Behebung gefundene AP2-CC-09 sind mit `CR-2026-016` (Release 0.14.0) behoben – siehe Nachtrag.
|
|
261
|
+
|
|
262
|
+
## Nachtrag: Behebung mit Release 0.14.0 (`CR-2026-016`, D-26)
|
|
263
|
+
|
|
264
|
+
AP2-CC-01 und AP2-CC-02 sind behoben. Bei der Behebung kam ein dritter schwerer Befund dazu.
|
|
265
|
+
|
|
266
|
+
### AP2-CC-09 – Die in Abschnitt 7 vorgeschriebene Prüfung ist nie gelaufen
|
|
267
|
+
|
|
268
|
+
**Schwere: hoch.** Gefunden beim Versuch, die Behebung zu prüfen.
|
|
269
|
+
|
|
270
|
+
`CLIENT_PACK.md` Abschnitt 7 nennt zwei Befehle: `install.py --client claude-code`, dann
|
|
271
|
+
`validate-framework.py`. Nacheinander ausgeführt – gegen den unveränderten Stand 0.13.0 – meldet
|
|
272
|
+
der Validator **zwölf Fehler „triggers fehlt"**. Er verlangt das Feld unbedingt, während die
|
|
273
|
+
Abbildung es für diesen Client verwirft. Die beiden Befehle widersprachen einander seit 0.5.0.
|
|
274
|
+
|
|
275
|
+
Dieselbe Prüfung trug einen zweiten Defekt: `allowed-tools` steht in der installierten Fassung
|
|
276
|
+
als **kommagetrennte Zeichenkette**. Die Prüfung `any(t in ("edit","exec","write") for t in
|
|
277
|
+
tools)` lief damit über die *Zeichen* dieser Zeichenkette und meldete jeden installierten Skill
|
|
278
|
+
als nicht schreibend.
|
|
279
|
+
|
|
280
|
+
**Damit ist erklärt, warum AP2-CC-01 acht Releases unbemerkt blieb:** Die Prüfung, die es hätte
|
|
281
|
+
finden müssen, war gegen diese Installation nie gelaufen – und hätte es auch nicht gefunden.
|
|
282
|
+
|
|
283
|
+
### Was 0.14.0 ändert
|
|
284
|
+
|
|
285
|
+
| Befund | Behebung | Wirkung |
|
|
286
|
+
|---|---|---|
|
|
287
|
+
| AP2-CC-01 | `model_invocation_field` im Manifest; `triggers` ohne `model` wird zu `disable-model-invocation: true` | 9 von 12 Skills tragen die Sperre; die drei ohne sind die rein lesenden mit `model`-Trigger |
|
|
288
|
+
| AP2-CC-02 | `permission_tools.write` → `["Edit"]`, `search` → `[]`; neues `permission_path_tools` | Berechtigungsdatei 83 → 65 Regeln, `deny_must_contain` 17 → 13 |
|
|
289
|
+
| AP2-CC-09 | Validator liest beide Formen von `allowed-tools`, führt Werkzeugnamen über `tool_names` zurück und prüft bei abgebildetem `triggers` das Zielfeld | Beide Befehle laufen nacheinander mit **0 Fehlern** – erstmals seit 0.5.0 |
|
|
290
|
+
|
|
291
|
+
Zusätzlich eine neue Prüfung: Eine Pfadregel für ein Werkzeug, für das der Client keine
|
|
292
|
+
Pfadregeln auswertet, ist ein Fehler. Ohne die Manifestangabe `permission_path_tools` unterbleibt
|
|
293
|
+
sie – bei `devin-desktop` ist sie unbelegt und wird deshalb nicht behauptet.
|
|
294
|
+
|
|
295
|
+
### Wirksamkeitsnachweis (D-23)
|
|
296
|
+
|
|
297
|
+
Vier Sonden in einer frischen `claude-code`-Installation. Ausgangs- und Schlusslauf je 0 Fehler.
|
|
298
|
+
|
|
299
|
+
| Sonde | Eingebrachter Defekt | Ergebnis |
|
|
300
|
+
|---|---|---|
|
|
301
|
+
| S1 | `disable-model-invocation` aus `fw-change-small` entfernt | **gemeldet:** „schreibender/ausführender Skill ohne 'disable-model-invocation: true'" |
|
|
302
|
+
| S2 | dasselbe Feld auf `false` gesetzt | **gemeldet:** dieselbe Meldung |
|
|
303
|
+
| S3 | `Write(leitwerk-core/**)` von Hand in `deny` eingefügt | **gemeldet:** „nennt ein Werkzeug, für das dieser Client keine Pfadregeln auswertet" |
|
|
304
|
+
| S4 | `NotebookEdit(project-overlay/**)` eingefügt | **gemeldet:** dieselbe Meldung |
|
|
305
|
+
|
|
306
|
+
### Was der Nachtrag nicht belegt
|
|
307
|
+
|
|
308
|
+
**Dass die Sperre gesetzt wird, ist nicht dasselbe wie, dass sie greift.** Der Beleg dafür steht
|
|
309
|
+
weiter unter „Offen" und braucht eine Sitzung in der Installation. Bis dahin ist S4 belegt als
|
|
310
|
+
`[DOK]` – dokumentiert und korrekt gesetzt –, nicht als beobachtete Durchsetzung.
|
|
311
|
+
|
|
312
|
+
Ebenfalls offen bleibt eine Unsicherheit aus AP2-CC-02: Ob `Grep(pfad)` tatsächlich nicht
|
|
313
|
+
ausgewertet wird, stützt sich auf die Formulierung „checks file permissions against `Edit(path)`
|
|
314
|
+
and `Read(path)` rules **only**"; in der Warnliste des Herstellers ist `Grep` nicht genannt. Die
|
|
315
|
+
Regel wurde entfernt, weil `Read(**)` den Lesezugriff ohnehin abdeckt. Die Startwarnungen einer
|
|
316
|
+
realen Sitzung entscheiden es endgültig.
|
|
317
|
+
|
|
318
|
+
## Bekannte Grenzen
|
|
319
|
+
|
|
320
|
+
- Geprüft wurde gegen die Dokumentation und die erzeugten Artefakte, nicht gegen das Verhalten
|
|
321
|
+
einer laufenden Sitzung. Ein Dokumentenabgleich belegt `[DOK]`, nicht `[TECHNISCH]` im Sinne
|
|
322
|
+
einer beobachteten Durchsetzung.
|
|
323
|
+
- Die geprüfte Clientversion ist die auf der Prüfmaschine laufende (2.1.267). Die **verbindliche
|
|
324
|
+
Zielversion** ist eine Festlegung des `<FRAMEWORK_OWNER>` und steht weiterhin aus; bis dahin
|
|
325
|
+
gilt das Pack als gegen eine Version geprüft, nicht als für eine Version freigegeben.
|
|
326
|
+
- Das Client Pack `devin-desktop` ist unberührt. Seine zwölf Marker brauchen eine Installation
|
|
327
|
+
von Devin Desktop; nichts an diesem Protokoll überträgt sich darauf.
|
|
328
|
+
- Fünf Dokumentationsseiten wurden ausgewertet. Marker, die Sandbox-Verhalten je Betriebssystem
|
|
329
|
+
oder Enterprise-Einstellungen betreffen, sind darin nur gestreift.
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
## Nachtrag 2: Behebung von AP2-CC-03 mit Release 0.15.0 (`CR-2026-017`, D-27)
|
|
333
|
+
|
|
334
|
+
AP2-CC-03 ist behoben. Bei der Umsetzung kamen ein weiterer Befund und eine bisher unbenannte
|
|
335
|
+
Grenze dazu.
|
|
336
|
+
|
|
337
|
+
### Was der Befund tatsächlich umfasste
|
|
338
|
+
|
|
339
|
+
Der Protokollpunkt oben nennt zwei Matrixzeilen. Die Prüfung der Mechanik hat gezeigt, dass an
|
|
340
|
+
derselben Fehlannahme drei weitere Dinge hingen:
|
|
341
|
+
|
|
342
|
+
1. **Die Importe waren nie nötig.** `docs/en/memory`: „Rules without a `paths` field are loaded
|
|
343
|
+
unconditionally." Der gesamte Mechanismus – Regeldatei plus Eintrag in der Wurzel-Anweisung,
|
|
344
|
+
samt der eigens dafür gebauten Validatorprüfung „nicht eingebunden, die Regel wäre
|
|
345
|
+
wirkungslos" – beruhte darauf, dass der Client Regeldateien nicht von sich aus lädt. Er tut
|
|
346
|
+
es.
|
|
347
|
+
|
|
348
|
+
2. **AP2-CC-10 (neu) – eine aktivierte Role-Pack-Regel wurde nie geladen.** `install.py` bindet
|
|
349
|
+
nur die vier Core-Regeln ein. Ein Projekt, das ein Role Pack aktiviert, legte
|
|
350
|
+
`30-role-<name>.md` in die Regelablage, wo sie mangels Import wirkungslos blieb. Das ist genau
|
|
351
|
+
der stille Fehlerfall, den das Client Pack in Abschnitt 5 selbst beschrieben hatte –
|
|
352
|
+
eingetreten am framework-eigenen Mechanismus. Dieselbe Datei lief zudem nie durch
|
|
353
|
+
`render_rule`: Die Formtransformation griff ausschließlich für `framework/runtime/rules/`,
|
|
354
|
+
nicht für die Regelvorlagen unter `templates/rules/` und nicht für die Laufzeitfassungen der
|
|
355
|
+
Packs. **Schwere: hoch** – eine Regelebene des Frameworks (Ebene 6) war bei diesem Client
|
|
356
|
+
ohne Wirkung, ohne dass irgendetwas es gemeldet hätte.
|
|
357
|
+
|
|
358
|
+
3. **Ein Technology Pack hatte hier kein Zuhause.** Die beiden im Pack genannten Ersatzwege –
|
|
359
|
+
verschachtelte `CLAUDE.md` oder Import – waren beide Notlösungen für ein Problem, das der
|
|
360
|
+
Client nicht hat.
|
|
361
|
+
|
|
362
|
+
### AP2-CC-11 (neu) – `claudeMdExcludes` ist eine Lücke in B9
|
|
363
|
+
|
|
364
|
+
**Schwere: mittel.** Betrifft eine Kernzusage der Fähigkeitsmatrix.
|
|
365
|
+
|
|
366
|
+
`docs/en/memory`:
|
|
367
|
+
|
|
368
|
+
> „The `claudeMdExcludes` setting lets you skip specific files by path or glob pattern. […]
|
|
369
|
+
> Patterns are matched against absolute file paths using glob syntax. You can configure
|
|
370
|
+
> `claudeMdExcludes` at any settings layer: user, project, local, or managed policy. Arrays
|
|
371
|
+
> merge across layers."
|
|
372
|
+
|
|
373
|
+
Das Beispiel des Herstellers schließt ausdrücklich ein Regelverzeichnis aus. Eine nutzerlokale
|
|
374
|
+
`.claude/settings.local.json` kann damit Regeldateien vom Laden ausnehmen – eine **Lockerung**,
|
|
375
|
+
während B9 zusagt, dass nutzerlokale Konfiguration nur verschärfen kann. Für Berechtigungen
|
|
376
|
+
gilt B9 unverändert („If a tool is denied at any level, no other level can allow it"); für
|
|
377
|
+
Regeltexte gilt sie nicht.
|
|
378
|
+
|
|
379
|
+
Die Lücke ist **nicht neu und nicht Folge dieser Änderung**: Vor 0.15.0 hätte ein Muster auf die
|
|
380
|
+
Wurzel-Anweisungsdatei sämtliche importierten Regeltexte auf einmal entfernt. Neu ist allein,
|
|
381
|
+
dass sie benannt ist. Der KI-Client selbst kann die Datei nicht schreiben – `Edit(.claude/**)`
|
|
382
|
+
steht in `deny` –, ein Mensch schon. Nur eine über verwaltete Einstellungen ausgelieferte
|
|
383
|
+
`CLAUDE.md` ist gegen Ausschluss geschützt; ob sich daraus eine Gegenmaßnahme bauen lässt, ist
|
|
384
|
+
eine Frage an die noch offenen Enterprise-Marker.
|
|
385
|
+
|
|
386
|
+
### Was 0.15.0 ändert
|
|
387
|
+
|
|
388
|
+
| Befund | Behebung | Wirkung |
|
|
389
|
+
|---|---|---|
|
|
390
|
+
| AP2-CC-03 | Regelablage in `.claude/rules/`; `rule_triggers` im Manifest bildet jeden Ladetrigger der Kernquelle ab | R2 und R3 auf `[TECHNISCH]`; `[NICHT ABBILDBAR]` 4 → 0. Ein Technology Pack liegt als `40-tech-<name>.md` mit `paths:` |
|
|
391
|
+
| AP2-CC-10 | `ist_regelquelle` erfasst zusätzlich `templates/rules/` und die Pack-Laufzeitfassungen; eine Regeldatei wirkt ohne Import | Eine aktivierte Role-Pack-Regel lädt und ist in der Form des Clients gerendert |
|
|
392
|
+
| AP2-CC-11 | keine – die Lücke ist ausgewiesen, nicht geschlossen | Client Pack Abschnitt 5 und die Laufzeit-README benennen sie |
|
|
393
|
+
|
|
394
|
+
Die Abbildung der drei Ladetrigger:
|
|
395
|
+
|
|
396
|
+
| Ladetrigger der Kernquelle | Fassung bei `claude-code` | Bewertung |
|
|
397
|
+
|---|---|---|
|
|
398
|
+
| `always_on` | kein `paths`-Feld | wörtliche Entsprechung |
|
|
399
|
+
| `model_decision` | kein `paths`-Feld | Verschärfung – mehr Regeln aktiv, nicht weniger |
|
|
400
|
+
| `glob` mit `globs` | `paths:` mit denselben Mustern | wörtliche Entsprechung |
|
|
401
|
+
| `manual`, `agent` | keine Abbildung | Die Installation scheitert (D-27) |
|
|
402
|
+
|
|
403
|
+
Drei neue Prüfungen des Validators für einen Client mit eigener Bedingungssprache: ein
|
|
404
|
+
Frontmatter-Feld, das der Client nicht auswertet, ist ein Fehler (K-18); die Ladebedingung muss
|
|
405
|
+
die Form haben, die der Client erwartet; und **eine Kernregel darf keine Ladebedingung tragen** –
|
|
406
|
+
sie gilt für jede Aufgabe, sie an Dateimuster zu binden wäre eine Lockerung.
|
|
407
|
+
|
|
408
|
+
Zusätzlich: `install.py` rendert alle Quellen, bevor es die erste Datei schreibt. Vorher brach
|
|
409
|
+
eine nicht abbildbare Quelle die Installation mitten im Schreiben ab und hinterließ ein halb
|
|
410
|
+
angelegtes Projekt.
|
|
411
|
+
|
|
412
|
+
### Wirksamkeitsnachweis (D-23)
|
|
413
|
+
|
|
414
|
+
Sechs Sonden in einer frischen `claude-code`-Installation (79 Dateien, `install.py --client
|
|
415
|
+
claude-code`, danach `README.md` angelegt). Ausgangslauf: 0 Fehler. Jede Sonde wurde einzeln in
|
|
416
|
+
eine unveränderte Kopie eingebracht.
|
|
417
|
+
|
|
418
|
+
| Sonde | Eingebrachter Defekt | Ergebnis |
|
|
419
|
+
|---|---|---|
|
|
420
|
+
| S1 | Quellfrontmatter in `.claude/rules/15-development-rules.md` stehen gelassen (`trigger: model_decision`) | **gemeldet:** „Frontmatter-Feld 'trigger' – dieser Client wertet für Regeldateien nur ['paths'] aus (K-18). Ein stehen gebliebenes 'trigger' oder 'globs' heißt: Die Datei ist nicht durch die Abbildung des Client Packs gelaufen, ihre Ladebedingung ist verfallen" |
|
|
421
|
+
| S2 | `paths: ["src/**"]` an der Kernregel `10-privacy-security.md` | **gemeldet:** „Kernregel über 'paths' an Dateimuster gebunden – sie gilt für jede Aufgabe; eine Ladebedingung wäre hier eine Lockerung" |
|
|
422
|
+
| S3 | `40-tech-java.md` mit `paths: "**/*.java"` als Zeichenkette | **gemeldet:** „'paths' muss eine nichtleere Liste von Dateimustern sein" |
|
|
423
|
+
| S4 | dasselbe mit `paths: []` | **gemeldet:** dieselbe Meldung |
|
|
424
|
+
| S5 | Ladetrigger `manual` in der Kernquelle `15-development-rules.md` | **Installation scheitert:** „Ladetrigger 'manual' hat keinen Eintrag in rule_triggers.map - die Regel liesse sich nur durch Weglassen der Ladebedingung abbilden, und das waere ein Verlust der Zusage (D-27). Bekannt: always_on, glob, model_decision"; Exit-Code 1, **kein Verzeichnis angelegt** |
|
|
425
|
+
| S6 | `trigger: glob` ohne `globs` in derselben Quelle | **Installation scheitert:** „Ladetrigger 'glob' bildet auf 'paths' ab, die Quelle nennt aber keine Dateimuster - die Ladebedingung waere leer" |
|
|
426
|
+
|
|
427
|
+
Vier Gegenproben:
|
|
428
|
+
|
|
429
|
+
| Gegenprobe | Erwartung | Ergebnis |
|
|
430
|
+
|---|---|---|
|
|
431
|
+
| G1 | Ein korrektes Technology Pack (`paths` als Liste, zwei Muster, eines mit Klammer-Expansion) bleibt fehlerfrei | 0 Fehler |
|
|
432
|
+
| G2 | Eine Regeldatei ganz ohne Frontmatter bleibt fehlerfrei | 0 Fehler |
|
|
433
|
+
| G3 | Die Prüfung aus `CR-2026-016` meldet weiterhin: `disable-model-invocation` aus `fw-change-small` entfernt | gemeldet |
|
|
434
|
+
| G4 | Die zweite Prüfung aus `CR-2026-016` meldet weiterhin: `Write(leitwerk-core/**)` in `deny` eingefügt | gemeldet |
|
|
435
|
+
|
|
436
|
+
G3 und G4 sind Regressionsproben: Keine der neuen Prüfungen hat eine bestehende verdrängt.
|
|
437
|
+
|
|
438
|
+
### Was der Nachtrag nicht belegt
|
|
439
|
+
|
|
440
|
+
**Dass eine Regel geladen wird, ist dokumentiert, nicht beobachtet.** Der Beleg dafür, dass eine
|
|
441
|
+
Regel ohne `paths` tatsächlich im Kontext steht – und eine Regel mit `paths` erst nach dem Lesen
|
|
442
|
+
einer passenden Datei –, braucht eine Sitzung *in* der Installation und steht unter „Offen".
|
|
443
|
+
|
|
444
|
+
Ebenfalls nicht belegt: dass ein `paths`-Muster in der Praxis so trifft, wie die Dokumentation es
|
|
445
|
+
beschreibt. Die dokumentierten Grenzen – ein ungültiger Klammerausdruck trifft nichts, das
|
|
446
|
+
Expansionsbudget von 1.000 Mustern – sind übernommen, nicht nachgestellt.
|
|
447
|
+
|
|
448
|
+
## Gegenzeichnung (Prüfmethode `review`)
|
|
449
|
+
|
|
450
|
+
Rollen statt Personen (`framework/runtime/rules/20-project-overlay.md`). AP2 ist ein
|
|
451
|
+
Arbeitspaket, kein Testfall des Katalogs; die Prüfmethode dieses Protokolls ist gleichwohl
|
|
452
|
+
`review`, und D-23 verlangt dafür eine **zweite Rolle**. Ein grüner Lauf und ein
|
|
453
|
+
Wirksamkeitsnachweis ersetzen sie nicht.
|
|
454
|
+
|
|
455
|
+
**Zur Entscheidung vorgelegt** – drei Auflösungen mit Ermessensspielraum, jede einzeln:
|
|
456
|
+
|
|
457
|
+
| Nr. | Frage | Vorgeschlagene Auflösung | Preis |
|
|
458
|
+
|---|---|---|---|
|
|
459
|
+
| E1 | Regelablage ganz nach `.claude/rules/` oder nur die Technology Packs? | Ganz. Zwei Regelablagen mit zwei Lademechanismen bei einem Client wären schwerer zu erklären als der einmalige Umzug, und nur der vollständige Weg beseitigt AP2-CC-10 | Ein bestehendes Projekt zieht von Hand nach (CHANGELOG, Migrationshinweise). Es gibt keines |
|
|
460
|
+
| E2 | Die Zeile S4 im selben Release mit berichtigen, obwohl sie zu `CR-2026-016` gehört? | Ja. Ihre Abbildung ist seit 0.14.0 ausgeliefert; die Matrix stand falsch. Dasselbe gilt für die Restangaben zu AP2-CC-02 in vier Abschnitten des Packs | Der Antrag berichtigt Aussagen über eine fremde Änderung. Ohne die Berichtigung stünde die Matrix bis zum nächsten Anlass falsch |
|
|
461
|
+
| E3 | Die Importmechanik entfernen, weil sie kein Pack mehr nutzt? | Nein, erhalten – manifestgesteuert, für ein künftiges Pack. Aber als von keinem Pack erprobt ausweisen | Unerprobter Code im Kern. Die Gegenposition ist `CR-2026-016`: „Eine wirkungslose Regel vorzuhalten ist das Gegenteil einer ausgewiesenen Durchsetzungstiefe" |
|
|
462
|
+
|
|
463
|
+
| Rolle | Datum | Ergebnis |
|
|
464
|
+
|---|---|---|
|
|
465
|
+
| Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | AP2-CC-03 behoben; zwei weitere Befunde (AP2-CC-10, AP2-CC-11) aufgenommen; sechs Sonden gemeldet, vier Gegenproben wie erwartet |
|
|
466
|
+
| Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1, E2 und E3 einzeln entscheiden>` |
|
|
467
|
+
|
|
468
|
+
Solange die zweite Zeile offen ist, ist dieser Nachtrag **vorgelegt, nicht abgezeichnet**.
|