@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,131 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-033`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Im untersagten Modus ist die erste Linie aus – die Matrix stuft B2 bis B8 unbedingt als `[TECHNISCH]` ein |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-11 |
|
|
8
|
+
| Betroffene Artefakte | `clients/README.md` (Abschnitt 4, Definition `[TECHNISCH]`), beide `CLIENT_PACK.md` (B-Block), `clients/_template/CLIENT_PACK.md`, `framework/core/03-security.md` (T7) |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | Kern – Bedeutung einer Einstufungsklasse; betrifft **beide** Client Packs |
|
|
10
|
+
| Art | Behebung von `AP2-DD-12` (Schwere: mittel); Präzisierung der Klasse `[TECHNISCH]` |
|
|
11
|
+
| Dringlichkeit | regulär |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass und Problem
|
|
14
|
+
|
|
15
|
+
In der AP2-Sitzung las der Agent `.env` mit dem Lesewerkzeug, **obwohl die Berechtigungsdatei
|
|
16
|
+
eine Verweigerungsregel für Secret-Pfade führt**. Der Lauf stand im Modus `Bypass`. Die
|
|
17
|
+
Team-Dokumentation des Clients sagt, dass allein Regeln der Organisationsebene „cannot be
|
|
18
|
+
overridden" – projektweite offenbar schon.
|
|
19
|
+
|
|
20
|
+
### Was die Matrix zusagt
|
|
21
|
+
|
|
22
|
+
`clients/README.md` Abschnitt 4 definiert die Klasse:
|
|
23
|
+
|
|
24
|
+
> `[TECHNISCH]` – Der Client erzwingt die Zusage. **Ein Verstoß ist nicht möglich, unabhängig vom
|
|
25
|
+
> Modellverhalten.**
|
|
26
|
+
|
|
27
|
+
Beide Packs führen B2 bis B8 in dieser Klasse. Der Satz ist **wörtlich nicht widerlegt**: Der
|
|
28
|
+
Zugriff geschah nicht am Modell vorbei, sondern weil die Engine in diesem Modus nicht prüft. Aber
|
|
29
|
+
er sagt das, was ein Leser mitnimmt, nicht: **`[TECHNISCH]` beschreibt die Unabhängigkeit vom
|
|
30
|
+
Modellverhalten, nicht die Unabhängigkeit vom Betriebsmodus.** Die Bedingung steht in keiner
|
|
31
|
+
Zeile, in keiner Vorbemerkung und in keinem der beiden Packs.
|
|
32
|
+
|
|
33
|
+
Damit steht in der Matrix eine Zusage, die in einem bestimmten Betriebszustand nicht gilt – und
|
|
34
|
+
der Betriebszustand ist genau der, den D-05 untersagt und den `M2` bei diesem Pack **nicht
|
|
35
|
+
technisch sperren kann**.
|
|
36
|
+
|
|
37
|
+
### Der Befund belegt D-05 und K-05 empirisch
|
|
38
|
+
|
|
39
|
+
Bis zu dieser Sitzung war „der Modus ohne Rückfragen ist untersagt" eine Anordnung mit
|
|
40
|
+
plausibler Begründung. Jetzt ist es eine Messung: **Ohne Admin-Kontrollen gibt es gegen ihn keine
|
|
41
|
+
technische Schranke, und mit ihm fällt die gesamte erste Linie.** K-05 ist damit nicht mehr nur
|
|
42
|
+
eine Beschaffungsfrage, sondern die Bedingung, unter der sechs Kernzusagen technisch gelten.
|
|
43
|
+
|
|
44
|
+
Den richtigen Hebel benennt `CR-2026-028` bereits: Nicht der Modus wird gesperrt, seine Wirkung
|
|
45
|
+
wird durch Berechtigungen der Organisationsebene begrenzt. Dieser Antrag zieht die Folge für die
|
|
46
|
+
**Einstufung** nach; die beiden überschneiden sich nicht.
|
|
47
|
+
|
|
48
|
+
### Die zweite Linie hat gehalten – und das ist der eigentliche Beleg
|
|
49
|
+
|
|
50
|
+
Im selben Modus **blockierte der Schutz-Hook `cat .env`** (Zusage H2, Abschnitt 3 des Protokolls).
|
|
51
|
+
Erste und zweite Linie fallen also nicht gemeinsam, sondern unter verschiedenen Bedingungen:
|
|
52
|
+
|
|
53
|
+
| Linie | fällt aus, wenn | hielt in der Sitzung |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| Berechtigungsregeln | der Betriebsmodus die Prüfung abschaltet | nein |
|
|
56
|
+
| Schutz-Hook | die Hook-Konfiguration nicht gelesen wird (`AP2-DD-10`) oder das Werkzeugverb fehlt (`AP2-DD-11`) | ja, für `exec` |
|
|
57
|
+
|
|
58
|
+
**Das ist die empirische Rechtfertigung des Hooks überhaupt** – und der Grund, warum
|
|
59
|
+
`CR-2026-030` die Lücke beim Leseverb schließen musste: Ohne sie blieb im Bypass-Modus **keine**
|
|
60
|
+
Linie stehen, und genau dieser Fall ist beobachtet worden.
|
|
61
|
+
|
|
62
|
+
## 2. Vorgeschlagene Änderung
|
|
63
|
+
|
|
64
|
+
1. **Vorbemerkung im B-Block jeder Fähigkeitsmatrix**, Formulierungsvorschlag:
|
|
65
|
+
|
|
66
|
+
> `[TECHNISCH]` heißt in diesem Block: Die Engine setzt die Regel durch, **solange der
|
|
67
|
+
> Betriebsmodus die Berechtigungsprüfung nicht abschaltet.** Im Modus ohne Rückfragen, den
|
|
68
|
+
> D-05 untersagt, ist diese Linie aus; dann trägt allein der Schutz-Hook. Beobachtet am
|
|
69
|
+
> 2026-09-11 (`devin-desktop`, Modus `Bypass`): Eine `deny`-Regel auf einen Secret-Pfad griff
|
|
70
|
+
> nicht, der Schutz-Hook griff.
|
|
71
|
+
|
|
72
|
+
2. **Die Definition in `clients/README.md` Abschnitt 4 wird präzisiert:** „…unabhängig vom
|
|
73
|
+
Modellverhalten. Die Abhängigkeit vom Betriebsmodus weist der B-Block des jeweiligen Packs
|
|
74
|
+
aus."
|
|
75
|
+
|
|
76
|
+
3. **`framework/core/03-security.md`, T7 („Übermäßige Berechtigungen"):** Die Gegenmaßnahme nennt
|
|
77
|
+
bisher D-05 und Regel 3.1 – beides organisatorisch. Ergänzt wird, was **technisch** trägt,
|
|
78
|
+
wenn T7 eintritt: der Schutz-Hook, seit 0.25.0 auch für lesende Werkzeuge (D-33). Ohne diesen
|
|
79
|
+
Satz nennt der Kern für seine dritte Bedrohung keine technische Gegenmaßnahme, obwohl es eine
|
|
80
|
+
gibt.
|
|
81
|
+
|
|
82
|
+
4. **Keine neue Prüfung.** Ein Validator sieht den Betriebsmodus einer künftigen Sitzung nicht.
|
|
83
|
+
Prüfbar wäre allein die Anwesenheit der Vorbemerkung – eine Prüfung, die belegt, dass ein Satz
|
|
84
|
+
dasteht. Das ist zu wenig für eine eigene Nummer und wird hier ausdrücklich nicht beantragt
|
|
85
|
+
(siehe E4).
|
|
86
|
+
|
|
87
|
+
## 3. Was dieser Antrag nicht ändert
|
|
88
|
+
|
|
89
|
+
- **Die Einstufungen selbst.** B2 bis B8 bleiben `[TECHNISCH]`. In den Modi, die das Framework
|
|
90
|
+
erlaubt, setzt die Engine durch – daran ändert der Befund nichts.
|
|
91
|
+
- **D-05.** Die Anordnung gilt unverändert; sie ist durch den Befund gestützt, nicht berührt.
|
|
92
|
+
- **M2 und den Mechanismus der Modus-Sperre.** Das ist Gegenstand von `CR-2026-028`.
|
|
93
|
+
- **Die Regelmenge.** `permissions.json`, die Secret-Pfade und die Abbildung bleiben unverändert.
|
|
94
|
+
|
|
95
|
+
## 4. Grenze der Zusage
|
|
96
|
+
|
|
97
|
+
**Der Hook ist die zweite Linie, nicht die erste – und nur dort, wo er läuft.** Bei
|
|
98
|
+
`devin-desktop` tut er das seit 0.25.0; H3 ist weiterhin unbeobachtet, H1 und H2 sind beobachtet.
|
|
99
|
+
Fällt die Hook-Konfiguration aus, steht im Bypass-Modus nichts mehr.
|
|
100
|
+
|
|
101
|
+
**Nicht erhoben ist, ob im Bypass-Modus auch die `ask`-Regeln entfallen.** Nach der
|
|
102
|
+
Modusbeschreibung („All tool calls are auto-approved without prompting") ist es zu erwarten,
|
|
103
|
+
gemessen ist es nicht.
|
|
104
|
+
|
|
105
|
+
**Für `claude-code` ist der Fall unerhoben.** Dort ist der Modus technisch sperrbar
|
|
106
|
+
(`permissions.disableBypassPermissionsMode`, AP2-CC-05) und in verwalteten Einstellungen
|
|
107
|
+
unüberschreibbar – die Lage ist also nicht dieselbe, aber sie ist auch nicht gemessen.
|
|
108
|
+
|
|
109
|
+
**Ein Nachweis aus einem untersagten Modus belegt keinen erlaubten Betrieb.** Abschnitt 4 des
|
|
110
|
+
Protokolls sagt das bereits; dieser Antrag stützt sich ausdrücklich auf einen Lauf, der so nicht
|
|
111
|
+
stattfinden dürfte – als Testnachweis zulässig, als Betriebszustand nicht.
|
|
112
|
+
|
|
113
|
+
## 5. Vorlage zur Entscheidung
|
|
114
|
+
|
|
115
|
+
| Nr. | Frage | Auflösung | Preis |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| E1 | Einstufung ändern oder Bedingung ausweisen? | **Ausweisen.** `[TECHNISCH]` ist richtig für den erlaubten Betrieb; eine Herabstufung würde eine Durchsetzung verschweigen, die es gibt | Wer nur die Spalte liest, liest weiterhin „erzwungen". Die Bedingung steht über der Tabelle, nicht in der Zeile |
|
|
118
|
+
| E2 | Eigene Matrixspalte „gilt im Modus"? | **Nein.** Sie beträfe acht Zeilen in jedem Pack und trüge in sieben davon denselben Wert | Die Information ist Fließtext und damit leichter zu überlesen als eine Spalte |
|
|
119
|
+
| E3 | Definition in `clients/README.md` schärfen? | **Ja.** Sie ist die Stelle, an der die Klasse definiert wird | Alle bestehenden Matrizen erben die Präzisierung, ohne dass jemand sie einzeln geprüft hat: Die Aussage wird richtig, der Belegstand ändert sich nicht |
|
|
120
|
+
| E4 | Prüfung aufnehmen? | **Nein**, mit Begründung im Antrag | Die Vorbemerkung kann bei einem neuen Pack fehlen, und nichts meldet es. `clients/README.md` Abschnitt 5 nennt sie als Pflicht – das ist eine Anweisung, keine Prüfung |
|
|
121
|
+
| E5 | Den Fall für `claude-code` erheben? | **Ja, als Folgearbeit in AP2** – ein Lauf im Bypass-Modus gegen die isolierte Umgebung, wie WN-5 ihn geführt hat | Ein weiterer Nachweis in einem untersagten Modus. Zulässig nur als Test, und im Protokoll als solcher auszuweisen |
|
|
122
|
+
|
|
123
|
+
## 6. Entscheidung
|
|
124
|
+
|
|
125
|
+
| Feld | Inhalt |
|
|
126
|
+
|---|---|
|
|
127
|
+
| Entscheidung | **angenommen** |
|
|
128
|
+
| Datum | 2026-09-11 |
|
|
129
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
130
|
+
| Auflagen | E1 bis E5 wie vorgelegt: Die Einstufungen bleiben `[TECHNISCH]`, die Bedingung kommt als **Vorbemerkung** in den B-Block; keine eigene Matrixspalte; die Klassendefinition in `clients/README.md` wird präzisiert; T7 nennt künftig die technische Gegenmaßnahme; keine neue Prüfung; der Bypass-Lauf für `claude-code` wird als Folgearbeit in AP2 geführt und im Protokoll als Testnachweis ausgewiesen. Ziel-Release 0.26.0 |
|
|
131
|
+
| Umsetzung | **mit Release 0.26.0** – Einzelheiten und Nachweise in `leitwerk-core/CHANGELOG.md` |
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-034`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Was ein Nachweis aus dem nicht-interaktiven Betrieb belegt – und was nicht |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-11 |
|
|
8
|
+
| Betroffene Artefakte | `tests/TEST_CATALOG.md` (Abschnitt 1, Verfahren), `clients/devin-desktop/CLIENT_PACK.md` (Abschnitt 5), `governance/DECISION_LOG.md` (Fortschreibung D-23) |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | Kern – Testverfahren; Client Pack nur nachrichtlich |
|
|
10
|
+
| Art | Behebung von `AP2-DD-13` (Schwere: niedrig) und `AP2-DD-14` gemeinsam |
|
|
11
|
+
| Dringlichkeit | regulär |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass und Problem
|
|
14
|
+
|
|
15
|
+
Zwei Befunde der AP2-Sitzung betreffen nicht das Framework, sondern die **Bedingungen, unter
|
|
16
|
+
denen seine Nachweise entstehen**:
|
|
17
|
+
|
|
18
|
+
| Befund | Beobachtung |
|
|
19
|
+
|---|---|
|
|
20
|
+
| `AP2-DD-13` | Ein Shell-Befehl im Standardmodus verlangt eine Bestätigung. Nicht-interaktiv kann sie nicht gestellt werden; der Lauf endet **ohne jede Ausgabe mit Exit 0** |
|
|
21
|
+
| `AP2-DD-14` | `Error: Refusing to run in an untrusted workspace`. Erst `--respect-workspace-trust false` oder eine interaktive Bestätigung lassen den Lauf überhaupt zu |
|
|
22
|
+
|
|
23
|
+
Beide führen zur selben Falle: **Ein Lauf, der gar nicht stattgefunden hat, sieht aus wie ein Lauf
|
|
24
|
+
mit leerem Ergebnis.** Beim ersten stimmt sogar der Exit-Code.
|
|
25
|
+
|
|
26
|
+
### Warum das die Beweisführung dieses Protokolls trifft
|
|
27
|
+
|
|
28
|
+
Der schwerste Befund des Protokolls – `AP2-DD-10`, die nie gelesene Hook-Datei – beruht auf einer
|
|
29
|
+
**Abwesenheitsmessung**: null Hook-Aufrufe in vier Konfigurationen. Das ist genau die Form von
|
|
30
|
+
Beleg, die ein stiller Abbruch erzeugen kann, ohne dass es auffällt.
|
|
31
|
+
|
|
32
|
+
Der Befund hält trotzdem – aber nicht wegen der Messung, sondern wegen der Gegenprobe: **G-2 hat
|
|
33
|
+
denselben Fall interaktiv in der Agent-Sidebar wiederholt**, mit einem echten `exec`-Aufruf, der
|
|
34
|
+
sichtbar lief und trotzdem keine Aufzeichnung erzeugte. Dazu kommt der Positivbeleg aus derselben
|
|
35
|
+
Messreihe: Dieselben Hooks in der Berechtigungsdatei lösten **sofort** aus.
|
|
36
|
+
|
|
37
|
+
**Der stärkste Befund des Protokolls hing damit an einer Gegenprobe, nicht am Messwert.** Dass es
|
|
38
|
+
gut ausging, ist kein Verfahren.
|
|
39
|
+
|
|
40
|
+
### Was das Verfahren heute sagt
|
|
41
|
+
|
|
42
|
+
`TEST_CATALOG.md` Abschnitt 1 regelt Prüfmethoden, Voraussetzungen (PyYAML), Ergebnisstatus und
|
|
43
|
+
die Angaben dynamischer Tests. D-23 verlangt für **Prüfungen** einen Wirksamkeitsnachweis: eine
|
|
44
|
+
Sonde mit bekanntem Defekt, die gemeldet wird.
|
|
45
|
+
|
|
46
|
+
Für **Sitzungsnachweise** gibt es die Entsprechung nicht. Ein ausbleibendes Ereignis zählt als
|
|
47
|
+
Beleg, ohne dass belegt sein müsste, dass überhaupt gemessen wurde. Das ist dieselbe Lücke, die
|
|
48
|
+
D-23 für Prüfungen geschlossen hat – eine Ebene höher.
|
|
49
|
+
|
|
50
|
+
## 2. Vorgeschlagene Änderung
|
|
51
|
+
|
|
52
|
+
1. **Neue Nummer 7 in `TEST_CATALOG.md` Abschnitt 1 (normativ)**, Formulierungsvorschlag:
|
|
53
|
+
|
|
54
|
+
> **Nachweise aus dem nicht-interaktiven Betrieb.** Ein Nachweis, der aus dem **Ausbleiben**
|
|
55
|
+
> einer Wirkung besteht, ist nur gültig, wenn der Lauf selbst belegt ist – durch eine Ausgabe,
|
|
56
|
+
> eine Aufzeichnung oder einen zweiten, positiv wirkenden Vorgang im selben Lauf. **Ein
|
|
57
|
+
> Exit-Code allein genügt nicht**; ein nicht-interaktiver Lauf kann bei nötiger Rückfrage ohne
|
|
58
|
+
> Ausgabe mit Erfolgscode enden. Ein Lauf unter aufgehobenen Schutzvorkehrungen des Clients
|
|
59
|
+
> (abgeschaltete Vertrauensprüfung, Modus ohne Rückfragen) belegt **nicht** den Normalbetrieb;
|
|
60
|
+
> das Protokoll weist die Bedingung aus und benennt, was dadurch offen bleibt.
|
|
61
|
+
|
|
62
|
+
2. **D-23 wird fortgeschrieben**, nicht ersetzt: Der Wirksamkeitsnachweis gilt für Prüfungen;
|
|
63
|
+
für Sitzungsnachweise gilt Nummer 7 des Testkatalogs. Beide sagen dasselbe – **ein Nachweis
|
|
64
|
+
zählt, wenn belegt ist, dass gemessen wurde.**
|
|
65
|
+
|
|
66
|
+
3. **Zwei Zeilen in Abschnitt 5 des Packs `devin-desktop`** („Bekannte Abweichungen im
|
|
67
|
+
Verhalten"): der stille Abbruch bei nötiger Rückfrage und die Vertrauensschranke im
|
|
68
|
+
nicht-interaktiven Betrieb, jeweils mit der Folge für die in Abschnitt 6 vorgeschriebene
|
|
69
|
+
Prüfung.
|
|
70
|
+
|
|
71
|
+
4. **Keine Änderung an Skripten.** Der Befund liegt im Verfahren, nicht im Code.
|
|
72
|
+
|
|
73
|
+
## 3. Was dieser Antrag nicht ändert
|
|
74
|
+
|
|
75
|
+
- **Die Vertrauensschranke.** Sie ist eine **Verschärfung** des Clients und willkommen. Das
|
|
76
|
+
Framework verlangt nicht, sie im Normalbetrieb abzuschalten; es regelt nur, was ein Nachweis
|
|
77
|
+
wert ist, der sie abgeschaltet hat.
|
|
78
|
+
- **Die bestehenden Protokolle.** Sie bleiben, wie sie sind. Abschnitt 4 des AP2-Protokolls weist
|
|
79
|
+
die Bedingungen bereits aus – dieser Antrag macht daraus eine Pflicht statt einer guten
|
|
80
|
+
Gewohnheit (zur Nachschau siehe E4).
|
|
81
|
+
- **`AP2-DD-10` und `AP2-DD-11`.** Beide sind behoben und in 0.25.0 positiv nachgewiesen; an
|
|
82
|
+
ihrer Geltung ändert sich nichts.
|
|
83
|
+
|
|
84
|
+
## 4. Grenze der Zusage
|
|
85
|
+
|
|
86
|
+
**Die Regel verhindert keinen stillen Abbruch.** Sie entwertet nur den Schluss, den man daraus
|
|
87
|
+
zöge. Der Abbruch bleibt eine Eigenschaft des Clients.
|
|
88
|
+
|
|
89
|
+
**Sie ist `review`-prüfbar, nicht skriptprüfbar.** Wer ein Protokoll schreibt, muss sie anwenden;
|
|
90
|
+
kein Werkzeug erzwingt sie. Ein Validator kann nicht sehen, ob eine Zeile „0 Aufrufe" aus einer
|
|
91
|
+
Messung oder aus einem Abbruch stammt.
|
|
92
|
+
|
|
93
|
+
**Der Positivbeleg im selben Lauf ist nicht immer herstellbar.** Ein Lauf, der vor dem ersten
|
|
94
|
+
Werkzeugaufruf abbricht, erzeugt gar nichts – dann bleibt nur die Wiederholung in einer
|
|
95
|
+
interaktiven Sitzung, so wie G-2 sie geführt hat. Die Regel macht diesen Mehraufwand
|
|
96
|
+
verbindlich; billiger wird die Beweisführung dadurch nicht.
|
|
97
|
+
|
|
98
|
+
## 5. Vorlage zur Entscheidung
|
|
99
|
+
|
|
100
|
+
| Nr. | Frage | Auflösung | Preis |
|
|
101
|
+
|---|---|---|---|
|
|
102
|
+
| E1 | Zwei Anträge oder einer für `AP2-DD-13` und `AP2-DD-14`? | **Einer.** Beide Befunde beantworten dieselbe Frage – unter welchen Bedingungen ein Nachweis entstanden ist –, und die Abhilfe ist in beiden Fällen derselbe Absatz | `AP2-DD-14` hat damit keinen eigenen Antrag. Wer die Vertrauensschranke sucht, findet sie unter einem Titel über Nachweise |
|
|
103
|
+
| E2 | Regel in den Testkatalog oder in D-23? | **Testkatalog**, D-23 nur fortschreiben | Die Forderung steht an zwei Stellen und muss bei Änderungen an beiden gepflegt werden |
|
|
104
|
+
| E3 | Nachweise mit abgeschalteter Vertrauensprüfung weiterhin zulassen? | **Ja**, mit Ausweis im Protokoll. Ohne sie wäre für dieses Pack **kein** technischer Nachweis zu führen gewesen | Die Nachweise gelten dann für eine Umgebung, die vom Normalbetrieb abweicht – und der Normalbetrieb bleibt unbelegt, bis ihn jemand interaktiv prüft |
|
|
105
|
+
| E4 | Bestehende Protokolle einmalig auf Abwesenheitsnachweise durchsehen? | **Ja**, einmalig und als Review, nicht als Testfall | Ein Reviewgang durch die bisherigen Protokolle. Findet er einen ungedeckten Abwesenheitsnachweis, wird daraus ein eigener Befund |
|
|
106
|
+
| E5 | Den stillen Abbruch dem Hersteller melden? | **Zurückgestellt.** Das Framework führt keinen Herstellerkanal; `FEEDBACK_PROCESS.md` regelt den Weg nach innen | Ein Verhalten, das jede Automatisierung trifft, bleibt unadressiert – es steht in einem Protokoll, das der Hersteller nicht liest |
|
|
107
|
+
|
|
108
|
+
## 6. Entscheidung
|
|
109
|
+
|
|
110
|
+
| Feld | Inhalt |
|
|
111
|
+
|---|---|
|
|
112
|
+
| Entscheidung | **angenommen** |
|
|
113
|
+
| Datum | 2026-09-11 |
|
|
114
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
115
|
+
| Auflagen | E1 bis E5 wie vorgelegt: **ein** Antrag für beide Befunde; die Regel steht als Nummer 7 im Testkatalog, D-23 wird nur fortgeschrieben; Nachweise mit abgeschalteter Vertrauensprüfung bleiben zulässig, mit Ausweis im Protokoll; die **einmalige Durchsicht** der bestehenden Protokolle auf ungedeckte Abwesenheitsnachweise wird als Review durchgeführt; die Meldung an den Hersteller bleibt zurückgestellt. Ziel-Release 0.26.0 |
|
|
116
|
+
| Umsetzung | **mit Release 0.26.0** – Einzelheiten und Nachweise in `leitwerk-core/CHANGELOG.md` |
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-035`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Die erklärende README der Regelablage steht im Regelregister des Clients |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-11 |
|
|
8
|
+
| Betroffene Artefakte | `clients/devin-desktop/root-template/.devin/rules/README.md`, `clients/claude-code/root-template/.claude/rules/README.md`, beide `manifest.json` (`core_paths`), `clients/README.md` (Abschnitt 5), `tests/scripts/validate-framework.py` (optional, siehe E3) |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | Abbildungsschicht – Inhalt der Regelablage; betrifft **beide** Client Packs |
|
|
10
|
+
| Art | Behebung von `AP2-DD-17` (Schwere: niedrig) |
|
|
11
|
+
| Dringlichkeit | regulär |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass und Problem
|
|
14
|
+
|
|
15
|
+
`devin rules list` führt die Regelablage als Regelmenge auf – und darin:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
README [Devin] manual
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Die Datei lädt **nicht** automatisch. Sie steht aber im Register und ist mit dem Trigger `manual`
|
|
22
|
+
**auf ausdrückliche Erwähnung hin ladbar**. Eine erklärende Datei in einem Verzeichnis, dessen
|
|
23
|
+
Inhalt der Client als Regelmenge liest.
|
|
24
|
+
|
|
25
|
+
### Warum das trotz niedriger Schwere zählt
|
|
26
|
+
|
|
27
|
+
**Was in ihr steht, ist keine Regel, sondern Belegstand.** Die Datei führt `[DOK]`-Tabellen,
|
|
28
|
+
VERIFY-Marker, ein Nummernschema und – bemerkenswert – die Zeichenlimits „12.000 je
|
|
29
|
+
Workspace-Regeldatei, 6.000 für globale Regeln", also genau die Angabe, deren Einstufung
|
|
30
|
+
`CR-2026-027` als für Devin Local unbelegt beanstandet.
|
|
31
|
+
|
|
32
|
+
Wird die Datei geladen, tragen damit Aussagen **mit ausgewiesenem Belegvorbehalt** den Rang eines
|
|
33
|
+
Regeltexts der Ebene 3. Das Verzeichnis ist die Regelablage; alles darin ist möglicher Kontext.
|
|
34
|
+
Ein Belegstand gehört in ein Dokument, das erklärt – nicht in eines, das anweist.
|
|
35
|
+
|
|
36
|
+
### Was das Register über die Ablage sagt
|
|
37
|
+
|
|
38
|
+
Gegenprobe G-1 zählt in der Oberfläche **sechs** geladene beziehungsweise geführte Regeln: die
|
|
39
|
+
vier Framework-Regeln, `global_rules` aus dem Benutzerprofil (`AP2-DD-15`) und diese README. Die
|
|
40
|
+
**zweite** README des Packs – `.devin/README.md`, eine Ebene über der Regelablage – erscheint
|
|
41
|
+
nicht.
|
|
42
|
+
|
|
43
|
+
Daraus folgt, was die Abhilfe trägt: **Der Client registriert, was in der Regelablage liegt, und
|
|
44
|
+
nicht, was daneben liegt.** Erschlossen aus der Zählung der Gegenprobe, nicht eigens gemessen.
|
|
45
|
+
|
|
46
|
+
### Offen: das Frontmatter
|
|
47
|
+
|
|
48
|
+
Die Datei trägt **kein Frontmatter**, der Client führt sie dennoch mit Trigger `manual`. Ob
|
|
49
|
+
`manual` die dokumentierte Vorgabe für Regeldateien ohne `trigger` ist, ist nicht belegt – neue
|
|
50
|
+
Klärungsfrage **K-25**. Für die Abhilfe ist das gleichgültig: Eine Datei, die nicht angewiesen
|
|
51
|
+
werden soll, gehört nicht in die Ablage, unabhängig davon, mit welchem Trigger der Client sie
|
|
52
|
+
führt.
|
|
53
|
+
|
|
54
|
+
## 2. Vorgeschlagene Änderung
|
|
55
|
+
|
|
56
|
+
**Empfohlen – die erklärende Datei verlässt die Regelablage.** Ihr Inhalt geht in die bestehende
|
|
57
|
+
Laufzeit-README eine Ebene höher (`<RUNTIME_DIR>/README.md`) auf, als eigener Abschnitt
|
|
58
|
+
„Regelablage". In der Regelablage bleibt damit nur, was Regel ist.
|
|
59
|
+
|
|
60
|
+
Beide Packs sind betroffen; für `claude-code` ist die Wirkung unerhoben (**K-26**: Führt dieser
|
|
61
|
+
Client eine README der Regelablage ebenfalls im Register?). Die Änderung ist dort trotzdem
|
|
62
|
+
richtig – sie folgt aus der Zuständigkeit des Verzeichnisses, nicht aus dem Verhalten eines
|
|
63
|
+
Clients.
|
|
64
|
+
|
|
65
|
+
Beide Dateien stehen in `core_paths` der Manifeste. **`install.py --update` erneuert sie**; die
|
|
66
|
+
Änderung erreicht bestehende Installationen ohne Handgriff, die alte Datei ist bei der Migration
|
|
67
|
+
jedoch zu entfernen – sie wird durch das Update nicht gelöscht (Migrationshinweis erforderlich).
|
|
68
|
+
|
|
69
|
+
Zwei Alternativen, mit ihren Kosten, damit die Entscheidung nicht ohne sie fällt:
|
|
70
|
+
|
|
71
|
+
| Weg | Wirkung | Kosten |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| **A – verschieben (empfohlen)** | Die Regelablage enthält nur Regeln | Ein Migrationshinweis; ein Ort mehr, an dem der Belegstand zu suchen ist |
|
|
74
|
+
| **B – Frontmatter `trigger: manual` und erster Satz „Dies ist keine Regel"** | Der Trigger ist ausdrücklich statt implizit | Sie bleibt im Register. Eine Datei, die sagt, sie sei keine Regel, ist eine Regel, die das sagt |
|
|
75
|
+
| **C – unverändert lassen, in Abschnitt 5 des Packs ausweisen** | Nichts zu migrieren | Der Belegvorbehalt bleibt ladbar; der Befund wird beschrieben statt behoben |
|
|
76
|
+
|
|
77
|
+
## 3. Was dieser Antrag nicht ändert
|
|
78
|
+
|
|
79
|
+
- **Den Inhalt der README.** Der Belegstand der Regelmechanismen ist wertvoll und bleibt
|
|
80
|
+
vollständig erhalten – er wechselt nur den Ort.
|
|
81
|
+
- **Die Regeltexte, das Nummernschema und die Ladetrigger.** Unverändert.
|
|
82
|
+
- **Die Aussage über die Zeichenlimits.** Sie steht und fällt mit `CR-2026-027`; dieser Antrag
|
|
83
|
+
nimmt ihr nur den Rang eines ladbaren Regeltexts.
|
|
84
|
+
|
|
85
|
+
## 4. Grenze der Zusage
|
|
86
|
+
|
|
87
|
+
**Die Ablage wird sauber, der Kanal bleibt.** Wer eine beliebige Datei in die Regelablage legt,
|
|
88
|
+
erzeugt weiterhin einen Registereintrag. Das Framework kann das für seine eigenen Dateien
|
|
89
|
+
entscheiden, nicht für fremde – und für Quellen außerhalb des Projekts schon gar nicht
|
|
90
|
+
(`CR-2026-031`).
|
|
91
|
+
|
|
92
|
+
**Für `claude-code` ist die Wirkung nicht gemessen** (K-26). Die Änderung ist dort begründet,
|
|
93
|
+
aber nicht belegt veranlasst.
|
|
94
|
+
|
|
95
|
+
**Der Befund ist niedrig und bleibt es.** Die Datei lädt nicht von selbst; es braucht eine
|
|
96
|
+
ausdrückliche Erwähnung. Gemeldet wird hier eine Möglichkeit, kein beobachteter Schaden.
|
|
97
|
+
|
|
98
|
+
## 5. Vorlage zur Entscheidung
|
|
99
|
+
|
|
100
|
+
| Nr. | Frage | Auflösung | Preis |
|
|
101
|
+
|---|---|---|---|
|
|
102
|
+
| E1 | Welcher der drei Wege? | **A – verschieben.** Ein Verzeichnis, das als Regelmenge gelesen wird, enthält nur Regeln | Migrationshinweis nötig; `install.py --update` legt die neue Fassung an, entfernt die alte aber nicht |
|
|
103
|
+
| E2 | Auch bei `claude-code` ändern, obwohl dort unerhoben? | **Ja.** Die Begründung ist die Zuständigkeit des Verzeichnisses, nicht das Verhalten eines Clients | Eine Änderung ohne Befund am betroffenen Pack – vertretbar, aber nicht durch eine Messung veranlasst |
|
|
104
|
+
| E3 | Prüfung aufnehmen, die Nicht-Regeltexte in der Regelablage meldet? | **Ja.** In `clients/*/root-template/<Regelablage>/` darf nur liegen, was dem Nummernschema folgt. Sonde nach D-23: eine Fremddatei in einer Kopie – die Prüfung meldet | Sie prüft die **Vorlage**, nicht die installierte Ablage: Was ein Projekt dort selbst ablegt, sieht sie nicht |
|
|
105
|
+
| E4 | K-25 (Trigger-Vorgabe ohne Frontmatter) jetzt klären? | **Nein, nur erfassen.** Für die Abhilfe ist die Antwort gleichgültig | Eine unbeantwortete Frage mehr in der Klärungstabelle; sie wird erst wichtig, wenn ein Pack sich auf den Standardtrigger verlassen will |
|
|
106
|
+
|
|
107
|
+
## 6. Entscheidung
|
|
108
|
+
|
|
109
|
+
| Feld | Inhalt |
|
|
110
|
+
|---|---|
|
|
111
|
+
| Entscheidung | **angenommen** |
|
|
112
|
+
| Datum | 2026-09-11 |
|
|
113
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
114
|
+
| Auflagen | E1 bis E4 wie vorgelegt: **Weg A** – der erklärende Text verlässt die Regelablage und geht in die Laufzeit-README eine Ebene höher auf; die Änderung gilt für **beide** Packs, auch wenn die Wirkung bei `claude-code` unerhoben ist (K-26); die Prüfung auf Nicht-Regeltexte in der Vorlage der Regelablage wird aufgenommen; K-25 wird nur erfasst. Migrationshinweis erforderlich – `install.py --update` löscht die alte Datei nicht. Ziel-Release 0.26.0 |
|
|
115
|
+
| Umsetzung | **mit Release 0.26.0** – Einzelheiten und Nachweise in `leitwerk-core/CHANGELOG.md` |
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-036`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Drei Dokumentstellen nennen weiter den Ort der Hook-Konfiguration, den D-32 abgelöst hat – und nichts vergleicht sie mit dem Manifest |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-11 |
|
|
8
|
+
| Betroffene Artefakte | `clients/devin-desktop/root-template/.devin/README.md` (Zeile 12), `docs/PLACEHOLDER_REGISTRY.md` (Zeile 38), `docs/RUNTIME_GLOSSARY.md` (Zeile 34), `tests/scripts/validate-framework.py` (neue Prüfung 20) |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | Kern – Dokumentation der Abbildung und Validator |
|
|
10
|
+
| Art | Behebung eines Befundes aus der Antragsarbeit zu `AP2-DD-15`/`-16` (Sitzung 2026-09-11); **keine AP2-Kennung** |
|
|
11
|
+
| Dringlichkeit | regulär; die erste Stelle wird jedoch in jede Installation ausgeliefert |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass und Problem
|
|
14
|
+
|
|
15
|
+
D-32 hat mit 0.25.0 entschieden: Die Hook-Konfiguration des Packs `devin-desktop` steht in der
|
|
16
|
+
Berechtigungsdatei unter `hooks`; **eine eigene Hook-Datei wird nicht mehr erzeugt.** Prüfung 18
|
|
17
|
+
meldet eine zurückgebliebene `hooks.v1.json` aus einer früheren Installation als Warnung.
|
|
18
|
+
|
|
19
|
+
Drei Stellen im Kern sagen weiterhin das Gegenteil:
|
|
20
|
+
|
|
21
|
+
| Stelle | Aussage |
|
|
22
|
+
|---|---|
|
|
23
|
+
| `clients/devin-desktop/root-template/.devin/README.md:12` | listet `hooks.v1.json` unter den ausgelieferten Dateien: „Lebenszyklus-Hooks … Erzeugt aus `leitwerk-core/framework/runtime/hooks.json`" |
|
|
24
|
+
| `docs/PLACEHOLDER_REGISTRY.md:38` | `<HOOKS_FILE>` = `.devin/hooks.v1.json` |
|
|
25
|
+
| `docs/RUNTIME_GLOSSARY.md:34` | Hook-Konfiguration = `.devin/hooks.v1.json` |
|
|
26
|
+
|
|
27
|
+
**Das Manifest ist richtig:** `runtime_placeholders["<HOOKS_FILE>"]` steht auf `.devin/config.json`,
|
|
28
|
+
und `clientmap.py` wie `validate-framework.py` lesen es von dort. Die Abweichung liegt also
|
|
29
|
+
nicht zwischen Dokument und Wirklichkeit, sondern **zwischen der maschinenlesbaren Quelle und
|
|
30
|
+
ihrer menschenlesbaren Fassung** – und nichts vergleicht die beiden.
|
|
31
|
+
|
|
32
|
+
### Die erste Stelle wird ausgeliefert
|
|
33
|
+
|
|
34
|
+
`.devin/README.md` steht in `core_paths` des Manifests. Sie landet bei jeder Installation im
|
|
35
|
+
Projekt und wird von `install.py --update` erneuert. Dort beschreibt sie seit 0.25.0 eine Datei,
|
|
36
|
+
die die Installation **nicht anlegt** – und deren Vorhandensein Prüfung 18 als Rest einer
|
|
37
|
+
früheren Installation meldet.
|
|
38
|
+
|
|
39
|
+
**Ein ausgeliefertes Dokument beschreibt damit genau den Zustand, den eine Prüfung desselben
|
|
40
|
+
Releases als Altlast anzeigt.**
|
|
41
|
+
|
|
42
|
+
### Der Befundtyp ist bekannt
|
|
43
|
+
|
|
44
|
+
Eine Aussage, die ihren Gegenstand überlebt hat. Dasselbe Muster wie in 0.23.0, als der
|
|
45
|
+
Steuerungsabschnitt der Roadmap zwei Releases lang einen Befund als offen führte, den das
|
|
46
|
+
Protokoll als behoben auswies. Gefunden hat es beide Male das Lesen, nicht eine Prüfung – hier
|
|
47
|
+
beim Zusammentragen der Belegstellen für `CR-2026-031`.
|
|
48
|
+
|
|
49
|
+
## 2. Vorgeschlagene Änderung
|
|
50
|
+
|
|
51
|
+
1. **Die drei Stellen nachziehen.** In der Laufzeit-README tritt an die Stelle der Zeile zu
|
|
52
|
+
`hooks.v1.json` ein Zusatz in der Zeile zu `config.json`: Die Datei trägt Berechtigungen
|
|
53
|
+
**und** Hooks; der Ort folgt D-32. Registrierungstabelle und Glossar nennen
|
|
54
|
+
`.devin/config.json`.
|
|
55
|
+
|
|
56
|
+
2. **Prüfung 20 vergleicht Tabelle und Manifest.** Die Client-Spalten von
|
|
57
|
+
`PLACEHOLDER_REGISTRY.md` und `RUNTIME_GLOSSARY.md` werden je Pack gegen dessen
|
|
58
|
+
`manifest.json` geprüft – Wert für Wert, für jeden Begriff mit Manifestentsprechung
|
|
59
|
+
(Laufzeitschicht, Berechtigungsdatei, Regelablage, Skill-Ablage, Agentenprofile,
|
|
60
|
+
Wurzel-Anweisungsdatei, Hook-Konfiguration, MCP-Konfiguration).
|
|
61
|
+
|
|
62
|
+
Sonde nach D-23: Ein Wert wird in einer Kopie verfälscht – die Prüfung meldet ihn.
|
|
63
|
+
Gegenprobe: Ein Begriff **ohne** Manifestfeld („Nutzerlokale Überschreibung") bleibt
|
|
64
|
+
unbeanstandet, und ein Pack ohne eigene Hook-Datei (`<HOOKS_FILE>` gleich
|
|
65
|
+
`<PERMISSIONS_FILE>`) gilt als übereinstimmend, nicht als Fehler.
|
|
66
|
+
|
|
67
|
+
3. **Migrationshinweis.** Eine bestehende Installation behält ihre `hooks.v1.json`, bis jemand
|
|
68
|
+
sie löscht. Prüfung 18 meldet sie; der Hinweis nennt den Handgriff ausdrücklich.
|
|
69
|
+
|
|
70
|
+
## 3. Was dieser Antrag nicht ändert
|
|
71
|
+
|
|
72
|
+
- **D-32 und die Abbildung.** Beide sind richtig und bleiben unverändert; korrigiert wird, was
|
|
73
|
+
über sie geschrieben steht.
|
|
74
|
+
- **Die Manifeste.** Sie führen den richtigen Wert. Dieser Antrag macht die Dokumentation an sie
|
|
75
|
+
anschlussfähig, nicht umgekehrt.
|
|
76
|
+
- **Prüfung 18.** Sie bleibt, wie sie ist – zur möglichen Erweiterung siehe E3.
|
|
77
|
+
|
|
78
|
+
## 4. Grenze der Zusage
|
|
79
|
+
|
|
80
|
+
**Prüfung 20 prüft Übereinstimmung, nicht Richtigkeit.** Steht im Manifest ein falscher Pfad,
|
|
81
|
+
sind Tabelle und Manifest danach einig – und beide falsch. Was den Manifestwert prüft, ist die
|
|
82
|
+
Installation selbst und der Nachweis an ihr (D-23, AP2).
|
|
83
|
+
|
|
84
|
+
**Sie deckt nur Zeilen mit Manifestentsprechung ab.** Begriffe ohne Feld – nutzerlokale
|
|
85
|
+
Überschreibung, künftige Ergänzungen – bleiben ungeprüft und altern weiter still.
|
|
86
|
+
|
|
87
|
+
**Sie hätte diesen Befund gefunden, nicht aber die README.** Die Laufzeit-README nennt Dateinamen
|
|
88
|
+
in Fließtext, kein Platzhalterfeld; dafür braucht es E3 oder weiterhin das Lesen.
|
|
89
|
+
|
|
90
|
+
## 5. Vorlage zur Entscheidung
|
|
91
|
+
|
|
92
|
+
| Nr. | Frage | Auflösung | Preis |
|
|
93
|
+
|---|---|---|---|
|
|
94
|
+
| E1 | Die drei Stellen nachziehen? | **Ja**, ohne Vorbehalt. Eine davon wird ausgeliefert | Keiner, außer der Migration einer zurückgebliebenen Datei |
|
|
95
|
+
| E2 | Prüfung 20 aufnehmen? | **Ja.** Sie schließt die Naht zwischen Manifest und Dokumenttabellen – die Naht, an der dieser Befund entstanden ist | Sie bindet zwei Dokumenttabellen an das Manifestformat: Ändert sich das Format, ist die Prüfung mitzuändern |
|
|
96
|
+
| E3 | Prüfung 18 um die Vorlagen erweitern (kein verwaister Hook-Dateiname in einem `root-template`)? | **Ja.** Die Liste der verwaisten Dateinamen steht bereits im Validator; sie auch gegen die ausgelieferten READMEs zu halten, kostet wenige Zeilen | Eine Prüfung auf Dateinamen im Fließtext meldet auch eine Nennung, die den Ort erklärt statt ihn zu behaupten. Ein Fehlalarm ist möglich |
|
|
97
|
+
| E4 | Eigener Antrag oder Nachtrag zu `CR-2026-029`? | **Eigener Antrag.** `CR-2026-029` ist entschieden und umgesetzt; ein umgesetzter Antrag wird nicht nachträglich erweitert | Die Ursache steht in einem Antrag, ihre Folgen in einem zweiten. Der Verweis muss die Verbindung tragen |
|
|
98
|
+
| E5 | Den Befund als AP2-Befund führen? | **Nein.** Er stammt nicht aus einem AP2-Lauf, sondern aus der Antragsarbeit dieser Sitzung. Der Antrag selbst ist der Nachweis | Die Befundzählung des AP2-Protokolls bleibt bei 17 und erfasst damit nicht alles, was in seinem Umfeld gefunden wurde |
|
|
99
|
+
|
|
100
|
+
## 6. Entscheidung
|
|
101
|
+
|
|
102
|
+
| Feld | Inhalt |
|
|
103
|
+
|---|---|
|
|
104
|
+
| Entscheidung | **angenommen** |
|
|
105
|
+
| Datum | 2026-09-11 |
|
|
106
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
107
|
+
| Auflagen | E1 bis E5 wie vorgelegt: Die drei Stellen werden nachgezogen; Prüfung 20 hält die Client-Spalten von `PLACEHOLDER_REGISTRY.md` und `RUNTIME_GLOSSARY.md` je Pack gegen das Manifest; Prüfung 18 wird auf die `root-template`-Vorlagen ausgedehnt; eigener Antrag statt Nachtrag zu `CR-2026-029`; **keine** AP2-Kennung. Ziel-Release 0.26.0 |
|
|
108
|
+
| Umsetzung | **mit Release 0.26.0** – Einzelheiten und Nachweise in `leitwerk-core/CHANGELOG.md` |
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Änderungsantrag `CR-2026-037`
|
|
2
|
+
|
|
3
|
+
| Feld | Inhalt |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Titel | Das meldende Hook-Skript des Kerns nennt die Laufzeitschicht eines Clients – die Semantikabbildung erreicht nur den durchsetzenden Hook |
|
|
6
|
+
| Antragstellende Rolle | `<FRAMEWORK_OWNER>` |
|
|
7
|
+
| Datum | 2026-09-11 |
|
|
8
|
+
| Betroffene Artefakte | `tests/scripts/hook-overlay-status.py` (Zeilen 8, 19, 21), `clientmap.py` (Hook-Kommando), `tests/scripts/validate-framework.py` (neue Prüfung 21), `governance/DECISION_LOG.md` (Fortschreibung D-30) |
|
|
9
|
+
| Ebene laut Entscheidungsbaum 6 | Kern – Laufzeitskript und Semantikabbildung; betrifft **beide** Client Packs |
|
|
10
|
+
| Art | Behebung eines Befundes aus der Antragsarbeit zu `AP2-DD-15`/`-16` (Sitzung 2026-09-11); **keine AP2-Kennung** |
|
|
11
|
+
| Dringlichkeit | regulär – H3 ist ohnehin unbeobachtet (siehe Abschnitt 4) |
|
|
12
|
+
|
|
13
|
+
## 1. Anlass und Problem
|
|
14
|
+
|
|
15
|
+
`hook-overlay-status.py` meldet beim Sitzungsstart den Overlay-Status (Zusage **H3**). Das Skript
|
|
16
|
+
liegt im Kern, der seit D-15 werkzeugneutral ist. Es nennt an drei Stellen einen Client:
|
|
17
|
+
|
|
18
|
+
```python
|
|
19
|
+
# Zeile 8 (Docstring): Liest project-overlay/OVERLAY.md und .devin/rules/20-project-overlay.md
|
|
20
|
+
root = os.environ.get("DEVIN_PROJECT_DIR", os.getcwd()) # Zeile 19
|
|
21
|
+
candidates = [os.path.join(root, ".devin", "rules", "20-project-overlay.md"), …] # Zeile 21
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Das Manifest von `claude-code` führt für dieselbe Rolle `CLAUDE_PROJECT_DIR`
|
|
25
|
+
(`hook_project_dir_var`). Das Kommando wird korrekt gerendert – der Pfad zum Skript steht in der
|
|
26
|
+
Variablen dieses Clients –, **aber im Skript ist sie unbekannt**. Dort greift der Rückfall auf
|
|
27
|
+
`os.getcwd()`, und der erste Kandidat (`.devin/rules/…`) kann bei diesem Client nie zutreffen.
|
|
28
|
+
|
|
29
|
+
**Folge bei `claude-code`:** Der Status wird allein aus `project-overlay/OVERLAY.md` hergeleitet,
|
|
30
|
+
und das nur, wenn das Arbeitsverzeichnis beim Sitzungsstart das Projektverzeichnis ist – **für
|
|
31
|
+
keinen der beiden Clients belegt**. Trifft es nicht zu, meldet das Skript `unbekannt`; nach
|
|
32
|
+
Abschnitt 3 der Wurzel-Anweisungsdatei soll der KI-Client dann nur lesend arbeiten. Die Meldung
|
|
33
|
+
wäre also nicht bloß ungenau, sie hätte eine Wirkung.
|
|
34
|
+
|
|
35
|
+
### Warum das den Kern betrifft
|
|
36
|
+
|
|
37
|
+
D-30 hat entschieden:
|
|
38
|
+
|
|
39
|
+
> Eine Semantikabbildung gilt **auch für die Skripte, die die Zusage durchsetzen** – nicht nur
|
|
40
|
+
> für die erzeugte Konfiguration.
|
|
41
|
+
|
|
42
|
+
`hook-check-secrets.py` löst das ein: Es liest die Werkzeugnamen aus `hook_tools` **aller** Packs.
|
|
43
|
+
Das zweite Hook-Skript ist bei dieser Entscheidung nie betrachtet worden – **weil es nichts
|
|
44
|
+
durchsetzt, sondern meldet.** Die Begründung von D-30 trägt aber genauso weit: Ein Skript, das in
|
|
45
|
+
einer Sitzung läuft, darf die Laufzeitschicht nicht raten.
|
|
46
|
+
|
|
47
|
+
### Warum keine Prüfung es sieht
|
|
48
|
+
|
|
49
|
+
| Prüfung | Warum sie schweigt |
|
|
50
|
+
|---|---|
|
|
51
|
+
| 14 (kein Client als Akteur) | Ihr Muster ist `\bDevin\b`, **zeichengetreu**. `DEVIN_PROJECT_DIR` trifft es nicht |
|
|
52
|
+
| 12 (Nennung einer nicht installierten Laufzeitschicht) | Sie warnt nur, wenn die Laufzeitschicht **fehlt**. In diesem Repositorium liegt eine `devin-desktop`-Testinstallation – der Pfad existiert |
|
|
53
|
+
|
|
54
|
+
Beide Blindstellen sind strukturell, nicht zufällig: Die eine unterscheidet Produktname von
|
|
55
|
+
Akteursnennung und muss dafür Groß- und Kleinschreibung ernst nehmen; die andere prüft
|
|
56
|
+
Verweisziele, nicht Neutralität. Eine Ausweitung von Prüfung 14 auf Kleinschreibung wäre teuer
|
|
57
|
+
und falsch – `.devin/` steht in Glossar, Registrierungstabelle und der Rückfallabbildung des
|
|
58
|
+
Validators an Stellen, an denen es **hingehört**.
|
|
59
|
+
|
|
60
|
+
## 2. Vorgeschlagene Änderung
|
|
61
|
+
|
|
62
|
+
1. **Projektverzeichnis und Regelablage kommen als Argumente**, nicht aus der Umgebung. Die
|
|
63
|
+
Abbildung setzt sie aus `hook_project_dir_var` und `runtime_placeholders["<RULES_DIR>"]`:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
python "$PROJEKTVERZEICHNIS/<CORE_DIR>/tests/scripts/hook-overlay-status.py" "$PROJEKTVERZEICHNIS" "<RULES_DIR>"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`PROJEKTVERZEICHNIS` steht dabei für die Variable, die das Manifest des Packs unter
|
|
70
|
+
`hook_project_dir_var` führt – der Kern nennt sie nicht.
|
|
71
|
+
|
|
72
|
+
Das ist die Begründung aus **D-31**, angewandt auf einen zweiten Fall: Der Wert steht im
|
|
73
|
+
Kommando, das der Client ohnehin ausführt, statt in einer Umgebung, von der für kein Pack
|
|
74
|
+
belegt ist, dass sie den Hook-Prozess erreicht.
|
|
75
|
+
|
|
76
|
+
2. **Rückfall ohne Argumente:** Arbeitsverzeichnis und ausschließlich `project-overlay/OVERLAY.md`
|
|
77
|
+
– werkzeugneutral, mit Kommentar, dass dies der Notweg ist und nicht der vorgesehene Pfad.
|
|
78
|
+
|
|
79
|
+
3. **Prüfung 21:** Ein Hook-Skript des Frameworks nennt **keine** clientgebundene
|
|
80
|
+
Umgebungsvariable und keinen Laufzeitpfad eines Packs. Geltungsbereich ausdrücklich die
|
|
81
|
+
Hook-Skripte – nicht der Validator, der eine dokumentierte Rückfallabbildung führt
|
|
82
|
+
(`validate-framework.py`, Kommentar bei Zeile 235).
|
|
83
|
+
|
|
84
|
+
Sonde nach D-23: In einer Kopie wird eine solche Variable eingesetzt – die Prüfung meldet sie.
|
|
85
|
+
Gegenprobe: `hook-check-secrets.py`, das seine Namen aus den Manifesten liest, bleibt
|
|
86
|
+
unbeanstandet.
|
|
87
|
+
|
|
88
|
+
4. **D-30 wird fortgeschrieben:** Die Semantikabbildung gilt für **jedes** Skript, das in einer
|
|
89
|
+
Sitzung läuft – auch für das meldende. Ein neuer Record ist nicht nötig; die Entscheidung ist
|
|
90
|
+
dieselbe, nur ihr Geltungsbereich war zu eng beschrieben.
|
|
91
|
+
|
|
92
|
+
## 3. Was dieser Antrag nicht ändert
|
|
93
|
+
|
|
94
|
+
- **Was gemeldet wird.** Der Overlay-Status und seine drei Werte (`aktiv`, `inaktiv`,
|
|
95
|
+
`unbekannt`) bleiben unverändert; nur die Herkunft der Pfade ändert sich.
|
|
96
|
+
- **Der durchsetzende Hook.** `hook-check-secrets.py` ist seit D-30 in Ordnung und wird nicht
|
|
97
|
+
angefasst.
|
|
98
|
+
- **Die Rückfallabbildung des Validators.** Sie bleibt zulässig und ausdrücklich außerhalb von
|
|
99
|
+
Prüfung 21 (siehe E3).
|
|
100
|
+
|
|
101
|
+
## 4. Grenze der Zusage
|
|
102
|
+
|
|
103
|
+
**Die Änderung macht die Meldung richtig, nicht beobachtet.** H3 ist bei `devin-desktop`
|
|
104
|
+
unbeobachtet – das Protokoll führt die Zeile so, und der Hook lief bis 0.24.0 ohnehin nicht.
|
|
105
|
+
**Dieser Befund hat sich im Betrieb nie gezeigt, weil die Zusage, an der er hängt, selbst nie
|
|
106
|
+
gezeigt wurde.** Er ist durch Lesen gefunden, nicht durch Messen.
|
|
107
|
+
|
|
108
|
+
**Ob `os.getcwd()` beim Sitzungsstart das Projektverzeichnis ist, bleibt unbelegt.** Nach dieser
|
|
109
|
+
Änderung nur noch als Notweg – vorher war es der Normalfall für eines von zwei Packs.
|
|
110
|
+
|
|
111
|
+
**Prüfung 21 prüft Skripte, nicht Wirkung.** Ein Hook-Skript, das seine Pfade sauber übergeben
|
|
112
|
+
bekommt und trotzdem den falschen Status meldet, fällt ihr nicht auf. Dafür braucht es einen
|
|
113
|
+
Nachweis an einer Installation – denselben, der für H3 aussteht.
|
|
114
|
+
|
|
115
|
+
## 5. Vorlage zur Entscheidung
|
|
116
|
+
|
|
117
|
+
| Nr. | Frage | Auflösung | Preis |
|
|
118
|
+
|---|---|---|---|
|
|
119
|
+
| E1 | Argumente oder Umgebungsvariable? | **Argumente**, mit der Begründung aus D-31 | Das Hook-Kommando wird länger und trägt zwei Werte mehr, die bei jeder Abbildungsänderung mitzupflegen sind |
|
|
120
|
+
| E2 | Regelablage als zweites Argument oder Kandidat streichen? | **Als Argument.** Streichen würde ändern, *was* gemessen wird: Die gerenderte Regeldatei trägt den Status ebenso wie das Overlay | Ein Argument mehr. Wer die Regelablage umbenennt, muss an die Abbildung denken – der Validator meldet es nicht |
|
|
121
|
+
| E3 | Geltungsbereich von Prüfung 21: Hook-Skripte oder alle Skripte des Kerns? | **Hook-Skripte.** Der Validator führt eine dokumentierte Rückfallabbildung auf `.devin/`, die er braucht, wenn kein Pack gefunden wird | Die Rückfallabbildung bleibt ungeprüft. Sie ist begründet, aber sie ist auch eine Client-Bindung im Kern |
|
|
122
|
+
| E4 | D-30 fortschreiben oder neuer Decision Record? | **Fortschreiben**, mit Datum und Verweis auf diesen Antrag | Ein Record, der zwei Sachverhalte trägt; die Historie steht im Änderungsverlauf, nicht in zwei Records |
|
|
123
|
+
| E5 | H3 im selben Zug nachweisen? | **Nein, getrennt.** Der Nachweis gehört zu AP2 und braucht eine Sitzung mit Aufzeichnung, nicht diesen Antrag | Die Zusage bleibt bis dahin unbeobachtet – jetzt mit richtigen Pfaden, aber weiterhin ohne Beleg |
|
|
124
|
+
|
|
125
|
+
## 6. Entscheidung
|
|
126
|
+
|
|
127
|
+
| Feld | Inhalt |
|
|
128
|
+
|---|---|
|
|
129
|
+
| Entscheidung | **angenommen** |
|
|
130
|
+
| Datum | 2026-09-11 |
|
|
131
|
+
| Entscheidende Rolle | `<FRAMEWORK_OWNER>` |
|
|
132
|
+
| Auflagen | E1 bis E5 wie vorgelegt: Projektverzeichnis und Regelablage kommen als **Argumente** aus der Abbildung; der Regelablage-Kandidat bleibt erhalten; Prüfung 21 gilt eng für die Hook-Skripte, die Rückfallabbildung des Validators bleibt ausgenommen; D-30 wird fortgeschrieben statt ersetzt; der Nachweis für H3 bleibt getrennt und Teil von AP2. Ziel-Release 0.26.0 |
|
|
133
|
+
| Umsetzung | **mit Release 0.26.0** – Einzelheiten und Nachweise in `leitwerk-core/CHANGELOG.md` |
|