@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,202 @@
|
|
|
1
|
+
# Gegenprüfung: der stumme Bruch – eine halb greifende Präparation, eine ungezählte Tabelle, und eine Prüfung, die den richtigen Text beanstandet
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Zwei seit mehreren Releases benannte, nicht umgesetzte Punkte: (1) die **Ermessensfrage**, ob eine Gegenprobe ihre Summen ableiten soll – viermal in Folge aufgetreten; (2) der **Prüfvorschlag** aus dem 0.35.0-Protokoll, Abschnitt 7: die Zellen der Decision-Log-Tabellen zählt nichts |
|
|
6
|
+
| Anlass | Beide stehen in der Roadmap und in der Übergabe als offen. Nach D-23 gehört ein Befund vor der Umsetzung gegengeprüft, auch wenn er aus dem eigenen Haus stammt |
|
|
7
|
+
| Datum | 2026-09-13 |
|
|
8
|
+
| Framework-Version | 0.37.0 (Auscheckstand `a8132fd`, Arbeitsbaum sauber, Validator 0/0) |
|
|
9
|
+
| Prüfmethode | **Drei Messungen an Kopien des Repositoriums, keine Codelektüre allein.** (1) Die heutige Präparation der Gegenprobe 30 auf einen Baum angewandt, der einen zwanzigsten Grenzfall trägt – der Zustand, den ein Release hinterlässt; (2) die Zellenzahlen des Decision Logs über sechs Auscheckstände hinweg gezählt, mit und ohne Rücksicht auf maskierte Striche; (3) ein maskierter Strich in eine Grenzfallzeile gesetzt und der Validator dagegen gefahren |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4, NTFS |
|
|
11
|
+
| Ergebnis | **Beide Befunde bestätigen sich. Die Gegenprüfung findet einen dritten, den keiner der beiden nennt** – und er ist der einzige, der heute einen falschen Fehler erzeugen kann |
|
|
12
|
+
|
|
13
|
+
## 0. Der Zusammenhang in einem Satz
|
|
14
|
+
|
|
15
|
+
**Alle drei Punkte sind dieselbe Bauform: eine Prüfung oder eine Sonde, deren Bruch nicht als
|
|
16
|
+
Bruch erscheint.** Die halbe Präparation sieht aus wie ein Prüfungsfehler, die ungezählte
|
|
17
|
+
Tabelle sieht aus wie eine geprüfte, und die naive Spaltenzählung sieht aus wie ein Befund.
|
|
18
|
+
Der wiederkehrende Befundtyp des Projekts lautet *eine Zusage, die mehr verspricht, als sie
|
|
19
|
+
leistet*; hier steht er dreimal in derselben Woche.
|
|
20
|
+
|
|
21
|
+
## 1. Befund 1: Die halb greifende Präparation meldet sich nicht als solche
|
|
22
|
+
|
|
23
|
+
### 1.1 Was behauptet wird
|
|
24
|
+
|
|
25
|
+
Aus dem 0.34.0-Protokoll, seither dreimal wiederholt: Die Gegenproben 30 und 31 verankern
|
|
26
|
+
Summen **wörtlich**, die die jeweilige Prüfung ausrechnet. Ändert ein Release die Summe,
|
|
27
|
+
greift der Suchtext ins Leere. Die Übergabe fügt hinzu: *„Zwei melden sich selbst als
|
|
28
|
+
`[nichts praepariert]` – die anderen präparieren halb und fallen an der Zahl."*
|
|
29
|
+
|
|
30
|
+
### 1.2 Was gemessen dabei herauskommt
|
|
31
|
+
|
|
32
|
+
Eine Kopie bekam einen **echten** zwanzigsten Grenzfall samt nachgezogener Anzahl – der
|
|
33
|
+
Zustand, den ein Release hinterlässt. Der Validator meldet darauf `0 Fehler, 0 Warnungen`.
|
|
34
|
+
Danach lief die Präparation der Gegenprobe 30 wörtlich so, wie sie heute im Skript steht.
|
|
35
|
+
|
|
36
|
+
| Schritt | Ergebnis |
|
|
37
|
+
|---|---|
|
|
38
|
+
| Anzahl im Steckbrief von 19 auf 20 (erste Ersetzung) | **trifft nicht** – dort steht bereits 20 |
|
|
39
|
+
| Zeile `G-99` vor Abschnitt 3 einfügen (zweite Ersetzung) | **trifft** |
|
|
40
|
+
| `baumhash` vorher gegen nachher | **verschieden** – der Wächter meldet nichts |
|
|
41
|
+
| Validatorlauf | `FEHLER … 21 Grenzfallzeilen, der Steckbrief nennt 20. Eine Zahl, die nicht stimmt, ist kein Nachweis` |
|
|
42
|
+
| Gegenprobe 30 | **FEHL**, mit genau dieser Meldung |
|
|
43
|
+
|
|
44
|
+
**Der Befund bestätigt sich, und er ist schärfer als seine Beschreibung.** Die Gegenprobe fällt
|
|
45
|
+
nicht nur – sie fällt mit einer Meldung, die den Eindruck erweckt, sie habe einen **echten
|
|
46
|
+
Fehler im Repositorium** gefunden. Wer die Ausgabe liest, sucht den Fehler in `EDGE_CASES.md`.
|
|
47
|
+
Dort ist keiner: Die Sonde hat ihren eigenen Suchtext verloren.
|
|
48
|
+
|
|
49
|
+
> **`baumhash` ist ein Alles-oder-nichts-Wächter.** Bei einer Präparation aus *n* Ersetzungen
|
|
50
|
+
> belegt er „mindestens eine hat gegriffen", nie „alle". Genau deshalb melden sich die
|
|
51
|
+
> einteiligen Präparationen selbst und die mehrteiligen nicht. **Das ist keine Nachlässigkeit
|
|
52
|
+
> beim Schreiben der Sonden, sondern eine Lücke im Runner** – und sie schließt sich nicht
|
|
53
|
+
> dadurch, dass man die Suchtexte sorgfältiger pflegt.
|
|
54
|
+
|
|
55
|
+
### 1.3 Wie weit die Lücke reicht – und wo `baumhash` deckt
|
|
56
|
+
|
|
57
|
+
Ausgezählt über den Syntaxbaum von `probe-pruefungen.py`. **Drei Lagen, und nur zwei davon
|
|
58
|
+
sind Befund:**
|
|
59
|
+
|
|
60
|
+
| Lage | Anzahl | Deckt `baumhash`? |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| **a** Präparation über einen Runner mit `baumhash`, **eine** Ersetzung | der Regelfall | **ja** – und die Meldung sagt sogar, was zu tun ist: „vermutlich passt der Suchtext der Sonde nicht mehr" |
|
|
63
|
+
| **b** Präparation über einen solchen Runner, **mehrere** Ersetzungen | **3** Stellen: `_grenzfall_ergaenzen` (2), `_zeile_mit_summe` (5 plus eine Einfügung, in 2 Dateien), `_zusaetzliches_pfadfeld` (dieselbe Ersetzung in 2 Manifesten) | **nein** – eine gegriffene Ersetzung genügt ihm |
|
|
64
|
+
| **c** Bündelfunktionen, die `melde()` direkt rufen | **9** Funktionen mit zusammen **35** Meldestellen, darin **3** mit Textpräparation (7 Ersetzungen) | **nein, gar nicht** – diese Runner haben keinen Wächter |
|
|
65
|
+
|
|
66
|
+
**Lage a ist kein Befund.** Der Runner meldet dort genau das Richtige, und das ist der Grund,
|
|
67
|
+
warum die Übergabe von „zwei melden sich selbst" spricht. **Runner mit `baumhash` gibt es
|
|
68
|
+
drei:** `sonde()`, `gegenprobe()` und `sonde_ohne_wert()`.
|
|
69
|
+
|
|
70
|
+
**Lage b und c sind der Befund.** Die neun Bündelfunktionen haben **gar keinen** Wächter; ihre
|
|
71
|
+
35 Meldestellen sind damit die größere Fläche, auch wenn heute nur drei von ihnen einen
|
|
72
|
+
Suchtext führen, der ins Leere gehen könnte. Die übrigen präparieren über Installationsläufe,
|
|
73
|
+
Dateilöschungen und Umgebungsvariablen.
|
|
74
|
+
|
|
75
|
+
**Zu ändern sind damit sechs Präparationen** mit zusammen **14 Ersetzungsstellen und zwei
|
|
76
|
+
Zeileneinfügungen**. Das ist ein kleiner Gegenstand; viermal von Hand nachgezogen ist er
|
|
77
|
+
trotzdem.
|
|
78
|
+
|
|
79
|
+
> **Die erste Auszählung war zu grob, und das gehört hierher.** Über den Syntaxbaum gezählt
|
|
80
|
+
> ergaben sich zunächst „zehn Bündelfunktionen, neun Ersetzungen" – der Zähler hielt eine
|
|
81
|
+
> Ersetzung in einer **Diagnosemeldung** (`ausgabe.replace(marker, "<Marker entfernt>")`) für
|
|
82
|
+
> eine Präparation und `sonde_ohne_wert()` für wächterlos, obwohl die Funktion einen
|
|
83
|
+
> `baumhash` trägt. **Ein Zähler unterscheidet Präparation und Diagnose nicht**; das musste
|
|
84
|
+
> ein Blick in die sechs Stellen tun. Wie schon 76 statt 248 und 25 statt 20: **Wer hier eine
|
|
85
|
+
> Zahl liest, zählt sie besser nach – auch die eigene.**
|
|
86
|
+
|
|
87
|
+
## 2. Befund 2: Die Zellen der Decision-Log-Tabellen zählt nichts
|
|
88
|
+
|
|
89
|
+
### 2.1 Was behauptet wird
|
|
90
|
+
|
|
91
|
+
0.35.0-Protokoll Abschnitt 7: Vier zerrissene Zeilen wurden von Hand berichtigt, drei davon
|
|
92
|
+
aus dem Vorgängerrelease, eine seit 0.10.x. **Gezählt hat das nichts.** Prüfung 30 tut
|
|
93
|
+
dasselbe längst für `EDGE_CASES.md`.
|
|
94
|
+
|
|
95
|
+
### 2.2 Was gemessen dabei herauskommt
|
|
96
|
+
|
|
97
|
+
Die Zellenzahlen wurden über sechs Auscheckstände gezählt – je Tabelle des Decision Logs die
|
|
98
|
+
Zellenzahl ihrer Kopfzeile als Sollwert, maskierte Striche als Inhalt behandelt:
|
|
99
|
+
|
|
100
|
+
| Stand | Abweichende Zeilen |
|
|
101
|
+
|---|---|
|
|
102
|
+
| 0.32.0 (`a76778e`) | **1** – D-29 |
|
|
103
|
+
| 0.33.0 (`47fa382`) | **1** – D-29 |
|
|
104
|
+
| 0.34.0 (`2c1351b`) | **4** – D-29, D-61, D-62, D-63 |
|
|
105
|
+
| 0.35.0 (`7082ef3`) | 0 |
|
|
106
|
+
| 0.36.0 (`4444c83`) | 0 |
|
|
107
|
+
| 0.37.0 (`74e087b`, heute) | 0 |
|
|
108
|
+
|
|
109
|
+
**Der Befund bestätigt sich – und er ist heute behoben.** Eine Prüfung, die jetzt entsteht,
|
|
110
|
+
fängt **nichts**. Das ist dieselbe Lage wie bei Prüfung 35 und bei dem fünften Gegenstand der
|
|
111
|
+
Prüfung 32, und sie gehört mit derselben Ehrlichkeit begründet: **eine Verankerung, keine
|
|
112
|
+
Behebung.**
|
|
113
|
+
|
|
114
|
+
> **Der Unterschied zu Prüfung 35 ist allerdings erheblich und spricht für diese Prüfung:**
|
|
115
|
+
> Prüfung 35 fand auch im Vorstand nichts, weil ihr Gegenstand dort nicht existiert. Diese
|
|
116
|
+
> Prüfung hätte gegen 0.34.0 **vier** Fundstellen gemeldet und gegen 0.32.0 und 0.33.0 je
|
|
117
|
+
> eine. Ihr Gegenbeweis ist damit keine Konstruktion, sondern ein Abzählen.
|
|
118
|
+
|
|
119
|
+
### 2.3 Und D-29 stand fünfundzwanzig Releases lang zerrissen
|
|
120
|
+
|
|
121
|
+
D-29 entstand mit 0.10.x. Die Zeile wurde zwischen 0.10.x und 0.35.0 von jedem Validatorlauf
|
|
122
|
+
und von jedem Wirkungsnachweis gesehen und von keinem gezählt. **Gefunden hat sie ein Mensch
|
|
123
|
+
beim Eintragen einer anderen Zeile.**
|
|
124
|
+
|
|
125
|
+
## 3. Befund 3, nicht gesucht: Prüfung 30 zählt einen maskierten Strich als Spaltentrenner
|
|
126
|
+
|
|
127
|
+
### 3.1 Der Fund
|
|
128
|
+
|
|
129
|
+
Prüfung 30 zerlegt eine Grenzfallzeile mit `zeile.strip().strip("|").split("|")`. GFM verlangt
|
|
130
|
+
für einen Strich **innerhalb** einer Tabellenzelle die Maskierung `\|`; gerendert bleibt die
|
|
131
|
+
Zeile dann vollständig. `.split("|")` sieht die Maskierung nicht.
|
|
132
|
+
|
|
133
|
+
Gemessen an einer Kopie: In Grenzfall **G-14** wurde in der Prosa ein Codespan mit maskiertem
|
|
134
|
+
Strich ergänzt – dieselbe Schreibweise, die **D-69 des Decision Logs seit 0.36.0 trägt**:
|
|
135
|
+
|
|
136
|
+
```text
|
|
137
|
+
FEHLER leitwerk-core/tests/EDGE_CASES.md: Grenzfall G-14 hat 9 Spalten statt 7
|
|
138
|
+
(Nr., Grenzfall, Entscheidung, Betriebsmodus, Kontrollstufe, Rollen, Fundstelle)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Prüfung 30 beanstandet einen GFM-korrekten Text.** Das ist genau die Bauform, vor der der
|
|
142
|
+
Wirkungsnachweis zu Prüfung 28 warnt: *eine Prüfung ohne die nötige Unterscheidung hätte den
|
|
143
|
+
richtigen Text beanstandet.*
|
|
144
|
+
|
|
145
|
+
### 3.2 Warum das heute niemand sieht – und warum es trotzdem zählt
|
|
146
|
+
|
|
147
|
+
Keine Grenzfallzeile trägt heute einen maskierten Strich. **Der Fehlalarm ist latent, nicht
|
|
148
|
+
aktuell.** Er zählt trotzdem aus zwei Gründen:
|
|
149
|
+
|
|
150
|
+
1. **Er verbietet es, die neue Prüfung naiv zu bauen.** Nach der naiven Zählweise trügen D-29
|
|
151
|
+
und D-69 heute **acht** Zellen statt sechs – die neue Prüfung meldete an ihrem ersten Lauf
|
|
152
|
+
**zwei Fehlalarme auf korrektem Text.** Ohne diese Messung wäre das erst nach dem Bau
|
|
153
|
+
aufgefallen, wie bei Prüfung 34 beim ersten Lauf.
|
|
154
|
+
2. **Die Zählweise liegt viermal im Validator**, jedes Mal eigenhändig: `check_hook_ablageort`
|
|
155
|
+
(`:1686`, erste Zelle), `_tabellenzeilen` (`:1838`, Prüfungen 20/27), `check_grenzfaelle`
|
|
156
|
+
(`:2528`, Prüfung 30), `_uebersicht_pruefen` (`:3033`, Prüfung 31). Eine fünfte Stelle wäre
|
|
157
|
+
die fünfte Gelegenheit für denselben Fehler.
|
|
158
|
+
|
|
159
|
+
**Betroffen ist heute nur Prüfung 30** – die anderen drei nehmen entweder nur die erste Zelle
|
|
160
|
+
oder suchen in der ganzen Zeile. Das mindert den Fund nicht: Eine Prüfung, die den richtigen
|
|
161
|
+
Text beanstandet, wiegt schwerer als eine, die einen falschen durchlässt, denn sie kostet
|
|
162
|
+
Vertrauen in alle anderen.
|
|
163
|
+
|
|
164
|
+
## 4. Die Ermessensfrage, um die es eigentlich geht
|
|
165
|
+
|
|
166
|
+
Sie steht seit dem 0.34.0-Protokoll und ist nie entschieden worden:
|
|
167
|
+
|
|
168
|
+
> Soll die Gegenprobe ihre Summen aus der Tabelle **ableiten** – und beweist sie dann noch,
|
|
169
|
+
> was sie beweisen soll, oder verdoppelt sie nur die Rechenweise der Prüfung?
|
|
170
|
+
|
|
171
|
+
**Die Gegenfrage ist echt, und die Messung entscheidet sie nicht.** Was die Messung beiträgt,
|
|
172
|
+
ist die Trennung zweier Dinge, die bisher als eines behandelt wurden:
|
|
173
|
+
|
|
174
|
+
| | Frage | Art |
|
|
175
|
+
|---|---|---|
|
|
176
|
+
| **a** | Woher nimmt die Gegenprobe ihre Zielsumme? | **Ermessen** – eine abgeleitete Summe ist bequemer und belegt weniger |
|
|
177
|
+
| **b** | Was passiert, wenn ein Suchtext der Präparation nicht mehr trifft? | **kein Ermessen** – heute erscheint es als Prüfungsfehler, und das ist schlicht falsch |
|
|
178
|
+
|
|
179
|
+
**Punkt b ist unabhängig von Punkt a zu beheben.** Wird er behoben, verliert Punkt a den
|
|
180
|
+
größten Teil seines Drucks: Der wörtlich verankerte Wert bleibt der teurere Weg, aber sein
|
|
181
|
+
Bruch kostet dann eine Zeile Diagnose statt einer Fehlersuche im Repositorium.
|
|
182
|
+
|
|
183
|
+
## 5. Was diese Gegenprüfung nicht leistet
|
|
184
|
+
|
|
185
|
+
- **Sie misst keine Clientsitzung.** Alle drei Messungen laufen gegen den Validator und gegen
|
|
186
|
+
Kopien des Repositoriums. Das ist hier der richtige Gegenstand – es geht um Prüfungen, nicht
|
|
187
|
+
um Durchsetzung –, aber es ist zu benennen.
|
|
188
|
+
- **Sie sagt nichts darüber, ob die Einstufungen richtig sind**, die in den gezählten Tabellen
|
|
189
|
+
stehen. Die Zellenzahl ist Arithmetik, nicht Inhalt; dieselbe Grenze, die Prüfung 31 für
|
|
190
|
+
sich selbst benennt.
|
|
191
|
+
- **Sie hat die anderen drei Zählstellen nicht durchgemessen**, sondern gelesen. Dass
|
|
192
|
+
`check_hook_ablageort` nur die erste Zelle nimmt und `_uebersicht_pruefen` eine Zelle über
|
|
193
|
+
ein Muster sucht, steht im Code; ein maskierter Strich an der jeweils entscheidenden Stelle
|
|
194
|
+
ist nicht eingesetzt worden.
|
|
195
|
+
- **Sie prüft nicht, ob GFM in jeder Renderumgebung gleich maskiert.** Zugrunde gelegt ist die
|
|
196
|
+
GFM-Spezifikation und das Verhalten, das D-69 und `CR-2026-055` bereits voraussetzen.
|
|
197
|
+
|
|
198
|
+
## 6. Gegenzeichnung
|
|
199
|
+
|
|
200
|
+
| Rolle | Name/Kennung | Datum | Ergebnis bestätigt |
|
|
201
|
+
|---|---|---|---|
|
|
202
|
+
| `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` | `<TBD>` |
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# Gegenprüfung: zwei Listen für dieselbe Sache – es sind vier, und eine davon ist unbewacht
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | **Kandidat 1 der Übergabe:** „`skill_frontmatter.tool_names` und `hook_tools` vereinheitlichen – zwei Listen für dieselbe Sache, auseinandergelaufen: `tool_names.edit` führt kein `NotebookEdit`." Seit 0.35.0 vertagt, mit Grund: Die Vereinheitlichung ändere `allowed-tools` still mit |
|
|
6
|
+
| Anlass | Der Kandidat steht seit fünf Releases und ist nach der Übergabe „der größte offene Posten, der ohne Messinstrument auskommt". Nach D-23 gehört ein Befund vor der Umsetzung gegengeprüft, auch wenn er aus dem eigenen Haus stammt |
|
|
7
|
+
| Datum | 2026-09-13 |
|
|
8
|
+
| Framework-Version | 0.39.0 (Auscheckstand `7701db2`, Arbeitsbaum sauber, Validator 0/0) |
|
|
9
|
+
| Prüfmethode | **Zwanzig Messungen an den Abbildungsfunktionen und an echten Installationen, keine Codelektüre allein.** M1 bis M5 rufen die Abbildung je Verb und je Pack auf; M6 bis M12 greifen in eine Kopie des Repositoriums ein und lassen den ausgelieferten Validator laufen; M13 bis M20 präparieren das Manifest und installieren wirklich. **Sieben der zwanzig sind Kontrollläufe** – dieselbe Lücke in den *anderen* Abbildungen desselben Manifests. Ohne sie wäre „läuft durch" kein Messwert, sondern womöglich ein nicht gestarteter Lauf |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4, NTFS; Kopien und Testinstallationen im Scratchpad |
|
|
11
|
+
| Ergebnis | **Der Befund bestätigt sich – und er ist ein anderer, als der Kandidat sagt.** Es sind **vier** Werkzeugabbildungen, nicht zwei. Der inhaltliche Unterschied, den der Kandidat nennt, ist **richtungsrichtig und harmlos**; die vorgeschlagene Behebung wäre eine **Ausweitung**. Der eigentliche Befund liegt daneben: **Drei der vier Abbildungen brechen ab, wenn ihnen ein Verb fehlt. Die vierte reicht es wörtlich durch – und sie kommt zweimal vor** |
|
|
12
|
+
|
|
13
|
+
## 0. Der Zusammenhang in einem Satz
|
|
14
|
+
|
|
15
|
+
**Ein Frontmatter des Kerns schreibt fünf Verben, und drei verschiedene Stellen bilden sie
|
|
16
|
+
ab – jede mit ihrem eigenen Vokabular, und genau die, die eine echte Sperre trägt, kennt
|
|
17
|
+
zwei der fünf Verben nicht.**
|
|
18
|
+
|
|
19
|
+
## 1. Wie viele Listen es wirklich sind
|
|
20
|
+
|
|
21
|
+
| Stelle | Vokabular | Wofür | Bewacht? |
|
|
22
|
+
|---|---|---|---|
|
|
23
|
+
| `skill_frontmatter.tool_names` | `read, grep, glob, edit, exec` | `allowed-tools` des Skills – eine **Vorabfreigabe** (B01) | **nein** |
|
|
24
|
+
| `agent_frontmatter.tool_names` | dieselben fünf, zeichengleicher Block | `tools` des Agentenprofils – eine **Entfernung aus dem Vorrat** (A1, D-68) | **nein** |
|
|
25
|
+
| `hook_tools` | `read, search, exec, write` | Hook-Matcher **und** `disallowed-tools` je Skill – eine echte **Sperre** (S3, D-64) | ja |
|
|
26
|
+
| `permission_tools` | `read, search, write, exec, fetch, mcp` | Berechtigungsdatei – die Kernzusagen B1 bis B6 | ja |
|
|
27
|
+
| *daneben:* `agent_start_tools` | – | Startwerkzeug für Unteragenten (D-70) | ja (Prüfungen 34, 35) |
|
|
28
|
+
|
|
29
|
+
**Die Übergabe zählt zwei. Es sind vier, und die Zählung war damit wieder zu klein** – zum
|
|
30
|
+
sechsten Mal an diesem Tag.
|
|
31
|
+
|
|
32
|
+
Dazu ein drittes Vokabular, das keine Liste ist: `DENY_VERB_EIMER` in `install.py` – die
|
|
33
|
+
Brücke, über die `permissions.deny` der Quelle auf `hook_tools` abgebildet wird. Sie führt
|
|
34
|
+
`edit`, `write`, `exec`, `read` und `search`: **drei Verben der Quelle und zwei der
|
|
35
|
+
Durchsetzungsschicht**, und sie kennt `grep` und `glob` nicht.
|
|
36
|
+
|
|
37
|
+
## 2. Was die vierzehn ausgelieferten Quellen wirklich schreiben (M5)
|
|
38
|
+
|
|
39
|
+
Dreizehn `SKILL.md` und ein Agentenprofil:
|
|
40
|
+
|
|
41
|
+
| Feld | Verb | Fundstellen |
|
|
42
|
+
|---|---|---|
|
|
43
|
+
| `allowed-tools` | `read` | **14** |
|
|
44
|
+
| | `grep` | **14** |
|
|
45
|
+
| | `glob` | **14** |
|
|
46
|
+
| | `edit` | 4 |
|
|
47
|
+
| | `exec` | 5 |
|
|
48
|
+
| `permissions.deny` | `edit` | 9 |
|
|
49
|
+
| | `exec` | 8 |
|
|
50
|
+
| | befehlsgenau (`Exec(git push)` …) | 26 |
|
|
51
|
+
|
|
52
|
+
**`grep` und `glob` sind die meistgenannten Verben des Vokabulars – und genau die beiden,
|
|
53
|
+
die die Sperrabbildung nicht kennt.**
|
|
54
|
+
|
|
55
|
+
## 3. Befund 1: Dasselbe Wort, zwei Felder, zwei Verhalten (M1)
|
|
56
|
+
|
|
57
|
+
Je Verb ein Skill mit `allowed-tools: [<verb>]` **und** `permissions.deny: [<verb>]`,
|
|
58
|
+
durch `render_skill_frontmatter` des Vorstands, Pack `claude-code`:
|
|
59
|
+
|
|
60
|
+
| Verb | `allowed-tools` wird zu | `disallowed-tools` wird zu |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| `read` | `Read` | `Read` |
|
|
63
|
+
| **`grep`** | `Grep` | **nichts** |
|
|
64
|
+
| **`glob`** | `Glob` | **nichts** |
|
|
65
|
+
| **`search`** | **`search`** | `Grep, Glob` |
|
|
66
|
+
| `edit` | `Edit, Write` | `Edit, Write, NotebookEdit` |
|
|
67
|
+
| **`write`** | **`write`** | `Edit, Write, NotebookEdit` |
|
|
68
|
+
| `exec` | `Bash` | `Bash` |
|
|
69
|
+
| **`fetch`** | **`fetch`** | **nichts** |
|
|
70
|
+
| **`mcp`** | **`mcp`** | **nichts** |
|
|
71
|
+
| **`banane`** | **`banane`** | **nichts** |
|
|
72
|
+
|
|
73
|
+
**Zwei von zehn Verben verhalten sich in beiden Feldern gleich.** Die Lage ist genau
|
|
74
|
+
invertiert: `grep` wirkt in der Vorabfreigabe und nicht in der Sperre, `search` in der
|
|
75
|
+
Sperre und nicht in der Vorabfreigabe. Und ein Schreibfehler – `banane` – wird in der
|
|
76
|
+
Vorabfreigabe **zum Werkzeugnamen** und in der Sperre **zu nichts**.
|
|
77
|
+
|
|
78
|
+
Für das Agentenprofil (M2) gilt dasselbe: Aus `allowed-tools: [banane]` wird
|
|
79
|
+
`tools: banane`.
|
|
80
|
+
|
|
81
|
+
## 4. Befund 2: Drei Abbildungen brechen ab, eine reicht durch (M3, M13 bis M20)
|
|
82
|
+
|
|
83
|
+
### 4.1 Am Funktionsaufruf (M3)
|
|
84
|
+
|
|
85
|
+
Dieselbe Frage – „was heißt dieses Verb bei diesem Client?" – an alle drei Abbildungen:
|
|
86
|
+
|
|
87
|
+
| Verb | `skill_frontmatter.tool_names` | `hook_tools` | `permission_tools` |
|
|
88
|
+
|---|---|---|---|
|
|
89
|
+
| `grep` | `Grep` | **AbbildungsFehler** | **AbbildungsFehler** |
|
|
90
|
+
| `edit` | `Edit, Write` | **AbbildungsFehler** | **AbbildungsFehler** |
|
|
91
|
+
| `banane` | **`banane`** | **AbbildungsFehler** | **AbbildungsFehler** |
|
|
92
|
+
|
|
93
|
+
### 4.2 An einer echten Installation (M13 bis M20)
|
|
94
|
+
|
|
95
|
+
Je Zeile: Manifest präparieren, `install.py --client claude-code --root <leer>`, das
|
|
96
|
+
erzeugte Frontmatter ablesen, Manifest zurücksetzen und gegen den Ausgangstext prüfen.
|
|
97
|
+
|
|
98
|
+
| Nr. | Eingriff | Ergebnis |
|
|
99
|
+
|---|---|---|
|
|
100
|
+
| M13 | *Ausgangslage* | `fw-plan: allowed-tools: Read, Grep, Glob` / `fw-reviewer: tools: Read, Grep, Glob` |
|
|
101
|
+
| **M14** | `skill_frontmatter.tool_names` verliert `grep` | **durchgelaufen** → `allowed-tools: Read, grep, Glob` |
|
|
102
|
+
| **M15** | `agent_frontmatter.tool_names` verliert `read` | **durchgelaufen** → `tools: read, Grep, Glob` |
|
|
103
|
+
| **M16** | **beide `tool_names`-Blöcke ganz geleert** | **durchgelaufen** → `tools: read, grep, glob` |
|
|
104
|
+
| M17 | *Kontrolle:* `hook_tools` verliert `search` | **ABBRUCH:** „hook_tools kennt das Werkzeugverb 'search' nicht" |
|
|
105
|
+
| M18 | *Kontrolle:* `hook_tools.search` auf die leere Liste | **ABBRUCH:** „kein Hook-Werkzeug für 'search' …" |
|
|
106
|
+
| M19 | *Kontrolle:* `permission_tools` verliert `exec` | **ABBRUCH:** „permission_tools kennt das Werkzeugverb 'exec' nicht" |
|
|
107
|
+
| M20 | *Kontrolle nach Rücknahme* | wie M13 |
|
|
108
|
+
|
|
109
|
+
**M16 ist die Messung, auf die es ankommt.** Eine Installation, deren Abbildung gar nichts
|
|
110
|
+
mehr kann, läuft durch und liefert das Reviewprofil `fw-reviewer` mit
|
|
111
|
+
`tools: read, grep, glob` aus – **drei Namen, die dieser Client nicht führt.** Zeile A1
|
|
112
|
+
des Packs nennt genau diesen Fall als nicht gemessen: *„dass ein Profil, dessen
|
|
113
|
+
`tools`-Liste sich zu keinem Werkzeug auflöst, gar nicht erst gestartet wird"*. **Die
|
|
114
|
+
Abbildung stellt ihn stillschweigend her.**
|
|
115
|
+
|
|
116
|
+
Die Richtung ist dabei nicht die schlimmstmögliche: Ein Werkzeugname, den es nicht gibt,
|
|
117
|
+
ist kein Werkzeug, und sowohl die Vorabfreigabe als auch das Profil werden dadurch
|
|
118
|
+
**enger**. Aber die Zusage A1 hinge dann an einem Zufall, und niemand meldete es.
|
|
119
|
+
|
|
120
|
+
## 5. Befund 3: `permissions.deny: glob` erzeugt lautlos keine Sperre (M6 bis M8)
|
|
121
|
+
|
|
122
|
+
Je Zeile: Eingriff in eine Kopie des Repositoriums, ausgelieferter Validator, Rücknahme.
|
|
123
|
+
Ausgangslauf 0 Fehler, 0 Warnungen.
|
|
124
|
+
|
|
125
|
+
| Nr. | Eingriff in `fw-plan/SKILL.md` | Validator |
|
|
126
|
+
|---|---|---|
|
|
127
|
+
| **M6** | `permissions.deny: edit, exec` → `glob, grep` | **0 Fehler, 0 Warnungen** |
|
|
128
|
+
| **M7** | `allowed-tools` um ein Verb `banane` ergänzt | **0 Fehler, 0 Warnungen** |
|
|
129
|
+
| **M8** | `allowed-tools: read` → `search` | **0 Fehler, 0 Warnungen** |
|
|
130
|
+
|
|
131
|
+
**M6 ist der Kern.** Ein Skillautor, der `deny: glob` schreibt, bekommt keine Sperre,
|
|
132
|
+
keine Verweigerung und keine Meldung – **genau die Bauform, die D-66 für Argumentmuster
|
|
133
|
+
gemessen hat:** *„Wer ein Argumentmuster schreibt, hat deshalb gar keine Schranke, nicht
|
|
134
|
+
bloß eine gröbere."*
|
|
135
|
+
|
|
136
|
+
**Und diese Nicht-Abbildung ist nicht deklariert.** Der Docstring von `deny_abbilden`
|
|
137
|
+
führt die *andere* Nicht-Abbildung – die befehlsgenauen Einträge – ausdrücklich mit
|
|
138
|
+
Verweis auf D-47 („Bauart wie `hook_tools_absent`") und im Manifest unter
|
|
139
|
+
`skill_deny_unmapped`. **Die Verben `grep` und `glob` stehen nirgends.** Ein Kanal ohne
|
|
140
|
+
Deklaration, in derselben Funktion, die D-47 zitiert.
|
|
141
|
+
|
|
142
|
+
**Ausgeliefert wird davon heute nichts:** Keine der vierzehn Quellen schreibt
|
|
143
|
+
`deny: grep` oder `deny: glob` (M5). Der Befund ist deshalb **eine Vorsorge, keine offene
|
|
144
|
+
Lücke** – für die Skills des Kerns. Für ein Projekt, das einen eigenen `prj-*`-Skill
|
|
145
|
+
schreibt, ist er heute wirksam.
|
|
146
|
+
|
|
147
|
+
## 6. Befund 4 – die Entlastung: Der Kandidat schlägt die falsche Behebung vor (M4)
|
|
148
|
+
|
|
149
|
+
Der inhaltliche Unterschied, den die Übergabe nennt, ist echt. **Seine Richtung ist die
|
|
150
|
+
zulässige:**
|
|
151
|
+
|
|
152
|
+
| Verb der Quelle | Vorabfreigabe `tool_names` | Sperre `hook_tools` | Lage |
|
|
153
|
+
|---|---|---|---|
|
|
154
|
+
| `read` | `Read` | `Read` | Sperre ⊇ Vorabfreigabe |
|
|
155
|
+
| `grep` | `Grep` | `Grep, Glob` | Sperre ⊇ Vorabfreigabe |
|
|
156
|
+
| `glob` | `Glob` | `Grep, Glob` | Sperre ⊇ Vorabfreigabe |
|
|
157
|
+
| **`edit`** | `Edit, Write` | `Edit, Write, NotebookEdit` | Sperre ⊇ Vorabfreigabe |
|
|
158
|
+
| `exec` | `Bash` | `Bash` | Sperre ⊇ Vorabfreigabe |
|
|
159
|
+
|
|
160
|
+
**Bei allen fünf ist die Sperrliste mindestens so weit wie die Vorabfreigabe** – und das
|
|
161
|
+
ist die Richtung, die man will: Ein Skill, der `edit` freigibt und `edit` sperrt, bekommt
|
|
162
|
+
keine Freigabe auf ein Werkzeug, das die Sperre nicht erfasst.
|
|
163
|
+
|
|
164
|
+
**Der Kandidat wollte `tool_names` auf `hook_tools` heben.** Das hieße, aus
|
|
165
|
+
`allowed-tools: Edit, Write` ein `Edit, Write, NotebookEdit` zu machen – **eine
|
|
166
|
+
Ausweitung der Vorabfreigabe**, und nach dem Verschärfungsprinzip genau das, was ein
|
|
167
|
+
Änderungsantrag begründen müsste. Die Gegenrichtung – `hook_tools.write` um
|
|
168
|
+
`NotebookEdit` kürzen – wäre eine Lücke in einer Sperre.
|
|
169
|
+
|
|
170
|
+
**Zu vereinheitlichen ist deshalb nicht der Inhalt der Listen, sondern die Brücke
|
|
171
|
+
zwischen den Vokabularen und die Disziplin, mit der sie bewacht werden.** Und dass die
|
|
172
|
+
Vertagung seit 0.35.0 mit „das ändert `allowed-tools` still mit" begründet war, ist damit
|
|
173
|
+
**bestätigt und zugleich überholt**: Der Grund stimmte, die Behebung war eine andere.
|
|
174
|
+
|
|
175
|
+
## 7. Befund 5 – nicht gesucht: Ein Manifest widerspricht sich selbst
|
|
176
|
+
|
|
177
|
+
`devin-desktop` führt `tool_names: {}` in beiden Blöcken; die Verben gehen unverändert
|
|
178
|
+
durch, und jede installierte Skilldatei dieses Packs trägt `allowed-tools: read, grep,
|
|
179
|
+
glob` (M1, M2).
|
|
180
|
+
|
|
181
|
+
Dasselbe Manifest erklärt drei Felder weiter:
|
|
182
|
+
|
|
183
|
+
> `"hook_tools_absent": ["search"]` – *„Dieser Client führt kein eigenes Suchwerkzeug"*
|
|
184
|
+
|
|
185
|
+
**Beides kann nicht stimmen.** Entweder hat der Client Suchwerkzeuge, dann ist die
|
|
186
|
+
erklärte Abwesenheit falsch; oder er hat keine, dann nennen dreizehn installierte Skills
|
|
187
|
+
zwei Werkzeuge, die es nicht gibt.
|
|
188
|
+
|
|
189
|
+
**Welche Seite falsch ist, ist unerhoben** – Zeile S3 dieses Packs sagt es selbst: *„Das
|
|
190
|
+
Durchreichen ist belegt, die Wirkung nicht."* Der **Widerspruch** ist gemessen, seine
|
|
191
|
+
Auflösung nicht. Er gehört festgehalten, nicht geraten.
|
|
192
|
+
|
|
193
|
+
## 8. Befund 6 – nebenbei: Der Kopfkommentar des Validators endet bei Prüfung 31
|
|
194
|
+
|
|
195
|
+
Kandidat 4 der Übergabe, hier bestätigt: Die Prüfungen **32 bis 37** stehen nicht im
|
|
196
|
+
Kopfkommentar von `validate-framework.py`, seit fünf Releases. Wer eine achtunddreißigste
|
|
197
|
+
hinzufügt, ohne die sechs nachzutragen, schreibt die Lücke fort.
|
|
198
|
+
|
|
199
|
+
## 9. Was diese Gegenprüfung nicht leistet
|
|
200
|
+
|
|
201
|
+
- **Keine Messung an einem Client.** Gemessen sind die Abbildungsfunktionen, der
|
|
202
|
+
Validator und zwei echte Installationen – nicht, wie ein KI-Client auf
|
|
203
|
+
`allowed-tools: banane` reagiert. Dass ein nicht existierender Werkzeugname keine
|
|
204
|
+
Wirkung hat, ist **Erwartung**.
|
|
205
|
+
- **Die Werkzeugnamen von `devin-desktop` bleiben unerhoben.** Befund 5 weist einen
|
|
206
|
+
Widerspruch nach, keine Wahrheit.
|
|
207
|
+
- **Ob `grep`/`glob` in `disallowed-tools` wirken würden, ist nicht gemessen.** Belegt
|
|
208
|
+
ist, dass heute **nichts** erzeugt wird. Ob `Grep, Glob` dort die Suche sperrten, wäre
|
|
209
|
+
eine eigene Erhebung – dieselbe Frage, die D-64 für `Write, Edit` beantwortet hat.
|
|
210
|
+
- **Die Zahl 14 der Quellen ist gezählt, nicht ausgerechnet.** Sie umfasst dreizehn
|
|
211
|
+
`SKILL.md` (zwölf `fw-*`, einer aus dem Rollenpack) und ein Agentenprofil.
|
|
212
|
+
|
|
213
|
+
## 10. Gegenzeichnung
|
|
214
|
+
|
|
215
|
+
| Feld | Inhalt |
|
|
216
|
+
|---|---|
|
|
217
|
+
| Durchgeführt von | `<FRAMEWORK_OWNER>` |
|
|
218
|
+
| Gegengezeichnet | *offen* |
|
|
219
|
+
| Folge | `CR-2026-062`, Ziel-Release `0.40.0` |
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Wirkungsnachweise zu Release 0.32.0
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Die Umsetzungen zu `CR-2026-052` (D-52 bis D-54, Befund **B09**) und `CR-2026-053` (D-55, D-56, Befund **B07**) |
|
|
6
|
+
| Datum | 2026-09-13 |
|
|
7
|
+
| Framework-Version | 0.32.0 (gegen 0.31.0 = `97052c1`) |
|
|
8
|
+
| Prüfmethode | `probe-pruefungen.py` gegen beide Stände und in **beiden** Kodierungsumgebungen; dazu ein Validatorlauf des neuen Prüfsatzes gegen den unveränderten Vorstand |
|
|
9
|
+
| Umgebung | Windows 11, Python 3.14.4 |
|
|
10
|
+
| Ergebnis | **72 Sonden und Gegenproben bestehen gegen 0.32.0 in beiden Umgebungen.** Die drei neuen Prüfungen melden gegen 0.31.0 **acht** Fundstellen – und das sind genau die Befunde dieses Releases |
|
|
11
|
+
|
|
12
|
+
## 1. Was hier nachgewiesen wird – und was nicht
|
|
13
|
+
|
|
14
|
+
Beide Anträge sind in ihrem Kern **Textentscheidungen**. Ein Skript kann nicht prüfen, ob eine
|
|
15
|
+
Einstufung richtig ist; es kann prüfen, ob alle Fassungen dieselbe Einstufung tragen und ob eine
|
|
16
|
+
Entscheidung überhaupt getroffen wurde. Genau dort setzen die drei neuen Prüfungen an.
|
|
17
|
+
|
|
18
|
+
| Gegenstand | Art | Nachweis |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| Prüfung 28 – Strukturpfad in der `<EXCLUDED_PATHS>`-Deklaration | neue Prüfung | drei Sonden, eine Gegenprobe |
|
|
21
|
+
| Prüfung 29 – K3-Kategorien in fünf Fassungen, ohne Bedingung | neue Prüfung | drei Sonden, eine Gegenprobe |
|
|
22
|
+
| Prüfung 30 – Vollständigkeit der Grenzfalltabelle | neue Prüfung | drei Sonden, eine Gegenprobe |
|
|
23
|
+
| Abgrenzung zu V6 (D-53) | Textentscheidung | **keine Sonde** – siehe Abschnitt 6 |
|
|
24
|
+
| R12 nach Schreibziel und Aufsicht (D-54) | Textentscheidung | **keine Sonde** – siehe Abschnitt 6 |
|
|
25
|
+
| Entwicklungsprofil (D-56) | Dokument, kein Mechanismus | **keine Sonde** – siehe Abschnitt 6 |
|
|
26
|
+
|
|
27
|
+
**Für drei der fünf Entscheidungen gibt es bewusst keine Sonde.** Eine Prüfung, die eine
|
|
28
|
+
Formulierung bewacht, meldet jede Umformulierung und sonst nichts. Was sie tragen, ist die
|
|
29
|
+
Grenzfalltabelle – und die ist maschinell auf Vollständigkeit geprüft, nicht auf Richtigkeit.
|
|
30
|
+
|
|
31
|
+
## 2. Die neun neuen Sonden
|
|
32
|
+
|
|
33
|
+
Jede Sonde präpariert eine Kopie des Repositoriums und erwartet eine bestimmte Meldung. Bleibt der
|
|
34
|
+
Baum unverändert, meldet das Skript `[nichts praepariert]` – der Suchtext der Sonde passt dann
|
|
35
|
+
nicht mehr, und gemessen würde die Sonde statt der Prüfung.
|
|
36
|
+
|
|
37
|
+
| Sonde | Präparation | Erwartete Meldung | 0.32.0 | 0.31.0 |
|
|
38
|
+
|---|---|---|---|---|
|
|
39
|
+
| 28a | Strukturpfad in die `<EXCLUDED_PATHS>`-Zeile der Overlay-Vorlage | „Die Deklaration von `<EXCLUDED_PATHS>` nennt“ | gemeldet | Befund steht dort **von sich aus** |
|
|
40
|
+
| 28b | dasselbe in der Laufzeitregel `20-*` | ebenda | gemeldet | ebenso |
|
|
41
|
+
| 28c | Beschriftung der Deklaration umbenannt | „keine Zeile ist als Deklaration erkennbar“ | gemeldet | – |
|
|
42
|
+
| 29a | Kategorie „Sicherheitskonfigurationen“ aus der Kurzform entfernt | „nennt die Kategorie … nicht“ | gemeldet | Befund steht dort **von sich aus** |
|
|
43
|
+
| 29b | Bedingung an die Kategorie „interne Adressen“ angehängt | „traegt eine Bedingung“ | gemeldet | Befund steht dort **von sich aus** |
|
|
44
|
+
| 29c | Anker „- Immer K3“ umbenannt | „ist nicht mehr auffindbar“ | gemeldet | – |
|
|
45
|
+
| 30a | Grenzfallzeile G-07 gelöscht | „Grenzfallzeilen, der Steckbrief nennt“ | gemeldet | Datei fehlt dort ganz |
|
|
46
|
+
| 30b | Spalte „Kontrollstufe“ in G-05 geleert | „ist leer“ | gemeldet | – |
|
|
47
|
+
| 30c | Verweis auf D-53 aus allen Zeilen entfernt | „Keine Grenzfallzeile verweist auf D-53“ | gemeldet | – |
|
|
48
|
+
|
|
49
|
+
**Zwei Sonden prüfen nicht die Sache, sondern die Prüfung selbst.** 28c und 29c verlieren den
|
|
50
|
+
Anker, an dem die jeweilige Prüfung ihren Prüfgegenstand findet. Ohne diese Sonden hätte das
|
|
51
|
+
Projekt zwei Konsistenzprüfungen, die beim ersten Umformulieren **leise bestehen** – der
|
|
52
|
+
Befundtyp, den ERH-12 und die Lehre aus 0.27.0 beschreiben. Die Prüfungen melden das Fehlen
|
|
53
|
+
deshalb selbst als Fehler.
|
|
54
|
+
|
|
55
|
+
## 3. Die drei Gegenproben – und warum sie hier mehr wert sind als üblich
|
|
56
|
+
|
|
57
|
+
| Gegenprobe | Präparation | Was sie ausschließt |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| 28 | Dieselben Strukturpfade **im Fließtext**, in einem Satz, der sie ausdrücklich ausschließt | Dass Prüfung 28 jede Nennung meldet statt der Deklaration. **Beide Träger enthalten genau so einen Satz** – eine Prüfung ohne diese Unterscheidung hätte den richtigen Text beanstandet |
|
|
60
|
+
| 29 | Kurzform kürzer formuliert („Sicherheitskonfigurationen“ statt „… mit Schutzwirkung“), keine Kategorie weniger | Dass Prüfung 29 auf Wortgleichheit prüft statt auf Kategorien. Eine Kurzform **darf** kürzer sein |
|
|
61
|
+
| 30 | Ein dreizehnter Grenzfall samt mitgezählter Anzahl im Steckbrief | Dass Prüfung 30 eine feste Zahl erwartet statt der mitgeführten |
|
|
62
|
+
|
|
63
|
+
**Zur Ehrlichkeit der Gegenproben:** Die Gegenprobe zu 28 bestünde gegen 0.31.0 **aus dem falschen
|
|
64
|
+
Grund** – dort gibt es die Prüfung nicht. Dasselbe gilt für 29 und 30. Der Wert dieser
|
|
65
|
+
Gegenproben liegt allein gegen 0.32.0, und dort tragen sie: Sie belegen, dass die neuen Prüfungen
|
|
66
|
+
unterscheiden und nicht pauschal melden. Dieselbe Einschränkung stand am 2026-09-12 viermal in den
|
|
67
|
+
Protokollen und gehört auch hier hin.
|
|
68
|
+
|
|
69
|
+
## 4. Der Gegenbeweis gegen den Vorstand
|
|
70
|
+
|
|
71
|
+
Vorgehen: `git archive 97052c1` in ein leeres Verzeichnis, dort mit **dem eigenen** `install.py`
|
|
72
|
+
des Vorstands installiert, dann **nur** `validate-framework.py` aus 0.32.0 hineinkopiert. Damit
|
|
73
|
+
misst der neue Prüfsatz den alten Inhalt.
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
FEHLER leitwerk-core/templates/project-overlay/OVERLAY.md:71 Prüfung 28
|
|
77
|
+
FEHLER leitwerk-core/framework/runtime/rules/20-project-overlay.md:23 Prüfung 28
|
|
78
|
+
FEHLER project-overlay/OVERLAY.md:71 Prüfung 28 (Installation)
|
|
79
|
+
FEHLER .devin/rules/20-project-overlay.md:23 Prüfung 28 (Installation)
|
|
80
|
+
FEHLER leitwerk-core/framework/core/02-privacy.md Prüfung 29 – Bedingung
|
|
81
|
+
FEHLER leitwerk-core/framework/runtime/root-instruction.md Prüfung 29 – Sicherheitskonfigurationen fehlt
|
|
82
|
+
FEHLER leitwerk-core/framework/runtime/root-instruction.md Prüfung 29 – Inhalte anderer Projekte fehlt
|
|
83
|
+
FEHLER leitwerk-core/tests/EDGE_CASES.md Prüfung 30 – fehlt
|
|
84
|
+
Ergebnis: 8 Fehler, 0 Warnungen
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Gegen 0.32.0 im selben Prüfsatz: **0 Fehler, 0 Warnungen.**
|
|
88
|
+
|
|
89
|
+
**Das ist der stärkste Teil dieses Nachweises.** Die drei Prüfungen sind nicht auf einen
|
|
90
|
+
präparierten Defekt zugeschnitten – sie finden die vier Befunde dieses Releases **im
|
|
91
|
+
unveränderten Vorstand von selbst**: die fehlerhafte Ausschlussliste in Quelle und Installation,
|
|
92
|
+
die Bedingung an einer unbedingten Kategorie und die zwei Kategorien, die der Kurzform fehlten.
|
|
93
|
+
Zwei davon hat das externe Review nicht genannt; Prüfung 29 hätte sie gefunden, bevor jemand
|
|
94
|
+
hinsah.
|
|
95
|
+
|
|
96
|
+
## 5. Der Lauf in beiden Kodierungsumgebungen
|
|
97
|
+
|
|
98
|
+
Auflage aus D-49: Der Sondenlauf gilt nur, wenn er in beiden Umgebungen läuft.
|
|
99
|
+
|
|
100
|
+
| Umgebung | Sonden und Gegenproben | Ergebnis |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| ohne `PYTHONIOENCODING` | 72 | alle bestanden |
|
|
103
|
+
| mit `PYTHONIOENCODING=utf-8` | 72 | alle bestanden |
|
|
104
|
+
|
|
105
|
+
72 = 60 aus 0.31.0 plus zwölf neue (neun Sonden, drei Gegenproben). Der Validator meldet in beiden
|
|
106
|
+
Umgebungen 0 Fehler und 0 Warnungen.
|
|
107
|
+
|
|
108
|
+
## 6. Was dieses Release nicht nachweist
|
|
109
|
+
|
|
110
|
+
- **Die Abgrenzung zu V6 (D-53) ist nicht maschinell geprüft.** Ob eine konkrete Änderung
|
|
111
|
+
Anwendungslogik oder Betrieb betrifft, entscheidet ein Mensch am Kriterium aus
|
|
112
|
+
`framework/core/09-risk-model.md`. Was geprüft ist: dass die Grenzfälle G-04 bis G-06 die
|
|
113
|
+
Entscheidung tragen und auf eine Fundstelle verweisen.
|
|
114
|
+
- **R12 (D-54) ist nicht maschinell geprüft.** Die leere Schnittmenge ist im Text aufgelöst; dass
|
|
115
|
+
sie leer **war**, ist im Gegenprüfungsprotokoll belegt, nicht durch einen Lauf.
|
|
116
|
+
- **Das Entwicklungsprofil (D-56) hat keinen Mechanismus und deshalb keine Sonde.** Es beschreibt
|
|
117
|
+
einen Kontext und hebt ausdrücklich keinen Schutz auf. Was es über den Shell-Kanal sagt, ist am
|
|
118
|
+
2026-09-12 gemessen (B04) und hier nicht erneut belegt.
|
|
119
|
+
- **Prüfung 29 prüft Kategorien, nicht Semantik.** Sie erkennt eine fehlende Kategorie und eine
|
|
120
|
+
Bedingung aus einer festen Liste von Bedingungswörtern. Eine Bedingung, die anders formuliert
|
|
121
|
+
ist – „gilt nicht, wenn“ –, entgeht ihr. Die Liste ist erweiterbar und steht an einer Stelle.
|
|
122
|
+
- **Kein Lauf gegen ein Projekt mit ausgefüllter `<EXCLUDED_PATHS>`-Liste.** Dass die fehlerhafte
|
|
123
|
+
Lesesperre tatsächlich in einer Berechtigungsdatei entsteht, ist **nicht** gemessen; belegt ist
|
|
124
|
+
der Weg dorthin. Kein ausgeliefertes Overlay füllt die Liste aus, weil die Vorlage `<TBD>`
|
|
125
|
+
liefert. Das gehört in einen AP2-Lauf mit einem ausgefüllten Overlay.
|
|
126
|
+
- **`FW-KO-05` steht auf `offen`.** Ob ein KI-Client die zwölf Grenzfälle so einstuft, wie die
|
|
127
|
+
Tabelle es vorgibt, ist eine Sitzung und nicht gefahren.
|
|
128
|
+
|
|
129
|
+
## 7. Gegenzeichnung
|
|
130
|
+
|
|
131
|
+
| Rolle | Name/Kennung | Datum | Ergebnis bestätigt |
|
|
132
|
+
|---|---|---|---|
|
|
133
|
+
| `<FRAMEWORK_OWNER>` | `<TBD>` | `<TBD>` | `<TBD>` |
|