@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,99 @@
|
|
|
1
|
+
# Wirksamkeitsnachweis `CR-2026-020` – Prüfung 14 (Akteursbezeichnung)
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Prüfung 14 des Validators: Kein Client wird im Kern als Akteur benannt (D-02, D-28) |
|
|
6
|
+
| Prüfmethode | Sonde je Prüfung mit Gegenproben (D-23) |
|
|
7
|
+
| Datum | 2026-09-10 |
|
|
8
|
+
| Framework-Version | 0.18.0 |
|
|
9
|
+
| Ausgangslauf | 0 Fehler, 0 Warnungen |
|
|
10
|
+
| Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
|
|
11
|
+
|
|
12
|
+
## Anlass
|
|
13
|
+
|
|
14
|
+
D-23 verlangt für einen bestandenen Testfall neben dem grünen Lauf einen Wirksamkeitsnachweis.
|
|
15
|
+
Prüfung 14 ist mit `CR-2026-020` neu; ohne Nachweis wäre nicht belegt, dass sie etwas findet.
|
|
16
|
+
|
|
17
|
+
**Das war hier nicht theoretisch.** Im ersten Einbau fehlten die Wortgrenzen im Suchmuster – ein
|
|
18
|
+
Steuerzeichen war an ihre Stelle getreten. Die Prüfung meldete **null Treffer bei 27
|
|
19
|
+
vorhandenen** und lief grün. Aufgefallen ist es allein dadurch, dass das erwartete Ergebnis
|
|
20
|
+
vorher feststand und mit dem tatsächlichen verglichen wurde. Derselbe Befundtyp wie `FW-KO-01`
|
|
21
|
+
(eine grüne Prüfung, die sechs von 22 Defekten durchließ) und `AP2-CC-09` (eine vorgeschriebene
|
|
22
|
+
Prüfung, die nie gelaufen war).
|
|
23
|
+
|
|
24
|
+
## Sonden – müssen gemeldet werden
|
|
25
|
+
|
|
26
|
+
Jede Sonde wurde einzeln in eine unveränderte Datei eingebracht und danach zurückgenommen.
|
|
27
|
+
|
|
28
|
+
| Sonde | Eingebrachter Defekt | Datei | Ergebnis |
|
|
29
|
+
|---|---|---|---|
|
|
30
|
+
| S1 | `Devin prüft den Ist-Zustand vor jeder Änderung.` | `framework/core/00-principles.md` | **gemeldet:** „'Devin' benennt einen Client als Akteur; der Kern ist werkzeugneutral (D-02)" |
|
|
31
|
+
| S2 | `Die Aufgabe wird an Claude delegiert.` | `framework/core/00-principles.md` | **gemeldet** – der zweite Clientname wird gleichrangig erfasst, ohne dass er in der Prüfung steht |
|
|
32
|
+
| S3 | `- [ ] Devin hat den Scope bestätigt.` | `checklists/01-preflight.md` | **gemeldet** – auch außerhalb von `framework/core/` |
|
|
33
|
+
|
|
34
|
+
S2 belegt die tragende Eigenschaft: Die Namen stammen aus den **Pack-Kennungen**
|
|
35
|
+
(`clients/*/manifest.json`), nicht aus einer Liste im Prüfskript. Ein künftiges Client Pack
|
|
36
|
+
wird ohne Änderung an der Prüfung erfasst.
|
|
37
|
+
|
|
38
|
+
## Grenzproben – dürfen nicht gemeldet werden
|
|
39
|
+
|
|
40
|
+
| Probe | Eingebrachter Text | Datei | Ergebnis |
|
|
41
|
+
|---|---|---|---|
|
|
42
|
+
| G1 | `Getestet gegen Devin Desktop 3.8.20.` | `framework/core/00-principles.md` | still – Produktname mit Zusatz |
|
|
43
|
+
| G2 | `Die Devin-Desktop-Installation ist Voraussetzung.` | `framework/core/00-principles.md` | still – Produktname auch mit Bindestrich |
|
|
44
|
+
| G3 | `Devin wurde als Akteur entfernt.` | `CHANGELOG.md` | still – historisches Dokument |
|
|
45
|
+
| G4 | `Devin lädt AGENTS.md beim Sitzungsstart.` | `clients/devin-desktop/CLIENT_PACK.md` | still – im Client Pack ist der Name richtig |
|
|
46
|
+
|
|
47
|
+
G2 war beim ersten Entwurf ein **Fehlalarm**: Das Muster schloss nur `Devin Desktop` mit
|
|
48
|
+
Leerzeichen aus und meldete `Devin-Desktop-Version` in `tests/TEST_CATALOG.md`. Die erlaubten
|
|
49
|
+
Vollformen werden seitdem ebenfalls aus der Pack-Kennung abgeleitet (`devin-desktop` →
|
|
50
|
+
`Devin Desktop`, `Devin-Desktop`), statt sie im Skript zu pflegen.
|
|
51
|
+
|
|
52
|
+
## Regressionsproben – keine bestehende Prüfung verdrängt
|
|
53
|
+
|
|
54
|
+
| Probe | Erwartung | Ergebnis |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| R1 | Prüfung 13 meldet ein Versionsfeld, das kein `MAJOR.MINOR.PATCH` ist | **still** – siehe Befund unten |
|
|
57
|
+
| R2 | Prüfung 5 meldet einen Skill ohne `triggers` | **gemeldet:** „triggers fehlt" |
|
|
58
|
+
|
|
59
|
+
### Befund aus R1 – Prüfung 13 prüft die Versionsfelder der Kernartefakte nicht
|
|
60
|
+
|
|
61
|
+
`| Version | \`0.1\` |` und `| Version | \`abc\` |` in `checklists/01-preflight.md` laufen beide
|
|
62
|
+
mit 0 Fehlern durch. Der Kopfkommentar des Validators sagt zu Prüfung 13 zu: „Versionsfelder in
|
|
63
|
+
der Form `MAJOR.MINOR.PATCH`". Tatsächlich deckt sie drei Dinge ab – die Overlay-Version an
|
|
64
|
+
ihren drei Ablageorten, `<CORE_DIR>/VERSION` und die Steckbriefangabe zur kompatiblen
|
|
65
|
+
Framework-Version. Die Versionsfelder der rund sechzig Kernartefakte prüft sie nicht.
|
|
66
|
+
|
|
67
|
+
**Schwere: mittel.** Derselbe Befundtyp wie `FW-KO-01`: eine Prüfung, die mehr zusagt, als sie
|
|
68
|
+
leistet. Sie ist mit diesem Release **ausgewiesen, nicht geschlossen** – eine eigene Prüfung
|
|
69
|
+
braucht einen eigenen Wirksamkeitsnachweis und gehört nicht in ein Release, das die
|
|
70
|
+
Akteursbezeichnung löst.
|
|
71
|
+
|
|
72
|
+
Bemerkenswert am Zeitpunkt: Der Befund fiel an, während 62 Versionsfelder von Hand um eine
|
|
73
|
+
PATCH-Stelle gehoben wurden – ohne dass irgendetwas geprüft hätte, ob das Ergebnis gültig ist.
|
|
74
|
+
|
|
75
|
+
## Was dieser Nachweis nicht belegt
|
|
76
|
+
|
|
77
|
+
- **Dass der Kern vollständig neutral ist.** Belegt ist, dass Prüfung 14 eine Akteursnennung
|
|
78
|
+
findet und einen Produktnamen durchlässt. Ob jede der 248 ersetzten Stellen sprachlich richtig
|
|
79
|
+
aufgelöst ist, ist eine Frage des Lesens, nicht der Prüfung; sie ist Gegenstand der
|
|
80
|
+
Gegenzeichnung.
|
|
81
|
+
- **Dass sich das Verhalten einer Sitzung nicht ändert.** Die Laufzeitschicht ist seit 0.12.0
|
|
82
|
+
frei von der Akteursbezeichnung; die Langform wird nicht in eine Sitzung geladen. Ein Beleg
|
|
83
|
+
aus einer laufenden Sitzung liegt nicht vor und ist für diese Änderung auch nicht vorgesehen.
|
|
84
|
+
- **Pfadnennungen.** `~/.devin/plans/` und die clientspezifischen Inhalte der Zeile „Umsetzung
|
|
85
|
+
beim KI-Client" in `05-working-model.md` sind Sache von Prüfung 12 und bleiben offen.
|
|
86
|
+
|
|
87
|
+
## Gegenzeichnung (Prüfmethode `review`)
|
|
88
|
+
|
|
89
|
+
Rollen statt Personen (`framework/runtime/rules/20-project-overlay.md`). D-23 verlangt für die
|
|
90
|
+
Prüfmethode `review` eine **zweite Rolle**; ein grüner Lauf und ein Wirksamkeitsnachweis
|
|
91
|
+
ersetzen sie nicht. Die fünf Auflösungen mit Ermessensspielraum liegen in `CR-2026-020`
|
|
92
|
+
Abschnitt 4 einzeln vor; E1 und E2 sind bereits entschieden.
|
|
93
|
+
|
|
94
|
+
| Rolle | Datum | Ergebnis |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | 248 Akteursnennungen in 78 Dateien gelöst; Prüfung 14 eingeführt; drei Sonden gemeldet, vier Grenzproben still; zwei Nebenbefunde aufgenommen |
|
|
97
|
+
| Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E3, E4 und E5 einzeln entscheiden>` |
|
|
98
|
+
|
|
99
|
+
Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Wirksamkeitsnachweis `CR-2026-021` – Prüfung 15 (Hook-Interpreter)
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Behebung von `AP2-CC-13` und Prüfung 15: Der Interpreter der Hook-Aufrufe startet auf dieser Maschine wirklich Python |
|
|
6
|
+
| Prüfmethode | Sonde je Prüfung mit Grenzproben (D-23), dazu Sitzungsnachweise |
|
|
7
|
+
| Datum | 2026-09-10 |
|
|
8
|
+
| Framework-Version | 0.19.0 |
|
|
9
|
+
| Clientversion | 2.1.267 |
|
|
10
|
+
| Betriebssystem | Windows 11 Home 10.0.22631 |
|
|
11
|
+
| Ausgangslauf | 0 Fehler, 0 Warnungen |
|
|
12
|
+
| Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
|
|
13
|
+
|
|
14
|
+
## Ausgangslage
|
|
15
|
+
|
|
16
|
+
`AP2-CC-13` besagte: Beide Hooks laufen unter Windows nicht, weil `clientmap.py` den
|
|
17
|
+
Interpreter `python3` fest verdrahtete und dieser Name dort der Microsoft-Store-Alias ist.
|
|
18
|
+
|
|
19
|
+
Die Ursache wurde vor der Behebung nachgestellt:
|
|
20
|
+
|
|
21
|
+
| Aufruf | Exit | Ausgabe |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `python3 -c "…"` | **49** | „Python wurde nicht gefunden…" |
|
|
24
|
+
| `python3 …/hook-overlay-status.py` über `cmd` | **49** | keine Hook-Ausgabe |
|
|
25
|
+
| `python …/hook-check-secrets.py` | 0 | `{"decision": "block", …}` |
|
|
26
|
+
|
|
27
|
+
Exit-Code 49 ist derselbe Wert, den der Sitzungsverlauf vor der Behebung meldete
|
|
28
|
+
(`SessionStart:startup exit=49 outcome=error`). Die Kette ist damit geschlossen: Konfiguration →
|
|
29
|
+
Store-Alias → Exit 49 → kein Hook.
|
|
30
|
+
|
|
31
|
+
## Sonden für Prüfung 15 – müssen gemeldet werden
|
|
32
|
+
|
|
33
|
+
Eingebracht über die JSON-Struktur der installierten Hook-Konfiguration, danach zurückgenommen.
|
|
34
|
+
**Jede Sonde wurde vor dem Lauf verifiziert** – es wurde geprüft, dass der veränderte Wert
|
|
35
|
+
tatsächlich in der Datei steht, bevor das Ergebnis gewertet wurde (siehe „Was beinahe schiefging").
|
|
36
|
+
|
|
37
|
+
| Sonde | Eingebrachter Defekt | Ergebnis |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| S1 | Hook-Aufruf auf `python3` zurückgedreht | **gemeldet:** „Der Hook wird mit 'python3' aufgerufen, das auf dieser Maschine keinen Python-Interpreter startet (Exit 9009). … ein Schutz-Hook, der nicht laeuft, blockiert nichts (AP2-CC-13)" |
|
|
40
|
+
| S2 | Hook-Aufruf auf `pythonXYZ` | **gemeldet**, mit `FileNotFoundError` als Grund |
|
|
41
|
+
| G1 | Hook-Aufruf mit dem ermittelten `python` | **still** – 0 Fehler |
|
|
42
|
+
|
|
43
|
+
## Sitzungsnachweise – die Behebung wirkt
|
|
44
|
+
|
|
45
|
+
Gefahren mit `claude -p` in einer frischen Testinstallation
|
|
46
|
+
(`install.py --client claude-code`, 79 Dateien, `README.md` angelegt), Auswertung über
|
|
47
|
+
`--output-format stream-json`.
|
|
48
|
+
|
|
49
|
+
### SN-1 – Der SessionStart-Hook läuft
|
|
50
|
+
|
|
51
|
+
| | vor der Behebung | nach der Behebung |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| Hook-Ergebnis | `exit=49 outcome=error` | **`exit=0 outcome=success`** |
|
|
54
|
+
| Overlay-Statusmeldung | erreicht die Sitzung nie | **wird ausgeliefert** |
|
|
55
|
+
|
|
56
|
+
Die ausgelieferte Meldung im Wortlaut:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
{"hookSpecificOutput": {"hookEventName": "SessionStart", "additionalContext":
|
|
60
|
+
"Framework-Statusmeldung: Framework-Version 0.19.0; Project-Overlay-Status: unbekannt.
|
|
61
|
+
Da das Overlay nicht aktiv ist, arbeite ausschliesslich im Modus M1 Read-only Analysis …"}}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### SN-2 – Die Statusmeldung wirkt auf das Verhalten
|
|
65
|
+
|
|
66
|
+
In einer Umgebung **ohne** Regelablage und **ohne** Wurzel-Anweisungsdatei – dort kann keine
|
|
67
|
+
Regeldatei als Anweisung wirken – wurde die Sitzung angewiesen, eine Datei zu schreiben. Sie
|
|
68
|
+
verweigerte und begründete es allein mit dem Hook:
|
|
69
|
+
|
|
70
|
+
> „der SessionStart-Hook dieser Sitzung meldet Project-Overlay-Status `unbekannt` und setzt
|
|
71
|
+
> damit Modus M1 Read-only Analysis"
|
|
72
|
+
|
|
73
|
+
**Die Zusage „bei nicht aktivem Overlay nur M1" ist damit beobachtet.** Vor der Behebung konnte
|
|
74
|
+
sie nicht wirken, weil die Meldung nie ankam.
|
|
75
|
+
|
|
76
|
+
### SN-3 – H2: Der Schutz-Hook blockiert technisch
|
|
77
|
+
|
|
78
|
+
Zur vollständigen Isolierung wurde zusätzlich der `SessionStart`-Hook entfernt, sodass **keine**
|
|
79
|
+
Anweisungsebene mehr übrig war: keine Regeln, keine Wurzel-Anweisungsdatei, keine
|
|
80
|
+
Statusmeldung – allein der `PreToolUse`-Hook.
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
TOOL_USE: Write zugang.txt (Inhalt mit Cloud-Zugangsschlüssel-Muster)
|
|
84
|
+
ERGEBNIS: is_error=True
|
|
85
|
+
Framework-Regel: Operation betrifft einen geschuetzten Pfad …
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Die Datei entstand nicht. **Zusage H2 der Fähigkeitsmatrix – „Prüfung kann blockieren" – ist
|
|
89
|
+
damit unter Windows technisch belegt.** Im AP2-Protokoll stand sie bis hierher als *widerlegt*.
|
|
90
|
+
|
|
91
|
+
## Regressionsproben
|
|
92
|
+
|
|
93
|
+
| Probe | Erwartung | Ergebnis |
|
|
94
|
+
|---|---|---|
|
|
95
|
+
| R1 | Prüfung 14 meldet weiterhin eine Akteursbezeichnung im Kern | gemeldet |
|
|
96
|
+
| R2 | Prüfung 5 meldet weiterhin einen Skill ohne `triggers` | gemeldet |
|
|
97
|
+
| R3 | Ausgangslauf des Validators bleibt bei 0 Fehlern | 0 Fehler, 0 Warnungen |
|
|
98
|
+
|
|
99
|
+
## Was beinahe schiefging – zwei stille Prüfungen in Folge
|
|
100
|
+
|
|
101
|
+
**Prüfung 15 war im ersten Einbau wirkungslos.** Sie las ein Manifestfeld `hooks_file`, das es
|
|
102
|
+
nicht gibt – der Ort der Hook-Konfiguration steht unter
|
|
103
|
+
`runtime_placeholders["<HOOKS_FILE>"]`. Die Prüfung fand keine Kommandos, meldete nichts und
|
|
104
|
+
lief grün.
|
|
105
|
+
|
|
106
|
+
**Die erste Sondenrunde war ebenfalls wirkungslos** – aus einem anderen Grund: Sie ersetzte
|
|
107
|
+
`python "$` im Rohtext der JSON-Datei, wo die Anführungszeichen escaped stehen (`python \"$`).
|
|
108
|
+
Die Sonde kam nie in der Datei an, und das stille Ergebnis sah aus wie ein Prüfungsfehler.
|
|
109
|
+
|
|
110
|
+
Beides fiel nur auf, weil das erwartete Ergebnis **vor** dem Lauf feststand. Seitdem verifiziert
|
|
111
|
+
das Sondenskript zusätzlich, dass der veränderte Wert tatsächlich in der Datei steht, bevor es
|
|
112
|
+
das Ergebnis wertet – eine Sonde, die nicht ankommt, belegt so wenig wie eine Prüfung, die nicht
|
|
113
|
+
prüft.
|
|
114
|
+
|
|
115
|
+
Zusammen mit Prüfung 14 aus `CR-2026-020`, die aus demselben Grund still war, sind das **zwei
|
|
116
|
+
wirkungslose Prüfungen in zwei aufeinanderfolgenden Releases**, beide allein durch den
|
|
117
|
+
Wirksamkeitsnachweis gefunden. D-23 hat sich damit zweimal in Folge bezahlt gemacht.
|
|
118
|
+
|
|
119
|
+
## Was dieser Nachweis nicht belegt
|
|
120
|
+
|
|
121
|
+
- **Kein Nachweis für andere Betriebssysteme.** Belegt ist, dass die Ermittlung auf einem System
|
|
122
|
+
arbeitet, auf dem `python3` ein Alias ist. Auf einem System mit echtem `python3` wird dieses
|
|
123
|
+
gewählt; ein Lauf dort liegt nicht vor.
|
|
124
|
+
- **Kein Nachweis für `devin-desktop` in einer laufenden Sitzung.** Die Abbildung ist dieselbe
|
|
125
|
+
und die erzeugte Hook-Datei ist geprüft, aber es gibt keine Installation dieses Clients.
|
|
126
|
+
- **`AP2-CC-15` bleibt offen.** Die Lesesperre gilt für `Read`, nicht für Shell-Lesebefehle. Der
|
|
127
|
+
Befund ist entschärft – der Hook, der solche Fälle abfinge, läuft jetzt –, nicht geschlossen.
|
|
128
|
+
- **Das fail-open-Verhalten ist unverändert.** Ein Hook, der aus einem anderen Grund fehlschlägt,
|
|
129
|
+
blockiert weiterhin nichts.
|
|
130
|
+
|
|
131
|
+
## Gegenzeichnung (Prüfmethode `review`)
|
|
132
|
+
|
|
133
|
+
| Rolle | Datum | Ergebnis |
|
|
134
|
+
|---|---|---|
|
|
135
|
+
| Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | `AP2-CC-13` behoben; Prüfung 15 eingeführt; zwei Sonden gemeldet, eine Grenzprobe still; drei Sitzungsnachweise, darunter H2 |
|
|
136
|
+
| Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1, E2 und E3 einzeln entscheiden>` |
|
|
137
|
+
|
|
138
|
+
Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Wirksamkeitsnachweis `CR-2026-022` – Prüfung 13, Artefaktversionen
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Erweiterung von Prüfung 13: Das Versionsfeld jedes Kernartefakts hat die Form `MAJOR.MINOR.PATCH` |
|
|
6
|
+
| Prüfmethode | Sonde je Prüfung mit Grenzproben (D-23) |
|
|
7
|
+
| Datum | 2026-09-10 |
|
|
8
|
+
| Framework-Version | 0.20.0 |
|
|
9
|
+
| Ausgangslauf | 0 Fehler, 0 Warnungen |
|
|
10
|
+
| Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
|
|
11
|
+
|
|
12
|
+
## Ausgangslage
|
|
13
|
+
|
|
14
|
+
Die Blindstelle war mit `CR-2026-020` ausgewiesen und durch dessen Regressionsprobe R1 belegt:
|
|
15
|
+
`| Version | 0.1 |` und `| Version | abc |` in `checklists/01-preflight.md` liefen beide mit
|
|
16
|
+
0 Fehlern durch, obwohl der Kopfkommentar des Validators „Versionsfelder in der Form
|
|
17
|
+
`MAJOR.MINOR.PATCH`" zusagte.
|
|
18
|
+
|
|
19
|
+
## Sonden – müssen gemeldet werden
|
|
20
|
+
|
|
21
|
+
Jede Sonde wurde einzeln eingebracht, ihr Ankommen in der Datei verifiziert und danach
|
|
22
|
+
zurückgenommen.
|
|
23
|
+
|
|
24
|
+
| Sonde | Eingebrachter Defekt | Datei | Ergebnis |
|
|
25
|
+
|---|---|---|---|
|
|
26
|
+
| S1 | Versionswert `0.1` – zwei Stellen statt drei | `checklists/01-preflight.md` | **gemeldet** |
|
|
27
|
+
| S2 | Versionswert `abc` – gar keine Zahl | `checklists/01-preflight.md` | **gemeldet** |
|
|
28
|
+
| S3 | Versionswert `1.0`, Steckbriefzeile ohne Backticks | `framework/core/00-principles.md` | **gemeldet** |
|
|
29
|
+
|
|
30
|
+
S3 belegt, dass beide im Kern vorkommenden Schreibweisen erfasst werden: mit Backticks
|
|
31
|
+
(Checklisten, Skills) und ohne (Kernmodule).
|
|
32
|
+
|
|
33
|
+
Die Meldung im Wortlaut:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
leitwerk-core/checklists/01-preflight.md: Versionsfeld '0.1' ist kein Semantic
|
|
37
|
+
Versioning (MAJOR.MINOR.PATCH). Eine Angabe, die keiner Form folgt, laesst sich nicht
|
|
38
|
+
vergleichen - und eine Version, die sich nicht vergleichen laesst, unterscheidet keine
|
|
39
|
+
zwei Zeitpunkte (D-25, FW-VN-01)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Grenzproben – dürfen nicht gemeldet werden
|
|
43
|
+
|
|
44
|
+
| Probe | Eingebrachter Wert | Ergebnis |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| G1 | `2.10.33` – mehrstellige Stellen | **still** |
|
|
47
|
+
| G2 | `<TBD: 0.1.0>` – nicht ausgefüllte Vorlage | **still** |
|
|
48
|
+
|
|
49
|
+
## Fehlalarm der ersten Fassung
|
|
50
|
+
|
|
51
|
+
Die erste Fassung des Musters war zu breit und meldete
|
|
52
|
+
`templates/project-overlay/OVERLAY.md: Versionsfeld 'Datum' ist kein Semantic Versioning`.
|
|
53
|
+
Getroffen war die **Kopfzeile des Overlay-Änderungsverlaufs**:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
| Version | Datum | Änderung | Autor (Rolle) | Validierung bestanden |
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Eine Steckbriefzeile hat genau zwei Spalten. Das Muster ist seitdem auf das Zeilenende
|
|
60
|
+
verankert. Derselbe Fehlertyp wie bei Prüfung 14 in `CR-2026-020`, wo `Devin-Desktop` zunächst
|
|
61
|
+
als Akteursnennung gemeldet wurde: **Ein Muster, das die richtige Sache findet, findet zunächst
|
|
62
|
+
auch die falschen.** Die Grenzproben sind dafür da, nicht die Sonden.
|
|
63
|
+
|
|
64
|
+
## Regressionsproben
|
|
65
|
+
|
|
66
|
+
| Probe | Erwartung | Ergebnis |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| R1 | Der bestehende Teil von Prüfung 13 meldet weiterhin | **gemeldet:** „Kompatible Framework-Version '0.1.0' passt nicht zu `leitwerk-core/VERSION`" nach Verfälschung der Steckbriefangabe |
|
|
69
|
+
| R2 | Prüfung 15 (`CR-2026-021`) meldet weiterhin einen nicht lauffähigen Hook-Interpreter | **gemeldet** nach Zurückdrehen des Hook-Aufrufs auf `python3` |
|
|
70
|
+
|
|
71
|
+
## Was dieser Nachweis nicht belegt
|
|
72
|
+
|
|
73
|
+
- **Nicht, dass eine Version sich bewegt, wenn sich das Artefakt ändert.** Das war der tragende
|
|
74
|
+
Befund von `FW-VN-01`: Alle 13 Skills standen unverändert auf `0.1.0`, obwohl alle 13 geändert
|
|
75
|
+
worden waren. Diese Frage braucht die Versionsgeschichte, nicht die Datei; sie bleibt beim
|
|
76
|
+
Release-Prozess und außerhalb der Reichweite des Validators.
|
|
77
|
+
- **Nicht, dass die Versionen inhaltlich richtig sind.** Geprüft wird die Form, nicht die
|
|
78
|
+
Angemessenheit einer MAJOR-, MINOR- oder PATCH-Anhebung.
|
|
79
|
+
|
|
80
|
+
## Gegenzeichnung (Prüfmethode `review`)
|
|
81
|
+
|
|
82
|
+
| Rolle | Datum | Ergebnis |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | Prüfung 13 erweitert; drei Sonden gemeldet, zwei Grenzproben still; ein Fehlalarm der ersten Fassung behoben |
|
|
85
|
+
| Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1 und E2 einzeln entscheiden>` |
|
|
86
|
+
|
|
87
|
+
Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Wirksamkeitsnachweis `CR-2026-023` – Shell-Lesesperre und Prüfung 16
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Behebung von `AP2-CC-16` und `AP2-CC-15`; Prüfung 16: Der Schutz-Hook erkennt jeden abgebildeten Werkzeugnamen |
|
|
6
|
+
| Prüfmethode | Sonde je Prüfung mit Gegenproben (D-23) |
|
|
7
|
+
| Datum | 2026-09-10 |
|
|
8
|
+
| Framework-Version | 0.21.0 |
|
|
9
|
+
| Ausgangslauf | 0 Fehler, 0 Warnungen |
|
|
10
|
+
| Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
|
|
11
|
+
|
|
12
|
+
## Ausgangslage – der Befund am Hook selbst
|
|
13
|
+
|
|
14
|
+
Vor der Behebung, direkt gegen den Hook gefahren:
|
|
15
|
+
|
|
16
|
+
| Eingabe | Exit | Ergebnis |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| `{"tool_name": "Bash", "command": "cat .env"}` | 0 | **nicht blockiert** |
|
|
19
|
+
| `{"tool_name": "Write", "file_path": ".env"}` | 2 | blockiert |
|
|
20
|
+
|
|
21
|
+
Zwei Ursachen, beide einzeln nachgestellt:
|
|
22
|
+
|
|
23
|
+
1. **Der Werkzeugname.** `hook_tools` bildet `exec` auf `Bash` ab, aber nur für den Matcher; der
|
|
24
|
+
Hook verglich gegen `("exec",)`. Bei `devin-desktop` (`exec → exec`) griff die Prüfung, bei
|
|
25
|
+
`claude-code` nicht.
|
|
26
|
+
2. **Das Pfadmuster.** `(^|[\\/])\.env(\.|$)` trifft `.env`, `./.env` und `cat /pfad/.env` – aber
|
|
27
|
+
nicht `cat .env` oder `grep X .env`, weil vor dem Pfad ein Leerzeichen steht.
|
|
28
|
+
|
|
29
|
+
## Wirkung der Behebung
|
|
30
|
+
|
|
31
|
+
### Sperren – müssen blockieren
|
|
32
|
+
|
|
33
|
+
| Befehl (als `tool_name: "Bash"`) | Ergebnis |
|
|
34
|
+
|---|---|
|
|
35
|
+
| `cat .env` | **blockiert** |
|
|
36
|
+
| `grep API .env` | **blockiert** |
|
|
37
|
+
| `cat ~/.ssh/id_rsa` | **blockiert** |
|
|
38
|
+
| `cat certs/server.pem` | **blockiert** |
|
|
39
|
+
|
|
40
|
+
Alle vier liefen vor der Behebung durch.
|
|
41
|
+
|
|
42
|
+
### Gegenproben – müssen frei bleiben
|
|
43
|
+
|
|
44
|
+
| Befehl | Ergebnis |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `git status`, `ls -la`, `npm test`, `cat README.md` | frei |
|
|
47
|
+
| `python leitwerk-core/install.py --check` | frei |
|
|
48
|
+
| `git diff leitwerk-core/framework/core/00-principles.md` | **frei** |
|
|
49
|
+
| `ls .claude/` | frei |
|
|
50
|
+
|
|
51
|
+
Die vorletzte Zeile ist der Grund für die Trennung der Schutzziele. In der ersten Fassung – eine
|
|
52
|
+
gemeinsame Pfadliste – war dieser lesende Befehl **blockiert**. Das Framework setzt ihn mit P4
|
|
53
|
+
(„Befunde mit Fundstellen") ausdrücklich voraus.
|
|
54
|
+
|
|
55
|
+
### Schreibender Strukturschutz – muss weiter greifen
|
|
56
|
+
|
|
57
|
+
| Eingabe | Ergebnis |
|
|
58
|
+
|---|---|
|
|
59
|
+
| `Write` auf `leitwerk-core/framework/core/00-principles.md` | **blockiert** |
|
|
60
|
+
| `Edit` auf `.claude/settings.json` | **blockiert** |
|
|
61
|
+
|
|
62
|
+
Die Trennung der Listen ist damit keine Lockerung für schreibende Werkzeuge.
|
|
63
|
+
|
|
64
|
+
## Sonden für Prüfung 16 – müssen gemeldet werden
|
|
65
|
+
|
|
66
|
+
Eingebracht in den Hook, danach zurückgenommen; das Ankommen jeder Sonde wurde vor der Wertung
|
|
67
|
+
verifiziert.
|
|
68
|
+
|
|
69
|
+
| Sonde | Eingebrachter Defekt | Ergebnis |
|
|
70
|
+
|---|---|---|
|
|
71
|
+
| S1 | Hook auf die alte Logik zurückgedreht (feste Werkzeugnamen statt Manifest) | **gemeldet:** „`claude-code/manifest.json`: Der Schutz-Hook erkennt den Werkzeugnamen 'Bash' nicht, den dieses Pack für das Verb 'exec' abbildet" |
|
|
72
|
+
| S2 | Tokenisierung für Shell-Befehle entfernt | **gemeldet**, für **beide** Packs |
|
|
73
|
+
|
|
74
|
+
**S1 ist der eigentliche Beleg:** Die Meldung benennt exakt `AP2-CC-16`. Prüfung 16 hätte den
|
|
75
|
+
Befund gefunden.
|
|
76
|
+
|
|
77
|
+
## Was beinahe schiefging – die Prüfung prüfte nur das installierte Pack
|
|
78
|
+
|
|
79
|
+
In der ersten Fassung las Prüfung 16 die Abbildung aus `man` – dem Manifest des **installierten**
|
|
80
|
+
Packs. Die Referenzinstallation im Repository ist `devin-desktop`, und dort heißt das Verb
|
|
81
|
+
`exec`, das auch die alte Basisliste kennt. **Sonde S1 blieb still**, obwohl der Defekt
|
|
82
|
+
eingebracht war.
|
|
83
|
+
|
|
84
|
+
Der Befund betraf `claude-code` – ein Pack ohne Installation. Genau die Lage, in der `AP2-CC-16`
|
|
85
|
+
acht Releases lang unbemerkt blieb: Geprüft wurde, was installiert ist, und der Verlust lag beim
|
|
86
|
+
anderen Pack. Prüfung 16 liest deshalb **alle** Manifeste; der Hook wird von allen Packs geteilt.
|
|
87
|
+
|
|
88
|
+
Das ist die dritte wirkungslose Prüfung in vier Releases, gefunden durch den
|
|
89
|
+
Wirksamkeitsnachweis. Sie war jedes Mal aus einem anderen Grund still – fehlende Wortgrenzen, ein
|
|
90
|
+
Manifestfeld, das es nicht gibt, ein zu enger Prüfumfang.
|
|
91
|
+
|
|
92
|
+
## Sitzungsnachweis – allein der Hook trägt
|
|
93
|
+
|
|
94
|
+
Gefahren mit `claude -p` in einer Testinstallation, aus der **jede andere Schutzschicht entfernt
|
|
95
|
+
wurde**: keine Regelablage, keine Wurzel-Anweisungsdatei, kein `SessionStart`-Hook, die
|
|
96
|
+
`Read`-`deny`-Regeln für `.env` gelöscht und `Bash(cat:*)` ausdrücklich in `allow` aufgenommen.
|
|
97
|
+
Blockiert dort noch etwas, kann es nur der Schutz-Hook sein.
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
TOOL_USE: Bash {"command": "cat .env"}
|
|
101
|
+
ERGEBNIS: is_error=True
|
|
102
|
+
Framework-Regel: Operation betrifft einen geschuetzten Pfad
|
|
103
|
+
(Secrets, Wurzel-Anweisungsdatei, Laufzeitschicht, …)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Der Wert aus der `.env` kommt im gesamten Sitzungsverlauf **nicht vor**. Ein `ls -la` im selben
|
|
107
|
+
Lauf lief durch und zeigte die Datei – die Sperre trifft den Zugriff, nicht die Sichtbarkeit.
|
|
108
|
+
|
|
109
|
+
**Damit ist die Shell-Lesesperre nicht nur am Hook, sondern in einer laufenden Sitzung belegt.**
|
|
110
|
+
|
|
111
|
+
## Regressionsproben
|
|
112
|
+
|
|
113
|
+
| Probe | Erwartung | Ergebnis |
|
|
114
|
+
|---|---|---|
|
|
115
|
+
| R1 | Prüfung 15 meldet weiterhin einen nicht lauffähigen Hook-Interpreter | gemeldet |
|
|
116
|
+
| R2 | Prüfung 13 meldet weiterhin ein ungültiges Artefakt-Versionsfeld | gemeldet |
|
|
117
|
+
| R3 | Ausgangslauf 0 Fehler | 0 Fehler, 0 Warnungen |
|
|
118
|
+
|
|
119
|
+
## Was dieser Nachweis nicht belegt
|
|
120
|
+
|
|
121
|
+
- **Die Sperre schützt gegen Versehen, nicht gegen Absicht.** Geprüft wird die Zeichenkette des
|
|
122
|
+
Befehls. Verschleierung – `cat .e''nv`, eine Variable, ein base64-Umweg, ein Skript, das die
|
|
123
|
+
Datei öffnet – wird nicht erfasst. Das ist die Grenze jeder textuellen Prüfung.
|
|
124
|
+
- **Kein Nachweis für `devin-desktop` in einer laufenden Sitzung.** Die Abbildung ist dieselbe
|
|
125
|
+
und Prüfung 16 deckt das Pack mit ab, aber es gibt keine Installation.
|
|
126
|
+
- **`AP2-CC-14` bleibt offen** – die `allow`-Regeln wirken erst nach dem Vertrauensdialog.
|
|
127
|
+
|
|
128
|
+
## Gegenzeichnung (Prüfmethode `review`)
|
|
129
|
+
|
|
130
|
+
| Rolle | Datum | Ergebnis |
|
|
131
|
+
|---|---|---|
|
|
132
|
+
| Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | `AP2-CC-16` (neu) und `AP2-CC-15` behoben; Prüfung 16 eingeführt; zwei Sonden gemeldet, elf Gegenproben wie erwartet, ein Sitzungsnachweis; ein zu enger Prüfumfang der ersten Fassung behoben |
|
|
133
|
+
| Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1, E2 und E3 einzeln entscheiden>` |
|
|
134
|
+
|
|
135
|
+
Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Wirksamkeitsnachweis `CR-2026-024` – Platzhalter mit Clientnamen
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Erweiterung von Prüfung 14: Kein Platzhalter des Kerns trägt einen Clientnamen |
|
|
6
|
+
| Prüfmethode | Sonde je Prüfung mit Grenzproben (D-23) |
|
|
7
|
+
| Datum | 2026-09-10 |
|
|
8
|
+
| Framework-Version | 0.22.0 |
|
|
9
|
+
| Ausgangslauf | 0 Fehler, 0 Warnungen |
|
|
10
|
+
| Ausführende Rolle | Ersteller (KI-gestützt, Sitzung) |
|
|
11
|
+
|
|
12
|
+
## Ausgangslage
|
|
13
|
+
|
|
14
|
+
`CR-2026-020` wies drei Restpunkte aus, darunter den Marker
|
|
15
|
+
`VERIFY AGAINST CURRENT <name> DOCUMENTATION` „an fünf Kernstellen". Prüfung 14 fand ihn nicht:
|
|
16
|
+
Sie sucht den **kapitalisierten** Clientnamen, ein Platzhalter schreibt ihn **groß**.
|
|
17
|
+
|
|
18
|
+
## Sonden – müssen gemeldet werden
|
|
19
|
+
|
|
20
|
+
Angehängt an `framework/core/00-principles.md`, danach zurückgenommen.
|
|
21
|
+
|
|
22
|
+
| Sonde | Eingebrachter Platzhalter | Ergebnis |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| S1 | `VERIFY AGAINST CURRENT DEVIN DOCUMENTATION` (in spitzen Klammern) – Name als eigenes Wort | **gemeldet** |
|
|
25
|
+
| S2 | `DEVIN_PROJECT_DIR` (in spitzen Klammern) – Name als Namensteil mit Unterstrich | **gemeldet** |
|
|
26
|
+
| S3 | `CLAUDE_SETTINGS_PATH` (in spitzen Klammern) – der zweite Clientname | **gemeldet** |
|
|
27
|
+
|
|
28
|
+
**S2 war zunächst still.** Die erste Fassung trennte den Platzhalternamen nur an Leerzeichen,
|
|
29
|
+
sodass `DEVIN_PROJECT_DIR` ein einziges Token blieb und der Vergleich ins Leere lief. Getrennt
|
|
30
|
+
wird seitdem an Leerzeichen **und** Unterstrichen. Ohne diese Sonde wäre die Prüfung mit einer
|
|
31
|
+
Lücke ausgeliefert worden, die genau die Hälfte der Fälle betrifft.
|
|
32
|
+
|
|
33
|
+
**S3 belegt** wie schon bei der Akteursprüfung: Die Namen stammen aus den Pack-Kennungen, nicht
|
|
34
|
+
aus einer Liste im Skript. Ein künftiges Client Pack wird ohne Änderung erfasst.
|
|
35
|
+
|
|
36
|
+
## Grenzproben – dürfen nicht gemeldet werden
|
|
37
|
+
|
|
38
|
+
| Probe | Eingebrachter Text | Ort | Ergebnis |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| G1 | `VERIFY AGAINST CURRENT CLIENT DOCUMENTATION` (in spitzen Klammern) | Kernmodul | still |
|
|
41
|
+
| G2 | `RUNTIME_DIR`, `CLIENT_NAME` (in spitzen Klammern) | Kernmodul | still |
|
|
42
|
+
| G3 | `HOOKS_FILE`, `PERMISSIONS_FILE` (in spitzen Klammern) | Kernmodul | still |
|
|
43
|
+
| G4 | `DEVIN_PROJECT_DIR` (in spitzen Klammern) | **Client Pack** | still |
|
|
44
|
+
| G5 | `DEVIN_PROJECT_DIR` (in spitzen Klammern) | **Platzhalterregister** | still |
|
|
45
|
+
|
|
46
|
+
G4 und G5 ziehen die beiden Linien, auf die es ankommt: Im Client Pack ist der Name richtig, und
|
|
47
|
+
das Register **nennt** Platzhalter, es verwendet sie nicht.
|
|
48
|
+
|
|
49
|
+
## Was die Prüfung gefunden hat, das die Zählung nicht sah
|
|
50
|
+
|
|
51
|
+
`CR-2026-020` führte „fünf Kernstellen". Tatsächlich:
|
|
52
|
+
|
|
53
|
+
| Ort | Stellen |
|
|
54
|
+
|---|---|
|
|
55
|
+
| Markdown-Dateien des Kerns | **8** |
|
|
56
|
+
| `tests/scripts/hook-overlay-status.py` | 1 |
|
|
57
|
+
| `tests/scripts/hook-check-secrets.py` | 1 |
|
|
58
|
+
|
|
59
|
+
Die beiden Skriptstellen hatte die manuelle Zählung übersehen, weil sie nur `*.md` durchsucht
|
|
60
|
+
hatte. **Dasselbe Muster wie bei `CR-2026-020` selbst**, wo die Roadmap 76 Nennungen führte und
|
|
61
|
+
es 248 waren: Eine von Hand erhobene Zahl über den eigenen Zustand fällt zu klein aus, weil man
|
|
62
|
+
dort zählt, wo man den Fehler vermutet.
|
|
63
|
+
|
|
64
|
+
## Die Prüfung erwischt ihren eigenen Erklärtext
|
|
65
|
+
|
|
66
|
+
Dreimal in dieser Sitzung meldete eine neu gebaute Prüfung den Text, der sie **beschreibt** –
|
|
67
|
+
den erläuternden Absatz in der Roadmap, den Docstring der Prüffunktion, den Kommentar über der
|
|
68
|
+
Trennregel. Jedes Mal war die Meldung **richtig**: Wer einen Namen im Kern verbietet, verbietet
|
|
69
|
+
ihn auch in der eigenen Begründung.
|
|
70
|
+
|
|
71
|
+
Das ist kein Fehlalarm, sondern die Probe aufs Exempel. Die Texte sind so umformuliert, dass sie
|
|
72
|
+
die Regel beschreiben, ohne sie zu verletzen.
|
|
73
|
+
|
|
74
|
+
## Regressionsproben
|
|
75
|
+
|
|
76
|
+
| Probe | Erwartung | Ergebnis |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| R1 | Prüfung 14 meldet weiterhin eine Akteursnennung im Kern | gemeldet |
|
|
79
|
+
| R2 | Prüfung 16 meldet weiterhin einen nicht erkannten Werkzeugnamen | gemeldet |
|
|
80
|
+
| R3 | Ausgangslauf 0 Fehler | 0 Fehler, 0 Warnungen |
|
|
81
|
+
|
|
82
|
+
## Was dieser Nachweis nicht belegt
|
|
83
|
+
|
|
84
|
+
- **Nur Platzhalter werden erfasst.** Eine Client-Bindung außerhalb spitzer Klammern und außerhalb
|
|
85
|
+
der kapitalisierten Form – etwa ein Produktname mitten in einem Codebeispiel – bleibt
|
|
86
|
+
unerkannt. Das ist die bewusste Grenze aus E2: `CLAUDE.md` ist ein Dateiname, kein Akteur.
|
|
87
|
+
- **Der dritte Restpunkt aus `CR-2026-020` bleibt offen.** Die Zeile „Umsetzung beim KI-Client"
|
|
88
|
+
in `05-working-model.md` nennt weiterhin clientspezifische Mechanismen. Das ist keine
|
|
89
|
+
Bezeichnungsfrage und braucht einen eigenen Vorgang.
|
|
90
|
+
|
|
91
|
+
## Gegenzeichnung (Prüfmethode `review`)
|
|
92
|
+
|
|
93
|
+
| Rolle | Datum | Ergebnis |
|
|
94
|
+
|---|---|---|
|
|
95
|
+
| Ersteller des Reviews (KI-gestützt, Sitzung) | 2026-09-10 | Dateiname umbenannt, zehn Markerstellen gelöst, Prüfung 14 erweitert; drei Sonden gemeldet, fünf Grenzproben still, drei Regressionsproben; eine Lücke der ersten Fassung durch Sonde S2 gefunden |
|
|
96
|
+
| Zweite Rolle: `<FRAMEWORK_OWNER>` | `<TBD: Datum>` | `<TBD: Abnahme; E1, E2 und E3 einzeln entscheiden>` |
|
|
97
|
+
|
|
98
|
+
Solange die zweite Zeile offen ist, ist dieser Nachweis **vorgelegt, nicht abgezeichnet**.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Testprotokoll FW-DS-03 – Hook blockiert Secrets in der Werkzeugeingabe
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Test-ID | `FW-DS-03` (Basis) |
|
|
6
|
+
| Framework-Version | 0.11.0 |
|
|
7
|
+
| Datum | 2026-09-10 |
|
|
8
|
+
| Prüfmethode | skript |
|
|
9
|
+
| Prüfgegenstand | `leitwerk-core/tests/scripts/hook-check-secrets.py` |
|
|
10
|
+
|
|
11
|
+
## Verfahren
|
|
12
|
+
|
|
13
|
+
Das Hook-Skript liest die Werkzeugeingabe als JSON von der Standardeingabe und blockiert mit
|
|
14
|
+
Exit-Code 2. Geprüft wurden zehn synthetische Eingaben: sechs mit Secret-Mustern, die
|
|
15
|
+
blockiert werden müssen, und vier ohne, die durchgelassen werden müssen. Alle Werte sind
|
|
16
|
+
erfunden; keiner stammt aus einer realen Quelle.
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
python leitwerk-core/tests/scripts/hook-check-secrets.py < <Eingabe>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Ergebnis
|
|
23
|
+
|
|
24
|
+
| # | Werkzeugeingabe (synthetisch) | Erwartet | Ergebnis |
|
|
25
|
+
|---|---|---|---|
|
|
26
|
+
| 1 | Inhalt beginnt mit der PEM-Kopfzeile eines privaten Schlüssels | Exit 2 | Exit 2 |
|
|
27
|
+
| 2 | Befehl mit `Authorization: Bearer <32 Zeichen>` | Exit 2 | Exit 2 |
|
|
28
|
+
| 3 | Inhalt `db.password = <synthetischer Wert, 11 Zeichen>` | Exit 2 | Exit 2 |
|
|
29
|
+
| 4 | Befehl mit `postgres://<nutzer>:<wort>@datenbank/biv` | Exit 2 | Exit 2 |
|
|
30
|
+
| 5 | Inhalt mit `AKIA…` (16 Folgezeichen) | Exit 2 | Exit 2 |
|
|
31
|
+
| 6 | Inhalt mit dreiteiligem JWT | Exit 2 | Exit 2 |
|
|
32
|
+
| 7 | Prosa: „Das Passwort gehoert nicht in den Quelltext." | Exit 0 | Exit 0 |
|
|
33
|
+
| 8 | `token = ab` (Wert unter der Längenschwelle) | Exit 0 | Exit 0 |
|
|
34
|
+
| 9 | `password=<TBD: aus dem Tresor>` | Exit 0 | Exit 0 |
|
|
35
|
+
| 10 | Gewöhnlicher Quelltext ohne Muster | Exit 0 | Exit 0 |
|
|
36
|
+
|
|
37
|
+
**Zehn von zehn wie erwartet, null Fehlschläge.** Alle sechs Musterkategorien des Skripts
|
|
38
|
+
sind abgedeckt.
|
|
39
|
+
|
|
40
|
+
Die Tabelle nennt die Kategorien und nicht die Muster: Die tatsächlich verwendeten Eingaben
|
|
41
|
+
enthalten vollständige Zeichenketten, und der Validator meldet dieses Protokoll sonst selbst.
|
|
42
|
+
Das ist kein Umweg, sondern die Probe aufs Exempel – die erste Fassung dieses Protokolls
|
|
43
|
+
wurde mit drei Fehlern zurückgewiesen, weil sie die Werte ausgeschrieben hatte
|
|
44
|
+
(`CR-2026-013`, Prüfung 6).
|
|
45
|
+
|
|
46
|
+
## Bekannter Falschalarm, bewusst in Kauf genommen
|
|
47
|
+
|
|
48
|
+
Fall 9 läuft nicht durch, weil das Skript den Platzhalter erkennt, sondern weil `<TBD:` unter
|
|
49
|
+
der Längenschwelle bleibt. Ein längerer Platzhalter wird blockiert:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
password=<SYNTHETISCHES-BEISPIEL> → Exit 2
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Das ist ein Falschalarm, und er bleibt bestehen. Die beiden Durchsetzungspunkte behandeln
|
|
56
|
+
Platzhalter absichtlich verschieden:
|
|
57
|
+
|
|
58
|
+
| | Hook | Validator |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| Prüft | eine laufende Werkzeugoperation | den versionierten Bestand |
|
|
61
|
+
| Kosten eines Falschalarms | eine blockierte Operation, die der Mensch anders formuliert | ein Fehler, der jeden Release-Lauf anhält |
|
|
62
|
+
| Platzhalter in spitzen Klammern | wird blockiert | ist ausgenommen |
|
|
63
|
+
|
|
64
|
+
Beim Hook ist die strengere Auslegung die sichere: Blockieren ist billig, Durchlassen nicht.
|
|
65
|
+
Beim Validator wäre sie es nicht – das Framework schreibt seine Beispiele durchgehend mit
|
|
66
|
+
Platzhaltern, und ein Fehler je Beispiel machte den Testfall unbrauchbar.
|
|
67
|
+
|
|
68
|
+
## Bekannte Grenzen
|
|
69
|
+
|
|
70
|
+
- Geprüft ist das Skript, nicht seine Auslösung durch einen KI-Client. Ob der Client den Hook
|
|
71
|
+
mit diesem Eingabeschema aufruft und Exit-Code 2 als Blockade auswertet, bleibt Gegenstand
|
|
72
|
+
von Roadmap AP2 (`FW-AK-02`).
|
|
73
|
+
- Der Hook läuft weiterhin **fail-open**: Eine nicht als JSON lesbare Eingabe wird
|
|
74
|
+
durchgelassen, solange `FW_HOOK_FAIL_CLOSED=1` nicht gesetzt ist. Die Umstellung auf
|
|
75
|
+
fail-closed steht in AP2 und setzt voraus, dass das Eingabeschema bestätigt ist.
|
|
76
|
+
- Die Muster erkennen Formen, keine Bedeutungen. Ein Secret ohne Zuweisungssyntax und ohne
|
|
77
|
+
bekanntes Präfix – eine nackte Zeichenkette – wird nicht erkannt. Dagegen tragen die
|
|
78
|
+
Leseverbote der Berechtigungsdatei (`.env`, `**/*.pem`, `**/secrets/**`).
|
|
79
|
+
|
|
80
|
+
## Gegenzeichnung
|
|
81
|
+
|
|
82
|
+
Rollen statt Personen (`framework/runtime/rules/20-project-overlay.md`).
|
|
83
|
+
|
|
84
|
+
| Rolle | Datum | Umfang |
|
|
85
|
+
|---|---|---|
|
|
86
|
+
| Durchführung (KI-gestützt, Sitzung) | siehe Kopf des Protokolls | der oben berichtete Lauf |
|
|
87
|
+
| Gegenzeichnung: `<FRAMEWORK_OWNER>` | 2026-09-23 | Protokoll vollständig gelesen |
|
|
88
|
+
|
|
89
|
+
🔴 **Selbstgegenzeichnung: keine zweite Rolle vorhanden** (D-319, `CR-2026-127` E1, Weg C und B). Verfasser und Gegenzeichner sind dieselbe Person; die Zusage *„Handlung einer zweiten Rolle“* ist damit **zurückgenommen, nicht erfüllt**.
|
|
90
|
+
➡️ *Die Zeile sagt, WAS gegengezeichnet wurde; der Commit sagt, WER.* Die Unterschrift ist der Release-Commit unter der Identität des Owners – ein Werkzeug kann diese Zeile schreiben, den Commit nicht.
|