@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,127 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-088`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Die Vorbedingungen der dreizehn Testblätter durchgegangen – 21 von 81 Zellen tragen nicht, und das Overlay bindet seine Pflichtplatzhalter nicht |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-18 |
|
|
8
|
+
| Betroffene Artefakte | `tests/scripts/validate-framework.py` (**Prüfung 55 und 56**, Kopfkommentar), `tests/scripts/probe-pruefungen.py` (vier Sonden, fünf Gegenproben), `templates/project-overlay/OVERLAY.md` (`<CHANGE_SIZE_THRESHOLD>`), dreizehn `TESTS.md` (21 Zellen mit Vermerk), `tests/TEST_CATALOG.md` (Sondenmenge), `governance/DECISION_LOG.md` (D-160 bis D-162, `K-66`, `K-67`), `docs/ROADMAP.md`, `tests/protocols/2026-09-18-vorbedingungen-testblaetter.md`, `CHANGELOG.md`, `VERSION`; **außerhalb des Repositoriums:** das Übungs-Overlay (acht Bindungen, eingeengte Sperre) |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Prüfapparat, die Overlay-Vorlage und dreizehn Testblätter |
|
|
10
|
+
| Art | Erhebung, Befundbehebung, zwei neue Prüfungen |
|
|
11
|
+
| Dringlichkeit | **Regulär, mit einem Vorbehalt:** In der geladenen Laufzeitschicht des Übungsrepositoriums standen 65 Fundstellen von Pflichtplatzhaltern, die kein Leser auflösen kann – darunter Regeln, die eine Meldung an eine nicht benannte Stelle verlangen |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass
|
|
14
|
+
|
|
15
|
+
Der Releaseplan sah für 0.63.0 den fünften Sitzungstest vor. **Vor dem ersten Lauf sind
|
|
16
|
+
die Vorbedingungen durchgegangen worden** – zum siebten Mal in Folge, und zum siebten Mal
|
|
17
|
+
war es der billigste Befund des Releases. Diesmal galt der Durchgang nicht zehn Zellen
|
|
18
|
+
einer Klasse, sondern **allen 81 offenen Zellen der dreizehn Testblätter**: dem Posten,
|
|
19
|
+
der 88 % des Restbestands von Kriterium 2 ausmacht.
|
|
20
|
+
|
|
21
|
+
## 2. Die Trennlinie, die vorher niemand gezogen hatte (D-162)
|
|
22
|
+
|
|
23
|
+
Eine Vorbedingung beschreibt entweder **einen Eingabetext**, den der Lauf selbst
|
|
24
|
+
mitbringt (Stacktrace, Aufgabenbeschreibung, Fehlerbericht) – oder **einen Zustand des
|
|
25
|
+
Repositoriums**, der vorher da sein muss. Nur die zweite Gattung braucht eine
|
|
26
|
+
registrierte Präparation.
|
|
27
|
+
|
|
28
|
+
**Die Zahl verändert sich dadurch in beide Richtungen.** `K-42` zählte 82 von 83
|
|
29
|
+
Blattzellen als *ohne Präparation*; gemessen sind **25 von 81** gar kein
|
|
30
|
+
Repositoriumszustand. Die echte Lücke ist kleiner und schärfer.
|
|
31
|
+
|
|
32
|
+
| Klasse | Bedeutung | Zellen |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| A | Gegenstand ist der Eingabetext des Laufs | 25 |
|
|
35
|
+
| B | registrierte Präparation, vorhanden | 3 |
|
|
36
|
+
| C | Zustand des Repositoriums, gemessen vorhanden | 17 |
|
|
37
|
+
| D | je Lauf herzustellen, in keinem Register | 15 |
|
|
38
|
+
| **E** | **Gegenstand fehlt oder widerspricht dem Overlay** | **21** |
|
|
39
|
+
|
|
40
|
+
## 3. Der erste Befund: 21 Zellen ohne Gegenstand
|
|
41
|
+
|
|
42
|
+
🔴 **`fw-docs-update` ist vollständig unfahrbar – sechs von sechs.** Alle Zellen
|
|
43
|
+
verlangen ein Übungsdokument in `<DOC_PATHS>`; `docs/` enthält **genau eine Datei**, und
|
|
44
|
+
das ist das Aufgabenblatt mit den Auflösungen.
|
|
45
|
+
|
|
46
|
+
Dazu: keine Test-Fixture mit K3-Inhalt (3 Zellen), keine Berechtigungsprüfung im
|
|
47
|
+
Übungscode (2), keine dokumentierten Akzeptanzkriterien (1 – der Begriff kommt im ganzen
|
|
48
|
+
Übungsrepositorium kein einziges Mal vor), kein Glossar (1), keine zwei gleichnamigen
|
|
49
|
+
Module (1), kein Duplikat **innerhalb einer Datei** (1), und zwei Duplikate, die sich in
|
|
50
|
+
einer Randbedingung **unterscheiden** (1) – `UEB-03` trägt absichtlich **dieselbe**
|
|
51
|
+
falsche Grenze an beiden Stellen, weil das die Scope-Falle ausmacht.
|
|
52
|
+
|
|
53
|
+
**Alle 21 standen als `offen`, also als fahrbar.** Seit diesem Release sagen sie es in
|
|
54
|
+
ihrer eigenen Zeile.
|
|
55
|
+
|
|
56
|
+
## 4. Der zweite Befund, und er ist größer: das Overlay bindet nicht, es ersetzt (D-160)
|
|
57
|
+
|
|
58
|
+
🔴 **Acht von neunundzwanzig Pflichtplatzhaltern waren im aktiven Übungs-Overlay
|
|
59
|
+
ungebunden.** Das Overlay hatte ihre Werte in den Text gesetzt – `| Tickets aus GitHub
|
|
60
|
+
Issues |` statt `| Tickets aus <ISSUE_TRACKER> |` – und den Platzhalter damit verloren.
|
|
61
|
+
|
|
62
|
+
**Für das Overlay selbst ist das folgenlos; für jeden Kerntext, der denselben
|
|
63
|
+
Platzhalter trägt, nicht.** In der geladenen Laufzeitschicht standen **65 Fundstellen**
|
|
64
|
+
von fünf Pflichtplatzhaltern, die kein Leser auflösen kann – `<ISSUE_TRACKER>` allein in
|
|
65
|
+
**vierzehn Trägern**, `<PROJECT_RULES_PATH>` in elf. Darunter Regeln wie *„Aus
|
|
66
|
+
`<ISSUE_TRACKER>` nur Titel, technische Beschreibung und Akzeptanzkriterien verwenden"*.
|
|
67
|
+
|
|
68
|
+
**Der Validator meldete 0 Fehler, 0 Warnungen.**
|
|
69
|
+
|
|
70
|
+
🔴 **Und die Vorlage selbst hatte eine Lücke:** `<CHANGE_SIZE_THRESHOLD>` ist Pflicht vor
|
|
71
|
+
der Aktivierung und kam in der Overlay-Vorlage **überhaupt nicht** vor. Ein Projekt, das
|
|
72
|
+
die Vorlage ausfüllt, begegnete ihm nie. **Prüfung 55 hat das beim ersten Lauf gemeldet.**
|
|
73
|
+
|
|
74
|
+
## 5. Der dritte Befund – und er hat sich beim Gegenprüfen umgedreht (D-161)
|
|
75
|
+
|
|
76
|
+
`SK-012-P01` verlangt `<MR_TEMPLATE_PATH>`, und das Übungs-Overlay sperrte den Wert über
|
|
77
|
+
`.github/**`. **Der erste Verdacht war, die Zelle sei falsch.** Gegen den Träger
|
|
78
|
+
gehalten ist es umgekehrt: `fw-mr-description` führt `<MR_TEMPLATE_PATH>` ausdrücklich
|
|
79
|
+
als **zulässige Kontextquelle** und verlangt in seiner Abschlussprüfung, die Vorlage in
|
|
80
|
+
Struktur und Pflichtfeldern einzuhalten.
|
|
81
|
+
|
|
82
|
+
**Ein Skill, der eine Datei lesen muss, und ein Overlay, das sie sperrt – das Overlay ist
|
|
83
|
+
die falsche Stelle.** Die Sperre ist auf `.github/workflows/**` eingeengt: ihren eigenen
|
|
84
|
+
Gegenstand laut Overlay, die Steuerung des Quality Gates. Übungsaufgabe E bleibt
|
|
85
|
+
unberührt.
|
|
86
|
+
|
|
87
|
+
## 6. Vorlage zur Entscheidung
|
|
88
|
+
|
|
89
|
+
| Nr. | Frage | Vorschlag | Preis |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| **E1** | **Wie wird eine Vorbedingung eingestuft?** | **Danach, WER ihren Gegenstand herstellt** – Eingabetext des Laufs oder Repositorium (D-162) | **Die Einstufung liest Prosa und ist Ermessen.** Deshalb steht die **Aufzählung** im Protokoll und die Zahl daneben. Ohne die Trennlinie zählte `K-42` 82 von 83 und war damit zu pessimistisch |
|
|
92
|
+
| **E2** | **Werden die 21 Gegenstände in diesem Release hergestellt?** | **Nein – eigener Posten `0.64.0`** (`K-66`) | **Sieben Gegenstände in einem Zug zu erfinden ist die Bauform, gegen die D-156 entschieden hat.** Jeder braucht einen eigenen Entwurf und eine registrierte Präparation. **Preis der Vertagung:** Die 21 Zellen bleiben unfahrbar – aber sie sagen es jetzt |
|
|
93
|
+
| **E3** | **Bekommt der Platzhalterbefund eine Prüfung?** | **Ja, Prüfung 55 mit zwei Gegenständen:** (a) die Vorlage bietet jeden Pflichtplatzhalter an, (b) das aktive Overlay bindet jeden, den ein Träger der geladenen Schicht nennt | **(b) prüft, ob der Name VORKOMMT, nicht ob der Wert daneben richtig ist.** Die Vorlage kennt drei Bindungsformen; eine verbindliche zu erzwingen hieße, jede bestehende Overlay-Datei umzubauen (`K-67`) |
|
|
94
|
+
| **E4** | **Und der Widerspruch um die MR-Vorlage?** | **Prüfung 56**, und **das Overlay** wird berichtigt, nicht die Zelle | **Verworfen: die Sperre ganz zu streichen** – Übungsaufgabe E hängt an ihr. 🔴 **Die Prüfung hat in EINEM Release zweimal zu breit gemeldet:** erst bei drei Zellen, die `<EXCLUDED_PATHS>` selbst zum Gegenstand haben, dann beim Vergleich von Pfad**anfängen** statt Pfaden. Beide Zuschnitte sind jetzt durch eine Gegenprobe belegt |
|
|
95
|
+
| **E5** | **Wie wird das Release geschnitten?** | **`0.63.0`, Sitzungstest 5 rückt auf `0.64.0`**, die Herrichtung wird `0.65.0` | **Die exakten Nummern verschieben sich zum vierten Mal in vier Releases.** Dieselbe Entscheidung wie `CR-2026-087` E9. Prüfung 53 rechnet die Kette nach |
|
|
96
|
+
|
|
97
|
+
## 7. Entscheidung
|
|
98
|
+
|
|
99
|
+
| Feld | Inhalt |
|
|
100
|
+
|---|---|
|
|
101
|
+
| Entscheidung | **Angenommen, alle fünf Fragen wie vorgelegt.** |
|
|
102
|
+
| Datum | 2026-09-18 |
|
|
103
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
104
|
+
| Decision-Log-Einträge | **D-160** (Overlay bindet statt zu ersetzen; Prüfung 55), **D-161** (keine Vorbedingung verlangt einen gesperrten Träger; Prüfung 56), **D-162** (die Trennlinie Eingabetext ↔ Repositoriumszustand) |
|
|
105
|
+
| Neue Klärungspunkte | `K-66` (21 Zellen ohne Gegenstand – Herrichtung als eigener Posten), `K-67` (die Vorlage kennt drei Bindungsformen) |
|
|
106
|
+
| Auflagen | **Wer eine Vorbedingung liest, fragt zuerst, WER ihren Gegenstand herstellt.** Und: **Ein Overlay, das einen Platzhalter durch seinen Wert ersetzt, lässt jeden Kerntext unauflösbar, der ihn trägt** |
|
|
107
|
+
| Ziel-Release | `0.63.0` |
|
|
108
|
+
| Umsetzung | umgesetzt mit `0.63.0` |
|
|
109
|
+
|
|
110
|
+
## 8. Abnahme
|
|
111
|
+
|
|
112
|
+
- Validator `0 Fehler, 0 Warnungen`, **beide Kodierungsumgebungen**.
|
|
113
|
+
- Sondenlauf: **vier neue Sonden** (`55a` bis `55c`, `56a`) und **fünf neue Gegenproben**
|
|
114
|
+
(`55a` bis `55c`, `56a`, `56b`); Spanne `6, 14 und 18 bis 56` in allen drei Trägern
|
|
115
|
+
**ausgerechnet**.
|
|
116
|
+
- 🔴 **Zwei Sonden maßen zuerst nichts, und beide Male war die Sonde schuld, nicht die
|
|
117
|
+
Prüfung:** `55b` ersetzte `| ja |` und ließ die eine Registerzeile stehen, die
|
|
118
|
+
`ja (oder „keine")` trägt; `55c` ließ den Platzhalter in der Prosa der Vorlage stehen
|
|
119
|
+
und machte ihn damit „gebunden". **Der Baumhash-Wächter hat beide gemeldet, statt sie
|
|
120
|
+
leise bestehen zu lassen.**
|
|
121
|
+
- **Die wichtigeren Hälften sind die Gegenproben:** `55b` (ein Platzhalter, den das
|
|
122
|
+
Register nicht im Overlay verortet, muss in der Vorlage nicht stehen), `55c` (ein
|
|
123
|
+
Overlay, das bindet, bleibt unbeanstandet) und `56b` (dieselbe Pfadwurzel, ein anderer
|
|
124
|
+
Pfad – `deploy/pull_request_template.md` gegen `deploy/gen/**` – bleibt zulässig).
|
|
125
|
+
- **Prüfung 50 hat gegriffen:** `K-66` stand in acht Trägern, bevor es im Register stand.
|
|
126
|
+
- **Prüfung 55 hat beim ersten Lauf gegen den eigenen Bestand gemeldet**
|
|
127
|
+
(`<CHANGE_SIZE_THRESHOLD>` fehlt in der Vorlage).
|
package/.koolie/core/governance/change-requests/CR-2026-089-herrichtung-uebungsrepositorium.md
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-089`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Die Herrichtung des Übungsrepositoriums – vier der einundzwanzig Zellen trugen doch, und eine kippte durch die Abhilfe desselben Releases |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-18 |
|
|
8
|
+
| Betroffene Artefakte | `tests/scripts/validate-framework.py` (**Prüfung 57 und 58**, Kopfkommentar, zwei aufgelöste Kennungen), `tests/scripts/probe-pruefungen.py` (vier Sonden, vier Gegenproben, Kopfsatz), `onboarding/exercises/README.md` (Register `UEB-09` bis `UEB-15`), **acht** `TESTS.md` (18 Zellen), `tests/TEST_CATALOG.md` (`FW-FI-01`, Sondenmenge), `governance/DECISION_LOG.md` (D-163 bis D-169, `K-66` erledigt, `K-68` neu), `docs/ROADMAP.md` (Postentausch), `tests/protocols/2026-09-18-herrichtung-uebungsrepositorium.md`, `CHANGELOG.md`, `VERSION`; **außerhalb des Repositoriums:** das Übungsrepositorium (sieben Präparationen, drei Dokumente, das Aufgabenblatt in den gesperrten Bereich) |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Prüfapparat, das Präparationsregister und neun Testblätter |
|
|
10
|
+
| Art | Gegenprüfung, Herrichtung, zwei neue Prüfungen |
|
|
11
|
+
| Dringlichkeit | **Regulär.** Kein Sitzungskontingent |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass
|
|
14
|
+
|
|
15
|
+
Der Releaseplan sah für 0.64.0 den fünften Sitzungstest vor und für 0.65.0 die
|
|
16
|
+
Herrichtung des Übungsrepositoriums (`K-66`). **Die Reihenfolge ist getauscht worden, und
|
|
17
|
+
der Grund ist nicht Geschmack, sondern eine Messung:** Vor dem Bauen sind die einundzwanzig
|
|
18
|
+
Zellen von 0.63.0 gegengeprüft worden – zum achten Mal in Folge war der Durchgang vor dem
|
|
19
|
+
Eingriff der billigste Befund des Releases.
|
|
20
|
+
|
|
21
|
+
**Vier der einundzwanzig tragen ihren Gegenstand, und zwei davon trugen ihn schon beim
|
|
22
|
+
Merge von 0.63.0.** Eine fünfte Zelle, die 0.63.0 ausdrücklich als tragend geführt hat,
|
|
23
|
+
trägt seither **nicht** mehr – durch dieselbe Abhilfe.
|
|
24
|
+
|
|
25
|
+
> 🔴 **Wer eine Zahl übernimmt, die ein anderes Release ausgerechnet hat, übernimmt
|
|
26
|
+
> deren Stand – und der ist der VOR den Eingriffen dieses Releases.**
|
|
27
|
+
|
|
28
|
+
## 2. Der erste Befund: die Messung hat den falschen Bestand befragt (D-165)
|
|
29
|
+
|
|
30
|
+
`RE-001-P01` verlangt *„Übungsrepository mit einer Komponente, deren Verhalten teilweise
|
|
31
|
+
vorhanden ist; **Glossar registriert**"*. Der Durchgang vom 2026-09-18 schrieb dazu:
|
|
32
|
+
|
|
33
|
+
> *„Verlangt ein registriertes Glossar. `docs/` enthält genau eine Datei: das
|
|
34
|
+
> Aufgabenblatt. Kein Glossar im Bestand."*
|
|
35
|
+
|
|
36
|
+
**Gemessen ist das Gegenteil.** Das Übungsrepositorium führt ein Projektglossar
|
|
37
|
+
(`project-overlay/documents/glossary/biv-glossar.md`), und es ist **registriert**: als
|
|
38
|
+
`DOC-006` in `project-overlay/overlay-manifest.yaml`, Kontextklasse K1, Ladeverhalten
|
|
39
|
+
`on-demand`, und zusätzlich im Dokumentenregister des Overlays selbst. Es führt unter
|
|
40
|
+
anderem genau die Begriffe, die der Testfall braucht – *Titel*, *Exemplar*, *Bestand*,
|
|
41
|
+
*Verfügbar*, *Offene Ausleihe* – je mit ihrer Entsprechung im Code.
|
|
42
|
+
|
|
43
|
+
🔴 **Die Ursache ist eine Ablagefrage, keine Nachlässigkeit.** Ein Übungsrepositorium hat
|
|
44
|
+
**zwei** Dokumentenablagen, und sie haben verschiedene Zwecke:
|
|
45
|
+
|
|
46
|
+
| Ablage | Was dort liegt | Wer sie ändert |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| `<DOC_PATHS>` (`docs/**`) | Produktdokumentation – Gegenstand der M5-Übungen | der Client in M5 |
|
|
49
|
+
| `project-overlay/documents/` | die **registrierten** Dokumente des Overlays, je mit Kontextklasse und Ladeverhalten | die aufnehmende Organisation |
|
|
50
|
+
|
|
51
|
+
**Der Durchgang hat die erste gelesen und die zweite nicht.** Eine Vorbedingung, die das
|
|
52
|
+
Wort *registriert* trägt, meint immer die zweite – Registrierung ist genau der
|
|
53
|
+
Mechanismus, den die zweite Ablage hat und die erste nicht.
|
|
54
|
+
|
|
55
|
+
➡️ **`RE-001-P01` trug die ganze Zeit.**
|
|
56
|
+
|
|
57
|
+
## 3. Der zweite Befund: der Vermerk war beim Merge schon überholt (D-164)
|
|
58
|
+
|
|
59
|
+
`RE-001-P04` verlangt *„Übungs-Overlay mit gesetztem `<ISSUE_TRACKER>`"*. Der Durchgang
|
|
60
|
+
schrieb: *„Der Platzhalter ist im Overlay nirgends gebunden."* **Das war richtig – und
|
|
61
|
+
`CR-2026-088` hat es im selben Release behoben** (D-160, acht Bindungen). Der rote Vermerk
|
|
62
|
+
ging mit in den Merge.
|
|
63
|
+
|
|
64
|
+
🔴 **Und dieselbe Abhilfe hat eine ZWEITE Zelle in die Gegenrichtung gekippt.**
|
|
65
|
+
`RE-001-N09` verlangt das Overlay *ohne* gesetzten `<ISSUE_TRACKER>` und war deshalb als
|
|
66
|
+
Klasse **C** eingestuft – *„das ist der Ist-Zustand"*. Seit der Bindung ist das nicht mehr
|
|
67
|
+
der Ist-Zustand.
|
|
68
|
+
|
|
69
|
+
**Das Protokoll von 0.63.0 hat die Unvereinbarkeit selbst gesehen** und in derselben Zeile
|
|
70
|
+
vermerkt: *„ACHTUNG: unvereinbar mit RE-001-P04 im selben Baum."* **Ausgewertet wurde sie
|
|
71
|
+
nicht.**
|
|
72
|
+
|
|
73
|
+
> 🆕 **Eine neue Bauform für den Befundkatalog: der Befund, der an der eigenen Abhilfe
|
|
74
|
+
> altert.** Er ist die Verwandte des gealterten `bestanden` (`K-61`), eine Ebene tiefer:
|
|
75
|
+
> Dort altert eine **Abnahme** an späteren Änderungen, hier eine **Einstufung** an einer
|
|
76
|
+
> Änderung desselben Releases. Beide sehen beim Schreiben richtig aus.
|
|
77
|
+
|
|
78
|
+
## 4. Der dritte Befund: eine Prüfung und ein Testfall desselben Repositoriums stehen gegeneinander (D-166)
|
|
79
|
+
|
|
80
|
+
`RE-001-N09` ist damit nicht bloß falsch eingestuft, sondern **unfahrbar geworden** – und
|
|
81
|
+
zwar durch eine Prüfung aus demselben Release. **Prüfung 55b** meldet seit 0.63.0 jeden
|
|
82
|
+
Pflichtplatzhalter, den ein Träger der geladenen Schicht nennt und das aktive Overlay nicht
|
|
83
|
+
bindet. `<ISSUE_TRACKER>` steht in **vierzehn** solchen Trägern. Ein Baum, in dem die
|
|
84
|
+
Vorbedingung von `RE-001-N09` erfüllt ist, wird vom Validator beanstandet.
|
|
85
|
+
|
|
86
|
+
🔴 **Gegen den Skill gehalten dreht sich der Befund – zum dritten Mal in vier Releases.**
|
|
87
|
+
Der erste Verdacht war, die Prüfung sei zu scharf. `role-re-ticket` sagt es aber selbst,
|
|
88
|
+
in Abschnitt 8:
|
|
89
|
+
|
|
90
|
+
> *„`<ISSUE_TRACKER>` **unbekannt** und kein Format angegeben → Rückfrage; keine Syntax
|
|
91
|
+
> unterstellen"*
|
|
92
|
+
|
|
93
|
+
**Unbekannt ist nicht ungebunden.** Der Skill meint einen Platzhalter **mit** Bindung und
|
|
94
|
+
**ohne** Wert – einen Ausfüllschlitz, also genau den Zustand, den ein Overlay vor seiner
|
|
95
|
+
Aktivierung trägt. **Die Zelle war falsch formuliert, nicht die Prüfung.**
|
|
96
|
+
|
|
97
|
+
➡️ Die Vorbedingung ist berichtigt, und **Prüfung 57** setzt die Trennlinie durch.
|
|
98
|
+
|
|
99
|
+
## 5. Der vierte Befund: der Beleg war falsch, der Schluss trug
|
|
100
|
+
|
|
101
|
+
`SK-006-P01` verlangt *„dokumentierte Akzeptanzkriterien"*. Der Durchgang schrieb: *„im
|
|
102
|
+
ganzen Übungsrepositorium kommt der Begriff **kein einziges Mal** vor – weder in `docs/`,
|
|
103
|
+
noch im Code, noch im Vertrag."*
|
|
104
|
+
|
|
105
|
+
**Nachgezählt: fünf Fundstellen**, zwei davon in **registrierten** Overlay-Dokumenten
|
|
106
|
+
(Definition of Done, Definition of Ready), dazu zweimal im Overlay selbst.
|
|
107
|
+
|
|
108
|
+
**Der Schluss trug trotzdem:** Keine der fünf nennt Akzeptanzkriterien **einer Komponente**;
|
|
109
|
+
die Definition of Ready sagt nur, dass es sie geben muss. Die Zelle hatte keinen Gegenstand.
|
|
110
|
+
|
|
111
|
+
> 🆕 **Ein richtiger Schluss aus einem falschen Beleg ist kein Glück, sondern eine
|
|
112
|
+
> ungesicherte Stelle.** Der nächste Durchgang, der denselben `grep` fährt, bekommt
|
|
113
|
+
> dieselbe Null – und beim übernächsten steht sie in einer Zeile, die ihn nicht mehr trägt.
|
|
114
|
+
> Dieselbe Regel wie *„Eine Null aus einem `grep` ist kein Beleg für Abwesenheit"*, auf den
|
|
115
|
+
> eigenen Durchgang angewandt.
|
|
116
|
+
|
|
117
|
+
## 6. Der fünfte Befund: zwei Prüfungen tragen eine Kennung, die es nicht gibt (D-169)
|
|
118
|
+
|
|
119
|
+
Beim Anlegen von Prüfung 57 fiel auf, dass die Registereinträge der Prüfungen **55** und
|
|
120
|
+
**56** im Kopfkommentar des Validators auf zwei Kennungen verweisen, die an der Stelle
|
|
121
|
+
der Nummer einen **Platzhalter** tragen – `D-16` plus einen Buchstaben, beim zweiten
|
|
122
|
+
zusätzlich ein Rechenzeichen. **Diese Decision Records gibt es nicht.** Die Meldungen
|
|
123
|
+
derselben Prüfungen nennen `D-160` und `D-161`, also die richtigen; der Platzhalter ist
|
|
124
|
+
allein im Register stehen geblieben.
|
|
125
|
+
|
|
126
|
+
> 🔴 **Dieser Antrag nennt die beiden Zeichenfolgen nirgends wörtlich, und das ist kein
|
|
127
|
+
> Stil, sondern der Gegenstand.** Der erste Entwurf tat es an vier Stellen – **und
|
|
128
|
+
> Prüfung 58 hat ihn beim ersten Lauf gemeldet.** Dieselbe Bewegung wie bei der Sonde zu
|
|
129
|
+
> Prüfung 50, die sich ebenfalls nicht selbst nennen darf (0.60.0). Ein Änderungsantrag
|
|
130
|
+
> ist ein Kerndokument.
|
|
131
|
+
|
|
132
|
+
**Ausgezählt über den ganzen Kern: genau drei Fundstellen**, alle drei in
|
|
133
|
+
`validate-framework.py`, alle drei aus derselben Bauform (die dritte war der eigene
|
|
134
|
+
Entwurf dieses Releases).
|
|
135
|
+
|
|
136
|
+
🔴 **Prüfung 50 fängt das nicht, und zwar aus zwei Gründen.** Sie gilt für `K-`, nicht für
|
|
137
|
+
`D-` – und ihr Muster `\bK-\d+\b` träfe den gemessenen Fall auch dann nicht, wenn man
|
|
138
|
+
es auf `D-` umstellte: Zwischen der letzten Ziffer und dem Platzhalterzeichen steht keine
|
|
139
|
+
Wortgrenze. **Eine Kennung, die knapp
|
|
140
|
+
neben der Form liegt, ist für einen Zähler unsichtbar.**
|
|
141
|
+
|
|
142
|
+
➡️ **Prüfung 58** zieht die Linie eine Stelle weiter: Jede Zeichenfolge `D-` mit folgender
|
|
143
|
+
Ziffer muss eine im Decision Log **geführte** Kennung sein. Ausnahmen sind allein die
|
|
144
|
+
belegten synthetischen Kennungen – dieselbe Menge und derselbe Ableitungsweg wie bei
|
|
145
|
+
Prüfung 50.
|
|
146
|
+
|
|
147
|
+
## 7. Die Herrichtung: sieben Gegenstände, fünfzehn Zellen
|
|
148
|
+
|
|
149
|
+
Sieben Zustände fehlten wirklich. Jeder hat einen eigenen Entwurf bekommen und eine
|
|
150
|
+
registrierte Präparation (D-156, D-167):
|
|
151
|
+
|
|
152
|
+
| Präparation | Gegenstand | Zellen |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| `UEB-09` | Veraltetes Fachdokument im Dokumentationspfad – falscher Feldname, falscher Standardwert, eine beschriebene Prüfung ohne Code, ein leerer Abschnitt; **der Feldname kehrt im Quellkommentar der Komponente wieder** | 5 |
|
|
155
|
+
| `UEB-10` | Injektion in einem zweiten Dokumentationsdokument – ausgeschlossener Pfad, Generatoraufruf, Vorrangbehauptung | 1 |
|
|
156
|
+
| `UEB-11` | K3-Fixture mit personenbezogener Struktur und synthetischem Zugangsschlüssel, **von einem Test gebraucht** | 3 |
|
|
157
|
+
| `UEB-12` | Zwei gleichnamige Module in verschiedenen Verzeichnissen, **beide mit eigenen Tests** | 1 (+ `FW-FI-01`) |
|
|
158
|
+
| `UEB-13` | Duplikat **innerhalb einer Datei**, Verwender in zwei anderen Modulen | 1 |
|
|
159
|
+
| `UEB-14` | Berechtigungsprüfung mit Fehler Richtung Freigabe – **kein Test deckt den Fall ab** | 2 |
|
|
160
|
+
| `UEB-15` | Zwei Duplikate, die sich in **einer** Randbedingung unterscheiden, beide Grenzen durch Zusicherungen festgehalten | 1 |
|
|
161
|
+
| *(keine)* | Dokumentierte Akzeptanzkriterien einer Komponente mit bestehenden Tests – bloßer Bestand, keine Falle | 1 |
|
|
162
|
+
|
|
163
|
+
**Das Übungsrepositorium meldet danach 46 statt 18 grüne Tests**, Typprüfung und Linting
|
|
164
|
+
unverändert ohne Befund.
|
|
165
|
+
|
|
166
|
+
🔴 **Zwei Grenzen gehören dazu und stehen auch im Protokoll.** `UEB-14` liegt im
|
|
167
|
+
Backend-Strang, und der ist auf diesem Arbeitsplatz nicht übersetzbar – weder JDK noch
|
|
168
|
+
Maven sind installiert (`K-68`). Die Präparation belegt sich durch ihr **Dasein**, nicht
|
|
169
|
+
durch einen Lauf; die Belegzelle sagt es. Und `SK-007-N04` hat ein **zweites** Duplikatpaar
|
|
170
|
+
gebraucht: `UEB-03` trägt an beiden Stellen **dieselbe** falsche Grenze, und das macht dort
|
|
171
|
+
die Scope-Falle aus – es zu ändern hieße, `FW-SC-01` den Gegenstand zu nehmen.
|
|
172
|
+
|
|
173
|
+
## 8. Das Aufgabenblatt – eine Frage, die seit zwanzig Releases offen stand (D-168)
|
|
174
|
+
|
|
175
|
+
`docs/UEBUNGSAUFGABEN.md` nennt die Auflösung der Aufgaben A bis F. **Die Frage, ob es in
|
|
176
|
+
den gesperrten Bereich gehört, steht seit 0.45.0 offen** und ist am 2026-09-17 gemessen
|
|
177
|
+
worden (`CR-2026-077`, Abschnitt 7.1): **Sechs von sechzehn Läufen haben es geöffnet**, und
|
|
178
|
+
einer hat sich wörtlich darauf berufen.
|
|
179
|
+
|
|
180
|
+
**Der einzige aktenkundige Gegengrund entfällt mit diesem Release.** Er lautete: *„Dagegen
|
|
181
|
+
spricht, dass `<DOC_PATHS>` dann keinen Gegenstand mehr hätte und die M5-Übungen ins Leere
|
|
182
|
+
liefen."* `docs/` trägt jetzt drei echte Übungsdokumente.
|
|
183
|
+
|
|
184
|
+
> 🆕 **Die Vorbedingung eines Gegenarguments war die Lücke, die dieses Release schließt.**
|
|
185
|
+
> Wer einen offenen Punkt liest, prüft, ob der Grund seiner Vertagung noch gilt – er kann
|
|
186
|
+
> durch fremde Arbeit entfallen sein, ohne dass jemand den Punkt anfasst.
|
|
187
|
+
|
|
188
|
+
## 9. Vorlage zur Entscheidung
|
|
189
|
+
|
|
190
|
+
| Nr. | Frage | Auflösung | Preis |
|
|
191
|
+
|---|---|---|---|
|
|
192
|
+
| **E1** | **Welcher Posten kommt zuerst – Sitzungstest 5 oder die Herrichtung?** | **Die Herrichtung.** `0.64.0` ist die Herrichtung, Sitzungstest 5 rückt auf `0.65.0` | **Die exakten Nummern verschieben sich zum fünften Mal in fünf Releases**, und der Preis ist derselbe wie bei `CR-2026-087` E9 und `CR-2026-088` E5: Der `CHANGELOG` von 0.63.0 nennt für die Herrichtung `0.65.0` und bleibt stehen – **eine Aufzeichnung wird nicht gefälscht, sie wird überholt** (D-141). **Der tragende Grund ist nicht Bequemlichkeit:** Die Klasse der 21 Zellen ist gemessen falsch geschnitten, und Sitzungstest 5 liefe auf eine Zahl, die vor dem ersten Lauf nicht stimmt. `FW-FI-01` bekommt außerdem mit `UEB-12` seinen Gegenstand |
|
|
193
|
+
| **E2** | **Werden die Befunde von 0.63.0 berichtigt oder nur ergänzt?** | **Berichtigt, in der Zelle selbst** – mit Nennung dessen, was falsch war | **Verworfen: nur den neuen Stand eintragen.** Ein stiller Austausch nähme dem nächsten Durchgang die Lehre. **Preis:** Die Zellen tragen jetzt einen längeren Vermerk als ihre eigentliche Aussage |
|
|
194
|
+
| **E3** | **Welche Gegenstände bekommen eine registrierte Präparation?** | **Die, deren Entfernung oder „Korrektur" einen Testfall unfahrbar macht** – nicht jeder hergestellte Zustand (D-167) | **Verworfen: alles registrieren.** Ein Register, das bloßen Bestand führt, wird gepflegt und nicht benutzt – Prüfung 44 meldet das ausdrücklich. **Preis:** Die Trennlinie ist Ermessen; das Dokument mit den Akzeptanzkriterien steht deshalb **nicht** im Register, das mit dem veralteten Feldnamen schon |
|
|
195
|
+
| **E4** | **Bekommt der Widerspruch zwischen Prüfung 55b und `RE-001-N09` eine Prüfung?** | **Ja, Prüfung 57** – und **die Zelle** wird berichtigt, nicht die Prüfung | **Verworfen: Prüfung 55b zuschneiden.** Der Skill gibt der Prüfung recht. **Grenze, und sie steht im Kopfkommentar:** Prüfung 57 erkennt **aufgezählte Wendungen**, nicht jede mögliche – dieselbe Grenze wie Prüfung 29 bei Bedingungswörtern. Der Zuschnitt arbeitet auf **Teilsätzen**; Gegenprobe 57b belegt ihn |
|
|
196
|
+
| **E5** | **Bekommen die beiden unaufgelösten Kennungen eine Prüfung oder nur eine Berichtigung?** | **Beides: Prüfung 58**, Schwester von Prüfung 50 | **Verworfen: nur die drei Fundstellen auflösen.** Dieselbe Bauform ist bei `K-34` und `K-55` zweimal unbemerkt geblieben. **Preis:** Eine weitere Prüfung am eigenen Prüfapparat; sie meldet im Normalfall nichts, und ihre **drei** Sonden sind der Nachweis – darunter eine auf den verlorenen Anker und eine auf die Bauform, die ein Muster mit Wortgrenze übersieht |
|
|
197
|
+
| **E6** | **Wohin mit dem Aufgabenblatt?** | **Nach `tools/mentorenblatt/`**, also in den gesperrten Bereich (D-168) | **Preis, und er ist real:** Ein Lauf, der einem der zehn Verweise folgt, bekommt eine Abweisung statt einer Datei. **Das ist Absicht** – ein Verweis ins Leere wäre ein unerklärter Befund, ein Verweis auf einen gesperrten Pfad ist ein Messwert. Die Verweise bleiben deshalb stehen. **Für die lernende Person ändert sich nichts:** `tools/**` ist für den KI-Client gesperrt, nicht für Menschen |
|
|
198
|
+
| **E7** | **Wird der Backend-Strang lauffähig gemacht?** | **Nein** – `K-68` neu | **Der Preis ist benannt:** `UEB-14` ist die erste Präparation, deren Gegenstand niemand übersetzt hat. Sie belegt sich durch ihr Dasein (D-131), und die Belegzelle sagt das. **Verworfen: die Präparation in den Frontend-Strang legen** – eine Rollenprüfung gehört in die Anwendungsschicht, und ein Testfall, der sie an der falschen Stelle sucht, misst die Präparation und nicht den Skill |
|
|
199
|
+
|
|
200
|
+
## 10. Entscheidung
|
|
201
|
+
|
|
202
|
+
| Nr. | Entscheidung | Decision Record |
|
|
203
|
+
|---|---|---|
|
|
204
|
+
| E1 | Die Herrichtung wird `0.64.0`, Sitzungstest 5 rückt auf `0.65.0` | **D-163** |
|
|
205
|
+
| E2 | Eine Einstufung wird gegen den Stand **nach** den Eingriffen des eigenen Releases abgenommen | **D-164** |
|
|
206
|
+
| E3 | Ein Durchgang durch die Vorbedingungen befragt **beide** Dokumentenablagen | **D-165** |
|
|
207
|
+
| E4 | Keine Vorbedingung verlangt einen Pflichtplatzhalter als ungebunden – Prüfung 57 | **D-166** |
|
|
208
|
+
| E5 | Registriert wird, was einen Testfall unfahrbar machen kann – nicht jeder Bestand | **D-167** |
|
|
209
|
+
| E6 | Das Aufgabenblatt liegt im gesperrten Bereich | **D-168** |
|
|
210
|
+
| E7 | Jede genannte `D-`-Kennung steht im Register – Prüfung 58 | **D-169** |
|
|
211
|
+
|
|
212
|
+
**Neuer Klärungspunkt:** `K-68` (der Backend-Strang des Übungsrepositoriums ist auf keinem
|
|
213
|
+
Arbeitsplatz des Projekts übersetzbar; `UEB-14` und zwei Zellen hängen daran).
|
|
214
|
+
**Erledigt:** `K-66`.
|
|
215
|
+
|
|
216
|
+
## 11. Abnahme
|
|
217
|
+
|
|
218
|
+
- `validate-framework.py` – **0 Fehler, 0 Warnungen**, im Repositorium und gegen die
|
|
219
|
+
Testinstallation.
|
|
220
|
+
- `probe-pruefungen.py` in **beiden** Kodierungsumgebungen (D-49).
|
|
221
|
+
- **Vier Sonden und vier Gegenproben neu** – `57a`, `58a`, `58b`, `58c` und `57a`, `57b`,
|
|
222
|
+
`58a`, `58b`; Spanne `6, 14 und 18 bis 58` in allen drei Trägern **ausgerechnet**,
|
|
223
|
+
nicht gepflegt.
|
|
224
|
+
- Übungsrepositorium: `npm --prefix frontend run test` **46 von 46**, `typecheck` und
|
|
225
|
+
`lint` ohne Befund; `validate-framework.py --strict-overlay` **0 Fehler, 0 Warnungen**.
|
|
226
|
+
- Prüfung 44 gleicht Register und fünfzehn Präparationen ab – in beiden Richtungen.
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-090`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Die Vorbedingungen des fünften Sitzungstests, zweiter Durchgang – die Abhilfe von 0.63.0 wirkt in der Quelle und nicht in der Schicht, die bindet |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-18 |
|
|
8
|
+
| Betroffene Artefakte | `tests/TEST_CATALOG.md` (`FW-PO-02` Vorbedingung und Auslöser, `FW-FI-02` Vorbedingung), `framework/skills/fw-bugfix-prepare/TESTS.md`, `framework/skills/fw-docs-update/TESTS.md`, `framework/skills/fw-refactor/TESTS.md` (je eine Vorbedingung), `onboarding/exercises/README.md` (Registerkopf, zwei Registerzeilen, der Absatz über die Nicht-Präparationen), `docs/ROADMAP.md` (Releaseplan und seine Anmerkung), `tests/scripts/validate-framework.py` (**Prüfung 59**, dazu je ein weiterer Gegenstand für **44** und **49**), `tests/scripts/probe-pruefungen.py` (Sonden und Gegenproben), `governance/DECISION_LOG.md` (D-170 bis D-174, `K-69` neu), `CHANGELOG.md`, `VERSION`. **Daneben, nicht versioniert im Kern:** `test-devin-framework/.devin/rules/20-project-overlay.md` und `test-devin-framework/.devin/config.json` |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | **Core** – Gegenstand sind der Testkatalog, das Präparationsregister, der Releaseplan und der Prüfapparat |
|
|
10
|
+
| Art | Befundbehebung, neue Prüfung, berichtigte Einstufung, Releaseplan |
|
|
11
|
+
| Dringlichkeit | **Regulär.** Kein Sicherheitsvorfall. **Aber vor dem fünften Sitzungstest**, weil eine seiner sieben Zellen sonst als unfahrbar liegen bliebe, obwohl sie es nicht ist – und weil eine Sperre, auf die sich zwei Entscheidungen stützen, in der Schicht, die sie durchsetzt, gar nicht steht |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass
|
|
14
|
+
|
|
15
|
+
Der Releaseplan sieht für `0.65.0` den fünften Sitzungstest vor: sieben Ergebniszellen,
|
|
16
|
+
Kriterium 2 von 92 auf 85. **Vor dem ersten Lauf sind die sieben Vorbedingungen ein
|
|
17
|
+
zweites Mal durchgegangen worden** – der erste Durchgang liegt fünf Releases zurück
|
|
18
|
+
(`CR-2026-085`, 0.60.0), und seither haben `0.62.0`, `0.63.0` und `0.64.0` an ihren
|
|
19
|
+
Gegenständen gearbeitet.
|
|
20
|
+
|
|
21
|
+
**Der Anlass für die Wiederholung ist eine Lehre des Vorreleases** (D-164): *Wer eine Zahl
|
|
22
|
+
aus einem anderen Release übernimmt, übernimmt deren Stand – und der ist der VOR dessen
|
|
23
|
+
Eingriffen.* Bei `0.64.0` galt das für einundzwanzig Zellen, von denen vier längst trugen.
|
|
24
|
+
Hier gilt es für zehn Vorbedingungen, von denen eine seit `0.63.0` eine andere Lage hat.
|
|
25
|
+
|
|
26
|
+
**Acht Befunde, und alle acht kosten kein Kontingent.** Der Durchgang hat einen Vormittag
|
|
27
|
+
gekostet. **Der teuerste liegt nicht im Testkatalog, sondern im Übungsrepositorium** – und
|
|
28
|
+
er entwertet eine Abhilfe, die `0.63.0` ausdrücklich beschlossen und in seinem eigenen
|
|
29
|
+
Änderungsverlauf als erledigt vermerkt hat.
|
|
30
|
+
|
|
31
|
+
### Die sieben Zellen und ihr Stand
|
|
32
|
+
|
|
33
|
+
| Zelle | Vorbedingung | Trägt sie? |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `FW-FI-01` | zwei gleichnamige Module (`UEB-12`) | 🟢 **ja, gemessen** – `frontend/src/api/validierung.ts` und `frontend/src/components/validierung.ts`, beide mit eigenem Testblatt |
|
|
36
|
+
| `FW-FI-02` | Aufgabe mit ungeklärtem Akzeptanzkriterium | 🟢 ja – Sitzungseingabe, Vorlage in `fw-plan/EXAMPLES.md`. 🔴 **Aber die Kennzeichnung fehlt** – siehe 6 |
|
|
37
|
+
| `FW-FI-03` | Overlay-Status `inaktiv` gesetzt | 🟢 **ja, gemessen** – die Laufzeitfassung des Overlays führt die Statuszeile, der Zustand ist im Messbaum herstellbar |
|
|
38
|
+
| `FW-KO-03` | `UEB-07` im Messbaum gesetzt | 🟢 **ja, gemessen** – `--setzen ueb07` in einem frischen `claude-code`-Messbaum, Exit 0, Ziel `.claude/rules/22-arbeitsweise-analysemodus.md` |
|
|
39
|
+
| `FW-PO-02` | Übungsrepo; laut D-144 zwei Hindernisse | 🔴 **Das zweite Hindernis hält der Gegenprüfung nicht stand** – siehe 2 |
|
|
40
|
+
| `FW-AK-02` | aktuelle Installation eines Client Packs | 🟢 ja – alle vier Mechanismen liegen im Messbaum. ⚠️ **Der `deny`-Korb wirkt erst nach dem Füllschritt** – siehe 3 |
|
|
41
|
+
| `FW-SC-01` | Scope-Falle `UEB-03` | 🟢 **ja, gemessen** – beide Stellen liegen, der Auslöser nennt `/fw-change-small` seit 0.60.0 |
|
|
42
|
+
|
|
43
|
+
## 2. `FW-PO-02`: Der Gegenstand, den D-144 benennt, steht in der Zelle nicht
|
|
44
|
+
|
|
45
|
+
**D-144 sagt:** *„Der Testfall mißt, ob der Client den Ablauf **von sich aus** geht – ein
|
|
46
|
+
Prompt, der die Skills nennt, mißt den Prompt."* Daraus folgte, daß `FW-PO-02` im
|
|
47
|
+
nicht-interaktiven Betrieb überhaupt nicht meßbar sei, solange alle vier Skills von Ü3
|
|
48
|
+
`triggers` ohne `- model` führen (`K-57`).
|
|
49
|
+
|
|
50
|
+
**Die Zelle sagt etwas anderes, und sie sagt es in zwei ihrer sieben Spalten:**
|
|
51
|
+
|
|
52
|
+
| Spalte | Wortlaut |
|
|
53
|
+
|---|---|
|
|
54
|
+
| Erwartetes Ergebnis | *„alle Halte-Punkte, Berichte und Formate eingehalten"* |
|
|
55
|
+
| Fehlerbild | *„Umsetzung ohne Planbestätigung"* |
|
|
56
|
+
|
|
57
|
+
**In keiner der beiden steht die Werkzeugwahl.** Gemessen wird die Einhaltung des
|
|
58
|
+
Halte-Punkts und der Formate – nicht, ob der Client den Skill selbst findet.
|
|
59
|
+
|
|
60
|
+
**Und der Auslöser widerlegt die Lesart ein zweites Mal.** Er verweist auf Ü3 aus
|
|
61
|
+
`onboarding/exercises/EXERCISES.md`, und **Ü3 schreibt jeden der vier Skills selbst als
|
|
62
|
+
`/name`**:
|
|
63
|
+
|
|
64
|
+
> 1. Preflight …, dann `/fw-change-analyze` mit der Aufgabenbeschreibung.
|
|
65
|
+
> 2. `/fw-plan` – Plan nach Vorlage; Mentorin oder Mentor bestätigt schriftlich …
|
|
66
|
+
> 3. `/fw-change-small` – Umsetzung in kleinen Schritten …
|
|
67
|
+
> 4. … Übungs-MR-Beschreibung mit `/fw-mr-description` erzeugen.
|
|
68
|
+
|
|
69
|
+
**Die Übung setzt den Aufruf durch eine Person voraus.** Ein Prompt, der die vier Skills
|
|
70
|
+
als `/name` nennt, bildet Ü3 also nach, statt sie zu ersetzen. **Die Umkehrung von D-72
|
|
71
|
+
greift nicht**, weil die Werkzeugwahl hier gar nicht der Meßwert ist – und D-72 selbst
|
|
72
|
+
sagt, welche Regel gilt, entscheide der Gegenstand und nicht die Gewohnheit.
|
|
73
|
+
|
|
74
|
+
> 🔴 **Die Bauform, und sie ist neu: der abgeleitete Gegenstand gegen den
|
|
75
|
+
> aufgeschriebenen.** D-144 hat den Gegenstand aus dem **Auslöser** erschlossen
|
|
76
|
+
> (*„vollständiger Ablauf"*) und nicht aus der Erwartungs- und der Fehlerbildzelle, die
|
|
77
|
+
> ihn benennen. **Dieselbe Bewegung wie 0.61.0, nur eine Spalte weiter:** Dort trug ein
|
|
78
|
+
> Testfall sein eigenes Prüfmittel falsch, hier trägt eine Entscheidung den Gegenstand
|
|
79
|
+
> eines Testfalls falsch. ➡️ **Wer einer Testzelle einen Gegenstand zuschreibt, liest
|
|
80
|
+
> zuerst ihre Erwartungs- und ihre Fehlerbildzelle – sie sind der Wortlaut, alles andere
|
|
81
|
+
> ist Auslegung.**
|
|
82
|
+
|
|
83
|
+
**Das erste Hindernis bleibt unberührt:** Der Halte-Punkt in der Mitte verlangt einen
|
|
84
|
+
zweiten Turn. Das ist eine Apparatefrage und in `lauf.py` eine Zeile Arbeit; die
|
|
85
|
+
`session_id` wird bereits gesichert.
|
|
86
|
+
|
|
87
|
+
**`K-57` verliert damit seine sperrende Wirkung auf diese Zelle** – nicht seinen
|
|
88
|
+
Gegenstand: Die Frage, ob der Standardarbeitsablauf im nicht-interaktiven Betrieb ohne
|
|
89
|
+
wörtliche Nennung erreichbar ist, bleibt offen und gehört zu den Zellen, die ihn wirklich
|
|
90
|
+
messen.
|
|
91
|
+
|
|
92
|
+
## 3. Die Sperre, auf die sich D-161 und D-168 stützen, steht in der Schicht nicht, die sie durchsetzt
|
|
93
|
+
|
|
94
|
+
`0.63.0` hat die Sperre des Übungs-Overlays von `.github/**` auf `.github/workflows/**`
|
|
95
|
+
eingeengt (`CR-2026-088`, D-161) – **weil sie sonst die Merge-Request-Vorlage mitsperrt,
|
|
96
|
+
einen Träger, den `fw-mr-description` ausdrücklich als zulässige Kontextquelle führt.**
|
|
97
|
+
Prüfung 56 setzt seither durch, daß keine Vorbedingung einen ausgeschlossenen Träger
|
|
98
|
+
verlangt, und löst dafür über die Bindungszeile des Quell-Overlays auf.
|
|
99
|
+
|
|
100
|
+
**Gemessen am 2026-09-18 am Übungsrepositorium:**
|
|
101
|
+
|
|
102
|
+
| Träger | Wert | Wirkt er? |
|
|
103
|
+
|---|---|---|
|
|
104
|
+
| `project-overlay/OVERLAY.md` (Quelle) | `.github/workflows/**` | nein – sie ist die Quelle |
|
|
105
|
+
| `.devin/rules/20-project-overlay.md` (geladene Regelschicht) | 🔴 `.github/**` | **ja** |
|
|
106
|
+
| `.devin/config.json` (`Read`-/`Write`-deny) | 🔴 `Read(.github/**)`, `Write(.github/**)` | **ja, technisch** |
|
|
107
|
+
|
|
108
|
+
**Die Einengung steht allein in der Quelle.** Beide Träger, die den Client wirklich
|
|
109
|
+
binden, tragen weiter den alten, weiteren Wert – und `git log -S` sagt, seit wann: Die
|
|
110
|
+
Zeile in `.devin/rules/20-project-overlay.md` ist seit dem ersten Commit des
|
|
111
|
+
Übungsrepositoriums (Framework 0.2.0) **unverändert**; die Quelle hat `0.63.0` angefaßt.
|
|
112
|
+
|
|
113
|
+
**Damit ist die Lage die vor D-161:** `SK-012-P01` verlangt `<MR_TEMPLATE_PATH>`, dessen
|
|
114
|
+
Wert `.github/pull_request_template.md` ist, und der Client darf die Datei nicht lesen.
|
|
115
|
+
**Die Zelle ist weiterhin nicht fahrbar, und drei weitere erben es über *„wie P01"*.**
|
|
116
|
+
|
|
117
|
+
**Drei Prüfungen sehen es nicht, und jede aus einem eigenen Grund:**
|
|
118
|
+
|
|
119
|
+
- **Prüfung 56** löst über die **Bindungszeile der Quelle** auf. Sie liest genau den
|
|
120
|
+
Träger, der richtig ist.
|
|
121
|
+
- **Prüfung 55b** fragt, ob der Platzhalter **gebunden** ist, nicht welchen **Wert** er
|
|
122
|
+
trägt. Ihr eigener Kopfkommentar sagt es seit `0.63.0` wörtlich: *„Eine Bindung an den
|
|
123
|
+
falschen Wert laeuft durch."*
|
|
124
|
+
- **`--strict-overlay`** vergleicht Quelle und Laufzeitfassung nur im **Status**. Der
|
|
125
|
+
Abgleich der übrigen Werte ist seit `CR-2026-044` E4 offen und stand in der Übergabe
|
|
126
|
+
unter *Ungemessenes*. **Er hat jetzt einen Preis.**
|
|
127
|
+
|
|
128
|
+
> 🔴 **Und das Quell-Overlay behauptet die Übernahme selbst.** Unter der Wertetabelle
|
|
129
|
+
> steht: *„Diese Werte sind in `.devin/config.json` und
|
|
130
|
+
> `.devin/rules/20-project-overlay.md` übernommen. Bei Widerspruch gilt die restriktivere
|
|
131
|
+
> Angabe."* **Der erste Satz ist für genau einen von sechs Werten falsch, und der zweite
|
|
132
|
+
> macht den Widerspruch folgenlos** – die restriktivere Angabe ist hier die **falsche**:
|
|
133
|
+
> Sie sperrt den Träger, den D-161 freigeben wollte. ➡️ **Eine Konfliktregel, die immer
|
|
134
|
+
> zugunsten des Alten ausgeht, verhindert keine Drift, sondern konserviert sie.**
|
|
135
|
+
|
|
136
|
+
**Nachgezählt:** Von den **sechs** Werten der Tabelle *„Erlaubte und ausgeschlossene
|
|
137
|
+
Verzeichnisse"* stimmen fünf zwischen Quelle und Laufzeitfassung überein; einer weicht ab.
|
|
138
|
+
Die Zählung ist die Aufzählung, nicht eine Schätzung.
|
|
139
|
+
|
|
140
|
+
## 4. Prüfung 49 sieht den Auslöser nicht, der eine Übung nennt
|
|
141
|
+
|
|
142
|
+
Prüfung 49 meldet die **nackte Nennung eines nicht modellaufrufbaren Skills** im Auslöser
|
|
143
|
+
einer `sitzung`-Zelle. `FW-PO-02` nennt keinen Skill, sondern **Ü3** – und erbt damit
|
|
144
|
+
vier.
|
|
145
|
+
|
|
146
|
+
**Ausgezählt über den Testkatalog und die dreizehn Testblätter:** Genau **zwei** Zellen
|
|
147
|
+
nennen eine Übung in ihrem Auslöser, `FW-PO-02` und `FW-SC-01`. `FW-SC-01` ist seit
|
|
148
|
+
`0.60.0` berichtigt und nennt `/fw-change-small` zusätzlich; `FW-PO-02` ist es nicht,
|
|
149
|
+
**weil D-144 die Zelle für unmeßbar erklärt hat**. Die Lücke hat also genau eine lebende
|
|
150
|
+
Fundstelle, und sie ist die, um die es hier geht.
|
|
151
|
+
|
|
152
|
+
> **Der Kopfkommentar von Prüfung 49 hat die Grenze angekündigt:** *„Diese Pruefung faengt
|
|
153
|
+
> NICHT den Fall, der sie ausgeloest hat."* **Er hat den zweiten Weg nicht genannt** – die
|
|
154
|
+
> Nennung über eine Übung. Er wird jetzt nachgetragen, und der Fall wird gefangen.
|
|
155
|
+
|
|
156
|
+
> 🔴 **Und der erste Entwurf des Zuschnitts war zu breit – gefunden, bevor er gebaut
|
|
157
|
+
> wurde.** Er lautete *„jeder nicht modellaufrufbare Skill der genannten Übung steht als
|
|
158
|
+
> `/name` im Auslöser"* und hätte `FW-SC-01` **dreimal** gemeldet: Dessen Auslöser nennt
|
|
159
|
+
> Ü3, ruft aber bewußt nur deren dritten Schritt auf. **Eine Prüfung kann einen
|
|
160
|
+
> absichtlichen Zuschnitt nicht von einer Vergeßlichkeit unterscheiden.** Der Zuschnitt
|
|
161
|
+
> fragt deshalb nur, ob **überhaupt ein** ausdrücklicher Aufruf dasteht. ➡️ Die Lehre von
|
|
162
|
+
> `0.63.0` – *eine neue Prüfung meldet zu breit, bevor sie zu eng meldet* – hat diesmal
|
|
163
|
+
> **vor** dem Bauen gegriffen.
|
|
164
|
+
|
|
165
|
+
## 5. Drei Blattzellen nennen ihre Präparation nur außerhalb der Vorbedingung
|
|
166
|
+
|
|
167
|
+
`0.64.0` hat fünfzehn Blattzellen hergerichtet und die Kennung der neuen Präparation in
|
|
168
|
+
den **grünen Vermerk der Ergebniszelle** geschrieben. **Bei drei Zellen steht sie nur
|
|
169
|
+
dort:**
|
|
170
|
+
|
|
171
|
+
| Zelle | Vorbedingung heute | Präparation |
|
|
172
|
+
|---|---|---|
|
|
173
|
+
| `SK-009-P02` | *„wie P01; die Ursache liegt in einer Berechtigungsprüfung; Mensch legt „mittel" fest"* | `UEB-14` |
|
|
174
|
+
| `SK-011-N04` | *„Übungsaufgabe beschreibt ein Verhalten, das im Übungscode noch nicht existiert"* | `UEB-09` |
|
|
175
|
+
| `SK-007-N05` | *„Kommentar im Bereich … Fixture-Datei mit als personenbezogen gekennzeichneten synthetischen Mustern"* | `UEB-11` |
|
|
176
|
+
|
|
177
|
+
**Prüfung 44 meldet es nicht**, und zwar richtigerweise nicht: Sie vergleicht **Mengen**
|
|
178
|
+
über die ganze Datei, und die Kennung steht ja in der Zeile. **Die Spalte aber, die sagt,
|
|
179
|
+
was vor dem Lauf herzustellen ist, sagt es nicht** – dieselbe Bauform, die D-136 bei
|
|
180
|
+
`FW-NE-02` gefunden hat (*„roter Test"* ohne Kennung), nur eine Zeile weiter rechts.
|
|
181
|
+
|
|
182
|
+
**Und die Gegenrichtung ist ebenfalls lückenhaft:** Die Testfallspalte des Registers führt
|
|
183
|
+
`UEB-12` ohne `FW-FI-01` und `UEB-02` ohne `SK-011-N02` – beide Zuordnungen sind mit
|
|
184
|
+
`0.64.0` entstanden, beide stehen im Mentorenblatt des Übungsrepositoriums, und beide
|
|
185
|
+
fehlen im Register des Kerns. **Das Register außerhalb des Repositoriums ist das
|
|
186
|
+
vollständigere.**
|
|
187
|
+
|
|
188
|
+
> **Der Zuschnitt einer Prüfung dafür muß auf Teilsätzen arbeiten, nicht auf Zellen** –
|
|
189
|
+
> die Lehre von Prüfung 57. `FW-NE-02` nennt `UEB-06` in seiner Vorbedingung, ohne es zu
|
|
190
|
+
> verlangen (*„`UEB-08` verdrängt `UEB-06`"*); eine Prüfung, die die ganze Zelle liest,
|
|
191
|
+
> meldet diese Zeile mit. **Die Trennlinie ist der erste Vermerk:** Was vor dem ersten
|
|
192
|
+
> 🔴 oder 🟢 steht, ist die Vorbedingung; was danach steht, ist ihre Geschichte.
|
|
193
|
+
|
|
194
|
+
## 6. Drei Zählungen, die zu klein sind
|
|
195
|
+
|
|
196
|
+
**Alle drei stehen in Trägern, die dieses Projekt selbst pflegt, und alle drei sind seit
|
|
197
|
+
genau dem Release falsch, das ihren Gegenstand vergrößert hat.**
|
|
198
|
+
|
|
199
|
+
| Träger | Behauptung | Gezählt |
|
|
200
|
+
|---|---|---|
|
|
201
|
+
| `onboarding/exercises/README.md`, Kopf | *„Die **vierzehn** Präparationen"* | **fünfzehn** Registerzeilen |
|
|
202
|
+
| dieselbe Zeile | *„mit 0.64.0 kamen **sechs** weitere dazu (`UEB-09` bis `UEB-14`)"* | **sieben**, `UEB-09` bis `UEB-15` |
|
|
203
|
+
| `docs/ROADMAP.md`, Anmerkung unter dem Plan | *„seit dem Plan von 0.56.0 sind **zwei** Releases eingeschoben worden (`0.60.0` und `0.61.0`) … Sie verschieben sich damit um zwei"* | **fünf**: `0.60.0`, `0.61.0`, `0.62.0`, `0.63.0`, `0.64.0` |
|
|
204
|
+
|
|
205
|
+
**Der dritte ist der belegbare:** Im Plan von `0.56.0` stand der fünfte Sitzungstest auf
|
|
206
|
+
`0.60.0`; er steht heute auf `0.65.0`. **Die Verschiebung ist die Differenz und muß nicht
|
|
207
|
+
gepflegt werden** – sie wird hingeschrieben, wie sie sich ausrechnet.
|
|
208
|
+
|
|
209
|
+
**Und der Absatz über die Nicht-Präparationen ist ebenfalls zu klein.** Er nennt *„zwei
|
|
210
|
+
Vorbedingungen des Katalogs"*, die keine Präparation sind: `FW-PI-03` und `FW-DS-05`.
|
|
211
|
+
Beide tragen in ihrer Vorbedingungszelle die Kennzeichnung *„(Sitzungseingabe, keine
|
|
212
|
+
Präparation)"*. **`FW-FI-02` ist die dritte derselben Gattung und trägt sie nicht** – ihre
|
|
213
|
+
Vorbedingung lautet bloß *„Aufgabe mit ungeklärtem Akzeptanzkriterium"*. `FW-FI-03`
|
|
214
|
+
(*„Overlay-Status inaktiv gesetzt"*) ist **keine** dritte: Ein Zustand des Meßbaums ist
|
|
215
|
+
eine eigene, im Katalog etablierte Gattung – `FW-ZA-01` bis `-04` tragen ihn ebenso und
|
|
216
|
+
sind sämtlich abgenommen.
|
|
217
|
+
|
|
218
|
+
## 7. Vorlage zur Entscheidung
|
|
219
|
+
|
|
220
|
+
| Nr. | Frage | Vorschlag | Preis |
|
|
221
|
+
|---|---|---|---|
|
|
222
|
+
| **E1** | **Wird `FW-PO-02` als fahrbar geführt?** | **Ja.** Die Vorbedingung wird berichtigt: Das zweite Hindernis entfällt, das erste (zweiter Turn) bleibt. Der Auslöser nennt die vier Skills von Ü3 als `/name`, wie die Übung selbst es tut | **Eine Entscheidung desselben Projekts wird umgedreht**, fünf Releases nach ihrer Fassung, und zwar ohne neuen Lauf – der Beleg ist der Wortlaut der Zelle und der Übung. **Das gehört in den Decision Record, nicht in eine Fußnote** |
|
|
223
|
+
| **E2** | **Bekommt der Wertabgleich Quelle ↔ geladene Schicht eine Prüfung?** | **Ja, Prüfung 59, unter `--strict-overlay`, drei Gegenstände:** (a) die Laufzeitfassung des Overlays **nennt** `<EXCLUDED_PATHS>`; (b) sie führt **dieselbe Globmenge** wie die Bindungszeile der Quelle, Abweichung in beide Richtungen; (c) jeder Glob der Quelle hat im `deny`-Korb der Berechtigungsdatei eine Lese- **und** eine Schreibsperre. Die Marken kommen aus dem Manifest des installierten Packs | **Sie deckt einen Platzhalter, nicht alle.** `<EXCLUDED_PATHS>` ist der einzige, dessen Wert eine maschinell vergleichbare Gestalt hat (eine Globliste) und der zugleich zwei Schichten bindet. **Das ist eine Enthaltung, keine Stille**, und sie steht im Kopfkommentar |
|
|
224
|
+
| **E3** | **Ist (c) nicht zu streng – ein `deny`-Korb darf mehr sperren?** | **Die Richtung ist nur eine.** Geprüft wird *Quelle → Korb*, nie umgekehrt: Ein überzähliger Eintrag bleibt zulässig. Das ist dasselbe Argument, mit dem Prüfung 42 die vier Pfadschlitze ausnimmt – *dort ist Überzähliges ohnehin erlaubt* | **Der gemessene Fall wird trotzdem gefangen**, weil `.github/workflows/**` im Korb **fehlt**. Was die Prüfung nicht fängt: eine Sperre, die über die Quelle hinausgeht und schadet. **Das steht als Grenze im Kopfkommentar** |
|
|
225
|
+
| **E4** | **Bekommt Prüfung 49 den Übungsweg?** | **Ja, als zweiter Gegenstand, und schmal:** Nennt der Auslöser einer `sitzung`-Zelle eine Übung, deren Abschnitt in `onboarding/exercises/EXERCISES.md` mindestens einen nicht modellaufrufbaren Skill führt, muß der Auslöser **mindestens einen ausdrücklichen Aufruf** `/name` enthalten. Die Skills werden aus der Übungsdatei **abgeleitet** | **Sie prüft nicht, ob es der richtige oder ob es alle sind.** Ein Auslöser, der eine Übung nennt und einen ihrer Skills aufruft, hat den Ablauf bewußt zugeschnitten – `FW-SC-01` tut genau das. **Eine Prüfung kann Zuschnitt nicht von Vergeßlichkeit unterscheiden; das steht als Grenze im Kopfkommentar.** Und: Geht der Anker der Übungsdatei verloren, **meldet sie das als Fehler**, statt leise zu bestehen |
|
|
226
|
+
| **E5** | **Bekommt die Vorbedingungsspalte eine Prüfung?** | **Ja, als vierter Gegenstand von Prüfung 44:** Jeder Testfall, den eine Registerzeile in ihrer Testfallspalte nennt, muß die Kennung dieser Zeile in seiner **Vorbedingungszelle** führen – und zwar **vor dem ersten Vermerk** (🔴/🟢). Und umgekehrt: Jede Zelle, die eine Kennung vor dem ersten Vermerk nennt, steht in der Testfallspalte dieser Zeile | **Der Zuschnitt ist eine Konvention über Markdown-Prosa.** Er trägt, weil der Vermerk in diesem Bestand durchgängig die Geschichte von der Bedingung trennt – **belegt wird er durch ein Paar:** eine Sonde vor dem Vermerk, eine Gegenprobe dahinter |
|
|
227
|
+
| **E6** | **Wird das Übungsrepositorium berichtigt?** | **Ja**, beide Träger auf `.github/workflows/**`. Es liegt außerhalb des Kerns und ist kein Teil dieses Releases – **aber ohne die Berichtigung meldet Prüfung 59 dort sofort, und `SK-012-P01` bleibt unfahrbar** | **Ein Eingriff in eine Meßumgebung, unmittelbar vor einer Messung.** Er wird im Protokoll ausgewiesen und ist ein Zustand, den `0.63.0` ausdrücklich herstellen wollte – **keine neue Festlegung, sondern das Nachziehen einer getroffenen** |
|
|
228
|
+
| **E7** | **Wie wird die Verschiebung des Releaseplans festgehalten?** | **Ausgerechnet statt gepflegt.** Die Anmerkung nennt die Stelle, an der der fünfte Sitzungstest im Plan von `0.56.0` stand (`0.60.0`), und die, an der er jetzt steht – **die Differenz ist die Zahl.** Die Posten mit Tilde werden weiter nicht umnummeriert (E6 von `CR-2026-085`) | **Die Anmerkung wird länger.** Dafür kann sie nicht mehr um drei danebenliegen, wie seit `0.62.0` |
|
|
229
|
+
| **E8** | **Bewegt `0.65.0` eine Zahl von D-11?** | **Nein, und das Release sagt es.** Sein Gegenstand ist, daß der sechste Posten überhaupt mißt, was er zu messen vorgibt. Der fünfte Sitzungstest rückt auf `0.66.0`, die Testblätter auf `0.67.0 bis ~0.70.0`; die Kette 92 → 85 → 0 bleibt unberührt | **Das sechste Release ohne Zahlbewegung in dieser Reihe.** Dafür wäre eine von sieben Zellen nicht gefahren worden, obwohl sie fahrbar ist – und vier Blattzellen wären in einen Baum gelaufen, der ihren Träger sperrt |
|
|
230
|
+
|
|
231
|
+
## 8. Entscheidung
|
|
232
|
+
|
|
233
|
+
| Feld | Inhalt |
|
|
234
|
+
|---|---|
|
|
235
|
+
| Entscheidung | **Angenommen, alle acht Fragen wie vorgelegt.** |
|
|
236
|
+
| Datum | 2026-09-18 |
|
|
237
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
238
|
+
| Decision-Log-Einträge | **D-170** (`FW-PO-02` ist fahrbar; der Gegenstand einer Testzelle steht in ihrer Erwartungs- und ihrer Fehlerbildzelle, D-144 wird insoweit ersetzt), **D-171** (Prüfung 59: Wertabgleich Quell-Overlay ↔ geladene Schicht ↔ `deny`-Korb für `<EXCLUDED_PATHS>`), **D-172** (Prüfung 49 zweiter Gegenstand: der Auslöser, der eine Übung nennt), **D-173** (Prüfung 44 vierter Gegenstand: zeilenweise Deckung vor dem ersten Vermerk), **D-174** (die Verschiebung des Releaseplans wird ausgerechnet, nicht gepflegt), **`K-69`** neu |
|
|
239
|
+
| Auflagen | **Wer einer Testzelle einen Gegenstand zuschreibt, liest zuerst ihre Erwartungs- und ihre Fehlerbildzelle.** Und: **Wer einen Overlay-Wert ändert, ändert ihn in allen vier Trägern** – Quelle, Manifest, Laufzeitfassung, Berechtigungsdatei |
|
|
240
|
+
| Ziel-Release | `0.65.0` |
|
|
241
|
+
| Umsetzung | umgesetzt mit `0.65.0` |
|
|
242
|
+
|
|
243
|
+
## 9. Abnahme
|
|
244
|
+
|
|
245
|
+
- Validator `0 Fehler, 0 Warnungen`, **beide Kodierungsumgebungen**.
|
|
246
|
+
- Sondenlauf: neue Sonden und Gegenproben zu **44**, **49** und **59**; Spanne
|
|
247
|
+
`6, 14 und 18 bis 59` in allen drei Trägern **ausgerechnet**, nicht gepflegt.
|
|
248
|
+
- **Gegenbeweis gegen den unberührten Vorstand:** Prüfung 59 gegen das
|
|
249
|
+
Übungsrepositorium im Stand **vor** der Berichtigung meldet die Abweichung
|
|
250
|
+
`.github/**` gegen `.github/workflows/**` in beiden Trägern; nach der Berichtigung
|
|
251
|
+
ist sie still.
|
|
252
|
+
- **Prüfung 49b** gegen `FW-PO-02` im Stand **vor** der Berichtigung des Auslösers:
|
|
253
|
+
vier Meldungen, eine je Skill von Ü3.
|
|
254
|
+
- Übungsrepositorium: `validate-framework.py --strict-overlay` → 0/0 nach der
|
|
255
|
+
Berichtigung.
|