Alle wesentlichen Änderungen an diesem Projekt werden hier dokumentiert. Format basiert auf Keep a Changelog.
Bugsweep #13: Resilienz-Härtung von Projektverwaltung & Datei-Synchronisation (2026-10-02) [G 2026-10-02]
ProjectManager(src/core/project_manager.py):- Robuste Absicherung von
_load_recent_projects(),_save_recent_projects(),create_project(),open_project()undsave_project()gegen nicht-dict JSON-Dateien (z. B. Arrays[], Skalare odernullinsettings.jsonunddevcenter.json), wodurch bisher unhandledAttributeErrorundTypeErrorauftraten. - Sichere Fallbacks bei fehlendem, leerem oder reinem Whitespace-Projektnamen/-pfad in
open_project()auf den Basisordnernamen. - Defensive Filterung ungültiger oder nicht-dict Einträge in
get_recent_projects().
- Robuste Absicherung von
SyncManager(src/modules/filemanager/sync_manager.py):- Normalisierung von Pfadtrennern in
_should_exclude()für verlässliches Matching von Ausschlussmustern auch bei POSIX-Forward-Slashes auf Windows. - Ausschlussfilter in
_find_sqlite_databases()integriert, sodass ausgeschlossene Ordner (z. B.venv,.git) nicht durchsucht werden; Verzeichnis-Filterung für reguläre SQLite-Dateien. - Schutz vor dauerhaft korrupten Synchronisationszielen in
sync(): Schlägtverify_copyfehl (Prüfsummen-Mismatch), wird die beschädigte Zieldatei sofort vom Ziel gelöscht und Zähler werden korrigiert, statt das beschädigte Ziel im Folgezyklus fälschlich als aktuell zu überspringen. - Vorab-Prüfung
source.is_dir()insync()mit Dauer-Erfassung und Fehlerreport bei Nicht-Verzeichnis-Quellpfaden. - Normalisierung und Deduplizierung von Projektpfaden in
BackupScheduler.add_backup()undremove_backup().
- Normalisierung von Pfadtrennern in
- Testabdeckung & Verifikation:
- 12 neue hermetische Regressionstests in
tests/test_bugsweep_project_and_sync_resilience_20261002.py(100% bestanden). - Testsuite auf 250 Tests erhöht (100% grün via pytest in 11.31s);
ruff checkundcompileallfehlerfrei.
- 12 neue hermetische Regressionstests in
Tier-2 Mehrsprachigkeit (P-006), SettingsDialog-Integration & Scanner-Auditing (2026-10-01) [G 2026-10-01]
- Tier-2 6-Sprachen-Ausbau (P-006):
locales/translations.jsonum 24 neue Einträge (unter anderem Such-/Ersetzendialog, Tab-Optionen, Checkboxen, Spracheinstellungen) auf 100 Schlüssel ausgebaut mit 100% lückenloser Parität über alle 6 Sprachen (DE, EN, ES, ZH, JA, RU).- Modernisierung von
translator.py:LANGUAGE_DISPLAY_NAMESdefiniert,detect_system_language()auf moderneslocale.getlocale()umgestellt (verhindert DeprecationWarning unter Python 3.12+), globaleget_translator()- undt()-Hilfsfunktionen bereitgestellt.
- SettingsDialog-Sprachauswahl (
src/gui/dialogs/settings_dialog.py):- Neue Gruppe "Sprache" mit ComboBox im Tab "Allgemein" integriert (
language_combo). - Persistenz von
languagein_load_settings()und_save_settings()verdrahtet (nutztself.settings.get('language')/set('language')).
- Neue Gruppe "Sprache" mit ComboBox im Tab "Allgemein" integriert (
- Auto-Scanner & CLI-Auditor (
manage_translations.py):- Mit
argparse,--dirund--check-Prüfmodus ausgerüstet; UTF-8-Encoding für Windows-Terminals (sys.stdout.reconfigure) abgesichert. - Erweiterte GUI-Regex-Muster (
QCheckBox,setStatusTip, etc.);python manage_translations.py --checkvalidiert 100% Parität ohne fehlende Übersetzungsschlüssel.
- Mit
- Testabdeckung & Verifikation:
- 5 neue Vertragstests:
test_settings_dialog_loads_and_saves_language,test_settings_dialog_language_combo_items_match_supported_languagesintests/test_settings_application.py;test_language_display_names_parity,test_global_translator_singleton_and_t_helper,test_manage_translations_check_mode_successintests/test_i18n.py. - Gesamtsuite wuchs von 233 auf 238 Tests (100% grün via pytest in 17.13s).
- 5 neue Vertragstests:
Pfad A Repository Hygiene, CI Lifecycle Workflows, PEP 621 Standardisierung & Level 1 SBOM (2026-09-30) [G 2026-09-30]
- Version-Freeze-Disziplin (T-20260920-167562623):
- Version
1.0.3inpyproject.toml, Quellcode und Manifesten unverändert beibehalten. - Alle Neuerungen unter
## [Unreleased]im Changelog dokumentiert.
- Version
- CI/CD Lifecycle Workflow Provisioning & Hardening:
.github/workflows/auto-assign.ymlneu angelegt mitactions/github-script@v7,timeout-minutes: 5, Concurrencygroup: ${{ github.workflow }}-${{ github.ref }},cancel-in-progress: trueund least-privilege permissionsissues: write,pull-requests: write..github/workflows/label-sync.ymlneu angelegt mitEndBug/label-sync@v2,timeout-minutes: 5, Concurrencygroup: ${{ github.workflow }}-${{ github.ref }},cancel-in-progress: trueund least-privilege permissionsissues: write.- Kanonische
.github/labels.ymlmit 11 Standard-Labels gemäß GOVERNANCE.md §4.2 angelegt. stale.yml,welcome.ymlundtests.ymlverifiziert.
- Multi-Host Cloud-Sync-, Lock- und Cache-Härtung in
.gitignore:- Multi-Host Sync-Muster (
*-IDEAPAD*,*-IDEAPAD-GEI*,*-WORKSTATION.*,*-WORKSTATION-LG.*,*-MacBook*), kanonische Locks (LOCK.user.*,LOCK.until.*,LOCK.condition.*), Test-/Coverage-Caches (.pytest_tmp*/), OS-/Editor-Artefakte (Desktop.ini) undTASKPLAN_*.md.
- Multi-Host Sync-Muster (
- PEP 621 Standardisierung in
pyproject.toml:license-filesWhitelist umTHIRD_PARTY_LICENSES.txterweitert (["LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md", "THIRD_PARTY_LICENSES.txt"]).- URLs für
Third-Party Licenses (Text),Plain-Text Licenses,Level 1 SBOMundContributingunter[project.urls]registriert. [tool.pytest.ini_options]mitnorecursedirsum.pytest_tmp*gehärtet.
- Level 1 SBOM Drittanbieter-Lizenzaudit in
THIRD_PARTY_LICENSES.txt:- Plain-Text Level 1 SBOM Companion mit Header und Bestätigung aller 10 Governance- und Laufzeitinvarianten (
INV-LOCAL-01bisINV-SLA-10),RunAsInvokerNon-Elevation und Querverweis auf kanonischeNOTICEAttributionsdatei.
- Plain-Text Level 1 SBOM Companion mit Header und Bestätigung aller 10 Governance- und Laufzeitinvarianten (
- Beitragsrichtlinien & Quality Gates:
CONTRIBUTING.mdum Quality Gates (pytest,ruff,compileall), Governance-Invarianten und Version-Freeze-Disziplin erweitert.
- Dokumentations- & Kontext-Parität:
README.mdundREADME_de.mdBadges für verifizierte Tests,Last-Checked 2026-09-30und Level 1 SBOM Companion synchronisiert (alle 18 bilateralen Schnellnavigations-Ankersec-01bissec-18exakt beibehalten).llms.txtStand 2026-09-30 mit neuer Test-Baseline, Level 1 SBOM und Workflows synchronisiert.- Lokales Marketing- und Governance-Register
MARKETING-LOG.txtSection 6 Pfad A Revisionsbericht Stand 2026-09-30.
- Vertragstest-Erweiterung:
tests/test_metadata.pyum umfassende Contract-Tests für CI Lifecycle Workflows, Standard-Labels, Level 1 SBOM Companion Invarianten, CONTRIBUTING.md, PEP 621 URLs/license-files und erweiterte .gitignore Guardrails erweitert.
- SEC-AUDIT-2026-08-14-01 (Store-Lizenz-Parität & Store-Materialien):
- Store-Metadaten (
store_package.json,WINDOWS_STORE_PREP.md,SUPPORT.md,STORE_LISTING.md) in das kanonische Repository übernommen. - Lizenzwiderspruch behoben:
licenseinstore_package.jsonundWINDOWS_STORE_PREP.mdvonMITauf die autoritative Repository-LizenzGPL-3.0korrigiert. - 8 automatisierte Vertragstests in
tests/test_store_materials.pyintegriert, inklusive expliziter Lizenzprüfungtest_store_package_license_matches_gpl3.
- Store-Metadaten (
- SEC-AUDIT-2026-08-14-03 (Reproduzierbarer Dependency-Vertrag & Lockfile):
requirements.txtum Obergrenzen ergänzt und 1:1 mitpyproject.tomlharmonisiert (<7.0.0,<13.0.0,<26.0.0etc.).- Reproduzierbare Lockdatei
requirements-lock.txtmit geprüften Versionsnummern für 20+ direkte und transitive Abhängigkeiten erstellt. - Neuer Vertragstest
test_dependency_lockfile_and_upper_bounds_parityintests/test_security_license_contract.py.
- Testmatrix & Chronik (TASKPLAN #865 / TW-DC-04):
- Testsuite wuchs von 212 auf 221 Tests (100% grün via pytest in ~56s).
DOCUMENTATION_STATUS.mdund Dokumentationsstände aktualisiert.
- Bilaterale Schnellnavigation:
- 18-Punkte bilaterale Schnellnavigation in
README.mdundREADME_de.mdmit reziproken dualen HTML-Ankern (<a id="sec-01"></a>bis<a id="sec-18"></a>) für 100% Sprachparität etabliert.
- 18-Punkte bilaterale Schnellnavigation in
- Remote GitHub Metadaten:
- 20/20 GitHub Topics via GitHub CLI (
gh repo edit) remote gesättigt und Homepage URL aufhttps://github.com/dev-bricks/DevCenter#readmeverankert.
- 20/20 GitHub Topics via GitHub CLI (
- Formelle Open-Source NOTICE Attribution:
- Kanonische
NOTICE-Datei für Urheberrecht Lukas Geiger / dev-bricks / open-bricks im Repository-Root erstellt.
- Kanonische
- Level 1 SBOM & Lizenz-Transparenz:
THIRD_PARTY_LICENSES.mdRe-Audit Stand 2026-09-28 mit Level 1 SBOM Invariant Cross-Reference Matrix Tabelle (INV-LOCAL-01bisINV-SLA-10),RunAsInvokerNon-Elevation Zertifizierung und Verknüpfung zurNOTICE-Datei.
- Gesetzlicher Haftungshinweis & Security SLA:
- Gesetzlicher Haftungsausschluss gem. § 521 BGB (Gefälligkeitsrecht) und verbindliche 48h Security Response SLA in Section 18 von
README.md,README_de.md,llms.txtundSECURITY.mdverankert.
- Gesetzlicher Haftungsausschluss gem. § 521 BGB (Gefälligkeitsrecht) und verbindliche 48h Security Response SLA in Section 18 von
- PEP 621 Standardisierung & Pytest Guardrails:
pyproject.toml:license-files = ["LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md"], Notice URL in[project.urls], 20 Keywords synchronisiert mit GitHub Topics,addopts = "-ra -v --basetemp=.pytest_temp"und.pytest_tempinnorecursedirsund.gitignore.
- Maschinenlesbarer Kontext & Badges:
llms.txtauf Stand 2026-09-28, 208+ Tests Baseline, NOTICE-Verweis und 18-Punkte-Navigation aktualisiert.- Shields.io Badges in beiden READMEs synchronisiert (Attribution-NOTICE, Last-Checked 2026-09-28, 208 passed tests, 48h SLA).
- Vertragstestsuite:
tests/test_metadata.pyerweitert um Prüfungen für 18-Punkte Navigation, duale HTML-Anker, NOTICE-Datei, Level 1 SBOM Invarianten-Matrix, 20 PEP 621 Keywords und § 521 BGB Haftungsausschluss.
Security Hardening & WinStorePackager Isolation (TASKPLAN #866 / SEC-AUDIT-2026-08-14-04) [G 2026-09-20]
resources/WinStorePackager/WindowsStorePublisher_3.py:- Ungepinnte, unkontrollierte
subprocess.check_call-Aufrufe vonpip installbei Modulimport vollständig eliminiert. - Implementierung einer seiteneffektfreien
ensure_dependencies()-Prüfung, die erst unterif __name__ == '__main__':ausgeführt wird. - Optionale Module (
PIL,pygetwindow,keyring) mit sicherentry...except ImportError-Guards gekapselt und Methoden gegenNone-Referenzen gehärtet (Zero-Egress- und Offline-Konformität).
- Ungepinnte, unkontrollierte
tests/test_security_license_contract.py:- Neuer Regressionstest
test_winstorepackager_resource_no_unpinned_pip_installstellt sicher, dass keine Subprozess-Installationen bei Import ausgeführt werden können (208 Tests, 100% grün).
- Neuer Regressionstest
BUGS.md&AUFGABEN.txt:SEC-AUDIT-2026-08-14-04undSEC-AUDIT-2026-08-14-02als behoben markiert und dokumentiert.
- Dokumentations- & Test-Parität:
README.md,README_de.md,DOCUMENTATION_STATUS.md,EXPORTFORMAT.md,ARCHITEKTUR_DevCenter.md,SUITE_DEVCENTER_TEMPLATE.mdundllms.txtauf 208 verifizierte Tests, Versionsstand 1.0.3 und den aktuellen Quellenvertrag synchronisiert.
src/core/cli.py:- Vollständiges CLI-Interface mit
build_parser()und Dispatch für--version,--help,--debug,--log-level,--check,--open,--analyze,--export-workspace,--headless. - Strukturierte Systemdiagnose
run_health_check(): prüft Python-Version (>=3.10), PySide6-Framework, AST-Analyzer, SQLite3 FTS5 Volltextindex und AppData/Log-Pfade. - Headless AST-Code-Analyse
run_ast_analysis()für Dateien und Verzeichnisse mit optionalem JSON-Export (--output). - Headless Workspace-Export
run_workspace_export()nachdevcenter-workspace-v1.jsonmit automatischem Fallback für Projekte ohne vorherigedevcenter.json.
- Vollständiges CLI-Interface mit
src/core/runtime_logging.py:- Zentrales Runtime-Logging mit
RotatingFileHandler(max. 5 MB, 3 Backups) nach%LOCALAPPDATA%/DevCenter/logs/app.logund konfigurierbarem Konsolen-StreamHandler. - Sichere Verzeichniserstellung und Graceful-Degradation bei restriktiven Dateisystemen.
- Zentrales Runtime-Logging mit
src/core/app_paths.py:get_logs_dir()undget_log_file_path()für standardisierte Log-Pfad-Ermittlung unter Windows (%LOCALAPPDATA%) und POSIX (XDG_STATE_HOME).
src/modules/analyzer/method_analyzer.py:- Neue Methode
analyze_code(source, file_path)für direkte AST-Analyse aus String-Puffern und In-Memory-Analysen.
- Neue Methode
main.py&src/gui/main_window.py:- CLI-Dispatch im Haupteinstiegspunkt integriert: direkte Parameterübernahme (
sys.argv[1:]), CLI-Befehle beenden mit entsprechendem Exit-Code, GUI startet nahtlos mit vorselektiertem Projekt (--open).
- CLI-Dispatch im Haupteinstiegspunkt integriert: direkte Parameterübernahme (
- Starter- & Diagnose-Skripte:
START_DevCenter.bat: Argumentweitergabe (%*) hinzugefügt.debug.bat: Neues kanonisches Diagnose- und Debug-Startskript mit UTF-8-Codepage und Log-Pfad-Anzeige.
- Tests:
tests/test_cli_and_logging.py: 8 neue automatisierte Unit-Tests für Pfade, Logging, CLI-Flags, Health-Check, AST-Analyse, Workspace-Export und Headless-Modus (207 Tests, 100% grün).
.github/workflows/:tests.yml: Duplizierten Top-Level-Header- und Concurrency-Block bereinigt; saubere Concurrency-Gruppe${{ github.workflow }}-${{ github.ref }}mitcancel-in-progress: trueundpermissions: contents: readsichergestellt.
pyproject.toml:[tool.pytest.ini_options]:minversion = "7.0"und standardisiertenorecursedirs = [".git", ".pytest_cache", "__pycache__", "build", "dist"]Guardrails verankert.
- Versionsharmonisierung auf 1.0.3:
pyproject.toml: Version auf1.0.3angehoben.src/__init__.py,src/core/project_manager.py,src/core/workspace_export.py,src/gui/main_window.py,src/modules/builder/license_generator.py: Anwendungs- und Modul-Versionen auf1.0.3synchronisiert.THIRD_PARTY_LICENSES.md: Versionskopf und JSON-SBOM-Mapping auf1.0.3und Re-Audit-Datum2026-09-16aktualisiert.README.md&README_de.md: Versionsbadge auf1.0.3und Testsuite-Badge auf 199 bestandene Tests (100% grün) synchronisiert.llms.txt: Last-checked Timestamp auf2026-09-16und Version auf1.0.3aktualisiert.MARKETING-LOG.txt: Neuer Pfad-A-Hygiene- und CI-Audit-Eintrag Stand2026-09-16ergänzt.
tests/test_metadata.py&tests/test_security_license_contract.py:- Vertragstests um
test_ci_workflow_no_duplicate_headersundtest_pytest_ini_options_guardrailserweitert; Version 1.0.3 und Datumsstempel 2026-09-16 validiert. (199 Tests, 100% grün)
- Vertragstests um
.github/workflows/:tests.yml: Job-Leveltimeout-minutes: 15Guardrails auf allen Jobs (lint,test,linux-platform-smoke,macos-platform-smoke) verankert; Pytest-Aufrufe mit standardisiertem-ra -vFlag harmonisiert.stale.yml: Concurrency-Gruppe${{ github.workflow }}-${{ github.ref }}mitcancel-in-progress: trueund Job-Leveltimeout-minutes: 10Guardrail nachgerüstet.welcome.yml: Concurrency-Gruppe${{ github.workflow }}-${{ github.ref }}mitcancel-in-progress: trueund Job-Leveltimeout-minutes: 5Guardrail nachgerüstet.
.gitignore:- Umfassende Härtung gegen Multi-Host-Cloud-Sync-Konflikte (
* (Kopie)*,* (Copy)*,*conflicted copy*,*-WORKSTATION*,*-ASUS*,*-LAPTOP*,*-Mac Studio*), kanonische Fail-Closed Lock-Muster (LOCK,LOCK.*,LOCK*.txt,LOCK.permissions.json,uv.lock, Whitelist!package-lock.json), und Cache-/Test-Artefakte (.coverage.*,coverage/,.tox/,.hypothesis/,.turbo/,.nyc_output/,wheelhouse/,.wheel-smoke/,*.orig,*.rej).
- Umfassende Härtung gegen Multi-Host-Cloud-Sync-Konflikte (
- Versionsharmonisierung auf 1.0.2:
pyproject.toml: Version auf1.0.2angehoben.src/__init__.py,src/core/project_manager.py,src/core/workspace_export.py,src/gui/main_window.py,src/modules/builder/license_generator.py: Anwendungs- und Modul-Versionen auf1.0.2synchronisiert.THIRD_PARTY_LICENSES.md: Versionskopf und JSON-SBOM-Mapping auf1.0.2und Audit-Datum2026-09-14aktualisiert.README.md&README_de.md: Versionsbadge auf1.0.2und Testsuite-Badge auf 197 Tests grün synchronisiert; Banner-Asset-Verlinkung harmonisiert.llms.txt: Last-checked Timestamp auf2026-09-14und Version auf1.0.2aktualisiert.MARKETING-LOG.txt: Neuer Pfad-A-Hygiene- und CI-Audit-Eintrag Stand2026-09-14ergänzt.
tests/test_metadata.py&tests/test_security_license_contract.py:- Vertragstestsuite erweitert um automatisierte Prüfungen für CI-Job-Timeouts, Workflow-Concurrency, Stale/Welcome-Guardrails, erweiterte Multi-Host- und Lock-Muster in
.gitignore, sowie Versions- und Datums-Parität für 1.0.2 / 2026-09-14. (197 Tests, 100% grün)
- Vertragstestsuite erweitert um automatisierte Prüfungen für CI-Job-Timeouts, Workflow-Concurrency, Stale/Welcome-Guardrails, erweiterte Multi-Host- und Lock-Muster in
README.md&README_de.md:- Vollständige 15-Punkte-Schnellnavigation mit 100%iger wechselseitiger Anker-Parität eingeführt.
- Shields.io Badges synchronisiert (Version 1.0.1, Tests 187+ passed | 100% green, Python 3.11/3.12, Platform Windows/Linux/macOS, UI PySide6, Security SLA 48h / 5d triage, Third-Party Audited 100% permissive, Marketing Log active, LLM-Ready llms.txt, Ecosystem dev-bricks, Umbrella open-bricks, License GPL-3.0).
- Tabelle der Governance- & Laufzeit-Invarianten (10 Garantien: INV-LOCAL-01 bis INV-SLA-10) zweisprachig integriert.
- Sibling-Ökosystem- und Partner-Matrix um 16 Partner-Repositories ausgebaut.
THIRD_PARTY_LICENSES.md:- Vollständiges Markdown-Inventar aller 20 direkten, transitiven, Build- und Test-Abhängigkeiten mit SPDX-Lizenztabellen, 100%iger Permissivitäts-Analyse, Zero-Egress-Datenschutzgarantie und unprivilegierter Non-Elevation-Zusicherung erstellt.
MARKETING-LOG.txt:- Neues Marketing- und Auffindbarkeitsregister im Repo-Root angelegt: 4 Ziel-Personas (Windows Python Desktop App Developers & GUI Builders; Solo Maintainers & Local-First Engineers; Security-Conscious Enterprise Developers; AI-Assisted Prompt & Python Engineers), High-Intent Suchbegriffe, 5-Wege-Wettbewerbsmatrix vs. VS Code / PyCharm / Thonny / CLI / Cloud-IDEs, sowie 16 Sibling-Ökosystem-Synergien.
llms.txt:- Last-checked Timestamp auf 2026-09-12 aktualisiert, Version 1.0.1, Testsuite-Baseline synchronisiert, 10 Governance-Invarianten verankert, Referenzen auf MARKETING-LOG.txt und THIRD_PARTY_LICENSES.md harmonisiert.
pyproject.toml:- URLs um Third-Party Licenses, Marketing Log und LLM Ready erweitert; Pytest addopts um
-ra -vergänzt.
- URLs um Third-Party Licenses, Marketing Log und LLM Ready erweitert; Pytest addopts um
.gitignore:- Multi-Host Cloud-Sync- und Konfliktmuster (
* (kopie)*,* (copy)*,*.sync-temp-*,*-CONFLIT-*,LOCK.permissions.json) gehärtet.
- Multi-Host Cloud-Sync- und Konfliktmuster (
tests/test_metadata.py&tests/test_security_license_contract.py:- Vertragstestsuite ausgebaut: 15-Punkte-Navigationsanker, 10 Invarianten, Version 1.0.1 Konsistenz, THIRD_PARTY_LICENSES.md und MARKETING-LOG.txt Verträge.
THIRD_PARTY_LICENSES.txt:- Vollständiges Inventar aller direkten, transitiven, Build- und Entwicklungs-Abhängigkeiten angelegt mit Name, Version, Lizenz, SPDX-Kennung, Upstream-URL und Sicherheits-/Funktions-Notizen (PySide6, Pillow, anthropic, keyring, chardet, ftfy, pip-licenses, watchdog, pywin32-ctypes, jaraco.classes, jaraco.context, jaraco.functools, PyInstaller, pyinstaller-hooks-contrib, altgraph, packaging, pytest, pluggy, iniconfig, ruff).
pyproject.toml&requirements.txt:- Anhebung der Sicherheitsmindestgrenzen (Vulnerability Floors):
Pillow>=12.3.0(abgesichert gegen GHSA-4x4j-2g7c-83w6 und GHSA-45hq-cxwh-f6vc),keyring>=25.0.0,pytest>=9.1.1(abgesichert gegen CVE-2025-7117 / GHSA-6w46-j5rx-g56g),ruff>=0.9.0. - Bereinigung der Autoren-E-Mail auf geschützte Support-Adresse
support@lukasgeiger.com. - Ergänzung von
pythonpath = ["src"]in[tool.pytest.ini_options]für standardkonforme Modulauflösung.
- Anhebung der Sicherheitsmindestgrenzen (Vulnerability Floors):
SECURITY.md:- Härtung der zweisprachigen Meldekette um
security@dev-bricks.orgund verbindliche 5-Tage-Triage-Garantie bei 48-Stunden-Erstreaktions-SLA.
- Härtung der zweisprachigen Meldekette um
.gitignore:- Härtung um Multi-Host-Konfliktmuster (
*-WORKSTATION-LG*,*-ASUS-GEI*), Secrets (*.pfx,secrets.*) und Fail-Closed Lock-Muster (LOCK.*,*.lock).
- Härtung um Multi-Host-Konfliktmuster (
tests/test_security_license_contract.py:- Neue automatisierte Sicherheits- und Lizenz-Vertragstestsuite (5 Tests) implementiert zur Absicherung von Schwachstellenböden, Lizenzkatalogen,
.gitignore-Hygiene, Abwesenheit hardcodierter Benutzerpfade und SLA-Konformität (Gesamtsuite: 182 Tests, 100% grün).
- Neue automatisierte Sicherheits- und Lizenz-Vertragstestsuite (5 Tests) implementiert zur Absicherung von Schwachstellenböden, Lizenzkatalogen,
Architecture Hardening & High-End Refactoring: Workspace-Export Parser, PEP-508 Extras & Directory Pruning [G 2026-09-08]
src/core/workspace_export.py:- B-005 Fix:
TASK_LINE_PATTERNauf^\s*(?:[-*+]\s+)?\[\s\]\s*(.+?)$erweitert. Erfasst jetzt standardkonform Listenpunkte (- [ ],* [ ],+ [ ], eingerückte Checkboxen) sowie bare[ ].PRIORITY_PATTERNunterstützt nunP0: ...und[P0] .... Robuster Lesezugriff miterrors="replace". - B-006 Fix:
REQUIREMENT_PATTERNauf PEP-508 Extras (requests[security]>=2.28,pydantic[email,dotenv]) erweitert.extraswerden strukturiert extrahiert; Inline-Kommentare (#) und Environment-Marker (;) werden sauber abgespalten. - B-007 Fix & Performance-Optimierung:
IGNORED_DIRSum.venv,venv,env,node_modules,.ruff_cache,.mypy_cache,.tox,.idea,.vscodeerweitert. Umstellung von unselektivemrglob("*")aufos.walk()mit In-place Directory-Pruning (dirs[:] = [...]), wodurch kein teurer Abstieg in Drittanbieter- und Cachebäume stattfindet (~40% Testsuite-Beschleunigung). - B-008 Fix:
QT_FRAMEWORKSdefiniert. In_infer_frameworkswirdPySide6nicht mehr injiziert, wenn bereitsPyQt6(oder ein anderes Qt-Framework) explizit deklariert ist.
- B-005 Fix:
tests/test_workspace_export.py:- 4 neue dedizierte Regressionstests für B-005 bis B-008 hinzugefügt (Gesamte Testsuite: 160 Tests 100% grün).
BUGS.md:- Defekte B-005, B-006, B-007 und B-008 als behoben dokumentiert.
UX & Accessibility Hardening: Suchen & Ersetzen Tastatur-Ergonomie, Screenreader-Kontext & Fokus-Management [G 2026-09-08]
src/gui/dialogs/search_replace_dialog.py:- Tastatur-Mnemonics und
setBuddy-Verknüpfungen für alle Formularfelder (&Suchen:->search_inputmitAlt+S,E&rsetzen durch:->replace_inputmitAlt+R,&Bereich:->scope_combomitAlt+B). - Barrierefreie Steuerelemente mit echten Umlauten,
accessibleNameund detailliertenaccessibleDescription-Kontexten für alle Felder, Checkboxen, Comboboxen, Aktionsbuttons und das Status-Label. - Tastaturkürzel und tooltips mit Shortcuts für alle Aktionen (
&Vorheriger TreffermitShift+F3,&Nächster TreffermitF3,&ErsetzenmitAlt+E,&Alle ersetzenmitAlt+A). replace_input.returnPresseddirekt an_emit_replaceangebunden für intuitive Eingabetasten-Ersetzung.- Event-Filter auf
search_inputfürUmschalt+Eingabetaste(Shift+Enter) zum direkten Rückwärtssuchen (_emit_find_previous). reject()-Override stellt sauberes Abbruch-Signal bei Escape sicher.- Lückenlose
setTabOrder-Kette für barrierefreie Tab-Navigation definiert.
- Tastatur-Mnemonics und
src/gui/main_window.py:_cancel_search: Fokus wird beim Schließen des Suchdialogs verlässlich pereditor.setFocus()an den aktiven Code-Editor zurückgegeben.
tests/test_search_replace_accessibility.py:- Neue automatisierte Testsuite (5 Tests) zur Sicherung von Barrierefreiheit, Tastaturbedienung, Mnemonics, Return/Shift+Return-Logik und sauberem Dialog-Abbruch (Gesamt-Testsuite: 167/167 passed, 100% grün).
.github/workflows/tests.yml: Modernisierung des GitHub Actions CI-Workflows mit Concurrency-Steuerung (cancel-in-progress: true), Upgrade aufactions/checkout@v4undactions/setup-python@v5mit Pip-Caching, sowie vorgelagertemruff check .Linter-Gate.pyproject.toml: Erweiterung um PEP 621 Standard Classifiers (Development Status,Environment :: Win32 / Qt,Intended Audience,License :: GPLv3,Operating System :: Windows / POSIX Linux / MacOS,Programming Language :: Python 3.11/3.12,Topic :: Desktop Environment / IDE / Build Tools), standardisiertekeywordsund vollständige[project.urls](Homepage,Documentation,Repository,Bug Tracker,Changelog,Security,Parent Organization,Umbrella Ecosystem).SECURITY.md: Zweisprachige Sicherheitsrichtlinie um 48-Stunden-Reaktions-SLA, GitHub Security Advisories Link und offizielle Sicherheitskontakte (security@open-bricks.org,security@ellmos.ai,support@lukasgeiger.com,lukas@open-bricks.org) gehärtet.locales/translations.json: Vollständige 6-Sprachen-Parität für 76 UI-Schlüssel über DE, EN, ES, ZH, JA, RU (Erstellt Ausgabeordner mit allen Assetslückenlos übersetzt)..gitignore: Bereinigung und Härtung um Multi-Host-Synchronisationsmuster (*.sync-conflict-*,*.conflict).tests/test_metadata.py: Metadaten- und Governance-Testsuite um 6 Contract-Tests erweitert (11 Tests, vollständige Testsuite: 157/157 passed, 100% grün).llms.txt: Last-checked Timestamp auf2026-08-24, CI-Concurrency und 157 verifizierte Tests synchronisiert.
locales/translations.json: Vollständige 6-Sprachen-Parität für 75 UI-Schlüssel über alle Menüs, Dialoge, Tabs, Build-Tools, Editor-Aktionen und Statusanzeigen (Deutsch, Englisch, Spanisch, Vereinfachtes Chinesisch, Japanisch, Russisch).translator.py: Upgrade auf Version 2.0.0:- Vollständige Unterstützung von
SUPPORTED_LANGUAGES(de,en,es,zh,ja,ru) undLANGUAGE_NAMES. - 4-stufige robuste Fallback-Kette:
current_lang -> en -> de -> key. - Automatische Systemsprachenerkennung
detect_system_language()via Windows UI Language ID und Locale. - Dynamisches Sprachumschalten via
set_language(), Formatierungsargumente**kwargsund sichere Key-Registrierung.
- Vollständige Unterstützung von
manage_translations.py: Aktualisierter Auto-Scanner mit Paritätsüberprüfung für alle 6 Zielsprachen.tests/test_i18n.py: Neue automatisierte Testsuite (8 Tests) für 6-Sprachen-Vollständigkeit, Fallback-Resolution und Sprachumschaltung (Gesamt-Testsuite: 151 Tests 100% bestanden).
tests/macos_platform_smoke.py: Neuer reproduzierbarer 6-teiliger macOS-Plattform-Smoke-Test implementiert:- POSIX- & XDG-Settings-Pfade unter macOS (
~/.config/DevCenter/settings.json). - Offscreen PySide6-Hauptfenster-Initialisierung und Projektpfadverwaltung mit Umlauten.
- macOS-System-Explorer-Aufruf (
open <path>) viaExplorerPanel._open_in_explorer(). - macOS-Terminal- und Shell-Prozessausführung (
bash -c) imOutputPanel. - Plattformunabhängige Asset- und Icon-Auflösung (
assets/icon.png). - Redigierter Workspace-Export (
devcenter-workspace-v1.json) ohne Secrets und ohne BOM. - SQLite ProfilerBridge Dateiindexierung auf POSIX/macOS.
- POSIX- & XDG-Settings-Pfade unter macOS (
.github/workflows/tests.yml: Neuer CI-Jobmacos-platform-smokeaufmacos-latesthinzugefügt.PORTIERUNGSPLAN.md&AUFGABEN.txt: Phase P4 (macOS-Smoke) als abgeschlossen (DONE) dokumentiert.tests/test_metadata.py: Metadaten- und Workflow-Paritätstests umtest_cross_platform_smoke_scripts_and_ci()erweitert.
Discoverability, README Architecture Design, Security Parity & Bilingual Documentation (Pfad B) [G 2026-08-21]
README.md&README_de.md: Umfassende zweisprachige Dokumentation mit synchronisiertem Badges-Set (142 Tests Passed, Python 3.11+, PySide6, 100% Offline / Zero-Egress, Keyring Secret Vault, dev-bricks Ökosystem, open-bricks Umbrella).- Mermaid-Architekturdiagramme: Zwei interaktive zweisprachige Diagramme integriert: (1) Systemarchitektur & Komponenten-Workflow; (2) Lokaler Datenfluss & Zero-Egress Datenschutz-Sequenzdiagramm.
SECURITY.md: Zweisprachige Sicherheitsrichtlinie mit 100% Offline-Invariante, Keyring-Geheimnis-Isolation, redigiertem Workspace-Export und privaten Meldewegen (security@ellmos.ai&support@lukasgeiger.com).- Ökosystem-Matrix: Geschwister-Werkzeuge über
dev-bricks,file-bricks,doc-bricks,assistassets-ai,entertain-and-more,ellmos-aiundopen-brickssynchronisiert. tests/test_metadata.py: Neue automatisierte Metadaten-, Sicherheits-, Ökosystem- und Dokumentationsparitätstestsuite (8 Tests) hinzugefügt.llms.txt: Last-checked Timestamp auf2026-08-21und 142 verifizierte Tests synchronisiert.
README.md: Badges um Testsuite (134 Passed),llms.txtContext,dev-bricksÖkosystem undopen-bricksUmbrella erweitert; AI-Agent Hinweisbox ergänzt.pyproject.toml:[tool.ruff.lint]Konfiguration integriert (target-version = "py311",line-length = 120,E501/E402/E722/E741/F841ignore,ruff check100% sauber).llms.txt: Last-checked Timestamp auf2026-08-16aktualisiert und Testanzahl (134 Tests) hinterlegt.- Verifikation: Pytest Testsuite (134/134 passed in 2.36s),
compileall&ruff check100% grün.
- Anthropic-API-Schlüssel werden nicht mehr im Klartext in
settings.jsonoder exportierten Einstellungen serialisiert. DevCenter speichert sie ausschließlich im System-Keyring; vorhandene Klartextwerte werden bei schreibbarer Einstellungsdatei beim nächsten Start migriert und vor der Keyring-Ablage aus der JSON-Datei entfernt. - Schlägt der Keyring-Zugriff fehl, bleibt der Einstellungsdialog offen und der Schlüssel wird weder akzeptiert noch auf die Festplatte geschrieben.
- Master App-Icon & Asset-Set: Neues hochauflösendes Master-Icon (512x512 PNG) mit modernem IDE/Python-Motiv generiert und unter
assets/icon.pngsowieicon.pngbereitgestellt. - Multi-Resolution ICO: Neues Windows-Icon
DevCenter.icosowieassets/app_icon.icoundassets/icon.icomit allen Standardschichten (256x256, 128x128, 64x64, 48x48, 32x32, 24x24, 16x16) undassets/favicon.icoerzeugt. - Store- & Kachel-Icons: Vollständiges Kachel-Set unter
assets/icons/(icon_44x44.png,icon_50x50.png,icon_150x150.png,icon_310x150.png,icon_310x310.png) integriert. - Runtime-Icon-Anbindung:
src/core/app_paths.pyumget_project_root()undget_app_icon_path()erweitert;src/gui/main_window.pybindet das App-Icon verlässlich anMainWindowundQApplication. - PyInstaller & Testsuite:
build_exe.batum--add-data "assets;assets"erweitert; neue Testsuitetests/test_app_assets.py(5/5 Tests passed; Gesamt-Suite 126/126 Tests 100% grün).
- Editor-Slice für Code-Folding und erweiterte Suche/Ersetzen: Der neue nicht-modale Dialog unterstützt Dokument-/Auswahlbereich, Treffer-Navigation, Groß-/Kleinschreibung, ganze Wörter und reguläre Ausdrücke. Ersetzen bleibt über den Editor-Undo-Verlauf rückgängig machbar; geplante Git-/Debugger- Funktionen der Roadmap bleiben unverändert offen.
- LLM Context:
llms.txtLast-checked Datum auf2026-07-30aktualisiert und veralteteweb_companion/-Referenzen bereinigt. - Changelog: Wartungseintrag für den 30.07.2026 hinzugefügt.
- Die Desktop-App ist als einziges ausgeliefertes Produkt klargestellt; der entfernte Web/PWA-Companion ist nicht mehr Teil des aktuellen Runtime- oder Release-Vertrags.
DOCUMENTATION_STATUS.mdtrennt aktuelle Quellen von historischen Fusions-/Template-Dokumenten und externen OneDrive-Hostkopien.README.md,llms.txtundEXPORTFORMAT.mdbeschreiben den redigierten Workspace-Export als lokale Funktion. Das Schema-v1-Feldwebbleibt nur aus Kompatibilitätsgründen erhalten.
- README.md: Produktvergleichstabelle (Product Family & Edition Comparison) in Englisch und Deutsch hinzugefügt.
- llms.txt: Prüfdatum (Last-checked) auf 2026-07-06 aktualisiert.
- EXE neu gebaut 2026-06-01 (PyInstaller
--onefile,DevCenter.exe); 25/25 Tests grün, Smoke-Test bestanden. Vorherige EXE: 2026-04-29. Anlass: workspace_export.py neu hinzugefügt.
- GitHub Actions Smoke-Checks für Python 3.10, 3.11 und 3.12.
- Lokales
build_exe.batfür den PyInstaller-Build mitDevCenter.ico. - Datenschutzhinweise für lokale Einstellungen, Datei-Indizes, Build-Artefakte und optionale API-Nutzung.
llms.txtmit maschinenlesbarer Projektpositionierung, Datenschutzgrenzen und relevanten Suchbegriffen.- Redigierter Workspace-Export
devcenter-workspace-v1.jsonals Desktop-Funktion unterDatei -> Arbeitsstand exportieren....
src/gui/panels/ai_panel.py:model_combo.currentIndexChangedmit_on_model_changed()verdrahtet;set_ai_service()synchronisiert das Modell sofort beim ersten Aufruf; neuer Testtests/test_ai_panel_model_selection.py(5 Fälle).- Gemeinsamer Pfad-Resolver
src/core/app_paths.pyfürSettingsManager,ProjectManagerundProfilerBridge. - Neue Regressionstests für Settings-, Recent-Projects- und Dateiindex-Pfad plus aktualisierter Linux-Plattform-Smoke.
- README, Contribution- und Security-Dokumentation auf
dev-bricks/DevCenteraktualisiert. - Beispielkonfiguration für WinStorePackager anonymisiert und neutralisiert.
- README auf englischen GitHub-Einstieg, klarere DevCenter-Namensabgrenzung und bessere Discoverability-Keywords erweitert.
- Community-Workflows auf aktuelle Action-Versionen gehoben.
AUFGABEN.txt,PORTIERUNGSPLAN.mdund README auf den damaligen Plattformstand synchronisiert.
- DevCenter legt Konfigurations- und Indexdateien auf Linux/macOS jetzt XDG-konform unter
XDG_CONFIG_HOME/DevCenterbzw.~/.config/DevCenterab, statt ungeordnet unter~/DevCenter. - Persistenz unbekannter Einstellungsschlüssel abgesichert, damit UI-/Legacy-Aliase beim Speichern nicht verloren gehen.
- Fehlende
chardet-Abhängigkeit für frische CI-/Installationsumgebungen ergänzt. tests/test_ai_panel_model_selection.py: von pytest-Fixtures aufunittest.TestCaseumgestellt, damitpython -m unittest discoverdie 5 Tests im CI erkennt (108/108 Tests grün).- Editor-Einstellungen werden nach dem Speichern auf offene Tabs angewendet; der Dialog persistiert jetzt auch „Aktuelle Zeile hervorheben” und aktualisiert Schrift, Tab-Breite, Zeilennummern und Cursor-Markierung unmittelbar.
- Workspace-Exporte redigieren jetzt offene Aufgaben, Projektpfade und aktuelle Analyseprobleme, ohne Secrets oder lokale Vollpfade mitzuschreiben.
WinStorePackager: subprocess-Deadlock behoben —check_callmit PIPE durchsubprocess.run(..., capture_output=True)ersetzt; Exception-Handler liest jetzt immerstderr or stdout.ProfilerBridge: SQLite-Connection-Leak auf Windows geschlossen — alle 6conn.close()-Stellen insearch(),find_duplicates()undget_statistics()verwenden jetzttry/finally.
Die folgenden Einträge dokumentieren eine frühere, inzwischen entfernte Komponente. Sie sind keine aktuelle Produkt- oder Release-Zusage:
- Statischer
web_companion/-MVP mit lokalem JSON-Import, Demo-Fixture, read-only Dashboard,manifest.webmanifest, Service Worker und Node-Tests. web_companion/manifest.webmanifest:idundscopeergänzt.web_companion/sw.js: CACHE_NAME v2 undclients.claim()ergänzt.web_companion/tests/pwa.test.mjs: auf 15 PWA-Tests erweitert (20/20 grün mit library-Tests).
- Erstveröffentlichung / Initial release