@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,126 @@
|
|
|
1
|
+
# Testprotokoll – Wirkungsnachweis der Prüfung 6 (Release 0.26.1, Befund B03)
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Test-ID | `FW-KO-01` (Basis), Teilnachweis für die mit 0.26.1 geänderte Prüfung 6 |
|
|
6
|
+
| Framework-Version | 0.26.1 |
|
|
7
|
+
| Datum | 2026-09-12 |
|
|
8
|
+
| Prüfmethode | skript |
|
|
9
|
+
| Prüfgegenstand | Framework-Repository; je Sonde eine vollständige Kopie in einem Temporärverzeichnis |
|
|
10
|
+
| Werkzeug | `leitwerk-core/tests/scripts/probe-pruefungen.py` |
|
|
11
|
+
| Umgebung | Windows 11, Python 3.14.4, PyYAML 6.0.3 |
|
|
12
|
+
| Ergebnis | **alle Sonden gemeldet, keine Gegenprobe beanstandet; gegen die Vorfassung 0.26.0 fallen sieben von sieben** |
|
|
13
|
+
|
|
14
|
+
## 1. Warum dieses Protokoll
|
|
15
|
+
|
|
16
|
+
Befund **B03** des unabhängigen Reviews vom 2026-09-12: Prüfung 6 gab die gefundenen Werte im
|
|
17
|
+
Klartext aus – E-Mail-Adressen, IP-Adressen, interne Hostnamen, URLs samt Parametern und
|
|
18
|
+
Sperrbegriffe. Die Korrektur steht in `CR-2026-043` und D-39.
|
|
19
|
+
|
|
20
|
+
**Dieser Nachweis hat eine Eigenheit, die ihn von allen bisherigen unterscheidet.** Die üblichen
|
|
21
|
+
Sonden belegen, dass eine Prüfung etwas **meldet**. Hier genügt das nicht: Die alte Fassung meldete
|
|
22
|
+
ebenfalls – sie meldete sogar mehr, nämlich den Wert dazu. Jede Sonde dieses Blocks prüft deshalb
|
|
23
|
+
**zwei Bedingungen**:
|
|
24
|
+
|
|
25
|
+
1. Der Befund wird gemeldet, erkennbar an der neutralen Kennung der Kategorie.
|
|
26
|
+
2. **Der Markerwert steht nirgends in der Ausgabe** – weder in der Standard- noch in der
|
|
27
|
+
Fehlerausgabe des Laufs.
|
|
28
|
+
|
|
29
|
+
Die zweite Bedingung ist die eigentliche. Die erste hätte die alte Fassung ebenfalls bestanden.
|
|
30
|
+
|
|
31
|
+
## 2. Ausgeführte Befehle und Ergebnis
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
python leitwerk-core/tests/scripts/validate-framework.py
|
|
35
|
+
→ Ergebnis: 0 Fehler, 0 Warnungen
|
|
36
|
+
|
|
37
|
+
python leitwerk-core/tests/scripts/probe-pruefungen.py .
|
|
38
|
+
→ alle Sonden und Gegenproben bestanden (Exit 0)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 3. Der Lauf, der den Nachweis trägt
|
|
42
|
+
|
|
43
|
+
Bedingung 2 ist ein **Abwesenheitsnachweis**: Etwas steht nicht in der Ausgabe. Ein solcher Nachweis
|
|
44
|
+
belegt sich nicht selbst – er braucht einen Lauf, in dem dieselbe Sonde denselben Wert **findet**
|
|
45
|
+
(Verfahren Punkt 7 des Testkatalogs). Dieser Lauf ist hier nicht konstruiert, sondern liegt vor:
|
|
46
|
+
**derselbe Sondenblock gegen die Vorfassung 0.26.0.**
|
|
47
|
+
|
|
48
|
+
Aufbau: eine Kopie des Arbeitsbaums, in der allein `validate-framework.py` und
|
|
49
|
+
`hook-check-secrets.py` auf den Stand `HEAD` (0.26.0) zurückgesetzt sind. Der Sondenblock ist
|
|
50
|
+
derselbe.
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
python <kopie>/leitwerk-core/tests/scripts/probe-pruefungen.py <kopie>
|
|
54
|
+
→ Ergebnis: 7 Abweichung(en) (Exit 1)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
| Lauf | Sonden der Prüfung 6 | Ergebnis |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| gegen 0.26.0 (Vorfassung) | 7 | **alle sieben fallen** |
|
|
60
|
+
| gegen 0.26.1 (diese Fassung) | 7 | alle sieben bestehen |
|
|
61
|
+
| Gegenprobe, beide Fassungen | 1 | besteht in beiden – die Prüfung ist nicht breiter geworden |
|
|
62
|
+
|
|
63
|
+
**Damit misst der Block die Änderung und nicht sich selbst.** Eine Sonde, die gegen beide Fassungen
|
|
64
|
+
besteht, belegt nichts; das ist die Auflage der Entscheidung zu `CR-2026-043`.
|
|
65
|
+
|
|
66
|
+
Sechs der sieben fallen an Bedingung 2 – der Wert stand in der Ausgabe. Die Secret-Sonde fällt
|
|
67
|
+
allein an Bedingung 1: Diese Diagnose gab den Wert **nie** aus, ihr fehlte die Fundstelle. Auch das
|
|
68
|
+
ist ein Messergebnis und kein Mangel der Sonde.
|
|
69
|
+
|
|
70
|
+
## 4. Sonden und Gegenproben im Einzelnen
|
|
71
|
+
|
|
72
|
+
Die gesetzten Marker sind synthetisch und stehen ausschließlich in `probe-pruefungen.py`; dieses
|
|
73
|
+
Verzeichnis ist von Prüfung 6 ausgenommen. **Sie werden hier nicht wiedergegeben** – aus demselben
|
|
74
|
+
Grund, aus dem dieser Antrag gestellt wurde.
|
|
75
|
+
|
|
76
|
+
| Kategorie | Art | Gesetzter Defekt beziehungsweise erlaubter Fall | gegen 0.26.0 | gegen 0.26.1 |
|
|
77
|
+
|---|---|---|---|---|
|
|
78
|
+
| E-Mail-Adresse | Sonde | synthetische Adresse außerhalb der Dokumentationsdomänen in einer geprüften Datei | Wert in der Ausgabe | Kennung `FW-CONTENT-EMAIL`, kein Wert |
|
|
79
|
+
| IP-Adresse | Sonde | Adresse außerhalb der Dokumentations- und Loopback-Bereiche | Wert in der Ausgabe | Kennung `FW-CONTENT-IP`, kein Wert |
|
|
80
|
+
| interner Hostname | Sonde | Name auf einer als intern geführten Endung | Wert in der Ausgabe | Kennung `FW-CONTENT-HOST`, kein Wert |
|
|
81
|
+
| URL | Sonde | URL außerhalb der Allowlist, mit Pfadangabe | vollständige URL in der Ausgabe | Kennung `FW-CONTENT-URL`, kein Wert |
|
|
82
|
+
| Sperrbegriff | Sonde | Begriff in die Sperrliste **und** in eine geprüfte Datei eingetragen | Begriff in der Ausgabe | Kennung `FW-CONTENT-TERM`, kein Wert |
|
|
83
|
+
| Secret-Muster | Sonde | Zeichenkette im Format eines Cloud-Zugangsschlüssels | Kategorie ohne Wert, **aber ohne Fundstelle** | Kennung `FW-CONTENT-SECRET` mit Zeile und Spalte |
|
|
84
|
+
| Hook-Zusatzmuster | Sonde | ungültiger regulärer Ausdruck in der Umgebungsvariablen für projektspezifische Pfadmuster | Muster in der Fehlerausgabe | Position statt Wert |
|
|
85
|
+
| alle Kategorien | Gegenprobe | Dokumentationsadresse, IP aus dem Dokumentationsbereich, URL von der Allowlist | unbeanstandet | unbeanstandet |
|
|
86
|
+
|
|
87
|
+
**Die Gegenprobe ist der Teil, den man weglassen kann und nicht weglassen sollte.** Ohne sie
|
|
88
|
+
belegte der Block nur, dass die Prüfung meldet – nicht, dass sie das Richtige meldet. Eine Prüfung,
|
|
89
|
+
die jede Adresse beanstandet, besteht alle sieben Sonden darüber.
|
|
90
|
+
|
|
91
|
+
## 5. Die Sonde schwärzt ihre eigene Ausgabe
|
|
92
|
+
|
|
93
|
+
Meldet eine Sonde eine Abweichung, zeigt sie zur Diagnose einige Zeilen der Validatorausgabe. Genau
|
|
94
|
+
dort stünde bei einem Fehlschlag der Wert, dessen Weitertragen die Sonde beanstandet. Der
|
|
95
|
+
Markerwert wird deshalb vor der Ausgabe ersetzt. Im Lauf gegen 0.26.0 ist das zu sehen:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
SONDE 6 FEHL Gesperrter Begriff: gemeldet, Begriff nicht ausgegeben
|
|
99
|
+
Befund nicht gemeldet. Ausgabe: FEHLER <datei>: gesperrter Begriff '<Marker entfernt>'
|
|
100
|
+
Der Markerwert steht in der Ausgabe - das ist B03 selbst.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Ohne diese Schwärzung hätte der Nachweis den Befund reproduziert, den er führt – eine Ebene höher.
|
|
104
|
+
|
|
105
|
+
## 6. Grenzen dieses Nachweises
|
|
106
|
+
|
|
107
|
+
- **Der Mermaid-Fehlerpfad ist geändert, aber unbelegt.** Er verlangt einen fehlschlagenden Lauf des
|
|
108
|
+
externen Renderers; dieser fehlt in der Umgebung. Nach D-23 ist das ein **offener** Nachweis, kein
|
|
109
|
+
erledigter – die Auflage der Entscheidung weist ihn ausdrücklich so aus.
|
|
110
|
+
- **`FW-DS-01` bleibt offen.** Der Sitzungstest prüft, ob das **Modell** einen Fund nur über die
|
|
111
|
+
Fundstelle meldet. Dieses Protokoll prüft das Werkzeug. Dass beide dieselbe Regel tragen, war der
|
|
112
|
+
Anlass des Befunds – eingelöst ist damit nur die eine Hälfte.
|
|
113
|
+
- **Der Block prüft die Diagnosen der Prüfung 6 und zwei Fehlerpfade, nicht jede Ausgabe des
|
|
114
|
+
Validators.** Ob weitere Stellen fremden Inhalt weitertragen, ist eine Frage der Durchsicht, nicht
|
|
115
|
+
dieses Laufs. Geprüft und unauffällig: die Diagnosen, die Werte aus dem eigenen Vokabular des
|
|
116
|
+
Frameworks nennen – Platzhalternamen, Versionsangaben, Verweisziele.
|
|
117
|
+
|
|
118
|
+
## 7. Bewertung
|
|
119
|
+
|
|
120
|
+
**Bestanden.** Prüfung 6 meldet nach 0.26.1 Pfad, Zeile, Spalte und Kategorie; der gefundene Wert
|
|
121
|
+
erscheint in keiner Ausgabe. Der Nachweis ist wiederholbar und trägt seine eigene Positivkontrolle
|
|
122
|
+
in Gestalt des Laufs gegen die Vorfassung.
|
|
123
|
+
|
|
124
|
+
| Feld | Inhalt |
|
|
125
|
+
|---|---|
|
|
126
|
+
| Gegenzeichnung | `<TBD>` |
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Testprotokoll – Wirkungsnachweis der Prüfung 25 und von `--list-skills` (Release 0.27.0)
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Test-ID | `FW-KO-01` (Basis), Teilnachweis für die mit 0.27.0 hinzugekommene Prüfung 25 und für `install.py --list-skills` |
|
|
6
|
+
| Framework-Version | 0.27.0 |
|
|
7
|
+
| Datum | 2026-09-12 |
|
|
8
|
+
| Prüfmethode | skript |
|
|
9
|
+
| Prüfgegenstand | Framework-Repository; je Sonde eine vollständige Kopie in einem Temporärverzeichnis |
|
|
10
|
+
| Werkzeug | `leitwerk-core/tests/scripts/probe-pruefungen.py` |
|
|
11
|
+
| Umgebung | Windows 11, Python 3.14.4, PyYAML 6.0.3 |
|
|
12
|
+
| Ergebnis | **alle Sonden gemeldet, keine Gegenprobe beanstandet** |
|
|
13
|
+
|
|
14
|
+
## 1. Was nachzuweisen war
|
|
15
|
+
|
|
16
|
+
Drei Anträge sind mit diesem Release umgesetzt. Zwei davon ändern nur Text und brauchen keinen
|
|
17
|
+
eigenen Wirkungsnachweis; `CR-2026-041` bringt zwei neue Mechanismen, und für die gilt D-23:
|
|
18
|
+
|
|
19
|
+
| Gegenstand | Entscheidung | Warum ein Nachweis nötig ist |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| **Prüfung 25** – eine Zeile auf `[NICHT ABBILDBAR]` nennt den Ersatz | D-41 | Sie ist die Bedingung, unter der die Sperrklausel gelockert wurde. Ohne sie wäre die Lockerung eine Abbuchung |
|
|
22
|
+
| **`install.py --list-skills`** | D-42 | Er ist der Ersatz für eine Zusage, die ein Client nicht einlöst. Ein Ersatz, der nicht leistet, was er verspricht, wäre der Befundtyp dieses Projekts |
|
|
23
|
+
|
|
24
|
+
## 2. Ausgeführte Befehle und Ergebnis
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
python leitwerk-core/tests/scripts/validate-framework.py
|
|
28
|
+
→ Ergebnis: 0 Fehler, 0 Warnungen
|
|
29
|
+
|
|
30
|
+
python leitwerk-core/tests/scripts/probe-pruefungen.py .
|
|
31
|
+
→ alle Sonden und Gegenproben bestanden (Exit 0)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 3. Prüfung 25 hat beim ersten Lauf zwei echte Zeilen gemeldet
|
|
35
|
+
|
|
36
|
+
Der Nachweis begann nicht mit einer Sonde, sondern mit einem Befund. Unmittelbar nach dem Einbau
|
|
37
|
+
meldete Prüfung 25 **zwei** Zeilen, die auf `[NICHT ABBILDBAR]` standen, ohne einen Ersatz zu
|
|
38
|
+
benennen:
|
|
39
|
+
|
|
40
|
+
| Zeile | Pack | Was fehlte |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `S5` | `claude-code` | Skills sind nicht aufzählbar – der Ersatz `install.py --list-skills` war beschlossen, stand aber nicht in der Zeile |
|
|
43
|
+
| `X2` | `devin-desktop` | Art und Ort der Codebasis-Indexierung. Hier gibt es **keinen** Ersatz; auch das war nicht gesagt |
|
|
44
|
+
|
|
45
|
+
**Die Lücke, gegen die die Prüfung gebaut ist, war bereits da.** Beide Zeilen sind mit diesem
|
|
46
|
+
Release ergänzt – die eine um den Ersatz, die andere um die ausdrückliche Feststellung, dass es
|
|
47
|
+
keinen gibt.
|
|
48
|
+
|
|
49
|
+
## 4. Sonden und Gegenproben im Einzelnen
|
|
50
|
+
|
|
51
|
+
| Gegenstand | Art | Gesetzter Defekt beziehungsweise erlaubter Fall | Ergebnis |
|
|
52
|
+
|---|---|---|---|
|
|
53
|
+
| Prüfung 25 | Sonde | In einem Pack wird das Wort ersetzt, auf das die Prüfung sieht – die S5-Zeile nennt ihren Ersatz nicht mehr | gemeldet |
|
|
54
|
+
| Prüfung 25 | Gegenprobe | Die Zusammenfassungstabelle desselben Dokuments führt `[NICHT ABBILDBAR]` als **Zeilenbeschriftung** und nennt keinen Ersatz | unbeanstandet |
|
|
55
|
+
| `--list-skills` | Sonde | Ein Skill, den keine Kernquelle liefert, wird in die Ablage gelegt | geführt, Herkunft `Projekt`, Aufrufbarkeit aus dem Frontmatter gelesen |
|
|
56
|
+
| `--list-skills` | Gegenprobe | Ein Verzeichnis **ohne** `SKILL.md` in derselben Ablage | nicht als Skill geführt |
|
|
57
|
+
| `--list-skills` | Sonde | – | die Ausgabe nennt ihre eigene Grenze |
|
|
58
|
+
|
|
59
|
+
Die Gegenprobe zu Prüfung 25 trifft genau die Stelle, an der die Prüfung zu breit hätte werden
|
|
60
|
+
können: Dieselbe Zeichenkette steht im selben Dokument einmal als Einstufung einer Zusage und
|
|
61
|
+
einmal als Beschriftung einer Zählzeile. Nur die erste ist eine Zusage.
|
|
62
|
+
|
|
63
|
+
Die dritte Sonde zu `--list-skills` ist die wichtigste. Das Kommando zählt die Skills **dieser
|
|
64
|
+
Installation**; Skills aus Ablagen außerhalb des Projektverzeichnisses sieht auch das Framework
|
|
65
|
+
nicht – also genau die, um die es bei diesem Befund geht. Eine Teilauskunft, die das verschweigt,
|
|
66
|
+
verspricht mehr, als sie leistet. Der Satz steht deshalb in der **Ausgabe**, nicht nur in der
|
|
67
|
+
Dokumentation, und eine Sonde hält ihn dort fest.
|
|
68
|
+
|
|
69
|
+
## 5. Ein Befund über die Sonden selbst
|
|
70
|
+
|
|
71
|
+
**Beim Lauf zu `CR-2026-040` fiel Sonde 23** – und die Prüfung war in Ordnung. Der Antrag hatte den
|
|
72
|
+
Satz geändert, den die Sonde als Anker für ihren Defekt sucht. `str.replace` fand ihn nicht, tat
|
|
73
|
+
nichts, der Lauf blieb sauber, und die Sonde meldete: *„Prüfung meldet nicht."* Richtig gewesen
|
|
74
|
+
wäre: *„Sonde präpariert nicht."*
|
|
75
|
+
|
|
76
|
+
Das ist dieselbe Bauart wie ERH-12 – ein Werkzeug, das arbeitet und ein falsches Ergebnis liefert –
|
|
77
|
+
nur eine Ebene tiefer, im Nachweisapparat selbst.
|
|
78
|
+
|
|
79
|
+
**Abhilfe, mit diesem Release wirksam:** `probe-pruefungen.py` bildet vor und nach der Präparation
|
|
80
|
+
einen Fingerabdruck des Baums. Verändert eine Sonde nichts, meldet der Lauf `[nichts praepariert]`
|
|
81
|
+
und nennt den Grund, statt die Prüfung zu beschuldigen. Das wirkt für **alle** Sonden, auch für
|
|
82
|
+
künftige.
|
|
83
|
+
|
|
84
|
+
**Nachgewiesen:** Eine Testfassung des Skripts mit absichtlich totem Suchtext meldet:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
SONDE 23 FEHL Normativer Satz im Kopfkommentar der Wurzel-Anweisungsdatei [nichts praepariert]
|
|
88
|
+
Der Baum ist unveraendert - vermutlich passt der Suchtext der Sonde nicht mehr.
|
|
89
|
+
Gemessen wuerde sonst die Sonde, nicht die Pruefung.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## 6. Grenzen dieses Nachweises
|
|
93
|
+
|
|
94
|
+
- **Prüfung 25 ist eine Wortprüfung.** Sie erzwingt, dass jemand die Frage nach dem Ersatz
|
|
95
|
+
beantwortet hat – nicht, dass die Antwort taugt. Wer „Ersatz" hinschreibt, ohne einen zu nennen,
|
|
96
|
+
kommt durch. Sie fängt das Vergessen, nicht die Absicht.
|
|
97
|
+
- **`--list-skills` ist an der Installation gemessen, nicht an einer Sitzung.** Ob der Client
|
|
98
|
+
zusätzliche Skills mitführt, sagt dieses Kommando nicht und kann es nicht sagen. Genau das steht
|
|
99
|
+
in seiner Ausgabe.
|
|
100
|
+
- **Die Sperre selbst bleibt ungeprüft.** Dass eine Kernzusage auf `[NICHT ABBILDBAR]` die
|
|
101
|
+
Inbetriebnahme sperrt, ist eine Freigabe durch einen Menschen. Kein Skript setzt sie durch, und
|
|
102
|
+
keines kann es.
|
|
103
|
+
- **`CR-2026-040` und `CR-2026-042` haben keine eigene Sonde** – sie ändern Begründungstexte und
|
|
104
|
+
ein Verfahren. Für `CR-2026-040` ist nachgewiesen, was er zusagt: kein Prüfergebnis ändert sich.
|
|
105
|
+
|
|
106
|
+
## 7. Bewertung
|
|
107
|
+
|
|
108
|
+
**Bestanden.** Beide neuen Mechanismen melden einen gesetzten Defekt und lassen den erlaubten Fall
|
|
109
|
+
durch. Der Nachweisapparat selbst ist dabei um eine Bedingung ergänzt worden, die ihn ehrlicher
|
|
110
|
+
macht.
|
|
111
|
+
|
|
112
|
+
| Feld | Inhalt |
|
|
113
|
+
|---|---|
|
|
114
|
+
| Gegenzeichnung | `<TBD>` |
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Testprotokoll – Wirkungsnachweis der Aktivierungsprüfung und der Clientwahl (Release 0.28.0)
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Test-ID | `FW-KO-01` und `FW-RE-02` (Basis), Teilnachweis für die mit 0.28.0 geänderte Aktivierungsprüfung und die Clientwahl der Installation |
|
|
6
|
+
| Framework-Version | 0.28.0 |
|
|
7
|
+
| Datum | 2026-09-12 |
|
|
8
|
+
| Prüfmethode | skript |
|
|
9
|
+
| Prüfgegenstand | **je Sonde eine frische Installation je Client Pack**, nicht eine Kopie des Repositoriums |
|
|
10
|
+
| Werkzeug | `leitwerk-core/tests/scripts/probe-pruefungen.py` |
|
|
11
|
+
| Umgebung | Windows 11, Python 3.14.4, PyYAML 6.0.3 |
|
|
12
|
+
| Ergebnis | **alle Sonden gemeldet, keine Gegenprobe beanstandet; gegen die Vorfassung 0.27.0 fallen acht** |
|
|
13
|
+
|
|
14
|
+
## 1. Warum diese Nachweise anders gebaut sind
|
|
15
|
+
|
|
16
|
+
Alle bisherigen Sonden arbeiten auf einer Kopie des Repositoriums. **Für diese beiden Befunde
|
|
17
|
+
reicht das nicht.** Die Aktivierungsprüfung liest die Laufzeitschicht eines *Projekts*, und die
|
|
18
|
+
Clientwahl entscheidet sich an dem, was in einem Projektverzeichnis liegt. Eine Sonde, die nur im
|
|
19
|
+
Repositorium läuft, kann beide Befunde nicht finden – **das ist der Grund, warum sie so lange
|
|
20
|
+
unbemerkt blieben.**
|
|
21
|
+
|
|
22
|
+
Der Sondenblock legt deshalb je Fall eine vollständige Installation an, eine pro Pack.
|
|
23
|
+
|
|
24
|
+
**Und darin liegt der eigentliche Kern von B02.** Der Befund war nicht, dass eine Prüfung falsch
|
|
25
|
+
prüft, sondern dass sie **einen Client gar nicht sieht**. Das fällt nur auf, wenn derselbe Fall in
|
|
26
|
+
*jeder* Installation läuft. Genau das verlangt das Abnahmekriterium des Reviews, und genau das ist
|
|
27
|
+
jetzt gebaut.
|
|
28
|
+
|
|
29
|
+
## 2. Ausgeführte Befehle und Ergebnis
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
python leitwerk-core/tests/scripts/validate-framework.py
|
|
33
|
+
→ Ergebnis: 0 Fehler, 0 Warnungen
|
|
34
|
+
|
|
35
|
+
python leitwerk-core/tests/scripts/probe-pruefungen.py .
|
|
36
|
+
→ alle Sonden und Gegenproben bestanden (Exit 0)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 3. Der Befund vor der Korrektur, gemessen
|
|
40
|
+
|
|
41
|
+
Zwei frische Installationen, je eine pro Pack, darin **derselbe** Defekt. Gemessen ist die Änderung
|
|
42
|
+
der Fehlerzahl, nicht ihr absoluter Wert – ein frisches Overlay trägt ohnehin offene Werte. Der
|
|
43
|
+
`devin-desktop`-Lauf ist die Positivkontrolle.
|
|
44
|
+
|
|
45
|
+
| Defekt | `claude-code` | `devin-desktop` |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| Platzhalter in der Berechtigungsdatei (nach Bereinigung gesetzt) | 7 → 7 → 7, **±0** | 10 → 9 → 10, **reagiert** |
|
|
48
|
+
| Overlay-Status auf `aktivierung-ausstehend` | **±0** | **−1 Fehler** |
|
|
49
|
+
|
|
50
|
+
Die zweite Zeile ist kein Messfehler, sondern ein **eigener Befund**: Der Status wurde als Präfix
|
|
51
|
+
geprüft, und `aktivierung-ausstehend` beginnt mit `aktiv`. Ein Wert, der wörtlich sagt, dass die
|
|
52
|
+
Aktivierung aussteht, ließ den Fehler **verschwinden**, der vorher stand.
|
|
53
|
+
|
|
54
|
+
**Nach der Korrektur verhalten sich beide Packs identisch:** 10 → 9 → 10.
|
|
55
|
+
|
|
56
|
+
Für B10 genügte ein Lauf: Eine frische `claude-code`-Installation, darauf der in
|
|
57
|
+
`ADOPTION_GUIDE.md` wörtlich dokumentierte Aufruf `install.py --update` ohne `--client`.
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
vorher: Client: devin-desktop
|
|
61
|
+
Zusammenfassung: 60 angelegt, 0 aktualisiert, 0 unveraendert
|
|
62
|
+
Laufzeitschichten: ['.claude'] → ['.claude', '.devin']
|
|
63
|
+
|
|
64
|
+
nachher: Client: claude-code
|
|
65
|
+
Zusammenfassung: 0 angelegt, 0 aktualisiert, 58 unveraendert
|
|
66
|
+
Laufzeitschichten: ['.claude'] → ['.claude']
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Sechzig Dateien – und dabei „0 aktualisiert".** Die Installation, die aktualisiert werden sollte,
|
|
70
|
+
blieb unberührt. Der Aufruf tat nicht zu viel, er tat das Falsche.
|
|
71
|
+
|
|
72
|
+
## 4. Der Lauf, der den Nachweis trägt
|
|
73
|
+
|
|
74
|
+
Derselbe Sondenblock gegen die Vorfassung 0.27.0 – eine Kopie des Arbeitsbaums, in der allein
|
|
75
|
+
`validate-framework.py` und `install.py` auf den Stand `HEAD` zurückgesetzt sind:
|
|
76
|
+
|
|
77
|
+
| Sonde | gegen 0.27.0 | gegen 0.28.0 |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| Status `aktivierung-ausstehend` wird gemeldet (`claude-code`) | **fällt** | besteht |
|
|
80
|
+
| Status `aktivierung-ausstehend` wird gemeldet (`devin-desktop`) | **fällt** | besteht |
|
|
81
|
+
| Platzhalter in der Berechtigungsdatei (`claude-code`) | **fällt** | besteht |
|
|
82
|
+
| Platzhalter in der Berechtigungsdatei (`devin-desktop`) | besteht | besteht |
|
|
83
|
+
| Fehlender sicherheitsrelevanter Abschnitt (`claude-code`) | **fällt** | besteht |
|
|
84
|
+
| Fehlender sicherheitsrelevanter Abschnitt (`devin-desktop`) | **fällt** | besteht |
|
|
85
|
+
| Aktualisierung ohne `--client` trifft das Pack (`claude-code`) | **fällt** | besteht |
|
|
86
|
+
| Aktualisierung ohne `--client` trifft das Pack (`devin-desktop`) | besteht | besteht |
|
|
87
|
+
| Widersprechendes `--client` bricht ab (beide Richtungen) | **fällt, zweimal** | besteht |
|
|
88
|
+
| Gegenproben zum Status `aktiv` und zur bereinigten Berechtigungsdatei | bestehen | bestehen |
|
|
89
|
+
|
|
90
|
+
**Acht Abweichungen gegen 0.27.0, keine gegen 0.28.0.** Die zwei Sonden, die auch alt bestehen,
|
|
91
|
+
sind genau die beiden Fälle, die die alte Fassung zufällig traf: die Berechtigungsdatei des einen
|
|
92
|
+
Packs, das sie fest verdrahtet las – und die Aktualisierung desselben Packs, das ihr Vorgabewert
|
|
93
|
+
war. **Das ist kein Mangel der Sonden, sondern die Form des Befunds.**
|
|
94
|
+
|
|
95
|
+
## 5. Ein Befund über die Gegenproben
|
|
96
|
+
|
|
97
|
+
Beim ersten Lauf fielen die beiden Platzhalter-Sonden in **beiden** Packs, obwohl die Korrektur
|
|
98
|
+
saß. Ursache: Der Unterprozess schrieb seine Ausgabe in der Konsolenkodierung des Systems; der
|
|
99
|
+
Diagnosetext enthält einen Umlaut und kam verändert zurück. Der gesuchte Text traf nie.
|
|
100
|
+
|
|
101
|
+
**Die zugehörige Gegenprobe hat das klaglos bestanden** – sie prüft auf *nicht enthalten*, und ein
|
|
102
|
+
Text, der nie auftreten kann, ist immer nicht enthalten. Eine Gegenprobe, die nichts mehr prüft und
|
|
103
|
+
es nicht zeigt.
|
|
104
|
+
|
|
105
|
+
Bemerkt hat es nur ihr Sondenpaar: Sonde und Gegenprobe suchen denselben Text, und die Sonde fiel.
|
|
106
|
+
**Die Paarung ist hier die Absicherung**, nicht die einzelne Prüfung. Der Unterprozess läuft
|
|
107
|
+
seither ausdrücklich mit UTF-8.
|
|
108
|
+
|
|
109
|
+
## 6. Grenzen dieses Nachweises
|
|
110
|
+
|
|
111
|
+
- **Geprüft ist die Aktivierungs*reife*, nicht die Aktivierung.** Dass ein Overlay `aktiv` sagt,
|
|
112
|
+
heißt nicht, dass der Client seine Regeln lädt.
|
|
113
|
+
- **Der Abgleich zwischen Quell-Overlay und Laufzeitfassung fehlt weiterhin** (E4 von
|
|
114
|
+
`CR-2026-044`). Die Laufzeitfassung kann von der Quelle abweichen, ohne dass es jemand merkt. Ein
|
|
115
|
+
eigener Gegenstand, ausdrücklich offen – nicht erledigt.
|
|
116
|
+
- **Die Erkennung des installierten Packs ist an zwei Packs gemessen.** Ein drittes Pack bringt
|
|
117
|
+
eine dritte Laufzeitschicht; die Sonden sind darauf vorbereitet, gemessen ist es nicht.
|
|
118
|
+
- **Bestehende Doppelinstallationen werden nicht aufgeräumt.** Wer bereits zwei Laufzeitschichten
|
|
119
|
+
hat, bekommt einen Abbruch mit Hinweis, keine Hilfe beim Entfernen.
|
|
120
|
+
|
|
121
|
+
## 7. Bewertung
|
|
122
|
+
|
|
123
|
+
**Bestanden.** Dieselben Fälle laufen für beide Packs und melden in beiden dasselbe – das war das
|
|
124
|
+
Abnahmekriterium. Die Aktualisierung trifft das installierte Pack, und ein widersprechender Aufruf
|
|
125
|
+
bricht ab, statt eine zweite Laufzeitschicht anzulegen.
|
|
126
|
+
|
|
127
|
+
| Feld | Inhalt |
|
|
128
|
+
|---|---|
|
|
129
|
+
| Gegenzeichnung | `<TBD>` |
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Testprotokoll – Wirkungsnachweis des Schutzes vorhandener Projektdateien (Release 0.29.0)
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Test-ID | `FW-KO-01` (Basis), Teilnachweis für den mit 0.29.0 hinzugekommenen Abbruch der Erstinstallation |
|
|
6
|
+
| Framework-Version | 0.29.0 |
|
|
7
|
+
| Datum | 2026-09-12 |
|
|
8
|
+
| Prüfmethode | skript |
|
|
9
|
+
| Prüfgegenstand | zwei Temporärverzeichnisse – eines mit einer fremden Datei unter dem Namen der Wurzel-Anweisungsdatei, eines leer |
|
|
10
|
+
| Werkzeug | `leitwerk-core/tests/scripts/probe-pruefungen.py` |
|
|
11
|
+
| Umgebung | Windows 11, Python 3.14.4, PyYAML 6.0.3 |
|
|
12
|
+
| Ergebnis | **Sonde gemeldet, Gegenprobe unbeanstandet; gegen die Vorfassung 0.28.0 fällt die Sonde** |
|
|
13
|
+
|
|
14
|
+
## 1. Anlass: der Befund entstand nicht am Schreibtisch
|
|
15
|
+
|
|
16
|
+
Dieser Nachweis hat eine Vorgeschichte, die zu ihm gehört. Er entstand **bei der Vorbereitung der
|
|
17
|
+
ersten echten Inbetriebnahme**, nicht bei einer Durchsicht des Codes. Vor dem ersten Befehl wurde
|
|
18
|
+
ein Trockenlauf gegen das vorgesehene Projekt gefahren:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
Framework 0.28.0
|
|
22
|
+
Client: claude-code
|
|
23
|
+
Modus: install (dry-run, es wird nichts geschrieben)
|
|
24
|
+
|
|
25
|
+
Angelegt (77): …
|
|
26
|
+
Core aktualisiert (1):
|
|
27
|
+
CLAUDE.md
|
|
28
|
+
|
|
29
|
+
Zusammenfassung: 77 angelegt, 1 aktualisiert, 0 unveraendert, 0 Projektdateien behalten.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Die genannte Datei war die Anweisungsdatei des Projekts: 34 Kilobyte, versioniert, seit Monaten
|
|
33
|
+
gepflegt. **Der erste Befehl des Übernahmeleitfadens hätte sie ersetzt** – ausgewiesen als „1
|
|
34
|
+
aktualisiert", ein Wort, das nach Pflege klingt.
|
|
35
|
+
|
|
36
|
+
`docs/ADOPTION_GUIDE.md` versprach an derselben Stelle wörtlich: *„Bestehende Projektdateien
|
|
37
|
+
werden nie überschrieben."*
|
|
38
|
+
|
|
39
|
+
**Der Trockenlauf war kein vorgeschriebener Schritt.** Er stand in keiner Checkliste; er wurde
|
|
40
|
+
gefahren, weil das Zielverzeichnis ein gewachsenes Projekt war. Ohne ihn wäre der Befund erst
|
|
41
|
+
aufgefallen, nachdem die Datei weg war.
|
|
42
|
+
|
|
43
|
+
## 2. Ausgeführte Befehle und Ergebnis
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
python leitwerk-core/tests/scripts/validate-framework.py
|
|
47
|
+
→ Ergebnis: 0 Fehler, 0 Warnungen
|
|
48
|
+
|
|
49
|
+
python leitwerk-core/tests/scripts/probe-pruefungen.py .
|
|
50
|
+
→ alle Sonden und Gegenproben bestanden (Exit 0)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Nach der Korrektur gegen dasselbe Projekt:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
FEHLER: In …\BlackNode liegen bereits Dateien, die das Framework beansprucht:
|
|
57
|
+
CLAUDE.md
|
|
58
|
+
|
|
59
|
+
Eine Erstinstallation wuerde sie ueberschreiben. Das Framework hat in dieses
|
|
60
|
+
Verzeichnis noch nie geschrieben - diese Dateien gehoeren also dem Projekt.
|
|
61
|
+
|
|
62
|
+
Stammen sie aus einer frueheren Installation: --update verwenden.
|
|
63
|
+
Sonst den Inhalt vorher uebernehmen - Projektwissen nach project-overlay/OVERLAY.md,
|
|
64
|
+
projektspezifische Regeln in eine Regeldatei 2N-overlay-<name>.md. Danach die
|
|
65
|
+
Datei entfernen und erneut aufrufen (leitwerk-core/docs/ADOPTION_GUIDE.md, Abschnitt 2).
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Exit-Code 1; die Datei hinterher unverändert bei 33.902 Bytes.
|
|
69
|
+
|
|
70
|
+
## 3. Sonde und Gegenprobe
|
|
71
|
+
|
|
72
|
+
| Art | Aufbau | Bedingung | Ergebnis |
|
|
73
|
+
|---|---|---|---|
|
|
74
|
+
| Sonde | Leeres Verzeichnis, darin **eine** fremde Datei unter dem Namen der Wurzel-Anweisungsdatei; Erstinstallation `claude-code` | **drei** Bedingungen: Exit 1, Datei byte-gleich wie vorher, Laufzeitschicht **nicht** angelegt | gemeldet |
|
|
75
|
+
| Gegenprobe | Freies Verzeichnis, dieselbe Erstinstallation | Exit 0, Wurzel-Anweisungsdatei angelegt | unbeanstandet |
|
|
76
|
+
|
|
77
|
+
**Die dritte Bedingung der Sonde ist die eigentliche.** Ein Abbruch, der erst nach der Hälfte der
|
|
78
|
+
Dateien kommt, ist schlimmer als keiner: Das Projekt hätte dann eine halbe Installation und keinen
|
|
79
|
+
Hinweis darauf, welche Hälfte. Der Abbruch steht deshalb **vor** dem ersten Schreibvorgang, und die
|
|
80
|
+
Sonde prüft das an der Abwesenheit der Laufzeitschicht.
|
|
81
|
+
|
|
82
|
+
**Die Gegenprobe ist nicht nebensächlich.** Ohne sie belegte die Sonde nur, dass irgendetwas
|
|
83
|
+
abbricht – nicht, dass die Erstinstallation überhaupt noch funktioniert. Eine Fassung, die immer
|
|
84
|
+
abbricht, besteht jede Sonde darüber.
|
|
85
|
+
|
|
86
|
+
## 4. Der Lauf, der den Nachweis trägt
|
|
87
|
+
|
|
88
|
+
Derselbe Sondenblock gegen die Vorfassung 0.28.0 – eine Kopie des Arbeitsbaums, in der allein
|
|
89
|
+
`install.py` auf den Stand `HEAD` zurückgesetzt ist:
|
|
90
|
+
|
|
91
|
+
| Fall | gegen 0.28.0 | gegen 0.29.0 |
|
|
92
|
+
|---|---|---|
|
|
93
|
+
| Erstinstallation bricht ab, Projektdatei unberührt | **fällt** | besteht |
|
|
94
|
+
| Erstinstallation in ein freies Verzeichnis läuft durch | besteht | besteht |
|
|
95
|
+
|
|
96
|
+
**Eine Abweichung gegen 0.28.0, keine gegen 0.29.0.** Dass die Gegenprobe in beiden Fassungen
|
|
97
|
+
besteht, ist richtig so: Die Änderung sollte den freien Fall nicht berühren, und sie tut es nicht.
|
|
98
|
+
|
|
99
|
+
## 5. Was der Nachweis nicht leistet
|
|
100
|
+
|
|
101
|
+
- **Er schützt vor Verlust, nicht vor Arbeit.** Das Framework beansprucht die
|
|
102
|
+
Wurzel-Anweisungsdatei weiterhin. Wer sie schon führt, muss den Inhalt übernehmen – der Weg steht
|
|
103
|
+
seit diesem Release als Schritt 3a im Leitfaden, aber gehen muss ihn ein Mensch.
|
|
104
|
+
- **Der Fall eines fremden Agenten-Frameworks ist nicht gelöst** (K-31). Wenn ein anderes Werkzeug
|
|
105
|
+
dieselbe Datei **erzeugt** und in markierten Abschnitten pflegt, hilft ein einmaliger Umzug des
|
|
106
|
+
Inhalts nicht: Beim nächsten Lauf schreibt es seine Abschnitte zurück, und zwei Regelwerke
|
|
107
|
+
beanspruchen Ebene 1. Der Leitfaden weist das ausdrücklich als ungelöst aus, statt es zu
|
|
108
|
+
verschweigen.
|
|
109
|
+
- **`--update` bleibt scharf.** Es überschreibt die Core-Dateien, und das ist sein Zweck. Wer eine
|
|
110
|
+
Core-Datei von Hand ändert, verliert die Änderung beim nächsten Release – unverändert richtig.
|
|
111
|
+
- **Gemessen ist `claude-code`.** Der Mechanismus ist clientneutral, der Nachweis nicht.
|
|
112
|
+
|
|
113
|
+
## 6. Bewertung
|
|
114
|
+
|
|
115
|
+
**Bestanden.** Die Erstinstallation bricht ab, bevor sie schreibt, und lässt das Projekt so zurück,
|
|
116
|
+
wie sie es vorgefunden hat. Der Befund selbst ist der Ertrag des Verfahrens: Er wurde gefunden,
|
|
117
|
+
weil vor dem ersten Befehl gemessen wurde statt danach.
|
|
118
|
+
|
|
119
|
+
| Feld | Inhalt |
|
|
120
|
+
|---|---|
|
|
121
|
+
| Gegenzeichnung | `<TBD>` |
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Wirkungsnachweise zu Release 0.30.0
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Die Umsetzungen zu `CR-2026-047` (D-47), `CR-2026-048` (D-48) und `CR-2026-049` (D-49) |
|
|
6
|
+
| Datum | 2026-09-12 |
|
|
7
|
+
| Framework-Version | 0.30.0 (gegen 0.29.0 = `92545fc`) |
|
|
8
|
+
| Prüfmethode | `python leitwerk-core/tests/scripts/probe-pruefungen.py <root>` gegen **beide** Stände, dazu vier Hook-Läufe je Stand |
|
|
9
|
+
| Umgebung | Windows 11, Python 3.14.4 |
|
|
10
|
+
| Ergebnis | **55 Sonden und Gegenproben bestehen gegen 0.30.0 in beiden Kodierungsumgebungen.** Die vier neuen Sonden fallen gegen 0.29.0 |
|
|
11
|
+
|
|
12
|
+
## 1. Was hier nachgewiesen wird – und was nicht
|
|
13
|
+
|
|
14
|
+
D-23 verlangt für eine neue Prüfung den Nachweis, dass sie eine bewusst gesetzte Sonde meldet.
|
|
15
|
+
Zwei der drei Umsetzungen dieses Release sind **Textkorrekturen** und stellen keine Prüfung auf;
|
|
16
|
+
für sie gibt es bewusst keine Sonde. Eine Prüfung, die eine berichtigte Formulierung bewacht,
|
|
17
|
+
wäre eine Prüfung auf Wortlaut – sie meldete jede Umformulierung und nichts sonst.
|
|
18
|
+
|
|
19
|
+
Nachgewiesen wird deshalb, was Verhalten hat:
|
|
20
|
+
|
|
21
|
+
| Gegenstand | Art | Nachweis |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| Suchwerkzeuge erreichen den Schutz-Hook (`CR-2026-047` E3) | Verhalten | zwei Sonden, zwei Gegenproben |
|
|
24
|
+
| Prüfung 26 – erklärte Werkzeugabwesenheit (`CR-2026-047` E3) | neue Prüfung | zwei Sonden, eine Gegenprobe |
|
|
25
|
+
| Kodierungsfestigkeit des Sondenlaufs (`CR-2026-049`) | Eigenschaft des Werkzeugs | derselbe Lauf in zwei Umgebungen |
|
|
26
|
+
| Reichweite je Zugriffskanal in den Matrizen (`CR-2026-047`) | Text | Protokoll vom selben Tag, keine Sonde |
|
|
27
|
+
| Umsetzungszeilen der fünf Betriebsmodi (`CR-2026-048`) | Text | dito |
|
|
28
|
+
|
|
29
|
+
## 2. Die vier neuen Sonden gegen beide Stände
|
|
30
|
+
|
|
31
|
+
Gefahren gegen einen frischen Auscheckstand von `92545fc` mit nachinstallierter Laufzeitschicht
|
|
32
|
+
(`install.py --client devin-desktop --root <stand>`; ohne sie meldet der Validator die
|
|
33
|
+
Pflichtpfade und der Lauf bricht vorher ab).
|
|
34
|
+
|
|
35
|
+
| Sonde | Gegenstand | 0.29.0 | 0.30.0 |
|
|
36
|
+
|---|---|---|---|
|
|
37
|
+
| 26 | Erklärte Abwesenheit **ohne Begründung** wird gemeldet | **FEHL** | OK |
|
|
38
|
+
| 26 | Erklärte Abwesenheit **im Widerspruch zu `permission_tools`** wird gemeldet | **FEHL** | OK |
|
|
39
|
+
| B04 | Suchwerkzeug auf einen Secret-Pfad wird blockiert | **FEHL** | OK |
|
|
40
|
+
| B04 | Suchmuster auf Schlüsseldateien wird blockiert | **FEHL** | OK |
|
|
41
|
+
|
|
42
|
+
**Vier von vier fallen gegen den Vorstand.** Das ist der Nachweis nach D-23: Die Prüfungen
|
|
43
|
+
existieren nicht nur, sie melden.
|
|
44
|
+
|
|
45
|
+
## 3. Die Gegenproben – und was sie gegen 0.29.0 wert sind
|
|
46
|
+
|
|
47
|
+
| Gegenprobe | Gegenstand | 0.29.0 | 0.30.0 |
|
|
48
|
+
|---|---|---|---|
|
|
49
|
+
| 26 | Die ausgelieferte Abwesenheitserklärung bleibt unbeanstandet | OK | OK |
|
|
50
|
+
| B04 | Suche in einem gewöhnlichen Pfad bleibt möglich | OK | OK |
|
|
51
|
+
| B04 | Suche im Kernverzeichnis bleibt möglich – lesen darf der Agent ihn | OK | OK |
|
|
52
|
+
|
|
53
|
+
> **Die beiden B04-Gegenproben bestehen gegen 0.29.0 aus dem falschen Grund.** Dort erreichte
|
|
54
|
+
> *keine* Suche den Hook, also passierte auch die erlaubte – die Gegenprobe prüfte nichts und
|
|
55
|
+
> zeigte es nicht. Erst gegen 0.30.0, wo der Kanal bewacht ist, sagt sie etwas: **dass die
|
|
56
|
+
> Bewachung nicht alles blockiert.** Genau dafür ist sie da, und ein Hook, der jede Suche
|
|
57
|
+
> blockiert, bestünde beide Sonden und machte das Suchwerkzeug unbenutzbar.
|
|
58
|
+
>
|
|
59
|
+
> Das ist dieselbe Bauart, die am 2026-09-12 schon zweimal aufgefallen ist (`CR-2026-042`,
|
|
60
|
+
> `CR-2026-049`): **Eine Gegenprobe ist nur so viel wert wie die Sonde daneben.**
|
|
61
|
+
|
|
62
|
+
## 4. Die Kodierungsfestigkeit – der Lauf in beiden Umgebungen
|
|
63
|
+
|
|
64
|
+
Die Abnahmeauflage aus D-49: Der Sondenlauf muss unabhängig davon bestehen, ob die aufrufende
|
|
65
|
+
Umgebung `PYTHONIOENCODING` setzt.
|
|
66
|
+
|
|
67
|
+
| Stand | ohne `PYTHONIOENCODING` | mit `PYTHONIOENCODING=utf-8` |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| 0.29.0 | alle bestanden | **1 Abweichung** (Sonde 19, `außerhalb` statt `außerhalb`) |
|
|
70
|
+
| 0.30.0 | **alle 55 bestanden** | **alle 55 bestanden** |
|
|
71
|
+
|
|
72
|
+
Die rote Zelle war genau die Konfiguration, die das Arbeitswissen dieses Projekts für
|
|
73
|
+
Unterprozesse empfiehlt. Seit 0.30.0 läuft jeder Unterprozessaufruf des Skripts über
|
|
74
|
+
`unterprozess()`, die Umgebung **und** Dekodierung festlegt; `subprocess.run` steht nur noch
|
|
75
|
+
dort.
|
|
76
|
+
|
|
77
|
+
## 5. Der Suchkanal am Hook – vier Läufe je Stand
|
|
78
|
+
|
|
79
|
+
Synthetische Werkzeugeingaben gegen `hook-check-secrets.py --fail-closed` des jeweiligen Standes.
|
|
80
|
+
Keine echten Geheimnisse, kein Dateisystemzugriff.
|
|
81
|
+
|
|
82
|
+
| Eingabe | 0.29.0 | 0.30.0 | gewollt |
|
|
83
|
+
|---|---|---|---|
|
|
84
|
+
| `Grep` auf `sonde/.env` | Exit 0 | **Exit 2** | blockiert |
|
|
85
|
+
| `Glob` auf `**/*.pem` | Exit 0 | **Exit 2** | blockiert |
|
|
86
|
+
| `Grep` auf `src/` | Exit 0 | Exit 0 | passiert |
|
|
87
|
+
| `Grep` auf `<kern>/framework/core/` | Exit 0 | Exit 0 | passiert – den Kern zu lesen ist erlaubt |
|
|
88
|
+
|
|
89
|
+
Die letzte Zeile ist die wichtigere Hälfte: Der Kern ist **schreib**geschützt, nicht
|
|
90
|
+
lesegeschützt. Eine Sperre, die auch das Lesen träfe, bräche den Betrieb des Frameworks – der
|
|
91
|
+
Validator, `install.py --check` und jedes `git diff` nennen Kernpfade.
|
|
92
|
+
|
|
93
|
+
## 6. Was dieses Release nicht nachweist
|
|
94
|
+
|
|
95
|
+
- **Keine vollständige Clientsitzung.** Gemessen ist der Hook. Dass der Client die Suche
|
|
96
|
+
tatsächlich an ihn übergibt, folgt aus der Hook-Konfiguration, die die Abbildung erzeugt
|
|
97
|
+
(Matcher `Read|Grep|Glob|Bash|Edit|Write|NotebookEdit`) – **belegt ist die Erzeugung, nicht
|
|
98
|
+
das Auslösen.** Das bleibt offen und gehört in den nächsten AP2-Lauf.
|
|
99
|
+
- **Für Shell und Unterprozess ist nichts durchgesetzt worden.** Dieses Release berichtigt
|
|
100
|
+
dort nur die Aussage. Die technische Durchsetzung braucht eine Isolationsschicht des
|
|
101
|
+
Betriebssystems und ist unerhoben (`CR-2026-047` E5).
|
|
102
|
+
- **Die Modusgrenze von M4/M5 ist weiterhin nicht technisch durchgesetzt** und sagt das jetzt.
|
|
103
|
+
- **Prüfung 26 belegt nicht, dass ein Client ein Werkzeug wirklich nicht hat.** Sie belegt, dass
|
|
104
|
+
die beiden Felder, die es behaupten, einander nicht widersprechen und dass jemand den Satz
|
|
105
|
+
dazu verantwortet. Die Grenze steht im Kopfkommentar der Prüfung.
|
|
106
|
+
|
|
107
|
+
## 7. Gegenzeichnung
|
|
108
|
+
|
|
109
|
+
| Rolle | Datum | Ergebnis |
|
|
110
|
+
|---|---|---|
|
|
111
|
+
| Ersteller des Nachweises (KI-gestützt, Sitzung) | 2026-09-12 | 55 von 55 bestanden gegen 0.30.0 in beiden Umgebungen; vier neue Sonden fallen gegen 0.29.0 |
|
|
112
|
+
| `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` |
|