@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,108 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-069`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Beide Projekte versionieren den Bytecode des Kerns – der Übernahmeleitfaden nennt nur die Zeilen, die man weglassen soll |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-15 |
|
|
8
|
+
| Betroffene Artefakte | `docs/ADOPTION_GUIDE.md` (Abschnitt 2), `tests/scripts/validate-framework.py` (Prüfung 45 neu, Register), `tests/scripts/probe-pruefungen.py` (vier Sonden, zwei Gegenproben, `aufraeumen()`, Selbstprobe `A3`), `tests/TEST_CATALOG.md` (`FW-KO-01`), `governance/DECISION_LOG.md`, `docs/ROADMAP.md`, `CHANGELOG.md` |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | **Core** – Übernahmeleitfaden und Prüfapparat sind Framework-Gut |
|
|
10
|
+
| Art | Änderung |
|
|
11
|
+
| Dringlichkeit | **Regulär.** Der Schaden ist Hygiene, nicht Sicherheit – aber er trifft **zwei von zwei** Projekten, und das macht ihn zu einer Eigenschaft des Leitfadens, nicht der Projekte |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass
|
|
14
|
+
|
|
15
|
+
**Gefunden beim Heben des Piloten** (Kandidat 4 der Übergabe, 0.41.0 → 0.46.0), nicht
|
|
16
|
+
gesucht. Beim Ersetzen von `leitwerk-core/` standen zwei `.pyc`-Dateien als „modified" im
|
|
17
|
+
Arbeitsbaum – versionierter Bytecode eines Werkzeugs, das bei jedem Lauf neuen erzeugt.
|
|
18
|
+
|
|
19
|
+
### Abgezählt am 2026-09-15
|
|
20
|
+
|
|
21
|
+
| Projekt | Framework-Stand | Versionierte Bytecode-Dateien unter `leitwerk-core/` | `.gitignore` deckt `__pycache__` |
|
|
22
|
+
|---|---|---|---|
|
|
23
|
+
| `devpacks/otp-generator` (Pilot) | 0.41.0 | **6** | nein |
|
|
24
|
+
| `devpacks/test-devin-framework` (Übungsrepo) | 0.45.0 | **2** | nein |
|
|
25
|
+
| `devpacks/leitwerk` (Framework selbst) | 0.46.0 | 0 | **ja** |
|
|
26
|
+
|
|
27
|
+
**Zwei von zwei.** Das Framework-Repositorium selbst hat die Zeile seit jeher – und genau
|
|
28
|
+
deshalb ist der Fehler dort nie aufgefallen.
|
|
29
|
+
|
|
30
|
+
### Warum das kein Versehen der Projekte ist
|
|
31
|
+
|
|
32
|
+
`docs/ADOPTION_GUIDE.md` Abschnitt 2 sagte zur `.gitignore` genau einen Satz: *„Übernimm
|
|
33
|
+
die `.gitignore` des Framework-Repositorys **nicht** unverändert"* – und nennt dann die
|
|
34
|
+
vier Zeilen, die ein Projekt **weglassen** muss. Welche Zeile es **braucht**, stand
|
|
35
|
+
nirgends.
|
|
36
|
+
|
|
37
|
+
> **Das ist die Bauform des Befunds von 0.45.0, ein zweites Mal:** *Eine Anweisung, die
|
|
38
|
+
> die halbe Migration beschreibt, ist gefährlicher als keine.* Wer dem Leitfaden wörtlich
|
|
39
|
+
> folgt, schreibt eine eigene `.gitignore` – und hat danach keine Zeile gegen den
|
|
40
|
+
> Bytecode, weil ihm niemand gesagt hat, dass er eine braucht.
|
|
41
|
+
|
|
42
|
+
### Was der Schaden ist, und was er nicht ist
|
|
43
|
+
|
|
44
|
+
**Kein Sicherheitsproblem.** Bytecode des Frameworks enthält keine Projektgeheimnisse.
|
|
45
|
+
Der Schaden ist:
|
|
46
|
+
|
|
47
|
+
- **Dauerrauschen im Arbeitsbaum.** Zwei der sechs Dateien standen beim Auschecken des
|
|
48
|
+
Piloten als geändert da, ohne dass jemand etwas getan hätte.
|
|
49
|
+
- **Ein Erzeugnis, das seine Quelle überlebt.** Nach dem Heben des Piloten zeigte `git
|
|
50
|
+
status` vier `.pyc` als **gelöscht** – sie gehörten zu einem Kern, den es nicht mehr
|
|
51
|
+
gibt, und wären als Löschung committet worden.
|
|
52
|
+
- **Ein falscher Eindruck von Vollständigkeit.** Wer `leitwerk-core/` ersetzt, ersetzt
|
|
53
|
+
nicht den Bytecode; die Versionierung führt dann beides nebeneinander.
|
|
54
|
+
|
|
55
|
+
## 2. Vorgeschlagene Änderung
|
|
56
|
+
|
|
57
|
+
1. **Der Leitfaden nennt die Zeile.** Abschnitt 2 bekommt den Gegensatz zu den vier
|
|
58
|
+
Weglass-Zeilen: `__pycache__/` gehört hinein, mit Begründung und mit dem Weg für
|
|
59
|
+
bereits versionierte Dateien (`git rm -r --cached`).
|
|
60
|
+
2. **Prüfung 45** mit **zwei Gegenständen**: die Regel in der `.gitignore` und der
|
|
61
|
+
Bestand über `git ls-files`.
|
|
62
|
+
3. **Vier Sonden und zwei Gegenproben** nach D-23.
|
|
63
|
+
4. **`aufraeumen()` löst den Schreibschutz** – siehe Abschnitt 3, das ist beim Bauen
|
|
64
|
+
angefallen.
|
|
65
|
+
|
|
66
|
+
## 3. Was beim Bauen angefallen ist – der Aufräumer aus 0.46.0 hatte seinen ersten Fall
|
|
67
|
+
|
|
68
|
+
Die Sonde zu Gegenstand 2 legt ein echtes Repositorium an (`git init`). **Git schreibt
|
|
69
|
+
seine Objektdateien schreibgeschützt.** Der Aufräumer von 0.46.0 versuchte dreimal über
|
|
70
|
+
anderthalb Sekunden zu löschen und meldete dreimal dasselbe:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
AUFRAEUMER - FEHL sonden_bytecode: C:\…\lw-inst-p8auo49r bleibt liegen
|
|
74
|
+
[WinError 5] Zugriff verweigert: …\.git\objects\03\7c6087d4df…
|
|
75
|
+
3 Versuche ueber 1,5 s, danach aufgegeben.
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Der Aufräumer hatte recht und war trotzdem nutzlos.** Er meldete einen Zustand, den er
|
|
79
|
+
selbst hätte auflösen können: *Warten hilft gegen eine gehaltene Datei und gar nichts
|
|
80
|
+
gegen eine schreibgeschützte.* Die Roadmap führte das als offenen Punkt („unerhoben, ob
|
|
81
|
+
drei Versuche für den echten Fall reichen") – **der Fall ist da, und die Antwort ist
|
|
82
|
+
nein.**
|
|
83
|
+
|
|
84
|
+
Jeder Versuch ab dem zweiten nimmt jetzt zuerst den Schreibschutz weg. **Die Selbstprobe
|
|
85
|
+
`A3` misst es**, denn eine Behebung ohne Sonde ist nach D-23 keine.
|
|
86
|
+
|
|
87
|
+
## 4. Vorlage zur Entscheidung
|
|
88
|
+
|
|
89
|
+
| Nr. | Frage | Vorschlag | Preis |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| **E1** | **Prüft 45 die Regel, den Bestand, oder beides?** | **Beides.** Gegenstand 1 vergleicht die `.gitignore` gegen eine Liste wirksamer Schreibweisen; Gegenstand 2 zählt über `git ls-files`, was unter `<CORE_DIR>/` verfolgt ist | **Die Regel allein wäre die halbe Migration ein zweites Mal:** Git liest die `.gitignore` für bereits verfolgte Dateien **nicht**. Wer die Zeile nachträgt und `git rm --cached` vergisst, bekäme einen grünen Lauf und hätte die sechs Dateien weiter im Repositorium. Der Bestand allein wiederum sagt nicht, wie man die Wiederholung verhindert. Preis von „beides": eine bedingte Prüfhälfte, und ihre Sonde braucht ein echtes Repositorium – `kopie()` lässt `.git` weg, das geht nur im Bündel |
|
|
92
|
+
| **E2** | **Was tut Gegenstand 2, wo git fehlt?** | **Er sagt als Warnung, dass er nicht gelaufen ist.** Dieselbe Bauform, die dieses Skript für das fehlende PyYAML schon hat | **Jede Sonde dieses Skripts erzeugt die Warnung** – sie läuft auf einer Kopie ohne `.git`. Das ist gewollt und harmlos (Gegenproben verlangen 0 **Fehler**, nicht 0 Warnungen), aber die Ausgabe wird um eine Zeile länger. Verworfen: schweigen – eine Prüfhälfte, die stumm ausfällt, ist der Befundtyp selbst |
|
|
93
|
+
| **E3** | **Was gilt bei fehlender `.gitignore`?** | **Warnung.** Ob ein Projekt überhaupt versioniert, kann kein Validator wissen | **Wer die Datei löscht, macht Gegenstand 1 zur Warnung statt zum Fehler.** Gegenstand 2 fängt den echten Fall trotzdem, sobald git da ist. Verworfen: Fehler (ein Projekt ohne Versionierung bekäme einen Fehler, den es nicht abstellen kann) und Schweigen (der verlorene Anker, den 28, 29, 31 und 40 ausdrücklich selbst melden) |
|
|
94
|
+
| **E4** | **Welche Schreibweisen gelten als Deckung?** | **Eine kleine ausdrückliche Liste:** `__pycache__/`, `__pycache__`, `**/__pycache__/`, `*.pyc`, `**/*.pyc` | **Was die Liste nicht kennt, meldet sie** – ein Projekt mit einer exotischen, aber wirksamen Schreibweise bekommt einen falschen Fehler. Die Gegenprobe belegt, dass `*.pyc` allein durchläuft. Verworfen: nur `__pycache__/` (dann wäre ein richtiges Projekt rot – der Fehler, den Prüfung 37 einmal gemacht hat) und `git check-ignore` (dann bräuchte **auch** Gegenstand 1 git, und man könnte ihn gleich weglassen) |
|
|
95
|
+
| **E5** | **Schreibt `install.py --update` die Zeile selbst?** | **Nein.** Der Leitfaden nennt sie, die Prüfung verlangt sie, das Projekt trägt sie ein | **Bequem wäre es.** Aber die `.gitignore` ist eine Projektdatei, und das Framework hat dort noch nie hineingeschrieben – D-46 ist gerade darum gebaut. Die Zusage „Projektdateien bleiben unberührt" trüge ab dann eine Ausnahme, und das Werkzeug müsste den Aufbau einer fremden Datei kennen |
|
|
96
|
+
| **E6** | **Wie wird der Schreibschutz behandelt?** | **Jeder Versuch ab dem zweiten löst ihn im ganzen Baum**, leise, danach der nächste Löschversuch. Ohne `onerror`/`onexc` von `shutil.rmtree` | Die beiden Namen haben sich zwischen den Python-Fassungen abgelöst; **ein Nachweiswerkzeug, das an der Fassung seines Interpreters hängt, ist genau das, was D-49 abgeschafft hat.** Preis: ein zusätzlicher Baumdurchlauf je Fehlversuch – er fällt nur an, wenn ohnehin etwas klemmt |
|
|
97
|
+
|
|
98
|
+
## 5. Entscheidung
|
|
99
|
+
|
|
100
|
+
| Feld | Inhalt |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Entscheidung | **Angenommen.** E1 bis E4 wie vorgelegt am 2026-09-15 durch den Framework Owner entschieden; E5 ebenfalls; **E6 ist beim Bauen angefallen** und folgt aus D-23 – eine Behebung ohne Sonde ist keine |
|
|
103
|
+
| Datum | 2026-09-15 |
|
|
104
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
105
|
+
| Decision-Log-Eintrag | D-97 (der Bytecode des Kerns gehört nicht in die Versionierung, und die Prüfung fragt nach Regel **und** Bestand) |
|
|
106
|
+
| Auflagen | **Der Gegenbeweis gehört dazu und ist eigen:** Die vier Sonden MÜSSEN gegen 0.46.0 fallen, **und die beiden Gegenproben MÜSSEN dort bestehen** – ein zulässiger Zustand läuft auch ohne die neue Prüfung durch. Dazu die Abzählung an beiden Projekten, nicht nur am Piloten |
|
|
107
|
+
| Ziel-Release | `0.47.0` |
|
|
108
|
+
| Umsetzung | umgesetzt mit `0.47.0` |
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-070`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Alle vier Zählregeln des 1.0.0-Standes greifen daneben – vier von vier Zahlen sind falsch, jede auf eine andere Art |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-15 |
|
|
8
|
+
| Betroffene Artefakte | `tests/scripts/validate-framework.py` (Prüfung 46 neu, Register), `tests/scripts/probe-pruefungen.py` (sechs Sonden, drei Gegenproben), `docs/ROADMAP.md` (Standzeile, Zählregeln), `tests/TEST_CATALOG.md` (`FW-KO-01`), `governance/DECISION_LOG.md`, `README.md` (Nebenbefund), `CHANGELOG.md` |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | **Core** – Prüfapparat und Fortschrittsmaßstab sind Framework-Gut |
|
|
10
|
+
| Art | Änderung |
|
|
11
|
+
| Dringlichkeit | **Regulär.** Kein Sicherheitsbezug. Aber der Gegenstand ist der Maßstab, an dem dieses Repositorium seinen einzigen offenen Meilenstein misst – und er misst falsch |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass
|
|
14
|
+
|
|
15
|
+
**Gesucht war Kandidat 2 der Übergabe:** eine Prüfung, die den 1.0.0-Stand nachzählt,
|
|
16
|
+
statt ihn in einem gepflegten Absatz zu führen. Die Roadmap hält die Ermessensfrage dazu
|
|
17
|
+
seit 0.44.0 offen und verlangt ausdrücklich, sie **vor** dem Bauen zu entscheiden.
|
|
18
|
+
|
|
19
|
+
**Beim Nachzählen der vier Kriterien, zur Vorbereitung eben dieser Entscheidung, fiel der
|
|
20
|
+
Befund an.** Er war nicht gesucht, und er ist größer als die Aufgabe: **Nicht die Zahlen
|
|
21
|
+
sind veraltet – die Regeln, die sie ausrechnen, sind falsch.** Vier von vier, jede auf
|
|
22
|
+
eine andere Art.
|
|
23
|
+
|
|
24
|
+
### Abgezählt am 2026-09-15
|
|
25
|
+
|
|
26
|
+
| # | Kriterium (D-11) | Was die Roadmap als Zählregel nennt | Geglaubt | **Gezählt** | Warum die Regel danebengreift |
|
|
27
|
+
|---|---|---|---|---|---|
|
|
28
|
+
| **1** | kein unbearbeiteter `VERIFY`-Marker | `grep -rl "VERIFY AGAINST CURRENT CLIENT DOCUMENTATION"` | 27 in 26 Dateien | **29** | Sie kennt **eine von zwei** registrierten Schreibweisen. `docs/PLACEHOLDER_REGISTRY.md:80` führt `<VERIFY AGAINST CURRENT DEVIN DOCUMENTATION>` als zulässige Altform **mit derselben Frist „vor Version 1.0.0"** – und die trägt allein im Client Pack `devin-desktop` **sieben** Fundstellen, dazu **zwei** in dessen `root-template/.devin/README.md`, also in einer Datei, die **jede** Devin-Installation bekommt. Der Befehl meldet dort **null** |
|
|
29
|
+
| **2** | Testkatalog ohne `offen` | „Ergebnisspalte in `tests/TEST_CATALOG.md`, dazu die dezentralen `TESTS.md` je Skill" | 103 (31 + 72) | **118** (31 + 87) | „je Skill" wurde als **zwölf** Dateien gelesen. Es sind **dreizehn**: `framework/role-packs/requirements-engineering/skills/role-re-ticket/TESTS.md` mit **15** offenen Zellen wurde nie mitgezählt. Ein Role-Pack-Skill ist ein Skill |
|
|
30
|
+
| **3** | alle Modulstatus über `entwurf` | „Steckbriefzeile in `framework/core/`, `framework/skills/*/SKILL.md`, `framework/role-packs/`, `framework/tech-packs/`" | 16 | **69** | Die Ablagenliste deckt **ein Viertel** des Bestands. `checklists/` (11), `prompts/` (12), `governance/` (7), `decision-trees/` (6), `onboarding/` (4), `docs/` (3), `clients/` (4), `pilot/` (2), `tests/` (2), `templates/` (1) führen dieselbe Steckbriefzeile und stehen **sämtlich** auf `entwurf`. **Und `framework/core/` ist genannt und trägt überhaupt keine Statuszeile** – ein Zählort ohne Gegenstand. Dazu: `role-packs/software-development/ROLE_PACK.md` trägt `entwurf (Referenzpack der Erstfassung)`; ein Gleichheitsvergleich sieht sie nicht |
|
|
31
|
+
| **4** | keine Decision Records `entschieden (Vorschlag)` | „`governance/DECISION_LOG.md`" | 16 | **9** | Die 16 ist die Trefferzahl eines rohen `grep`. Sie zählt mit: die **Legende** in Zeile 4, die das Wort erklärt; **fünf Klärungspunkte** (`K-08`, `K-12`, `K-13`, `K-17`, `K-18`), die keine Decision Records sind; und **`D-11` selbst**, weil dort der Kriterientext steht. Übrig bleiben **neun** echte: `D-01` bis `D-08` und `D-10` |
|
|
32
|
+
|
|
33
|
+
**Zwei Zahlen zu klein, eine viermal zu klein, eine fast doppelt zu groß.** Keine davon
|
|
34
|
+
ist je falsch geschrieben worden – das ist der Punkt. Jede ist das richtige Ergebnis
|
|
35
|
+
einer Regel, die weniger kann, als ihr Kriterium verlangt.
|
|
36
|
+
|
|
37
|
+
### Warum das der Befundtyp dieses Projekts ist, eine Ebene höher
|
|
38
|
+
|
|
39
|
+
0.42.0 fand fünf handgepflegte Zahlen über den **Prüfapparat**, nach zwölf Releases
|
|
40
|
+
sämtlich falsch. Die Roadmap zog daraus die richtige Lehre und schrieb sie auf:
|
|
41
|
+
|
|
42
|
+
> **Hier stehen keine Zahlen, sondern die Befehle, die sie ausrechnen.**
|
|
43
|
+
|
|
44
|
+
**Die Lehre war richtig und die Umsetzung hat sie nicht eingelöst.** Ein Befehl, den
|
|
45
|
+
niemand ausführt, ist keine Ausrechnung – er ist eine Zahl mit einem Zwischenschritt.
|
|
46
|
+
Und weil ihn niemand ausführt, fällt auch nicht auf, dass er das Falsche zählt.
|
|
47
|
+
|
|
48
|
+
**Der Unterschied zu 0.42.0 ist einer im Ort, nicht in der Bauform:** Dort stand die
|
|
49
|
+
falsche Zahl über den Prüfstand, hier über den **Meilenstein**. Es gibt in diesem
|
|
50
|
+
Repositorium genau ein Ziel, und sein Stand war an vier von vier Stellen unrichtig.
|
|
51
|
+
|
|
52
|
+
### Ein Fallstrick, der beim Bauen zuschnappte – und derselbe Befund ist
|
|
53
|
+
|
|
54
|
+
Die erste Fassung des Zählers benutzte `glob.glob(..., recursive=True)`.
|
|
55
|
+
**Python's `glob` überspringt Pfadbestandteile, die mit einem Punkt beginnen.** Damit
|
|
56
|
+
fehlten fünfzehn Dateien des Kerns, darunter genau die zwei Träger, die den Befund zu
|
|
57
|
+
Kriterium 1 tragen: `clients/*/root-template/.devin/README.md` und
|
|
58
|
+
`.../.claude/README.md`. **Der Zähler hätte 27 gemeldet statt 29** – und wäre damit
|
|
59
|
+
zufällig auf die geglaubte Zahl gekommen.
|
|
60
|
+
|
|
61
|
+
**Eine Zählregel, die einen Träger still überspringt, war der Anlass dieses Antrags.**
|
|
62
|
+
Sie ist beim Bauen der Abhilfe ein zweites Mal entstanden. Der Zähler läuft deshalb über
|
|
63
|
+
`os.walk`, und eine Selbstprobe belegt es (Abschnitt 3, E7).
|
|
64
|
+
|
|
65
|
+
### Nebenbefund: die Wurzel-README nennt die Altform
|
|
66
|
+
|
|
67
|
+
`README.md:165` beschreibt die Konventionen dieses Frameworks und nennt dabei
|
|
68
|
+
`<VERIFY AGAINST CURRENT DEVIN DOCUMENTATION>` – die **clientgebundene** Altform, an
|
|
69
|
+
einer werkzeugneutralen Stelle. Seit `CR-2026-024` ist die neutrale Form die im Kern zu
|
|
70
|
+
verwendende (D-02). Prüfung 14 greift dort nicht: Sie misst die Ablagen des Kerns, und
|
|
71
|
+
die Wurzel-README ist keine. **Korrigiert, nicht geprüft** – eine Prüfung für eine Datei,
|
|
72
|
+
die jedes Projekt durch seine eigene ersetzt, wäre ohne Gegenstand.
|
|
73
|
+
|
|
74
|
+
## 2. Vorgeschlagene Änderung
|
|
75
|
+
|
|
76
|
+
1. **Prüfung 46** – der D-11-Zähler. Sie rechnet die vier maschinell zählbaren Kriterien
|
|
77
|
+
aus und hält sie gegen **eine** Standzeile in `docs/ROADMAP.md`. Abweichung in
|
|
78
|
+
**beide** Richtungen ist ein Fehler; die Meldung nennt die gezählte Zahl, damit die
|
|
79
|
+
Behebung ein Kopiervorgang ist.
|
|
80
|
+
2. **Die Standzeile** in `docs/ROADMAP.md`, wörtlich vorgeschrieben, genau einmal. Fehlt
|
|
81
|
+
sie, meldet die Prüfung den **verlorenen Anker** selbst – die Bauform der Prüfungen
|
|
82
|
+
28, 29, 31 und 40.
|
|
83
|
+
3. **Die vier Zählregeln der Roadmaptabelle werden durch die des Zählers ersetzt** und
|
|
84
|
+
dort so beschrieben, wie er zählt. Eine Tabelle, die einen anderen Befehl nennt als
|
|
85
|
+
den ausgeführten, ist das zweite Register neben dem ersten.
|
|
86
|
+
4. **Sechs Sonden und drei Gegenproben** nach D-23, dazu eine Selbstprobe auf den
|
|
87
|
+
`glob`-Fallstrick.
|
|
88
|
+
5. **`README.md:165`** trägt die neutrale Markerform (Nebenbefund).
|
|
89
|
+
|
|
90
|
+
## 3. Vorlage zur Entscheidung
|
|
91
|
+
|
|
92
|
+
| Nr. | Frage | Vorschlag | Preis |
|
|
93
|
+
|---|---|---|---|
|
|
94
|
+
| **E1** | **Welche Bauform hat der Zähler?** Die Roadmap stellt die Frage seit 0.44.0 und verlangt sie vor dem Bauen entschieden | **Die Bauform von Prüfung 40 und 31: Der Stand steht ausgerechnet an genau einer Stelle, und die Prüfung hält die geschriebene Zahl gegen die gezählte.** Nicht der offene Punkt ist der Fehler, sondern die falsche Zahl | **Jeder Fortschritt macht den Lauf rot, bis die Zahl nachgezogen ist** – auch der Fortschritt in die richtige Richtung. **Das ist gewollt:** Genau dieses Nachziehen ist der Vorgang, der heute unterbleibt, und er kostet eine Zeile. Verworfen: **(a) ein Fehler je offenem Punkt** – 225 Fehler im Lauf, jeder Lauf rot, die Prüfung binnen eines Releases abgeschaltet; **(b) nur berichten** – dann ist es keine Prüfung, sondern derselbe gepflegte Absatz mit mehr Zeilen, und der Befund dieses Antrags wäre damit nicht gefunden worden |
|
|
95
|
+
| **E2** | **Welcher Zählbereich?** Der Validator läuft auch in jedem übernehmenden Projekt | **Nur `<CORE_DIR>/`**, ohne `build/` (Erzeugnis), `CHANGELOG.md`, `governance/change-requests/` und `tests/protocols/` (datierte, abgeschlossene Aufzeichnungen) | **Der Kern ist in jeder Installation derselbe** – `install.py --check` ist genau dafür da –, also ist die Zahl installationsunabhängig und die Prüfung läuft überall gleich. Preis: **Fundstellen außerhalb des Kerns zählen nicht**, auch echte. `README.md:165` ist so eine, und sie ist deshalb per Hand korrigiert statt geprüft. Verworfen: **das ganze Repositorium** – dann meldete jede Installation eine andere Zahl und die Standzeile wäre in keinem Projekt richtig; **die vier Ausnahmen mitzählen** – dann stiege die Zahl mit jedem Protokoll, das den Marker erwähnt, und sie könnte nie sinken, weil ein datierter Bericht nicht bearbeitbar ist |
|
|
96
|
+
| **E3** | **Zählt bei Kriterium 1 auch die Fundstelle, die den Marker nur *nennt*?** Registerzeile, Glossarzeile, Arbeitsanweisung | **Ja. Keine Ausnahmeliste.** Die Zahl ist ein **Pegel**, kein Arbeitsvorrat | **Kriterium 1 kann damit nicht auf null gehen, solange der Marker sein eigenes Register und seine Glossarzeile hat – und das ist richtig so:** `PLACEHOLDER_REGISTRY.md` schreibt beiden Formen in der Spalte „Ersetzung/Frist" ausdrücklich **„vor Version 1.0.0"** vor. Ein Platzhalter, dessen letzte Aussage verifiziert ist, gehört aus dem Register; sonst führt das Repositorium einen Platzhalter ohne Gegenstand. **Der Zähler verlangt am Ende genau das.** Verworfen: eine benannte Ausnahmeliste – sie träfe **ein Drittel** der Fundstellen, wäre reines Ermessen und müsste selbst gegen Verrotten bewacht werden; eine gepflegte Liste über eine gepflegte Zahl ist keine Verbesserung |
|
|
97
|
+
| **E4** | **Beide Markerschreibweisen?** | **Ja – `CLIENT` und `DEVIN`.** Ein Muster, kein zweiter Befehl | Die Altform ist **registriert und zulässig** (nur im Client Pack `devin-desktop`, Prüfung 14 setzt das durch) – aber sie trägt dieselbe Frist. **Wer nur die neutrale Form zählt, hält ein Client Pack mit sieben offenen Verifikationsbedarfen für fertig.** Preis: keiner, der Regex kostet ein `(?:…|…)` |
|
|
98
|
+
| **E5** | **Welche Träger bei Kriterium 2?** | **Jede `TESTS.md` unter `<CORE_DIR>/`, gefunden durch Baumdurchlauf** – keine Liste, kein Ablagenpräfix | **Eine Glob-Suche kann keine dreizehnte Datei übersehen; eine Liste kann es, und sie hat es.** Preis: Wer eine `TESTS.md` an einem unerwarteten Ort anlegt, sieht seine Zahl steigen – das ist die Meldung, nicht der Fehler |
|
|
99
|
+
| **E6** | **Welche Träger bei Kriterium 3 – die vier genannten Ablagen oder der ganze Bestand?** | **Der ganze Bestand: jede Steckbriefzeile `\| Status \| … \|` in den ersten sechzig Zeilen einer `.md` des Kerns.** Verglichen wird das **erste Wort** des Werts, damit `entwurf (Referenzpack der Erstfassung)` mitzählt | **Die Zahl springt von 16 auf 69, und Kriterium 3 sieht mit einem Schlag viermal so groß aus.** Das ist keine Verschlechterung, sondern die Lage: D-11 sagt „**alle** Modulstatus", nicht „die der vier Ablagen", und **keiner der 69 steht über `entwurf`** – das Lebenszyklusmodell aus `08-skill-conventions.md` Abschnitt 7 ist in diesem Repositorium **noch nie angewendet worden**. Verworfen: bei den vier Ablagen bleiben – dann bliebe ein Kriterium klein, indem es drei Viertel seines Gegenstands nicht ansieht |
|
|
100
|
+
| **E7** | **Wie wird der `glob`-Fallstrick verhindert, der beim Bauen zuschnappte?** | **`os.walk` statt `glob`, und eine Selbstprobe `C1`, die beide Verfahren auf demselben Baum gegeneinander abzählt** | Ohne sie wäre die Abhilfe eine Behauptung – **und die Wiederholung war schon einmal billiger als die Vorsicht.** Preis: eine Einheit mehr im Sondenlauf, unter einer Sekunde. Verworfen: ein Kommentar über dem `os.walk` – ein Kommentar hat keinen Mechanismus, und das ist der Befundtyp dieses Repositoriums |
|
|
101
|
+
| **E8** | **Meldet die Prüfung „1.0.0-reif", wenn alle vier Zahlen null sind?** | **Nein, sie braucht dafür keinen eigenen Gegenstand.** Steht in der Roadmap `Kriterium 1 = 0, Kriterium 2 = 0, Kriterium 3 = 0, Kriterium 4 = 0` und der Lauf ist grün, **dann ist das die Meldung** – erzwungen, nicht behauptet | Preis: Es steht kein Satz da, der „reif" sagt. Dafür gibt es auch keinen fünften Gegenstand, der heute nichts fängt und morgen gepflegt werden muss. **Kriterium 5 zählt der Zähler nicht** – „Übernahme in ein zweites Projekt nachgewiesen" ist keine Zahl. Das ist eine **Enthaltung**, und sie steht im Kopfkommentar |
|
|
102
|
+
| **E9** | **Was geschieht mit den Zählbefehlen in der Roadmaptabelle?** | **Sie werden durch die Regeln des Zählers ersetzt**, in derselben Tabelle, mit dem Hinweis, dass Prüfung 46 sie ausführt | **Ein zweites Register neben dem ersten wird mit jedem Release falscher** – dieser Befundtyp ist in diesem Repositorium sechsmal gefunden worden, und der vorliegende Antrag ist der siebte Fall. Preis: Die Roadmap trägt ab jetzt wieder Zahlen, was ihr eigener Absatz von 0.42.0 ausschließt. **Der Absatz schließt *gepflegte* Zahlen aus; eine Zahl, die eine Prüfung hält, ist das Gegenteil** – er gehört umgeschrieben, nicht umgangen |
|
|
103
|
+
|
|
104
|
+
## 4. Entscheidung
|
|
105
|
+
|
|
106
|
+
| Feld | Inhalt |
|
|
107
|
+
|---|---|
|
|
108
|
+
| Entscheidung | **Angenommen.** E1 bis E9 wie vorgelegt am 2026-09-15 durch den Framework Owner entschieden. **E7 ist beim Bauen angefallen** und folgt aus D-23 – eine Behebung ohne Sonde ist keine |
|
|
109
|
+
| Datum | 2026-09-15 |
|
|
110
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
111
|
+
| Decision-Log-Eintrag | D-98 (der 1.0.0-Stand wird ausgerechnet und gegen eine einzige Standzeile gehalten), D-99 (der Zählbereich ist der Kern, und Kriterium 3 misst den ganzen Bestand) |
|
|
112
|
+
| Auflagen | **Der Gegenbeweis gehört dazu:** Die sechs Sonden MÜSSEN gegen 0.47.0 fallen, die drei Gegenproben dort bestehen. **Dazu die Abzählung selbst:** Jede der vier alten Zählregeln ist mit ihrer Fundstelle und ihrem Grund im Protokoll auszuweisen – eine Behauptung „vier von vier falsch" ohne die vier Nachweise wäre genau die Bauform, die dieser Antrag beanstandet |
|
|
113
|
+
| Ziel-Release | `0.48.0` |
|
|
114
|
+
| Umsetzung | umgesetzt mit `0.48.0` |
|
package/.koolie/core/governance/change-requests/CR-2026-071-strukturentscheidungen-bestaetigen.md
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-071`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Die neun Strukturentscheidungen sind bestätigt – und die drei Einwände, die sie zweiunddreißig Releases lang aufgehalten haben, zielten an der Entscheidung vorbei |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-15 |
|
|
8
|
+
| Betroffene Artefakte | `governance/DECISION_LOG.md` (D-01 bis D-08, D-10, K-08, Legende, D-100, D-101), `docs/ROADMAP.md` (Standzeile, Kriterientabelle, Abschnitt „Strukturentscheidungen bestätigen", AP3), `tests/scripts/probe-pruefungen.py` (Sonde 46f), `CHANGELOG.md`, `tests/protocols/2026-09-15-gegenpruefung-strukturentscheidungen.md`, `tests/protocols/2026-09-15-wirkungsnachweise-0.49.0.md` |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind die Strukturentscheidungen des Frameworks selbst |
|
|
10
|
+
| Art | Änderung (Statuswechsel), Fortschreibung |
|
|
11
|
+
| Dringlichkeit | **Regulär.** Kein Sicherheitsbezug. Der Gegenstand ist Arbeitspaket `AP3` der Roadmap mit Priorität P1 und Kriterium 4 von D-11 |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass
|
|
14
|
+
|
|
15
|
+
**Beauftragt, nicht gefunden.** Das ist der erste Unterschied zu den fünf Releases davor:
|
|
16
|
+
Dieser Antrag geht nicht auf einen Befund zurück, sondern auf eine Anweisung. Sie folgt
|
|
17
|
+
aus der Messung, die `CR-2026-070` beigebracht hat.
|
|
18
|
+
|
|
19
|
+
Prüfung 46 zählt seit 0.48.0 die vier maschinell zählbaren Kriterien von D-11 bei jedem
|
|
20
|
+
Lauf. Ihre erste Anwendung war eine rückwirkende Messung über dreiundzwanzig
|
|
21
|
+
Releasestände, und ihr Ergebnis ist die Begründung dieses Antrags:
|
|
22
|
+
|
|
23
|
+
| Release | K1 | K2 | K3 | K4 | Summe |
|
|
24
|
+
|---|---|---|---|---|---|
|
|
25
|
+
| 0.26.0 | 30 | 117 | 67 | 9 | **223** |
|
|
26
|
+
| 0.33.0 | 31 | 118 | 69 | 9 | **227** |
|
|
27
|
+
| 0.35.0 … 0.48.0 | 29 | 118 | 69 | 9 | **225** |
|
|
28
|
+
|
|
29
|
+
**Kriterium 4 steht seit 0.26.0 auf neun. Es stand auch davor auf neun.** Die neun
|
|
30
|
+
Records tragen ihr Datum vom **2026-09-01**, dem Tag der Erstfassung 0.1.0 – seither sind
|
|
31
|
+
**neunundvierzig Releases** vergangen, und keiner hat einen davon gehoben.
|
|
32
|
+
|
|
33
|
+
**Der Vorgang war vorbereitet.** `CR-2026-019` hat am 2026-09-10 die Vorbedingung
|
|
34
|
+
geschaffen: Acht der zehn Records beschrieben einen Stand, den es nicht mehr gab; alle
|
|
35
|
+
acht sind fortgeschrieben worden. Derselbe Antrag hat die Entscheidung selbst
|
|
36
|
+
ausdrücklich **nicht** getroffen, sondern je Record vorgelegt (Abschnitt 4) – und
|
|
37
|
+
festgehalten, dass sieben ohne erkennbaren Einwand dastehen und drei mit einem benannten.
|
|
38
|
+
|
|
39
|
+
**Diese Vorlage ist seit zweiunddreißig Releases unbeantwortet.** Sie steht bis heute als
|
|
40
|
+
offener Haken in Abschnitt 7 von `CR-2026-019`:
|
|
41
|
+
|
|
42
|
+
> - [ ] **Zur Entscheidung offen:** der Statuswechsel je Record (Abschnitt 4). Drei
|
|
43
|
+
> tragen einen benannten Einwand: D-05 (AP2-CC-12 offen), D-07 (K-20 bei
|
|
44
|
+
> `devin-desktop` unbelegt), D-10 (K-04 offen)
|
|
45
|
+
|
|
46
|
+
**Der eigentliche Befund dieses Antrags steht in Abschnitt 3, und er war nicht gesucht:**
|
|
47
|
+
Alle drei Einwände zielen an der Entscheidung vorbei, gegen die sie vorgebracht sind.
|
|
48
|
+
Zwei von ihnen knüpfen die Bestätigung an Bedingungen, die **D-11 selbst ausdrücklich
|
|
49
|
+
ausnimmt**. Der dritte verwechselt eine Regel mit ihrer Durchsetzungstiefe bei einem
|
|
50
|
+
Client – der Unterscheidung, für die es **D-12** gibt.
|
|
51
|
+
|
|
52
|
+
> **Es ist nicht so, dass niemand entschieden hätte. Es ist so, dass die Bedingung falsch
|
|
53
|
+
> gewählt war – und eine falsch gewählte Bedingung wartet für immer.**
|
|
54
|
+
|
|
55
|
+
## 2. Die Gegenprüfung: neun Records, je Record ein Urteil
|
|
56
|
+
|
|
57
|
+
Nach D-23 gehört jeder Befund gegengeprüft, bevor er umgesetzt wird. Hier ist der
|
|
58
|
+
Gegenstand kein Befund, sondern eine Bestätigung – die Gegenprüfung fragt deshalb nicht
|
|
59
|
+
„stimmt der Befund?", sondern: **Trägt die Begründung von 2026-09-01 heute noch, und
|
|
60
|
+
womit ist das belegt?**
|
|
61
|
+
|
|
62
|
+
Vollständig mit Fundstellen und Messungen in
|
|
63
|
+
`tests/protocols/2026-09-15-gegenpruefung-strukturentscheidungen.md`. Kurzfassung:
|
|
64
|
+
|
|
65
|
+
| ID | Gegenstand | Begründung von 2026-09-01 | Trägt sie heute? | Beleg – gemessen, nicht gelesen |
|
|
66
|
+
|---|---|---|---|---|
|
|
67
|
+
| **D-01** | Ebenenmodell | „Vorgabe des Auftrags; Ebenen B und E sind für Separation of Concerns erforderlich" | **Ja** | `governance/PRIORITY_HIERARCHY.md` führt acht Stufen; Ebene B ist Stufe 2 und hat unter `framework/org-policies/` einen Einbindungspunkt mit zwei Dateien, Ebene E ist Stufe 8. Die Alternative „drei Ebenen ohne Packs" ist durch **zwei** Role Packs praktisch widerlegt. **Ehrlich dazu:** Von den beiden Packebenen ist eine besetzt; ein Technology Pack liegt bisher nur als Vorlage vor – das ist eine Aktivität von `AP4` und keine Frage an das Ebenenmodell |
|
|
68
|
+
| **D-02** | Lang- und Laufzeitform | „Tool Independence und Least Context" | **Ja, und stärker als damals** | D-12 bis D-14 haben die Naht benannt und maschinenlesbar gemacht: Beide Client Packs führen ein `manifest.json`, aus dem `install.py` und der Validator die Pfade lesen. 2026-09-01 war das eine Absicht, heute ist es eine Datei |
|
|
69
|
+
| **D-03** | Vier-Dateien-Struktur je Skill | „Trennung normativ/erläuternd; Least Context" | **Ja** | **13 von 13** Skills tragen genau `SKILL.md`, `EXAMPLES.md`, `TESTS.md`, `CHANGELOG.md` – abgezählt, nicht behauptet. Least Context ist seit dem 2026-09-12 gemessen (`ERH-13`) und am 2026-09-14 ein zweites Mal: Von zwölf Framework-Skills erscheinen **drei** in der Skill-Auflistung einer echten Sitzung, die übrigen neun hält `disable-model-invocation` aus dem Kontext (Zusage S4) |
|
|
70
|
+
| **D-04** | Berechtigungsdatei, restriktiver Standard | „Secure by Default" | **Ja, und seit D-18 geprüft statt zugesagt** | `framework/runtime/permissions.json` führt **53** `deny`-, **5** `ask`- und **19** `allow`-Regeln; die Kernzusagen werden als `_core_rules_integrity.deny_must_contain` aus derselben Quelle erzeugt (`clientmap.py`) und vom Validator gegen sie gehalten |
|
|
71
|
+
| **D-05** | Berechtigungsmodi | „Human Accountability, Review before Adoption" | **Ja** – Einwand siehe Abschnitt 3.1 | Das Verbot steht in beiden Client Packs; bei `claude-code` zusätzlich technisch sperrbar (AP2-CC-05). Das Framework liefert **genau ein** Agentenprofil aus (`framework/runtime/agents/fw-reviewer.md`), und es setzt das Feld nicht, um das der Einwand geht |
|
|
72
|
+
| **D-06** | Prioritätshierarchie, Verschärfungsprinzip | „Auflösung des Zielkonflikts Core über Overlay gegen Overlay definiert die Projektwerte" | **Ja** | Das Verschärfungsprinzip ist Regel 2.1 von `PRIORITY_HIERARCHY.md` und seit D-18 an der tragenden Stelle eine **geprüfte Eigenschaft**: Die Semantikabbildung lässt die Installation scheitern, wenn eine `deny`- oder `ask`-Regel kein Zielwerkzeug hat, und untersagt bei `allow` jede Verbreiterung |
|
|
73
|
+
| **D-07** | Kontextklassen K0 bis K3 | „Operationalisierbarkeit statt abstrakter Regeln" | **Ja** – Einwand siehe Abschnitt 3.2 | Die vier Klassen stehen in `framework/core/02-privacy.md` Abschnitt 2, vollständig auch in der Laufzeitschicht (D-24). Die Alternative „Freitextregeln" hätte weder die Auffangkategorie in 2.1 noch die Vorrangregel in 2.2 tragen können |
|
|
74
|
+
| **D-08** | Metadaten im Dateikörper | „Toleranz unbekannter Frontmatter-Schlüssel nicht belegt" | **Die Entscheidung ja – die Begründung nicht mehr** | Siehe Abschnitt 2.1. Die Form ist durchgehend angewendet: die Steckbriefzeile `\| Status \| … \|` steht in **69** Kerndateien, und Prüfung 46 zählt sie |
|
|
75
|
+
| **D-10** | Erweiterungsmodule, standardmäßig deaktiviert | „K-04 offen; Secure by Default" | **Ja** – Einwand siehe Abschnitt 3.3 | Seit 0.5.0 kein Vorsatz mehr, sondern erzeugt: `framework/runtime/` liefert **nur** `mcp-config.example.json`, keine wirksame Konfiguration, und `permissions.json` stellt **alle** MCP-Werkzeuge in `ask` (`{"tool": "mcp", "pattern": "*"}`) |
|
|
76
|
+
|
|
77
|
+
### 2.1 D-08 ist der einzige Sonderfall – und er ist kein Hindernis
|
|
78
|
+
|
|
79
|
+
**Bei acht von neun trägt die Begründung von 2026-09-01 unverändert. Bei D-08 trägt sie
|
|
80
|
+
nicht mehr, und die Entscheidung steht trotzdem** – auf einem anderen Grund.
|
|
81
|
+
|
|
82
|
+
Die Begründung war eine **Vorsichtsannahme**: Weil die Toleranz unbekannter
|
|
83
|
+
Frontmatter-Schlüssel unbelegt war, sollten Framework-Metadaten nicht ins Frontmatter.
|
|
84
|
+
Für `claude-code` ist die Lage seither geklärt (K-18): Die Herstellerdokumentation zählt
|
|
85
|
+
die Felder je Artefaktart abschließend auf, und die Abbildung erzeugt seit D-26 und D-27
|
|
86
|
+
**nur** dokumentierte Felder. Ein Metadatenfeld im Frontmatter wäre dort heute kein
|
|
87
|
+
Risiko mehr, sondern ein **undokumentiertes Feld** – Ballast ohne Durchsetzung. Für
|
|
88
|
+
`devin-desktop` ist die Frage unverändert unbelegt; dort trägt die alte Begründung weiter.
|
|
89
|
+
|
|
90
|
+
**Dieselbe Entscheidung, zwei Gründe, je Client ein anderer.** Das ist genau die Lage,
|
|
91
|
+
für die es die Fähigkeitsmatrix gibt, und es ist kein Einwand gegen die Bestätigung. Der
|
|
92
|
+
Statustext hält beides fest, damit niemand die Begründung von 2026-09-01 für die heutige
|
|
93
|
+
hält.
|
|
94
|
+
|
|
95
|
+
> **Eine Bestätigung ist keine Behauptung, dass sich nichts geändert hat.** Sie ist die
|
|
96
|
+
> Feststellung, dass die Entscheidung heute trägt – und wo sie es aus einem anderen Grund
|
|
97
|
+
> tut, gehört der andere Grund hingeschrieben.
|
|
98
|
+
|
|
99
|
+
## 3. Die drei Einwände aus `CR-2026-019` – und was sie wirklich treffen
|
|
100
|
+
|
|
101
|
+
### 3.1 D-05 / `AP2-CC-12`: ein Einwand gegen die Durchsetzungstiefe, nicht gegen die Regel
|
|
102
|
+
|
|
103
|
+
**Der Einwand, wörtlich:** Ob die Sperre gegen den Modus ohne Rückfragen auch für das Feld
|
|
104
|
+
`permissionMode` eines Subagentenprofils gilt, ist nicht dokumentiert.
|
|
105
|
+
|
|
106
|
+
**Gemessen: die Frage ist unverändert offen.** Die Erhebung vom 2026-09-13 über
|
|
107
|
+
Unteragenten führt sie ausdrücklich unter „Was diese Erhebung nicht belegt": „`permissionMode`
|
|
108
|
+
im Profil (`AP2-CC-12`, offene Teilfrage zu M2). **Unberührt.**"
|
|
109
|
+
|
|
110
|
+
**Und sie ist trotzdem kein Einwand gegen D-05.** D-05 entscheidet, dass der Modus ohne
|
|
111
|
+
Rückfragen **untersagt** ist. `AP2-CC-12` fragt, ob ein bestimmter Client dieses Verbot auf
|
|
112
|
+
einem bestimmten Weg zusätzlich **technisch** erzwingen kann. Das sind zwei verschiedene
|
|
113
|
+
Dinge, und dass sie zwei sind, ist keine Auslegung, sondern **D-12**: Jede technische
|
|
114
|
+
Zusage wird je Client als `[TECHNISCH]`, `[TEXTUELL]` oder `[NICHT ABBILDBAR]`
|
|
115
|
+
eingestuft, weil eine Regel auch dort gilt, wo die Engine sie nicht erzwingt.
|
|
116
|
+
|
|
117
|
+
> **Wer eine Regel erst bestätigt, wenn jeder Client sie technisch erzwingt, hat D-12
|
|
118
|
+
> abgeschafft** – und mit ihr die halbe Begründung des Frameworks.
|
|
119
|
+
|
|
120
|
+
**Dazu ein Messwert, der die Reichweite des Einwands bemisst:** Das Framework liefert
|
|
121
|
+
**genau ein** Agentenprofil aus, und es setzt das Feld `permissionMode` **nicht**. Die
|
|
122
|
+
offene Frage hat in den ausgelieferten Artefakten keinen Träger. Sie bleibt offen, sie
|
|
123
|
+
bleibt eine Verifikationsschuld der Fähigkeitsmatrix – **und sie steht in Kriterium 1 von
|
|
124
|
+
D-11, nicht in Kriterium 4.**
|
|
125
|
+
|
|
126
|
+
### 3.2 D-07 / `K-20`: das Modell beantwortet den Einwand in seinem eigenen Abschnitt 1.3
|
|
127
|
+
|
|
128
|
+
**Der Einwand, wörtlich:** K-20 – Art und Ort der Codebasis-Indexierung – ist bei
|
|
129
|
+
`devin-desktop` unbelegt; das Datenschutzmodell setzt eine Aussage darüber voraus.
|
|
130
|
+
|
|
131
|
+
**Der zweite Halbsatz ist falsch, und der Gegenbeweis steht im Modell selbst.**
|
|
132
|
+
`framework/core/02-privacy.md` regelt den Fall der fehlenden Aussage ausdrücklich:
|
|
133
|
+
|
|
134
|
+
> Abschnitt 1.3: *Bis zum Vorliegen dieser Prüfung gilt die restriktivste Auslegung: Nur
|
|
135
|
+
> Kontextklasse K0 und K1 dürfen bereitgestellt werden …*
|
|
136
|
+
>
|
|
137
|
+
> Abschnitt 2.2 Regel 3: *Fehlt eine Einstufung, gilt K3.*
|
|
138
|
+
|
|
139
|
+
**Das Modell setzt die Aussage nicht voraus – es enthält die Regel für ihr Fehlen.** Ein
|
|
140
|
+
Modell, das seinen eigenen unbeantworteten Eingabewert auffängt, wird durch dessen
|
|
141
|
+
Unbeantwortetheit nicht geschwächt; es wird durch sie **vorgeführt**. Dass K-20 offen ist,
|
|
142
|
+
ist ein Argument **für** D-07 und gegen die Alternative „Freitextregeln", die für diesen
|
|
143
|
+
Fall gar keine Antwort gehabt hätte.
|
|
144
|
+
|
|
145
|
+
**Dazu die Zuständigkeit:** Abschnitt 1.2 desselben Moduls erklärt die vertraglichen und
|
|
146
|
+
technischen Bedingungen – Verarbeitungsorte, Aufbewahrung, Codebasis-Indexierung –
|
|
147
|
+
ausdrücklich für **organisationsspezifisch** und verlangt sie vor der Einführung geprüft
|
|
148
|
+
und im Overlay referenziert. **Das ist Aufgabe der aufnehmenden Organisation, und D-11
|
|
149
|
+
nimmt genau das aus.** Der offene Rest von K-20 ist ein VERIFY-Marker – **Kriterium 1**,
|
|
150
|
+
nicht Kriterium 4. Ihn zur Bedingung von Kriterium 4 zu machen, koppelt zwei Kriterien,
|
|
151
|
+
die D-11 getrennt aufzählt.
|
|
152
|
+
|
|
153
|
+
### 3.3 D-10 / `K-04`: die Zusage hat ein Gegenüber, und es ist ein Mechanismus
|
|
154
|
+
|
|
155
|
+
**Der Einwand, wörtlich:** K-04 – Nutzungsumfang Cloud/CLI – ist offen und liegt außerhalb
|
|
156
|
+
des Frameworks. Solange die Organisation ihn nicht festgelegt hat, ist „vorgesehen,
|
|
157
|
+
standardmäßig deaktiviert" eine Zusage ohne Gegenüber.
|
|
158
|
+
|
|
159
|
+
**Zwei Gründe, und der zweite ist der stärkere.**
|
|
160
|
+
|
|
161
|
+
**Erstens die Zuständigkeit.** K-04 nennt als entscheidende Rolle „Projektleitung mit
|
|
162
|
+
Informationssicherheit" und trägt den Platzhalter `<TBD: Freigabe Cloud/CLI-Nutzung>`. Das
|
|
163
|
+
ist eine **organisatorische Freigabe**. D-11 sagt dazu einen Satz, und er ist eindeutig:
|
|
164
|
+
*Pilot, Onboarding und organisatorische Freigabe sind **nicht** Vorbedingung, sondern
|
|
165
|
+
Aufgabe der aufnehmenden Organisation.* Ein Einwand, der genau das zur Vorbedingung macht,
|
|
166
|
+
steht gegen die Entscheidung, deren Kriterium er bedienen will.
|
|
167
|
+
|
|
168
|
+
**Zweitens der Mechanismus.** „Eine Zusage ohne Gegenüber" trifft seit 0.5.0 nicht mehr zu,
|
|
169
|
+
und das ist nachzählbar: `framework/runtime/` liefert **keine** wirksame MCP-Konfiguration
|
|
170
|
+
aus, sondern nur `mcp-config.example.json`; `permissions.json` stellt **alle**
|
|
171
|
+
MCP-Werkzeuge in `ask`. Die Deaktivierung ist erzeugt, nicht versprochen. **D-10 ist
|
|
172
|
+
gerade die Entscheidung, die das Framework sicher hält, solange K-04 offen ist** – sie
|
|
173
|
+
braucht K-04 nicht beantwortet, sie ist die Antwort auf seine Offenheit.
|
|
174
|
+
|
|
175
|
+
### 3.4 Was die drei gemeinsam haben
|
|
176
|
+
|
|
177
|
+
| Einwand | Wogegen er sich richtet | Wozu er gehört |
|
|
178
|
+
|---|---|---|
|
|
179
|
+
| `AP2-CC-12` (D-05) | die Durchsetzungstiefe **eines** Clients | Fähigkeitsmatrix (D-12), Kriterium 1 von D-11 |
|
|
180
|
+
| `K-20` (D-07) | eine **Eingabe** des Modells, deren Fehlen das Modell selbst regelt | organisatorische Prüfung, Kriterium 1 von D-11 |
|
|
181
|
+
| `K-04` (D-10) | eine **organisatorische Freigabe** | aufnehmende Organisation – von D-11 ausdrücklich ausgenommen |
|
|
182
|
+
|
|
183
|
+
**Keiner der drei richtet sich gegen die Entscheidung, gegen die er vorgebracht ist.**
|
|
184
|
+
Alle drei sind gute Fragen, keine davon ist beantwortet, und keine davon gehört zu
|
|
185
|
+
Kriterium 4.
|
|
186
|
+
|
|
187
|
+
> **Der wiederkehrende Befundtyp dieses Repositoriums, eine Ebene höher:** Sonst ist es
|
|
188
|
+
> *eine Zusage, die mehr verspricht, als sie leistet*. Hier ist es **eine Bedingung, die
|
|
189
|
+
> mehr verlangt, als ihr Kriterium fordert** – und das hält genauso zuverlässig auf, wie
|
|
190
|
+
> eine zu schwache Zusage durchlässt. Zweiunddreißig Releases lang, mit einem grünen
|
|
191
|
+
> Validator bei jedem einzelnen.
|
|
192
|
+
|
|
193
|
+
## 4. Nebenbefunde
|
|
194
|
+
|
|
195
|
+
### 4.1 Die Legende erklärt vier Statuswerte, die Tabelle führt sieben
|
|
196
|
+
|
|
197
|
+
**Beim Nachzählen der Statuszelle, also beim Vorbereiten eben dieses Antrags, angefallen.**
|
|
198
|
+
Die Legende in Zeile 4 von `DECISION_LOG.md` nennt `geklärt`, `entschieden (Vorschlag)`,
|
|
199
|
+
`offen` und `verify`. Abgezählt über beide Tabellen:
|
|
200
|
+
|
|
201
|
+
| Statuswert | Vorkommen | In der Legende? |
|
|
202
|
+
|---|---|---|
|
|
203
|
+
| `entschieden (CR-2026-NNN)` | **89** Decision Records | **nein** |
|
|
204
|
+
| `ersetzt durch D-11` | 1 (D-09) | **nein** |
|
|
205
|
+
| `offen by design` | 1 (K-16) | **nein** |
|
|
206
|
+
| `geklärt durch Auftrag` | 1 (K-09) | **nein** |
|
|
207
|
+
| `entschieden (Vorschlag)` | 9 Records, 5 Klärungspunkte | ja |
|
|
208
|
+
| `geklärt`, `offen`, `verify` | übrige | ja |
|
|
209
|
+
|
|
210
|
+
**Der meistverwendete Statuswert des Dokuments steht nicht in seiner Legende** – seit
|
|
211
|
+
D-11 und neunundachtzig Records. Das ist der Befundtyp dieses
|
|
212
|
+
Repositoriums in seiner Grundform: ein Verzeichnis, das seinen eigenen Bestand nicht
|
|
213
|
+
vollständig nennt.
|
|
214
|
+
|
|
215
|
+
**Berichtigt, nicht geprüft.** Eine Prüfung, die das Vokabular der Statuszellen gegen die
|
|
216
|
+
Legende hält, ist baubar und wäre die richtige Abhilfe. Sie ist hier **bewusst nicht
|
|
217
|
+
gebaut**: Der `<FRAMEWORK_OWNER>` hat für dieses Release angeordnet, keine neue Prüfung zu
|
|
218
|
+
bauen, bevor sich eine der vier D-11-Zahlen bewegt hat. **Sie bewegt sich mit diesem
|
|
219
|
+
Release** – die Prüfung ist damit ab dem nächsten zulässig und steht als Kandidat. Siehe
|
|
220
|
+
E5.
|
|
221
|
+
|
|
222
|
+
### 4.2 `K-08` ist die offene Entscheidung von `AP3` und trägt denselben Statuswert
|
|
223
|
+
|
|
224
|
+
`AP3` führt in seinem Feld „Offene Entscheidungen" genau einen Eintrag: *Bestätigung der
|
|
225
|
+
8-stufigen Hierarchie (K-08)*. K-08 steht auf `entschieden (Vorschlag)` und sagt in der
|
|
226
|
+
Sache dasselbe wie D-01 und D-06.
|
|
227
|
+
|
|
228
|
+
**D-01 und D-06 zu bestätigen und K-08 stehen zu lassen, hieße denselben Sachverhalt in
|
|
229
|
+
zwei Zuständen zu führen** – das zweite Register neben dem ersten, und dieses Repositorium
|
|
230
|
+
hat diesen Befundtyp in seinem eigenen Bestand siebenmal gefunden. K-08 geht mit.
|
|
231
|
+
|
|
232
|
+
**Die vier übrigen Klärungspunkte auf `entschieden (Vorschlag)` gehen nicht mit.** Sie
|
|
233
|
+
tragen offene Teilfragen und keinen Decision Record: K-12 (Skill-Ablage – die Discovery
|
|
234
|
+
ist unverifiziert, die Sache ist durch D-15 und D-16 ohnehin in eine Pfadabbildung je Pack
|
|
235
|
+
überführt), K-13 (Ablage und Verteilung), K-17 (Sprache) und K-18 (Frontmatter-Felder –
|
|
236
|
+
für einen Client geklärt, für den anderen `verify`). Siehe E4.
|
|
237
|
+
|
|
238
|
+
### 4.3 Nachtrag zum Protokoll von `CR-2026-070`
|
|
239
|
+
|
|
240
|
+
Das Protokoll `2026-09-15-gegenpruefung-d11-zaehlregeln.md` formuliert die Zeile zum
|
|
241
|
+
seriellen Abnahmelauf **vorsichtiger, als die Messung es verlangt**: Es sagt, der Vergleich
|
|
242
|
+
sei an einem Zwischenstand gemessen, weil der serielle Lauf gegen den endgültigen Wortlaut
|
|
243
|
+
bei Protokollabschluss noch nicht zurück war. **Er ist es inzwischen, und er ist grün** –
|
|
244
|
+
Exit 0, 250 Ergebniszeilen, sortiert deckungsgleich mit dem nebenläufigen Lauf, 977 s auf
|
|
245
|
+
einer Bahn gegen 128 s auf acht. Das ist kein Fehler im Protokoll (es behauptet weniger,
|
|
246
|
+
als wahr ist) und kein eigenes Release wert; es ist hier nachgetragen, wie die Übergabe es
|
|
247
|
+
vorgesehen hat.
|
|
248
|
+
|
|
249
|
+
## 5. Vorgeschlagene Änderung
|
|
250
|
+
|
|
251
|
+
1. **Die neun Records D-01 bis D-08 und D-10 wechseln den Status** auf
|
|
252
|
+
`entschieden (CR-2026-071)`. Der Wortlaut von 2026-09-01 und die Fortschreibung aus
|
|
253
|
+
`CR-2026-019` bleiben unverändert stehen (die Regel aus `CR-2026-019`: ein Decision Log
|
|
254
|
+
ist ein Verlaufsdokument). Angehängt wird je Record ein Satz, der die Bestätigung datiert
|
|
255
|
+
und den Beleg nennt, auf dem sie steht.
|
|
256
|
+
2. **`K-08` wird mitbestätigt** – die offene Entscheidung von `AP3`, in der Sache D-01 und
|
|
257
|
+
D-06.
|
|
258
|
+
3. **Die Legende führt die Statuswerte, die die Tabellen wirklich verwenden** (Nebenbefund
|
|
259
|
+
4.1).
|
|
260
|
+
4. **Zwei neue Decision Records:** D-100 (die Bestätigung und ihr Maßstab), D-101 (das
|
|
261
|
+
Statusvokabular des Decision Logs).
|
|
262
|
+
5. **Die Standzeile in `docs/ROADMAP.md`** wird nachgezogen: Kriterium 4 von **9 auf 0**.
|
|
263
|
+
Das ist der Vorgang, für den Prüfung 46 gebaut ist – **ohne ihn wäre der Lauf rot**.
|
|
264
|
+
6. **Sonde 46f wird umgebaut.** Sie hob bisher D-10 aus `entschieden (Vorschlag)` und
|
|
265
|
+
belegte damit die Richtung „Fortschritt nicht nachgezogen". Nach diesem Release hat die
|
|
266
|
+
Hebung keinen Gegenstand mehr – die Sonde **stellt ihren Defekt jetzt her statt ihn zu
|
|
267
|
+
entfernen** und deckt die Richtung, die bisher **keine** Sonde deckte: den **Rückfall**.
|
|
268
|
+
7. **Die Roadmap** zieht Kriterientabelle, den Abschnitt „Strukturentscheidungen
|
|
269
|
+
bestätigen" und das Feld „Offene Entscheidungen" von `AP3` nach.
|
|
270
|
+
|
|
271
|
+
## 6. Vorlage zur Entscheidung
|
|
272
|
+
|
|
273
|
+
| Nr. | Frage | Vorschlag | Preis |
|
|
274
|
+
|---|---|---|---|
|
|
275
|
+
| **E1** | **Welcher Statuswert?** „Bestätigen" ist der Vorgang; welcher Zustand steht danach da? | **`entschieden (CR-2026-071)`** – derselbe Wert, den die übrigen **89** Records tragen. Der Vorgang steht in der Antragsnummer und im angehängten Satz, nicht in einem eigenen Wort | **Der Unterschied zwischen „vorgeschlagen und bestätigt" und „von Anfang an entschieden" ist danach nur noch im Text der Zelle zu lesen, nicht mehr am Statuswort.** Das ist hinnehmbar, weil die Zelle ihn ausdrücklich nennt und das Datum 2026-09-01 stehen bleibt. Verworfen: **ein eigener Wert `bestätigt`** – ein zweites Vokabular für denselben Zustand, und Prüfung 46 müsste es mitlernen; genau der Befundtyp, den dieses Repositorium siebenmal gefunden hat |
|
|
276
|
+
| **E2** | **Alle neun in einem Antrag – oder je Record ein eigener?** | **Alle neun in einem.** Sie teilen den Anlass (`AP3`), das Datum, die Vorlage aus `CR-2026-019` und den Maßstab | Preis: Wer später nachliest, warum **ein** Record bestätigt wurde, liest einen Antrag über neun. **Aufgefangen durch die Zeile je Record in Abschnitt 2** – und neun Anträge über denselben Vorgang wären neun Kopien derselben Begründung. Verworfen: **nur die sieben ohne Einwand bestätigen** – das hätte die drei Einwände ein zweites Mal ungeprüft stehen gelassen, und ihre Prüfung ist der Ertrag dieses Antrags |
|
|
277
|
+
| **E3** | **Was geschieht mit den drei Einwänden – aufgelöst oder übergangen?** | **Aufgelöst, einzeln, mit Beleg** (Abschnitt 3). Die drei **Fragen** bleiben offen und behalten ihren Ort: `AP2-CC-12` in der Fähigkeitsmatrix, K-20 und K-04 in der Klärungstabelle | **Es bleibt drei offene Fragen zu einem bestätigten Bestand.** Das ist die Lage und nicht ihre Verschleierung: Keine der drei ist eine Frage nach Kriterium 4. Verworfen: **die Bestätigung bis zu ihrer Beantwortung zurückstellen** – das ist genau das, was zweiunddreißig Releases lang geschehen ist, und zwei der drei liegen ausdrücklich außerhalb des Einflussbereichs des `<FRAMEWORK_OWNER>`, den D-11 zum Maßstab macht |
|
|
278
|
+
| **E4** | **Gehen die fünf Klärungspunkte auf `entschieden (Vorschlag)` mit?** | **Nur `K-08`.** Es ist die namentlich genannte offene Entscheidung von `AP3` und sagt in der Sache dasselbe wie D-01 und D-06 | **Vier Klärungspunkte behalten einen Statuswert, den kein Decision Record mehr trägt.** Das ist gewollt: Ein Klärungspunkt ist eine **Frage**, ein Decision Record eine **Festlegung**, und bei allen vieren ist ein Teil der Frage unbeantwortet (K-12 Discovery unverifiziert, K-18 bei einem Client `verify`). Prüfung 46 zählt sie nicht – das ist seit `CR-2026-070` entschieden und hier nicht neu aufzumachen. Verworfen: **alle fünf mitnehmen** – das hätte vier offene Fragen für entschieden erklärt, um eine Zahl zu senken, die sie gar nicht zählt |
|
|
279
|
+
| **E5** | **Bekommt das Statusvokabular eine Prüfung?** Die Legende nannte vier von sieben Werten | **Nein, nicht in diesem Release.** Die Legende wird berichtigt; die Prüfung steht als Kandidat für das nächste | **Eine Zusage ohne Mechanismus, und der Antrag sagt es selbst.** Der Grund ist eine ausdrückliche Anweisung des `<FRAMEWORK_OWNER>` vom 2026-09-15: keine neue Prüfung, bevor sich eine der vier D-11-Zahlen bewegt hat. **Mit diesem Release bewegt sie sich** – die Sperre fällt danach, und der Kandidat steht in der Roadmap. Verworfen: **die Prüfung gleich mitbauen** – dann wäre dieses Release wieder zur Hälfte Arbeit am Prüfapparat, und genau das war der Anlass der Anweisung |
|
|
280
|
+
| **E6** | **Was wird aus Sonde 46f?** Sie hebt D-10 aus `entschieden (Vorschlag)`; nach diesem Release gibt es dort nichts mehr zu heben | **Umbauen: Sie setzt einen bestätigten Record auf `entschieden (Vorschlag)` zurück** und belegt damit den **Rückfall** – die Richtung, die bisher keine Sonde deckte, weil Kriterium 4 nie null war | **Die Richtung „Fortschritt nicht nachgezogen" verliert bei Kriterium 4 ihre Sonde.** Sie bleibt gedeckt: Sonde 46a stellt eine Zahl der Standzeile zu hoch und erzeugt genau diese Meldung. Verworfen: **die Sonde auf ein anderes Kriterium umhängen** – dann prüfte sie nicht mehr den Gegenstand, an dem der Rückfall wirklich eintreten kann; **die Sonde entfernen** – eine Prüfung ohne Sonde gilt nach D-23 als nicht vorhanden, und Prüfung 46 hat vier Gegenstände |
|
|
281
|
+
| **E7** | **Muss die Standzeile in demselben Release nachgezogen werden?** | **Ja, im selben Patch.** Ohne sie ist der Lauf rot | **Keiner – das ist der Preis, den `CR-2026-070` E1 ausdrücklich gewollt hat.** Dies ist der erste Fall, in dem der Mechanismus greift, und er greift bei einem Fortschritt. **Gemessen zwischen zwei Patches:** Nach dem Statuswechsel im Decision Log und **vor** dem Nachziehen der Standzeile meldete der Lauf gegen den Arbeitsbaum genau **einen** Fehler, und zwar über einen **Fortschritt** – `Kriterium 4 … ist gezählt 0, die Standzeile nennt 9`. Ohne diese Bauform stünde dort heute noch neun |
|
|
282
|
+
|
|
283
|
+
## 7. Prüffragen (durch Owner auszufüllen)
|
|
284
|
+
|
|
285
|
+
- [x] Richtige Ebene nach Entscheidungsbaum 6? — Ja. Gegenstand sind die Strukturentscheidungen des Kerns; geändert werden ein Governance-Dokument, die Roadmap und eine Sonde. Keine Regel wird eingeführt oder gelockert.
|
|
286
|
+
- [x] Verschärfungsprinzip eingehalten? — Nicht berührt. Keine Regel ändert ihren Inhalt; neun Festlegungen wechseln ihren Status.
|
|
287
|
+
- [x] Widerspruchsfreiheit geprüft? — Gegenstand von Abschnitt 2 und 3. Gelesen: `PRIORITY_HIERARCHY.md`, `framework/core/02-privacy.md`, `framework/core/08-skill-conventions.md`, beide `CLIENT_PACK.md`, `framework/runtime/permissions.json`, `clientmap.py`, `CR-2026-018`, `CR-2026-019`, `CR-2026-070`, `tests/protocols/2026-09-13-erhebung-unteragent.md`.
|
|
288
|
+
- [x] Laufzeitfassungen betroffen? — Nein. Weder Wurzel-Anweisungsdatei noch Regelablage noch Berechtigungsdatei ändern sich; `install.py --check` bleibt unberührt.
|
|
289
|
+
- [x] Belegstatus korrekt? — Jede Zeile von Abschnitt 2 nennt eine gemessene Fundstelle. Die drei offenen Fragen sind als **offen** geführt und nicht als beantwortet ausgegeben.
|
|
290
|
+
- [x] Test- und Validierungsbedarf? — Keine neue Prüfung (E5). **Eine bestehende Sonde bricht und wird umgebaut** (E6); der Gegenbeweis dazu steht im Wirkungsnachweis. Validator und Sondenlauf in beiden Kodierungsumgebungen.
|
|
291
|
+
- [x] Auswirkungen auf Overlays und laufende Onboardings? — Keine. Der Kern bleibt byte-gleich bis auf Governance- und Dokumenttexte; Prüfung 46 läuft in jeder Installation mit derselben Standzeile.
|
|
292
|
+
- [x] Dokumentation? — CHANGELOG, Decision Log (D-100, D-101), Roadmap (Standzeile, Kriterientabelle, `AP3`), Protokolle.
|
|
293
|
+
|
|
294
|
+
## 8. Entscheidung
|
|
295
|
+
|
|
296
|
+
| Feld | Inhalt |
|
|
297
|
+
|---|---|
|
|
298
|
+
| Entscheidung | **Angenommen.** E1 bis E7 wie vorgelegt am 2026-09-15 durch den Framework Owner entschieden |
|
|
299
|
+
| Datum | 2026-09-15 |
|
|
300
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
301
|
+
| Begründung | Die Vorlage aus `CR-2026-019` liegt seit zweiunddreißig Releases unbeantwortet vor. Ihre Gegenprüfung zeigt: Bei acht von neun Records trägt die Begründung von 2026-09-01 unverändert, bei D-08 trägt die Entscheidung auf einem anderen Grund – und die drei benannten Einwände richten sich sämtlich gegen etwas anderes als die Entscheidung, gegen die sie vorgebracht sind. Zwei von ihnen machen zur Bedingung, was D-11 ausdrücklich ausnimmt. **Eine falsch gewählte Bedingung wartet für immer**; sie wird hier nicht erfüllt, sondern richtiggestellt |
|
|
302
|
+
| Decision-Log-Eintrag | **D-100** (die neun sind bestätigt; Maßstab ist die tragende Begründung, nicht die unveränderte), **D-101** (das Statusvokabular des Decision Logs steht vollständig in seiner Legende) |
|
|
303
|
+
| Auflagen | **Der Gegenbeweis gehört dazu:** Die umgebaute Sonde 46f MUSS gegen 0.48.0 fallen und gegen `main` bestehen. **Dazu ist zu messen, was die alte Fassung auf dem neuen Stand anrichten würde** – und das Ergebnis gehört ins Protokoll, auch wenn es unbequemer ist als erwartet: Sie meldet **nicht** `[Praeparation gebrochen]`, sondern ihr Suchtext trifft weiterhin – im Verlaufszusatz der Zelle, also an einer Stelle, die Prüfung 46 gar nicht liest. Der Baumvergleich meldet dann kein `[nichts praepariert]`, und der Fehlschlag sähe aus wie ein Befund an der Prüfung, wo einer an der Sonde vorliegt. **Das ist der schlechteste der drei möglichen Zustände, und er ist der Grund, warum die neue Fassung den ANFANG der Statuszelle trifft statt eine Zeichenkette irgendwo in ihr.** **Dazu die Gegenprüfung selbst:** Jeder der neun Records ist mit seiner Begründung, seinem Beleg und seinem Urteil im Protokoll auszuweisen; eine Bestätigung ohne die neun Nachweise wäre genau die Bauform, die dieses Repositorium beanstandet |
|
|
304
|
+
| Ziel-Release | `0.49.0` |
|
|
305
|
+
| Umsetzung | umgesetzt mit `0.49.0` |
|
|
306
|
+
|
|
307
|
+
## 9. Umsetzung (nach Annahme)
|
|
308
|
+
|
|
309
|
+
- [x] D-01 bis D-08 und D-10 auf `entschieden (CR-2026-071)`; Wortlaut, Begründung und Datum von 2026-09-01 sowie die Fortschreibung aus `CR-2026-019` unverändert stehen gelassen
|
|
310
|
+
- [x] Je Record ein angehängter Satz mit Datum und Beleg der Bestätigung
|
|
311
|
+
- [x] `K-08` mitbestätigt (E4)
|
|
312
|
+
- [x] Legende um `entschieden (CR-…)`, `ersetzt durch …`, `offen by design` und `geklärt durch Auftrag` ergänzt (D-101)
|
|
313
|
+
- [x] D-100 und D-101 eingetragen
|
|
314
|
+
- [x] Standzeile in `docs/ROADMAP.md`: Kriterium 4 von 9 auf **0** (E7)
|
|
315
|
+
- [x] Sonde 46f umgebaut (E6), Gegenbeweis gegen 0.48.0 im Wirkungsnachweis
|
|
316
|
+
- [x] Roadmap: Kriterientabelle, Abschnitt „Strukturentscheidungen bestätigen", `AP3` nachgezogen
|
|
317
|
+
- [x] Validator 0 Fehler, 0 Warnungen; Sondenlauf in beiden Kodierungsumgebungen über 251 Zeilen zeilengleich, Exit 0 (154 Sonden, 62 Gegenproben, 12 Selbstproben – unverändert gegenüber 0.48.0)
|
|
318
|
+
- [x] Gegenbeweis gegen 0.48.0: **genau eine Abweichung**, und es ist Sonde 46f mit `[Praeparation gebrochen]`
|
|
319
|
+
- [x] Die zweite Richtung der Auflage gemessen – die alte Fassung hätte **danebengetroffen statt gebrochen**; der Antragstext ist gegen die Messung berichtigt worden, nicht umgekehrt
|
|
320
|
+
- [x] Wirkungsnachweis: `tests/protocols/2026-09-15-wirkungsnachweise-0.49.0.md`
|
|
321
|
+
- [ ] **Folgearbeit:** Die Prüfung auf das Statusvokabular des Decision Logs (E5, Nebenbefund 4.1) – ab dem nächsten Release zulässig, weil sich mit diesem eine der vier D-11-Zahlen bewegt hat
|
|
322
|
+
- [ ] **Folgearbeit:** Die vier Klärungspunkte K-12, K-13, K-17 und K-18 (E4) – je ein eigener Vorgang, weil bei allen vieren ein Teil der Frage unbeantwortet ist
|