@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,238 @@
|
|
|
1
|
+
# Erhebung: Was passiert, wenn eine Sitzung einen Framework-Skill aufruft?
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Zeile **S2** der Fähigkeitsmatrix `claude-code`: „Gezielter Aufruf – Aufruf über den Skill-Namen mit vorangestelltem Schrägstrich", seit jeher `[TECHNISCH]` `[DOK]` und **ohne jede genannte Grenze** |
|
|
6
|
+
| Anlass | Externer Bericht `skill-priority-improvement.md` vom 2026-09-14 (Devin Desktop am Piloten): Der Agent habe bei einer passenden Aufgabe mit den Standardwerkzeugen gearbeitet statt mit den Skills `fw-code-explain` und `fw-repo-analyze` |
|
|
7
|
+
| Datum | 2026-09-14 |
|
|
8
|
+
| Framework-Version | 0.40.0 (`00b534b`) |
|
|
9
|
+
| Geprüfte Clientversion | **Claude Code 2.1.270** (Modell Opus 5) |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4; frisches synthetisches Testprojekt im Sitzungs-Scratchpad, **vollständige Installation mit allen Regeltexten**, Overlay auf `aktiv`, Berechtigungsschicht **an** (`defaultMode: default`), kein Bypass |
|
|
11
|
+
| Läufe | **elf**: vier wie ausgeliefert (A1 bis A4), drei mit freigegebenem Werkzeug (B1 bis B3), drei zur Argumentform (C1, D1, **E1 als Kontrolllauf**) und ein Entlastungslauf zur Reichweite der Regelträger (G1) |
|
|
12
|
+
| Belege | `devpacks/leitwerk-erhebungen-2026-09-14/` (außerhalb des Repositoriums, mit eigener README) |
|
|
13
|
+
| Ergebnis | **Die Erkennung war nie das Problem.** Die Sitzung ruft den passenden Skill auf – und die **Berechtigungsdatei des Frameworks weist den Aufruf ab**, weil ihr Vokabular für den Skillaufruf kein Verb kennt. Was danach geschieht, sieht aus wie ein gelungener Skill-Lauf |
|
|
14
|
+
|
|
15
|
+
> **Warum die Umgebung diesmal *mit* Regeltexten fährt.** Die Erhebungen vom 13.09. liefen
|
|
16
|
+
> ohne sie, weil dort ein Mechanismus des Clients gemessen wurde und ein Regeltext das
|
|
17
|
+
> Ergebnis verfälscht hätte. Hier ist der Gegenstand ein anderer: Gemessen wird, was eine
|
|
18
|
+
> **vollständige Leitwerk-Installation** tut. Die Regeltexte sind nicht Störgröße, sondern
|
|
19
|
+
> Messobjekt.
|
|
20
|
+
|
|
21
|
+
## 1. Methode
|
|
22
|
+
|
|
23
|
+
Vier Vorkehrungen, jede aus einem Befund dieses Projekts:
|
|
24
|
+
|
|
25
|
+
- **Kein Bypass, sondern eine `allow`-Liste.** Ein Bypass könnte die geprüfte Schranke gleich
|
|
26
|
+
mit abschalten. Die Läufe A1 bis A4 fahren die ausgelieferte Berechtigungsdatei
|
|
27
|
+
**unverändert**; die Läufe B bis E ergänzen genau eine Zeile in `settings.local.json` und
|
|
28
|
+
nehmen sie nach dem Lauf zurück.
|
|
29
|
+
- **Die Aufgabe schreibt das Werkzeug nicht vor** – und das ist hier richtig, nicht falsch.
|
|
30
|
+
Die D-72-Lehre („die Sonde muss das Werkzeug vorschreiben") gilt für Messungen an einer
|
|
31
|
+
Schranke. Hier ist die **Werkzeugwahl des Agenten** der Messwert.
|
|
32
|
+
- **Zwei Aufgabenformen.** Eine Erklärungsaufgabe (Träger: `fw-code-explain`) und eine
|
|
33
|
+
Planungsaufgabe (Träger: `fw-plan`, `fw-change-analyze`) – letztere ist der Zuschnitt, den
|
|
34
|
+
der externe Bericht beschreibt.
|
|
35
|
+
- **Die Werkzeugspur aus dem Transkript, nicht aus dem Antworttext.** `permission_denials` im
|
|
36
|
+
JSON-Ergebnis ist die zweite, vom Antworttext unabhängige Quelle; die dritte ist der
|
|
37
|
+
Eintrag `toolDenialKind` im Sitzungstranskript.
|
|
38
|
+
|
|
39
|
+
**Aufgabe 1 (A1 bis A3, B1, B2, C1, D1, E1):** „Erklaere mir, was die Klasse
|
|
40
|
+
ZwischenablageDienst tut."
|
|
41
|
+
**Aufgabe 2 (A4, B3):** „Plane die Aenderungen an der Klasse ZwischenablageDienst, die
|
|
42
|
+
noetig waeren, damit sie auch ohne java.awt funktioniert."
|
|
43
|
+
|
|
44
|
+
Keine der beiden nennt einen Skill, ein Werkzeug oder einen Betriebsmodus.
|
|
45
|
+
|
|
46
|
+
## 2. Befund 1: Die Sitzung erkennt den Skill – in der Hälfte der Läufe
|
|
47
|
+
|
|
48
|
+
| Lauf | Aufgabe | `allow` | Skill-Aufruf | Ergebnis des Aufrufs |
|
|
49
|
+
|---|---|---|---|---|
|
|
50
|
+
| **A1** | 1 | wie ausgeliefert | `fw-code-explain` | **abgewiesen** |
|
|
51
|
+
| **A2** | 1 | wie ausgeliefert | **keiner** | – |
|
|
52
|
+
| **A3** | 1 | wie ausgeliefert | `fw-code-explain` | **abgewiesen** |
|
|
53
|
+
| **A4** | 2 | wie ausgeliefert | **keiner** | – |
|
|
54
|
+
|
|
55
|
+
**Zwei von vier.** Der externe Bericht sagt, die Agentenlogik prüfe nicht, ob ein Skill
|
|
56
|
+
vorliegt. Das trifft für A2 und A4 zu und für A1 und A3 nicht – und bei A1 und A3 wäre die
|
|
57
|
+
Prüfung ohnehin nicht der schwache Punkt gewesen.
|
|
58
|
+
|
|
59
|
+
**Die Aufgabenform entscheidet mit:** Die Erklärungsaufgabe zog den Skill in zwei von drei
|
|
60
|
+
Läufen, die Planungsaufgabe in keinem von einem. Das ist genau der Zuschnitt des externen
|
|
61
|
+
Berichts („Änderungen planen"), und er reproduziert sich.
|
|
62
|
+
|
|
63
|
+
### Der Satz, der den Textbefund trägt
|
|
64
|
+
|
|
65
|
+
Lauf **A2** rief keinen Skill auf und schrieb in seinen Ergebnisbericht:
|
|
66
|
+
|
|
67
|
+
> „**Verwendete Skills:** keine (Aufgabe entspricht inhaltlich `fw-code-explain`, Tiefe
|
|
68
|
+
> „Detail"; **kein Skill-Aufruf nötig**)"
|
|
69
|
+
|
|
70
|
+
Die Sitzung hat den passenden Skill **benannt** und seinen Aufruf für entbehrlich erklärt.
|
|
71
|
+
Unter dem Wortlaut von 0.40.0 ist das vertretbar: Abschnitt 17 der Wurzel-Anweisungsdatei sagt
|
|
72
|
+
„Nutze für Standardaufgaben die Skills", nennt keinen Zeitpunkt, trägt keine
|
|
73
|
+
Verbindlichkeitsmarke und verlangt für den Verzicht keine Begründung.
|
|
74
|
+
|
|
75
|
+
## 3. Befund 2: Der Aufruf wird abgewiesen – von der Berechtigungsdatei des Frameworks
|
|
76
|
+
|
|
77
|
+
In A1 und A3 steht im Transkript derselbe Eintrag:
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{"type": "tool_result", "content": "Execute skill: fw-code-explain",
|
|
81
|
+
"is_error": true, "tool_use_id": "toolu_01EgMafB2QoyT9Y2n2rQPDpN"}
|
|
82
|
+
```
|
|
83
|
+
```json
|
|
84
|
+
"toolUseResult": "Error: Execute skill: fw-code-explain", "toolDenialKind": "user-rejected"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Und im JSON-Ergebnis desselben Laufs:
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
"permission_denials": [{"tool_name": "Skill",
|
|
91
|
+
"tool_input": {"skill": "fw-code-explain", "args": "…"}}]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Die Ursache steht in der ausgelieferten Berechtigungsdatei.** Ihre `allow`-Liste führt sechs
|
|
95
|
+
Regeln – `Read(**)` und fünf lesende `git`-Befehle – und keine für das Werkzeug `Skill`. Der
|
|
96
|
+
Korb `ask` führt es ebenfalls nicht, der Korb `deny` auch nicht: **Das Werkzeug kommt in der
|
|
97
|
+
Datei überhaupt nicht vor** und fällt damit auf `defaultMode: default`, also auf die Rückfrage.
|
|
98
|
+
Im rückfragefreien Betrieb ist die Rückfrage eine Abweisung.
|
|
99
|
+
|
|
100
|
+
**Und das ist keine Lücke eines Packs, sondern eine des Vokabulars.** Die Kernquelle
|
|
101
|
+
`framework/runtime/permissions.json` kennt sechs Werkzeugverben – `read`, `search`, `write`,
|
|
102
|
+
`exec`, `fetch`, `mcp` –, und keines davon bezeichnet den Skillaufruf. `permission_tools`
|
|
103
|
+
**beider** Client Packs führt dieselben sechs. Eine Freigabe für den Skillaufruf ist in dieser
|
|
104
|
+
Datei nicht ausdrückbar; sie war es nie.
|
|
105
|
+
|
|
106
|
+
### Die Gegenprobe: mit Freigabe läuft der Aufruf durch
|
|
107
|
+
|
|
108
|
+
| Lauf | Aufgabe | `allow` | Skill-Aufruf | Ergebnis |
|
|
109
|
+
|---|---|---|---|---|
|
|
110
|
+
| **B1** | 1 | `Skill` | `fw-code-explain` | **läuft durch**, keine Abweisung |
|
|
111
|
+
| **B2** | 1 | `Skill` | `fw-code-explain` | **läuft durch**, keine Abweisung |
|
|
112
|
+
| **B3** | 2 | `Skill` | keiner | – |
|
|
113
|
+
|
|
114
|
+
`permission_denials` ist in allen drei Läufen leer. **Damit ist die Zuordnung eindeutig:** Was
|
|
115
|
+
den Aufruf aufhält, ist die fehlende Zeile, nicht das Modell.
|
|
116
|
+
|
|
117
|
+
B3 zeigt zugleich, dass die Freigabe die Wahl **nicht** ersetzt: Auch mit freigegebenem
|
|
118
|
+
Werkzeug rief die Planungsaufgabe keinen Skill auf. **Die beiden Befunde sind unabhängig, und
|
|
119
|
+
keiner behebt den anderen.**
|
|
120
|
+
|
|
121
|
+
## 4. Befund 3: Der Rückfall ist stumm – und er verliert die Zusage S3
|
|
122
|
+
|
|
123
|
+
Nach der Abweisung arbeitet die Sitzung weiter. Die Werkzeugspur von A3 zeigt, womit:
|
|
124
|
+
|
|
125
|
+
| # | Werkzeug | Eingabe |
|
|
126
|
+
|---|---|---|
|
|
127
|
+
| 1 | `Grep` | `ZwischenablageDienst` |
|
|
128
|
+
| 2 | `Bash` | `ls -R …` |
|
|
129
|
+
| 3 | `Skill` | `fw-code-explain` → **abgewiesen** |
|
|
130
|
+
| 4 | `Read` | `.claude/skills/fw-code-explain/SKILL.md` |
|
|
131
|
+
| 5 | **`Bash`** | `ls …` |
|
|
132
|
+
| 6 | `Read` | die Quelldatei |
|
|
133
|
+
|
|
134
|
+
**Schritt 4 ist der Rückfall:** Die Sitzung liest die `SKILL.md` als gewöhnliche Datei und
|
|
135
|
+
arbeitet ihren Ablauf von Hand nach. Die Ausgabe trägt danach die Überschrift und das
|
|
136
|
+
Standardformat des Skills; sie ist von einem gelungenen Lauf **nicht zu unterscheiden**.
|
|
137
|
+
|
|
138
|
+
**Schritt 5 ist der Preis, und er ist der eigentliche Befund.** `fw-code-explain` trägt
|
|
139
|
+
`disallowed-tools: Edit, Write, NotebookEdit, Bash`. In einem echten Skill-Lauf wäre dieser
|
|
140
|
+
`Bash`-Aufruf **nicht möglich gewesen** – die Sperre entfernt das Werkzeug aus dem Vorrat,
|
|
141
|
+
gemessen am 2026-09-13 (`2026-09-13-erhebung-disallowed-tools.md`, D-64). Die von Hand
|
|
142
|
+
nachgearbeitete Fassung trägt die Werkzeugbeschränkung nicht mit sich. **Der stumme Rückfall
|
|
143
|
+
verliert damit genau die Zusage, für die S3 seit 0.35.0 `[TECHNISCH]` steht.**
|
|
144
|
+
|
|
145
|
+
Die Sitzung selbst hat es gemerkt – hinterher, im eigenen Bericht:
|
|
146
|
+
|
|
147
|
+
> „… und der Skill verbietet Bash. Beide Aufrufe waren rein lesend und ohne Seiteneffekt; sie
|
|
148
|
+
> hätten durch Glob ersetzt werden müssen. Ab hier nur noch Read/Grep/Glob."
|
|
149
|
+
|
|
150
|
+
### Was im Ergebnisbericht ankommt
|
|
151
|
+
|
|
152
|
+
| Lauf | Zeile zu den Skills im Ergebnisbericht |
|
|
153
|
+
|---|---|
|
|
154
|
+
| **A1** | „`fw-code-explain` wurde aufgerufen, der Aufruf schlug fehl („Execute skill"). Die Analyse erfolgte manuell nach dem Standardarbeitsablauf." |
|
|
155
|
+
| **A3** | „**Verwendete Skills:** `fw-code-explain` (v0.1.3). Der Aufruf über den Skill-Mechanismus schlug fehl …; die Skill-Definition wurde stattdessen aus `.claude/skills/fw-code-explain/SKILL.md` gelesen und inhaltlich befolgt." |
|
|
156
|
+
| **A2** | „**Verwendete Skills:** keine (Aufgabe entspricht inhaltlich `fw-code-explain` …; kein Skill-Aufruf nötig)" |
|
|
157
|
+
| **A4** | „**Skills:** keine." |
|
|
158
|
+
|
|
159
|
+
**A3 ist der Fall, auf den es ankommt.** Wer die Zeile überfliegt, liest „Verwendete Skills:
|
|
160
|
+
`fw-code-explain` (v0.1.3)" – eine Verwendung, die nicht stattgefunden hat. Das Standardformat
|
|
161
|
+
des Ergebnisberichts (0.40.0) kennt für diesen Fall keine eigene Form; es fragt nach
|
|
162
|
+
„Verwendete Skills" und nicht danach, ob der Aufruf gelungen ist.
|
|
163
|
+
|
|
164
|
+
**Beide Sitzungen haben ehrlich berichtet.** Das ist Modellverhalten, keine Zusage – A4 nennt
|
|
165
|
+
denselben Sachverhalt in zwei Wörtern und ohne Grund.
|
|
166
|
+
|
|
167
|
+
## 5. Befund 4: Das Argumentmuster wirkt – wörtlich, nicht als Präfix
|
|
168
|
+
|
|
169
|
+
Die Frage entscheidet den Zuschnitt der Freigabe: Reicht eine Regel für alle
|
|
170
|
+
Framework-Skills, oder braucht es eine je Skill?
|
|
171
|
+
|
|
172
|
+
| Lauf | `allow` | aufgerufen | Ergebnis | Was er zeigt |
|
|
173
|
+
|---|---|---|---|---|
|
|
174
|
+
| **C1** | `Skill(fw-code-explain)` | `fw-code-explain` | **läuft durch** | Das Argumentmuster **wirkt** |
|
|
175
|
+
| **D1** | `Skill(fw-*)` | `fw-code-explain` | **abgewiesen** | Ein **Präfixmuster wirkt nicht** |
|
|
176
|
+
| **E1** | `Skill(fw-plan)` | `fw-code-explain` | **abgewiesen** | **Kontrolllauf:** das Muster engt wirklich ein |
|
|
177
|
+
|
|
178
|
+
**E1 ist der Lauf, ohne den C1 nichts bedeutet.** Ohne ihn wäre offen, ob das Argument
|
|
179
|
+
überhaupt verglichen wird oder ob jede Regel mit dem Werkzeugnamen `Skill` alles durchlässt.
|
|
180
|
+
E1 zeigt: Ein anderer Skillname wird abgewiesen. Der Vergleich ist wörtlich und er engt ein.
|
|
181
|
+
|
|
182
|
+
> **Die Bauform ist die von D-66, mit umgekehrtem Vorzeichen.** Dort wirkte ein
|
|
183
|
+
> Argumentmuster in `disallowed-tools` **lautlos gar nicht** – eine Sperre, die nichts sperrt.
|
|
184
|
+
> Hier wirkt es, aber nur wörtlich: Eine Freigabe `Skill(fw-*)` gäbe **lautlos nichts frei**.
|
|
185
|
+
> Wer sie schriebe, hätte eine Regel, die richtig aussieht und nichts tut.
|
|
186
|
+
|
|
187
|
+
**Folge für die Umsetzung:** zwölf wörtliche Regeln, eine je ausgeliefertem Skill. Ein Muster
|
|
188
|
+
wäre kürzer und wirkungslos.
|
|
189
|
+
|
|
190
|
+
## 6. Entlastungslauf G1: Welche Regelträger erreichen die Sitzung?
|
|
191
|
+
|
|
192
|
+
Die Frage entscheidet, wo eine Regel über die Skillwahl stehen kann. Je ein Merkwort wurde in
|
|
193
|
+
die Wurzel-Anweisungsdatei, in die always-on-Regeldatei und in die Laufzeitfassung des Overlays
|
|
194
|
+
eingetragen; gefragt wurde nach allen Merkwörtern.
|
|
195
|
+
|
|
196
|
+
**Der erste Lauf ist verworfen:** Die Sitzung griff zu `Grep` und fand die Wörter im
|
|
197
|
+
Dateisystem. Damit war nichts belegt – dieselbe Falle wie bei D-72, nur an einem anderen
|
|
198
|
+
Gegenstand.
|
|
199
|
+
|
|
200
|
+
**Der gültige Lauf fuhr mit `--disallowedTools` auf alle Werkzeuge.** Eine Antwort kann dann
|
|
201
|
+
nur aus dem geladenen Kontext kommen.
|
|
202
|
+
|
|
203
|
+
| Träger | Merkwort | Genannt? |
|
|
204
|
+
|---|---|---|
|
|
205
|
+
| `CLAUDE.md` (Wurzel-Anweisungsdatei) | `OTTER-8822` | **ja** |
|
|
206
|
+
| `.claude/rules/00-framework-core.md` (always-on) | `TALPA-4711` | **ja** |
|
|
207
|
+
| `.claude/rules/20-project-overlay.md` (Overlay-Laufzeitfassung) | `LUCHS-6013` | **ja** |
|
|
208
|
+
|
|
209
|
+
**Werkzeugaufrufe: keine.** Alle drei Träger stehen zu Sitzungsbeginn im Kontext; die Zeilen
|
|
210
|
+
R1 und R2 der Fähigkeitsmatrix bestätigen sich. Die Sitzung nannte `.claude/rules/00-framework-core.md`
|
|
211
|
+
von sich aus als Quelle ihrer Ergebnisberichtspflicht.
|
|
212
|
+
|
|
213
|
+
## 7. Was diese Erhebung nicht leistet
|
|
214
|
+
|
|
215
|
+
- **Sie misst einen Client.** Ob der Skillaufruf bei `devin-desktop` ebenfalls ein eigener,
|
|
216
|
+
rückfragepflichtiger Werkzeugaufruf ist, ist **unerhoben**. Das Manifest sagt das jetzt
|
|
217
|
+
ausdrücklich, statt es offen zu lassen.
|
|
218
|
+
- **Elf Läufe sind keine Quote.** „Zwei von vier" ist eine Beobachtung an vier Läufen, keine
|
|
219
|
+
Wahrscheinlichkeit. Was die Läufe tragen, ist die **Existenz** beider Fälle – und für den
|
|
220
|
+
Mechanikbefund genügt ein einziger Lauf mit Gegenprobe.
|
|
221
|
+
- **Die Skill-Auflistung führte 83 Einträge, davon 80 fremde.** Nur **drei** trugen das
|
|
222
|
+
Präfix `fw-` – die drei modellaufrufbaren; die übrigen neun hält `disable-model-invocation`
|
|
223
|
+
aus dem Kontext (Zusage **S4**, gemessen mit 0.15.0). Das ist der Normalfall einer echten
|
|
224
|
+
Installation und zugleich der Grund, warum die Freigabe **nicht** auf den blanken
|
|
225
|
+
Werkzeugnamen lauten darf. **Gezählt, nicht geschätzt:** Die erste Fassung dieses Protokolls
|
|
226
|
+
sprach von „rund sechzig“.
|
|
227
|
+
- **Ob die geänderten Texte die Wahl verbessern, ist nicht gemessen.** Das wäre ein
|
|
228
|
+
Sitzungstest mit einer Stichprobe, die vier Läufe nicht hergeben. Was gemessen ist, ist der
|
|
229
|
+
**Mechanismus**: mit Freigabe läuft der Aufruf, ohne sie nicht.
|
|
230
|
+
|
|
231
|
+
## 8. Gegenzeichnung
|
|
232
|
+
|
|
233
|
+
| Feld | Inhalt |
|
|
234
|
+
|---|---|
|
|
235
|
+
| Durchführung | KI-Client unter Aufsicht, Sitzung vom 2026-09-14 |
|
|
236
|
+
| Gegengezeichnet durch | `<APPROVAL_ROLE>` |
|
|
237
|
+
| Datum | `<TBD: Datum der Gegenzeichnung>` |
|
|
238
|
+
| Anmerkungen | `<TBD: Anmerkungen der gegenzeichnenden Rolle>` |
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Gegenprüfung: Prüfung 39 steht nicht im Register – und sie ist die jüngste von fünf
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Beim Lesen von Prüfung 37 für den Migrationslauf am Piloten ist aufgefallen: Der Kopfkommentar von `validate-framework.py` führt die Prüfungen **1 bis 38**. **Prüfung 39 ist mit 0.41.0 entstanden und steht dort nicht** |
|
|
6
|
+
| Anlass | Kein Kandidat der Übergabe, kein externer Bericht – ein Nebenbefund aus Kandidat 2. Nach D-23 gehört er vor der Umsetzung gegengeprüft, gerade weil er auf den ersten Blick Kosmetik ist |
|
|
7
|
+
| Datum | 2026-09-14 |
|
|
8
|
+
| Framework-Version | 0.41.0 (Auscheckstand `b71d038`, Arbeitsbaum sauber, Validator 0/0) |
|
|
9
|
+
| Prüfmethode | **Elf Messungen, sämtlich abzählend.** M1 bis M8 halten jede Registeraussage gegen den gemessenen Bestand; M9 ist ein **Entlastungslauf** an einer Nennung, die gleich aussieht und richtig ist; M10 und M11 datieren jede Abweichung über den Änderungsverlauf. Kein Messwert dieses Protokolls stammt aus einer Lektüre allein |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4; Auswertungsskript im Scratchpad, rein lesend |
|
|
11
|
+
| Ergebnis | **Der Befund bestätigt sich und er ist größer, als er aussah.** Es sind **fünf** falsche Aussagen über den Prüfapparat an **drei** Trägern. Prüfung 39 ist die **jüngste** davon; die älteste steht seit **zwölf** Releases. **Und die Zählung war wieder zu klein:** aus einer wurden fünf |
|
|
12
|
+
|
|
13
|
+
## 0. Der Befund in einem Satz
|
|
14
|
+
|
|
15
|
+
**Das Projekt lässt seine Prüfungen ihre Gegenstände nachzählen und führt über die Prüfungen
|
|
16
|
+
selbst fünf handgepflegte Zahlen, von denen keine stimmt.**
|
|
17
|
+
|
|
18
|
+
## 1. Was gemessen wurde
|
|
19
|
+
|
|
20
|
+
| Nr. | Messung | Quelle |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| M1 | Welche Nummern führt das Register im Kopfkommentar von `validate-framework.py`? | Kopfkommentar, Abschnitt „Prüft (statisch, ohne laufenden KI-Client)" |
|
|
23
|
+
| M2 | Welche Prüfungsnummern kommen im Code selbst vor? | `validate-framework.py` |
|
|
24
|
+
| M3 | Deckung M1 gegen M2, in beide Richtungen | – |
|
|
25
|
+
| M4 | Für welche Prüfungen führt `probe-pruefungen.py` Sonden und Gegenproben? | Aufrufe `sonde(…)`, `gegenprobe(…)`, `melde("SONDE", …)`, `melde("GEGENPROBE", …)` |
|
|
26
|
+
| M5 | Was sagt der Satz zum Wirkungsnachweis im Kopfkommentar des Validators? | dort |
|
|
27
|
+
| M6 | Was sagt der Kopfkommentar von `probe-pruefungen.py`? | dort |
|
|
28
|
+
| M7 | Was nennt die Prüfmittelspalte von `FW-KO-01`? | `tests/TEST_CATALOG.md` |
|
|
29
|
+
| M8 | Was nennt die Prüfmittelspalte von `FW-KO-05`, und wie viele Grenzfälle gibt es? | `tests/TEST_CATALOG.md`, `tests/EDGE_CASES.md` |
|
|
30
|
+
| M9 | **Entlastung:** Die Nennung „Zwölf Grenzfälle" in `docs/ROADMAP.md` – falsch oder richtig? | `docs/ROADMAP.md` |
|
|
31
|
+
| M10 | Wann ist jede Aussage in den Bestand gekommen? | `git log -S` |
|
|
32
|
+
| M11 | Ab welchem Release war sie falsch? | Auswertung jedes Release-Commits |
|
|
33
|
+
|
|
34
|
+
## 2. Die fünf Abweichungen
|
|
35
|
+
|
|
36
|
+
| # | Träger | sagt | ist | falsch seit | Releases |
|
|
37
|
+
|---|---|---|---|---|---|
|
|
38
|
+
| **A1** | `validate-framework.py`, Register im Kopfkommentar | Prüfungen **1 bis 38** (39 Einträge mit `9a`) | 1 bis **39** | 0.41.0 | **1** |
|
|
39
|
+
| **A2** | `validate-framework.py`, Satz zum Wirkungsnachweis | „für die Prüfungen **18 bis 30**" | **6 und 18 bis 39** | 0.33.0 | **9** |
|
|
40
|
+
| **A3** | `probe-pruefungen.py`, Kopfkommentar | eine Release-Chronik, die mit **0.29.0** endet | **6 und 18 bis 39** | 0.30.0 | **12** |
|
|
41
|
+
| **A4** | `TEST_CATALOG.md`, `FW-KO-01` Prüfmittel | „für die Prüfungen **6, 18 bis 31**" | **6 und 18 bis 39** | 0.34.0 | **8** |
|
|
42
|
+
| **A5** | `TEST_CATALOG.md`, `FW-KO-05` Prüfmittel | „Die **zwölf** Grenzfälle einzeln … prüfen" | **20** | 0.33.0 | **9** |
|
|
43
|
+
|
|
44
|
+
**Jede der fünf war bei ihrer Einführung richtig.** Keine ist falsch geschrieben worden; alle
|
|
45
|
+
fünf sind stehen geblieben, während ihr Gegenstand weiterwuchs. Das ist der Unterschied
|
|
46
|
+
zwischen einem Schreibfehler und einem Register ohne Nachzählung – und er entscheidet die
|
|
47
|
+
Behebung: **Nachziehen allein löst nichts, es setzt die Uhr nur zurück.**
|
|
48
|
+
|
|
49
|
+
### 2.1 Der Verlauf, Release für Release (M11)
|
|
50
|
+
|
|
51
|
+
| Release | höchste Prüfung | Sonden für | Grenzfälle |
|
|
52
|
+
|---|---|---|---|
|
|
53
|
+
| 0.29.0 | 25 | 6 bis 25 | – |
|
|
54
|
+
| 0.30.0 | 26 | 6 bis 26 | – |
|
|
55
|
+
| 0.31.0 | 27 | 6 bis 27 | – |
|
|
56
|
+
| 0.32.0 | 30 | 6 bis 30 | **12** |
|
|
57
|
+
| 0.33.0 | 31 | 6 bis 31 | 13 |
|
|
58
|
+
| 0.34.0 | 32 | 6 bis 32 | 15 |
|
|
59
|
+
| 0.35.0 | 33 | 6 bis 33 | 17 |
|
|
60
|
+
| 0.36.0 | 34 | 6 bis 34 | 18 |
|
|
61
|
+
| 0.37.0 | 35 | 6 bis 35 | 19 |
|
|
62
|
+
| 0.38.0 | 36 | 6 bis 36 | 19 |
|
|
63
|
+
| 0.39.0 | 37 | 6 bis 37 | 19 |
|
|
64
|
+
| 0.40.0 | 38 | 6 bis 38 | 19 |
|
|
65
|
+
| **0.41.0** | **39** | **6 bis 39** | **20** |
|
|
66
|
+
|
|
67
|
+
**Die Tabelle zeigt, warum die Behebung eine Prüfung sein muss und keine Textänderung:** In
|
|
68
|
+
zehn von zwölf Releases hat sich mindestens eine der drei Zahlen bewegt.
|
|
69
|
+
|
|
70
|
+
## 3. Der Entlastungslauf (M9)
|
|
71
|
+
|
|
72
|
+
`docs/ROADMAP.md` nennt ebenfalls „**Zwölf Grenzfälle** in `tests/EDGE_CASES.md`". Die Zeile
|
|
73
|
+
sieht aus wie A5 und ist es nicht: Sie steht unter der Überschrift **„Was 0.32.0 gebracht
|
|
74
|
+
hat"** und beschreibt den Stand jenes Releases. **Dort ist zwölf richtig.**
|
|
75
|
+
|
|
76
|
+
**Ohne diese Messung wäre beim Nachziehen aus einer richtigen Zeile eine falsche geworden** –
|
|
77
|
+
genau der Fehler, den das Repositorium als Fallstrick führt: die Vorgeschichte ist kein
|
|
78
|
+
Register. Die Prüfung, die aus diesem Befund folgt, liest deshalb `TEST_CATALOG.md` und
|
|
79
|
+
**nicht** die Roadmap.
|
|
80
|
+
|
|
81
|
+
## 4. Der erste Entwurf der Prüfung ist gefallen – und das gehört ins Protokoll
|
|
82
|
+
|
|
83
|
+
Der naheliegende Anker für „welche Prüfungen gibt es" sind die Kopfkommentare. **Gemessen
|
|
84
|
+
tragen sie drei Formen**, und eine vierte sieht aus wie ein Kopf und ist keiner:
|
|
85
|
+
|
|
86
|
+
| Form | Beispiel | Vorkommen |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| `# Pruefung N: …` | `# Pruefung 33: Die Abbildung von permissions.deny …` | der Regelfall |
|
|
89
|
+
| `# N: …` | `# 37: Die drei Koerbe der Berechtigungsdatei …` | Prüfung 37 |
|
|
90
|
+
| `# Pruefungen N bis M …` | `# Pruefungen 19 bis 24 (Release 0.26.0)` | 19 bis 24 |
|
|
91
|
+
| *kein Kopf, sieht aber so aus* | `# Pruefung 37 und dieselbe Ehrlichkeit: …` | im Block von Prüfung 39 |
|
|
92
|
+
|
|
93
|
+
**Der erste Zähler hat die vierte Form für einen Kopf gehalten** und Prüfung 37 dadurch
|
|
94
|
+
gefunden, obwohl sie keinen Kopf dieser Schreibweise trägt. Der Fehler ist nur aufgefallen,
|
|
95
|
+
weil der Verlauf über die Releases bei 0.39.0 eine höchste Prüfung 36 meldete, während die
|
|
96
|
+
Sonden schon bis 37 reichten – **eine Zahl, die nicht zur Erwartung passte.** Dieselbe
|
|
97
|
+
Bauform wie der `ModuleNotFoundError` hinter „0 Fundstellen" am 14.09.
|
|
98
|
+
|
|
99
|
+
**Daraus folgt der Zuschnitt der Prüfung:** Sie ankert nicht an einer Kommentarform, sondern
|
|
100
|
+
an der **höchsten Prüfungsnummer, die in den beiden Prüfskripten überhaupt genannt wird**,
|
|
101
|
+
und an der **Lückenlosigkeit** des Registers. Ein Querverweis auf eine kleinere Nummer stört
|
|
102
|
+
das nicht; eine neue Prüfung nennt ihre Nummer zwangsläufig.
|
|
103
|
+
|
|
104
|
+
**Und die Grenze gehört dazu:** Sie zählt **Nennungen, nicht Prüfungen.** Wer eine Prüfung
|
|
105
|
+
baut und ihre Nummer nirgends schreibt, wird nicht gefangen – dieselbe Ehrlichkeit wie bei
|
|
106
|
+
Gegenstand 2 von Prüfung 38, der Deklarationen zählt und nicht Richtigkeit.
|
|
107
|
+
|
|
108
|
+
## 5. Warum das kein Schönheitsfehler ist
|
|
109
|
+
|
|
110
|
+
**Erstens: D-23 hängt daran.** Eine Prüfung gilt erst als vorhanden, wenn eine Sonde sie
|
|
111
|
+
meldet. Woran liest man ab, welche Prüfung eine Sonde hat? An A2, A3 und A4 – **und alle drei
|
|
112
|
+
sagen etwas Falsches.** Wer sich auf A4 verlässt, hält die Prüfungen 32 bis 39 für unbelegt;
|
|
113
|
+
sie sind es nicht. Wer sich auf A2 verlässt, hält 31 bis 39 für unbelegt. **Die Register
|
|
114
|
+
untertreiben hier**, und eine untertreibende Zusage ist der seltenere Fall in diesem Projekt –
|
|
115
|
+
schädlich ist sie trotzdem, weil sie eine Arbeit anstoßen kann, die längst getan ist.
|
|
116
|
+
|
|
117
|
+
**Zweitens: A5 ist eine Arbeitsanweisung, kein Register.** `FW-KO-05` sagt, was in einer
|
|
118
|
+
Sitzung zu tun ist: „Die zwölf Grenzfälle einzeln gegen Wurzel-Anweisungsdatei, Langform,
|
|
119
|
+
Overlay-Vorlage, Skills und Checklisten prüfen." Der Test steht auf `offen`. **Wer ihn heute
|
|
120
|
+
fährt, prüft zwölf von zwanzig und meldet ihn bestanden.** Das ist keine Kosmetik, das ist ein
|
|
121
|
+
halber Abnahmetest mit ganzem Ergebnis.
|
|
122
|
+
|
|
123
|
+
**Drittens: A1 verletzt eine Entscheidung, die ein Release alt ist.** `CR-2026-062` hat den
|
|
124
|
+
Kopfkommentar eigens zur Ermessensfrage gemacht – **E7: „Kopfkommentar 32 bis 38"** – und das
|
|
125
|
+
Nachziehen ausdrücklich beschlossen. `CR-2026-063` führt `validate-framework.py` in den
|
|
126
|
+
betroffenen Artefakten, baut Prüfung 39 und zieht den Kopfkommentar nicht nach. **Eine
|
|
127
|
+
Entscheidung, die nur in einem Antrag steht, hält genau bis zum nächsten Antrag.**
|
|
128
|
+
|
|
129
|
+
## 6. Was die Behebung sein muss – und was sie nicht sein kann
|
|
130
|
+
|
|
131
|
+
**Kann sie nicht sein:** Die Einträge erzeugen. Sie tragen Prosa – was die Prüfung tut, welche
|
|
132
|
+
Entscheidungen sie trägt, wo ihre Grenze liegt. Das ist der Wert des Registers, und er ist
|
|
133
|
+
nicht ausrechenbar. **Ausrechenbar ist nur die Vollständigkeit.**
|
|
134
|
+
|
|
135
|
+
**Muss sie sein:** Eine Prüfung, die den Bestand abzählt und gegen die Register hält, an allen
|
|
136
|
+
drei Trägern. Das ist dieselbe Bauform, die das Projekt für die Grenzfalltabelle (Prüfung 30),
|
|
137
|
+
für die Durchsetzungstiefe (Prüfung 31) und für die Berechtigungskörbe (Prüfung 37) schon
|
|
138
|
+
gewählt hat. **Der Leitsatz steht im Arbeitswissen:** Wo die Grenze eines Begriffs eindeutig
|
|
139
|
+
ist, gehört die Zahl ausgerechnet, nicht gepflegt. Die Menge der Prüfungen ist eindeutig.
|
|
140
|
+
|
|
141
|
+
**Und eine Auflage folgt aus M9:** Die Prüfung liest nur die Träger, die ein Register sind.
|
|
142
|
+
Eine Zahl in der Vorgeschichte eines Releases bleibt unangetastet.
|
|
143
|
+
|
|
144
|
+
## 7. Was diese Gegenprüfung nicht belegt
|
|
145
|
+
|
|
146
|
+
- **Sie sagt nichts darüber, ob die Register inhaltlich richtig sind.** Ob der Text eines
|
|
147
|
+
Eintrags beschreibt, was seine Prüfung tut, ist eine Lektüre und kein Abzählen. Gemessen ist
|
|
148
|
+
allein die **Vollständigkeit**.
|
|
149
|
+
- **Die Suche über das Repositorium ist eine Suche, kein Beweis.** Sie hat neben A5 drei
|
|
150
|
+
weitere Nennungen von „zwölf Grenzfällen" gefunden – in der Vorgeschichte der Roadmap, in
|
|
151
|
+
`CR-2026-052` und im Wirkungsnachweis zu 0.32.0. **Alle drei sind historisch und alle drei
|
|
152
|
+
sind richtig.** Damit sind vier Fundstellen geprüft und eine ist zu berichtigen; ob eine
|
|
153
|
+
fünfte in einer Formulierung steckt, die das Suchmuster nicht trifft, ist offen.
|
|
154
|
+
- **Sie misst keine Sitzung.** Ob ein Mensch oder ein Client sich beim Arbeiten wirklich auf
|
|
155
|
+
eines der Register stützt, ist nicht erhoben. Der Schaden von A5 ist aus dem Text des
|
|
156
|
+
Testblatts abgeleitet, nicht beobachtet.
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Gegenprüfung: Drei offene Schlitze decken drei Befehlsfreigaben – und drei Texte sagen das Gegenteil
|
|
2
|
+
|
|
3
|
+
| Feld | Wert |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Gegenstand | Kandidat 2 der Übergabe: der Abgleich zwischen Overlaytext und Berechtigungsdatei. Prüfung 37 zählt die Platzhalterschlitze des `ask`-Korbes, vergleicht aber ihren **Inhalt** mit nichts. Am Piloten steht `Bash(mvn -B -q compile)` im `ask`-Korb, während Abschnitt 6 des Overlays `<LINT_COMMAND>` als „nicht vorhanden" erklärt |
|
|
6
|
+
| Anlass | Kandidat 2 war der einzige Kandidat der Übergabe mit einer gemessenen Fundstelle statt einer Vermutung. Nach D-23 gehört er vor der Umsetzung gegengeprüft |
|
|
7
|
+
| Datum | 2026-09-14 |
|
|
8
|
+
| Framework-Version | 0.43.0 (Auscheckstand `c0f15a9`, Arbeitsbaum sauber, Validator 0/0) |
|
|
9
|
+
| Prüfmethode | **Zwölf Messläufe an zwei Packs**, davon **vier Kontrollläufe** (M5, M6, M7, M11) und **zwei Entlastungsläufe** (M2, M12), dazu **vier Abzählungen** (A1 bis A4) ohne Lauf. Gemessen wird an einer **Arbeitskopie** des Piloten und an einer **frischen Installation**; der Pilot selbst bleibt unberührt |
|
|
10
|
+
| Umgebung | Windows 11, Python 3.14.4. Arbeitskopie des Piloten im Scratchpad (ohne `.git` und `target/`), einmal mit dem ausgelieferten Kern des Piloten (0.41.0) und einmal mit dem Kern von `main` (0.43.0). Frische `devin-desktop`-Installation aus `install.py` |
|
|
11
|
+
| Ergebnis | **Der Befund bestätigt sich, und er liegt woanders, als die Übergabe ihn vermutet hat.** Die Lücke in Prüfung 37 ist **erklärt** – `CR-2026-061` Abschnitt 4 nimmt genau diesen Fall ausdrücklich aus. Der Befund ist, dass **drei ausgelieferte Texte aus demselben Patch das Gegenteil versprechen, ohne Einschränkung** – und einer von ihnen steht in **jeder** erzeugten Berechtigungsdatei |
|
|
12
|
+
|
|
13
|
+
## 0. Der Befund in einem Satz
|
|
14
|
+
|
|
15
|
+
**Drei offene Platzhalterschlitze decken drei beliebige Befehlsfreigaben, und die Enthaltung
|
|
16
|
+
darüber steht im Änderungsantrag, während drei ausgelieferte Texte sie uneingeschränkt
|
|
17
|
+
bestreiten.**
|
|
18
|
+
|
|
19
|
+
## 1. Was gemessen wurde
|
|
20
|
+
|
|
21
|
+
| Nr. | Messung | Ort |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| M1 | Was meldet Prüfung 37 am Piloten, unverändert? | Arbeitskopie, `claude-code` |
|
|
24
|
+
| M2 | **Entlastung:** Läuft Prüfung 37 dort überhaupt und sieht sie den `ask`-Korb? | dort, `Edit(**)` entfernt |
|
|
25
|
+
| M3 | Ein gefüllter Schlitz trägt einen **anderen** Befehl als das Overlay erklärt | `mvn -B test` → `mvn -B verify` |
|
|
26
|
+
| M4 | Ein Schlitz, den das Overlay als „nicht vorhanden" erklärt, trägt einen Befehl **mit Fernwirkung** | `mvn -B -q compile` → `mvn -B deploy` |
|
|
27
|
+
| M5 | **Kontrolle:** eine **vierte** zusätzliche Regel | dort |
|
|
28
|
+
| M6 | **Kontrolle der Arithmetik:** ein Schlitz weniger gefüllt | dort |
|
|
29
|
+
| M7 | **Kontrolle:** der alte Befund von 0.39.0 – Präfixzeichen von Hand nachgetragen | `mvn -B test:*` |
|
|
30
|
+
| M8 | Präfixzeichen **und** vierter Eintrag zugleich | dort |
|
|
31
|
+
| M9 | Frische `devin-desktop`-Installation, unverändert | Scratchpad |
|
|
32
|
+
| M10 | Drei Befehlsfreigaben eingetragen, während das Overlay dreimal `<TBD>` erklärt | dort |
|
|
33
|
+
| M11 | **Kontrolle:** eine vierte Freigabe | dort |
|
|
34
|
+
| M12 | **Entlastung:** Sieht Prüfung 37 den `ask`-Korb **dieses** Packs? | dort, `Write(**)` entfernt |
|
|
35
|
+
| A1 | Wie viele Projektschlitze hat die Kernquelle, in welchem Korb, für welches Verb? | `framework/runtime/permissions.json` |
|
|
36
|
+
| A2 | Wie viele Träger führen dieselben drei Werte je Installation? | Pilot |
|
|
37
|
+
| A3 | Steht die Zuordnung Platzhalter → Wert in den Overlays maschinenlesbar? | vier Overlays |
|
|
38
|
+
| A4 | Was führt der Pilot im `ask`-Korb an Befehlsregeln? | Pilot |
|
|
39
|
+
|
|
40
|
+
## 2. Die zwölf Läufe
|
|
41
|
+
|
|
42
|
+
**Pack `claude-code`, Arbeitskopie des Piloten.** Die Spalte „37 meldet" zählt die Meldungen
|
|
43
|
+
der Prüfung 37, nicht das Gesamtergebnis; das Gesamtergebnis steht daneben, damit eine Null
|
|
44
|
+
ein Messwert ist und kein Absturz (die Lehre vom 14.09.).
|
|
45
|
+
|
|
46
|
+
| Lauf | Eingriff | 37 meldet | Gesamt (0.41.0) | Gesamt (0.43.0) | Urteil |
|
|
47
|
+
|---|---|---|---|---|---|
|
|
48
|
+
| **M1** | keiner – der Pilot wie vorgefunden | **0** | 1 Fehler | 2 Fehler | **Der Befund steht und wird nicht gemeldet** |
|
|
49
|
+
| **M2** | `Edit(**)` aus `ask` entfernt | **1** (fehlend) | 2 | 3 | Entlastung: die Prüfung läuft hier und liest diesen Korb |
|
|
50
|
+
| **M3** | `Bash(mvn -B test)` → `Bash(mvn -B verify)` | **0** | 1 | 2 | Ein Schlitz mit fremdem Inhalt läuft durch |
|
|
51
|
+
| **M4** | `Bash(mvn -B -q compile)` → `Bash(mvn -B deploy)` | **0** | 1 | 2 | **Ein Befehl mit Fernwirkung läuft durch** |
|
|
52
|
+
| **M5** | zusätzlich `Bash(mvn -B deploy)` (vierter Eintrag) | **1** (Überschuss) | 2 | 3 | Kontrolle: die Deckung endet bei drei |
|
|
53
|
+
| **M6** | ein Schlitz weniger gefüllt | **0** | 1 | 2 | Kontrolle: weniger Überschuss meldet erst recht nichts |
|
|
54
|
+
| **M7** | `Bash(mvn -B test:*)` | **1** (Präfix) | 2 | 3 | Kontrolle: der Befund von 0.39.0 wird weiter gefangen |
|
|
55
|
+
| **M8** | Präfixzeichen **und** vierter Eintrag | **1** (Überschuss) | 2 | 3 | Der Präfixteil **schweigt**, sobald der Überschuss die Deckung übersteigt – bewusst so gebaut, aber nennenswert |
|
|
56
|
+
|
|
57
|
+
**Die beiden Kernstände melden zeilengleich.** Was der Pilot mit seinem ausgelieferten
|
|
58
|
+
Validator (0.41.0) nicht sieht, sieht der Validator von `main` (0.43.0) auch nicht. Die
|
|
59
|
+
zusätzliche Grundmeldung von 0.43.0 ist die Versionsangabe des Overlays und gehört nicht
|
|
60
|
+
zur Sache.
|
|
61
|
+
|
|
62
|
+
**Pack `devin-desktop`, frische Installation** – wörtliche Befehlssperre statt Präfixform,
|
|
63
|
+
`Exec` statt `Bash`. Die Frage nach B02: Läuft die Arithmetik auch hier?
|
|
64
|
+
|
|
65
|
+
| Lauf | Eingriff | 37 meldet | Gesamt | Urteil |
|
|
66
|
+
|---|---|---|---|---|
|
|
67
|
+
| **M9** | keiner – alle drei Schlitze offen | **0** | 2 Fehler | Ausgangslage |
|
|
68
|
+
| **M10** | drei Befehle eingetragen: `mvn -B clean package`, `mvn -B test`, **`mvn -B deploy`** | **0** | 2 | **Das Overlay erklärt dreimal `<TBD>` – und drei Freigaben laufen durch** |
|
|
69
|
+
| **M11** | eine vierte: `Exec(mvn release:perform)` | **1** (Überschuss) | 3 | Kontrolle: die Deckung endet auch hier bei drei |
|
|
70
|
+
| **M12** | `Write(**)` aus `ask` entfernt | **1** (fehlend) | 3 | Entlastung: die Prüfung läuft auch bei diesem Pack |
|
|
71
|
+
|
|
72
|
+
**M10 ist der schärfste Lauf des Protokolls.** Nicht ein *falsch* gefüllter Schlitz läuft
|
|
73
|
+
durch, sondern ein Overlay, das **überhaupt nichts erklärt**, deckt drei Befehlsfreigaben –
|
|
74
|
+
darunter eine mit Fernwirkung, die `framework/core/05-working-model.md` Abschnitt 3.2 Nummer 2
|
|
75
|
+
**in jedem Modus** verbietet.
|
|
76
|
+
|
|
77
|
+
## 3. Die vier Abzählungen
|
|
78
|
+
|
|
79
|
+
### A1 – Die Deckung ist genau drei
|
|
80
|
+
|
|
81
|
+
| Korb | Verb | Schlitze |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `ask` | `exec` | **3** – `<BUILD_COMMAND>`, `<TEST_COMMAND>`, `<LINT_COMMAND>` |
|
|
84
|
+
| `deny` | `read` | 1 – `<EXCLUDED_PATHS>` |
|
|
85
|
+
| `deny` | `write` | 3 – `<CI_CONFIG_PATHS>`, `<QUALITY_GATE_CONFIG_PATHS>`, `<EXCLUDED_PATHS>` |
|
|
86
|
+
|
|
87
|
+
**Deckung entsteht nur in `ask` und `allow`**, denn nur dort ist Überzähliges ein Fehler. Im
|
|
88
|
+
`deny`-Korb ist eine zusätzliche Regel eine Verschärfung und ohnehin zulässig – die vier
|
|
89
|
+
Pfadschlitze decken also nichts. **Die Zahl, die den Befund trägt, ist drei.**
|
|
90
|
+
|
|
91
|
+
### A2 – Drei Träger führen dieselben drei Werte
|
|
92
|
+
|
|
93
|
+
| Träger | Am Piloten |
|
|
94
|
+
|---|---|
|
|
95
|
+
| Quell-Overlay, Abschnitt 5 und 6 | `mvn -B clean package` · `mvn -B test` · **nicht vorhanden** |
|
|
96
|
+
| Laufzeitfassung `.claude/rules/20-project-overlay.md` | `mvn -B clean package` · `mvn -B test` · **nicht vorhanden** |
|
|
97
|
+
| Berechtigungsdatei `.claude/settings.json` | `mvn -B clean package` · `mvn -B test` · **`mvn -B -q compile`** |
|
|
98
|
+
|
|
99
|
+
**Zwei von drei Trägern sagen dasselbe, der dritte gewährt etwas anderes** – und der dritte
|
|
100
|
+
ist der einzige, der durchsetzt. Der Abgleich zwischen Quell-Overlay und Laufzeitfassung ist
|
|
101
|
+
seit `CR-2026-044` E4 offen; **das ist seine erste gemessene Fundstelle**, und sie fällt
|
|
102
|
+
zugunsten der beiden Textträger aus.
|
|
103
|
+
|
|
104
|
+
### A3 – Die Zuordnung steht maschinenlesbar da, in allen vier geprüften Overlays
|
|
105
|
+
|
|
106
|
+
| Overlay | `<BUILD_COMMAND>` | `<TEST_COMMAND>` | `<LINT_COMMAND>` |
|
|
107
|
+
|---|---|---|---|
|
|
108
|
+
| Vorlage `templates/project-overlay/OVERLAY.md` | 1 Zeile → `<TBD>` | 1 Zeile → `<TBD>` | 1 Zeile → `<TBD>` |
|
|
109
|
+
| Pilot | 1 Zeile → `mvn -B clean package` | 1 Zeile → `mvn -B test` | 1 Zeile → `nicht vorhanden` |
|
|
110
|
+
| frische `devin-desktop`-Installation | 1 Zeile → `<TBD>` | 1 Zeile → `<TBD>` | 1 Zeile → `<TBD>` |
|
|
111
|
+
| Testinstallation im Repositorium | 1 Zeile → `<TBD>` | 1 Zeile → `<TBD>` | 1 Zeile → `<TBD>` |
|
|
112
|
+
|
|
113
|
+
**Jeder Platzhalter steht in genau einer Tabellenzeile, und der Wert steht in der Zelle
|
|
114
|
+
rechts daneben.** Das gilt für die Vorlage von 0.43.0 ebenso wie für den Piloten, dessen
|
|
115
|
+
Abschnitt 6 aus einer älteren Vorlage stammt und eine andere Spaltenüberschrift führt. **Die
|
|
116
|
+
Zuordnung wird nicht aus Fließtext geraten, sie steht in einer Schlüsselspalte** – und
|
|
117
|
+
`docs/PLACEHOLDER_REGISTRY.md` weist sie längst aus („Overlay 5" beziehungsweise „Overlay 6").
|
|
118
|
+
|
|
119
|
+
### A4 – Der Pilot füllt alle drei Schlitze, obwohl er nur zwei Befehle erklärt
|
|
120
|
+
|
|
121
|
+
Drei Befehlsregeln im `ask`-Korb bei drei Schlitzen – **genau an der Grenze**, ab der
|
|
122
|
+
Prüfung 37 meldet. Eine weitere Zeile, und der Befund wäre 0.39.0 aufgefallen.
|
|
123
|
+
|
|
124
|
+
## 4. Der eigentliche Befund: eine Enthaltung, die nur im Antrag steht
|
|
125
|
+
|
|
126
|
+
Die Lücke in Prüfung 37 ist **kein Versehen**. `CR-2026-061` Abschnitt 4 nennt sie beim Namen:
|
|
127
|
+
|
|
128
|
+
> „Der zweite dort benannte Posten – ein belegter `<LINT_COMMAND>`, obwohl das Overlay
|
|
129
|
+
> ‚Lint: nicht vorhanden' sagt – bleibt **unbeanstandet**; ein gefüllter Schlitz ist ein
|
|
130
|
+
> gefüllter Schlitz, und den Abgleich mit dem Overlaytext leistet diese Prüfung nicht."
|
|
131
|
+
|
|
132
|
+
**Das ist eine saubere Enthaltung.** Auch D-76 und D-77 im Decision Log bleiben genau: D-77
|
|
133
|
+
sagt „Ein Platzhalterschlitz darf gefüllt sein und zählt dann gegen den Überschuss", und D-76
|
|
134
|
+
sagt „einen **vierten** Eintrag kann ein Projekt dort nicht erzeugen" – M5 und M11 belegen,
|
|
135
|
+
dass der vierte tatsächlich fällt.
|
|
136
|
+
|
|
137
|
+
**Derselbe Patch hat drei Texte ausgeliefert, die die Enthaltung nicht kennen.** Alle drei
|
|
138
|
+
stammen aus `34d850e` (Release 0.39.0) – demselben Commit wie die Enthaltung:
|
|
139
|
+
|
|
140
|
+
| # | Träger | Wortlaut | Gemessen |
|
|
141
|
+
|---|---|---|---|
|
|
142
|
+
| **Z1** | `templates/project-overlay/OVERLAY.md` Abschnitt 6 | „Ein Eintrag von Hand in `<PERMISSIONS_FILE>` ist **kein** Ersatz: Prüfung 37 des Validators meldet ihn als Ausweitung" | **Falsch, solange ein Schlitz offen ist** (M1, M4, M10) |
|
|
143
|
+
| **Z2** | `clientmap.py`, Kommentarkopf **jeder erzeugten Berechtigungsdatei** | „Eine zusätzliche Regel ist nur unter ‚deny' zulässig … unter ‚ask' und ‚allow' wäre sie eine Ausweitung **und ist ein Fehler**. Ein zusätzlicher freigegebener Befehl gehört deshalb nicht hierher" | **Falsch, solange ein Schlitz offen ist** |
|
|
144
|
+
| **Z3** | `framework/core/03-security.md` | „**Prüfung 37 hält die installierte Datei gegen die Kernquelle:** Was dort erzeugt wird, muss hier stehen; eine zusätzliche Regel ist nur unter `deny` zulässig" | **Falsch, solange ein Schlitz offen ist** |
|
|
145
|
+
|
|
146
|
+
**Z2 ist die teuerste der drei.** Sie steht nicht in einem Dokument, das man zum Nachschlagen
|
|
147
|
+
aufschlägt, sondern im Kopf genau der Datei, in der jemand die Zeile einträgt, über die sie
|
|
148
|
+
eine Aussage macht. Wer dort liest „ist ein Fehler" und trotzdem eine Zeile einträgt, bekommt
|
|
149
|
+
einen grünen Lauf – und liest das als Bestätigung, dass seine Zeile keine zusätzliche war.
|
|
150
|
+
|
|
151
|
+
**Die Lehre ist die von 0.42.0, eine Ebene tiefer:** *Eine Entscheidung, die nur in einem
|
|
152
|
+
Antrag steht, hält bis zum nächsten Antrag.* Hier hält eine **Enthaltung**, die nur in einem
|
|
153
|
+
Antrag steht, nicht einmal bis zum Ende desselben Patches.
|
|
154
|
+
|
|
155
|
+
## 5. Warum das kein Schönheitsfehler ist
|
|
156
|
+
|
|
157
|
+
- **Die `ask`-Stufe ist keine Entwarnung.** `CR-2026-061` Abschnitt 2 hat das ausbuchstabiert:
|
|
158
|
+
Eine Zeile im `ask`-Korb erklärt einen Befehl für **freigegeben**, gleich wie der Client sie
|
|
159
|
+
behandelt. „Alle nicht gelisteten Befehle sind nicht freigegeben" steht unter jeder Tabelle
|
|
160
|
+
des Abschnitts 6.
|
|
161
|
+
- **Die gedeckte Menge ist nicht harmlos.** M4 und M10 tragen `mvn -B deploy` ein – einen
|
|
162
|
+
Befehl mit Fernwirkung, den Abschnitt 3.2 des Arbeitsmodells **in jedem Modus** verbietet
|
|
163
|
+
und den Abschnitt 6 des Overlays „nie" listen darf. Kein Lauf meldet etwas.
|
|
164
|
+
- **Der Deckel ist die Nachlässigkeit des Projekts, nicht die Strenge der Prüfung.** Ein
|
|
165
|
+
Projekt, das seine drei Schlitze **sauber** füllt, hat keine Deckung mehr. Die Deckung
|
|
166
|
+
entsteht genau dort, wo ein Projekt einen Befehl **nicht** hat – und dann ausgerechnet die
|
|
167
|
+
freigewordene Zeile anderweitig benutzt. **So ist der Pilot entstanden.**
|
|
168
|
+
- **Es trifft beide Packs** (M10 gegen M4) und ist unabhängig von der Befehlssperrform.
|
|
169
|
+
- **Es steht seit fünf Releases** (0.39.0 bis 0.43.0).
|
|
170
|
+
|
|
171
|
+
## 6. Was die Behebung sein muss – und was sie nicht sein kann
|
|
172
|
+
|
|
173
|
+
**Sie kann nicht in der Arithmetik liegen.** Prüfung 37 kennt nur Mengen; welcher Eintrag
|
|
174
|
+
welcher Schlitz ist, steht dort nicht und kann dort nicht stehen. Wer die Deckung schlicht
|
|
175
|
+
streicht, verbietet dem Projekt das Füllen seiner eigenen Schlitze.
|
|
176
|
+
|
|
177
|
+
**Die Zuordnung gibt es genau einmal, und zwar im Overlay** (A3). Sie dort zu lesen ist keine
|
|
178
|
+
neue Freiheit: `docs/PLACEHOLDER_REGISTRY.md` weist für alle drei Platzhalter die Herkunft
|
|
179
|
+
„Overlay 5" beziehungsweise „Overlay 6" aus, und der Validator liest `OVERLAY.md` seit D-44
|
|
180
|
+
ohnehin. **Neu ist, dass er einen Wert liest statt eines Zustands** – und das ist die
|
|
181
|
+
Ermessensfrage, die vor dem Bauen entschieden gehört.
|
|
182
|
+
|
|
183
|
+
**Die Laufzeitfassung taugt als Quelle nicht.** `20-project-overlay.md` führt dieselben drei
|
|
184
|
+
Werte, aber in einer Fließzeile ohne Schlüsselspalte – und der Pilot hat sie bereits umgebaut
|
|
185
|
+
(zwei Zeilen statt einer, ein zusätzliches Feld „Schnellprüfung"). **Eine Prüfung darüber
|
|
186
|
+
fiele beim ersten echten Projekt, und zwar an der Form, nicht an der Sache.**
|
|
187
|
+
|
|
188
|
+
## 7. Was diese Gegenprüfung nicht belegt
|
|
189
|
+
|
|
190
|
+
- **Sie misst keine Sitzung.** Dass ein KI-Client die Zeile `Bash(mvn -B -q compile)`
|
|
191
|
+
tatsächlich als Freigabe benutzt, ist **nicht beobachtet**. Gemessen ist, dass sie dasteht
|
|
192
|
+
und dass kein Lauf sie beanstandet.
|
|
193
|
+
- **Sie sagt nichts über die vier Pfadschlitze.** `<EXCLUDED_PATHS>` und die beiden
|
|
194
|
+
Konfigurationslisten stehen im `deny`-Korb und decken deshalb keinen Überschuss – ob ein zu
|
|
195
|
+
**eng** gefüllter Pfadschlitz eine stille Lockerung ist, ist eine andere Frage und hier
|
|
196
|
+
**nicht** gemessen. Sie ist n:1 (eine Liste im Overlay, eine Regel in der Datei) und braucht
|
|
197
|
+
eine eigene Entscheidung.
|
|
198
|
+
- **Sie hat den Überschuss nur in `ask` gemessen.** Im `allow`-Korb gibt es heute keinen
|
|
199
|
+
Befehlsschlitz; ob eine künftige Regelmenge dort einen anlegt, ist offen.
|
|
200
|
+
- **Die drei Texte Z1 bis Z3 sind gesucht, nicht abgezählt.** Die Suche lief über
|
|
201
|
+
`leitwerk-core/` ohne `build/out/`, Protokolle und Änderungsanträge und traf drei Stellen;
|
|
202
|
+
ob eine vierte in einer Formulierung steckt, die das Suchmuster nicht trifft, ist offen.
|
|
203
|
+
**Das ist die schwächere Belegform dieses Protokolls**, und sie betrifft genau den Teil, der
|
|
204
|
+
den Befund trägt.
|
|
205
|
+
- **Der Pilot ist unberührt geblieben.** Alle zwölf Läufe liefen an Kopien; die
|
|
206
|
+
Ausgangszustände sind nach jedem Lauf zurückgeschrieben und geprüft worden.
|