All notable changes to this project are documented here.
-
CLI Snapshot Lifecycle, Status Restoration, TOML Parsing & Backup Resilience (SOFTWARE_BUGSEARCH Bugsweep) on 2026-10-18:
- Hardened
command_restore_latestinsrc/safe_start_for_codex/cli.py: after restoring automation TOML files to active state,latest.jsonis updated atomically withphase: "restored",released_idspopulated, and items markedstatus: original,tool_paused: False, andreleased: True, eliminating state desynchronization between disk automations and the snapshot/dashboard; records an audit log toevents.jsonland evaluatesset_status()return value to ensure clean idempotence. - Hardened
quoted_valueandint_valueinsrc/safe_start_for_codex/cli.py: regex pattern now permits leading whitespace (^\s*), properly parsing indented TOML configurations under table headers. - Hardened
set_statusinsrc/safe_start_for_codex/cli.py: preserves existing indentation and updatesstatusandupdated_atin-place on indented TOML files, preventing duplicate key declarations. - Hardened
command_statusinsrc/safe_start_for_codex/cli.py: validates collection types fortool_paused_idsandreleased_idsto preventTypeError: object of type 'int' has no len()crashes on corrupted snapshots. - Hardened
command_backupinsrc/safe_start_for_codex/cli.py: handles consecutive same-second backup invocations by generating collision-resistant numeric suffixes (_1,_2), and cleans up partial directories onOSErrorfailures. - Hardened
_matches_frequency_dayinsrc/safe_start_for_codex/cli.py: resolves negativeBYMONTHDAYvalues (e.g.-1for the last day of a month) forfrequency == "YEARLY"based ondays_in_month, enabling yearly recurrences on negative monthdays. - Hardened
get_dashboard_dataand queue table rendering insrc/safe_start_for_codex/dashboard.py: accurately computesstill_gatedcount via set differenceslen(tool_paused_set - released_set)avoiding underflows from duplicate or foreign released IDs, and renders status badges dynamically inrenderQueueTable. - Added hermetic regression test suite in
tests/test_bugsweep_cli_restore_and_resilience_20261018.py(7 tests, full suite 193/193 passed 100% green). [G 2026-10-18]
- Hardened
-
Visual Four-View Architectural Topology, Level 1 SBOM Stand 2026-10-08 Re-Audit, Discoverability Badges & Contract Test Suite (GITHUBBOT_ONE_REPO_MARKETING_AND_DESIGN / Pfad B) on 2026-10-08:
- Preserved strict version freeze discipline per T-20260920-167562623 (version 1.1.6 unchanged across all runtime manifests, zero version bump).
- Deployed standardized ASCII Four-View Architectural Topology in Section 2 of
README.mdandREADME_de.md([VIEW 1: CLI, TRAY INTERFACES & AUTOMATION SCANNER ANATOMY],[VIEW 2: SNAPSHOT STAGING & STAGGERED GATING PIPELINE],[VIEW 3: PROCESS SUPERVISION, ZOMBIE DEFENSE & CATCH-UP PLANNER],[VIEW 4: RUNASINVOKER NON-ELEVATION, ZERO-EGRESS & AUDIT INTEGRITY]; German:[SICHT 1]..[SICHT 4]) maintaining 100% bilateral parity and anchor preservation for all 18 quick-navigation points (sec-01tosec-18). - Conducted Level 1 SBOM companion re-audit Stand 2026-10-08 in
THIRD_PARTY_LICENSES.txtandTHIRD_PARTY_LICENSES.md: confirmed unprivilegedRunAsInvokeruser-mode non-elevation (INV-SEC-02), Zero-Egress isolation (INV-LOCAL-01), Zero-Copyleft isolation, German statutory disclaimer (§ 521 BGB Gefälligkeitsrecht) and 48h Security Response SLA (INV-SLA-10). - Synchronized documentation, discovery, and test recency: updated Shields.io badges in
README.mdandREADME_de.md(pytest-186 passed | 100% green,Last--Checked-2026--10--08/Geprüft-2026--10--08,third--party licenses-100% audited (2026-10-08)); updatedllms.txtwith Stand 2026-10-08, 186+ passing tests baseline, and ASCII Four-View Topology; logged Pfad B review inMARKETING-LOG.txtSection 8 with 3 concrete non-automated discoverability recommendations (PowerShell Argument Completer, Terminalizer GIF/SVG asset, and WinGet manifest). - Expanded automated contract test suite in
tests/test_version_metadata.py: addedtest_ascii_four_view_topology_bilateral_parity,test_level_1_sbom_currency_20261008,test_marketing_log_section_pfad_b_20261008, andtest_badges_recency_and_test_count_20261008(full test suite expanded to 186 tests, 100% passing). [G 2026-10-08]
-
Web-Dashboard HTTP/API Resilience, Malformed Snapshot/Config Protection & Zombie-Killer Process Verification (SOFTWARE_BUGSEARCH Bugsweep) on 2026-10-03:
- Hardened
get_dashboard_datainsrc/safe_start_for_codex/dashboard.pyagainstNone/malformed snapshot items, catch-up candidate lists, and missing eligible ID arrays, preventing unhandledTypeErrorexceptions. - Wrapped
read_gate_config()inget_dashboard_datawith resilient(SystemExit, Exception)error handling, preventing corrupted or invalidsafe-start-gate.jsonconfiguration files from triggering fatalSystemExitaborts in the long-running web dashboard server. - Fixed RFC 9110 method parity between
do_HEADanddo_GETinDashboardRequestHandler: ensured unknown endpoints return HTTP 404 consistently instead of falsely returning HTTP 200 onHEAD. - Added URL path normalization and trailing-slash tolerance across dashboard endpoints (
/api/status/,/api/queue/,/api/automations/,/api/catchup/,/api/config/). - Decoupled
DashboardRequestHandlerfrom rigid server class assumptions: safely accessesstate_dir_pathviagetattr, preventingAttributeErrorwhen run within standardhttp.serverinstances, and protected socket responses against abrupt client disconnection errors. - Hardened
src/safe_start_for_codex/zombie_killer_integration.py:_read_watch_pid_filenow enforces dictionary structure on JSON payloads, preventingAttributeErroron non-dict inputs;_verify_watch_processvalidates positive PIDs (pid > 0), guarding against built-inValueErrorcrashes frompsutil.Process;build_zombie_killer_statussafely coerces numeric audit log fields (_safe_float,_safe_int) avoidingTypeErrorandValueErroron malformed cycle entries. - Added hermetic regression test suite in
tests/test_bugsweep_dashboard_and_zombie_killer_resilience_20261003.py(10 tests, 181/181 tests passing 100% green). [G 2026-10-03]
- Hardened
-
Bilingual Contributing Guidelines, Level 1 SBOM Re-Audit, Multi-Host Lock Defense, PEP 621 Metadata & Contract Test Expansion (GITHUBBOT_ONE_REPO_CLEANER / Pfad A) on 2026-10-01:
- Preserved strict version freeze discipline per T-20260920-167562623 (version 1.1.6 unchanged across all runtime manifests).
- Deployed comprehensive bilingual
CONTRIBUTING.mdguidelines (EN/DE) detailing all 10 Governance and Runtime Invariants (INV-LOCAL-01throughINV-SLA-10), unprivilegedRunAsInvokermode (INV-SEC-02), Plan D Local Development Workflow (C:\_Local_DEV\repos\safe-start-for-codex), quality gates, and 48h Security Response SLA. - Hardened multi-host cloud-sync and lock defense in
.gitignore: addedLOCK.dev.*,LOCK.antigravity.*,LOCK.bugsearch.*,TASKPLAN_*.md,*-IDEAPAD-GEI*,*-IDEAPAD-GEI.*, andehthumbs.db. - Conducted Level 1 SBOM companion re-audit Stand 2026-10-01 in
THIRD_PARTY_LICENSES.txtandTHIRD_PARTY_LICENSES.md: confirmed unprivilegedRunAsInvokeruser-mode non-elevation, Zero-Egress isolation, zero copyleft constraints, and full compliance with all 10 Governance and Runtime Invariants (INV-LOCAL-01throughINV-SLA-10). - Standardized PEP 621 project URLs under
[project.urls]inpyproject.toml: registeredContributing,Plain-Text License,Plain-Text Licenses, andLevel 1 SBOM. - Synchronized documentation and context parity: updated
Last--Checked-2026--10--01audit badge inREADME.mdandREADME_de.md(all 18 quick-navigation bilateral dual anchors and dual mermaid diagrams intact); updatedllms.txtdiscovery index and test suite counts (167+ tests); documented Pfad A audit inMARKETING-LOG.txt. - Expanded automated contract test suite in
tests/test_version_metadata.py: added contract tests for bilingualCONTRIBUTING.mdparity, 10 invariants, PEP 621 URLs, hardened.gitignorepatterns, and 2026-10-01 Level 1 SBOM audit recency. [G 2026-10-01]
-
Lightweight Local Web Dashboard & Real-Time Gating Visualizer (SOFTWARE_ENTWICKLUNG) on 2026-09-30:
- Implemented standalone local web dashboard module
src/safe_start_for_codex/dashboard.pywithout external dependencies (pure Python standard libraryhttp.server,urllib.parse,json). - Added real-time visualization of Safe Start gating state, live phase tracking, KPI summary metrics (total, active, paused, tool-paused, released), staged release queue progress bar, and overdue catch-up candidates.
- Implemented secure, localhost-bound REST API endpoints:
/api/status,/api/queue,/api/automations,/api/catchup, and/api/configwith strict HTTP security headers (nosniff,DENY,Cache-Control, andContent-Security-Policy). - Registered CLI subcommand
safe-start-for-codex dashboardwith--host,--port(default: 8765), and--open-browserflags. - Added comprehensive test suite in
tests/test_dashboard.pyverifying state reading, snapshot corruption tolerance, zero-egress frontend isolation, live HTTP endpoints, HEAD method support, 404 handling, and CLI parser registration (6 tests, 167/167 tests passing 100% green). [G 2026-09-30]
- Implemented standalone local web dashboard module
-
RRULE Monthly/Yearly BYDAY Positional Ordinals & TOML Parsing/Update Resilience (SOFTWARE_BUGSEARCH Bugsweep) on 2026-09-28:
- Fixed functional flaw in
_matches_frequency_day: Monthly recurrence schedules utilizingBYDAY(e.g.BYDAY=1MO,BYDAY=-1FR,BYDAY=MO) without explicitBYMONTHDAYwere erroneously defaulting tostart.dayas the required day-of-month, preventing execution except on rare months where the target weekday coincided with the event's creation day. - Implemented
_parse_byday_tokenand_resolve_monthly_bydaysupporting RFC 5545 ordinal prefixes (+1,+2,-1,-2, etc.) and resolving exact calendar days within any month/year for bothMONTHLYandYEARLYrecurrence rules. - Hardened
quoted_value,int_value, andset_statusinsrc/safe_start_for_codex/cli.pyagainst single-quoted strings (status = 'ACTIVE') and trailing inline comments (# ...), preventingload_automationsfrom skipping active automations and preventingset_statusfrom corruptingautomation.tomlwith duplicate status keys. - Added hermetic regression test suite in
tests/test_bugsweep_rrule_monthly_byday_and_toml_resilience_20260928.py(6 tests, 135/135 tests passing 100% green). [G 2026-09-28]
- Fixed functional flaw in
-
Repository Hygiene, CI Lifecycle Workflows, Lock Defense, PEP 621 Metadata & Contract Test Expansion (GITHUBBOT_ONE_REPO_CLEANER / Pfad A) on 2026-09-26:
- Preserved strict version freeze discipline per T-20260920-167562623 (version 1.1.6 unchanged across all runtime manifests).
- Deployed full CI/CD lifecycle workflow provisioning & hardening: added
.github/workflows/auto-assign.yml(timeout-minutes: 5, concurrency cancel-in-progress: true, least-privilegeissues: write,pull-requests: write, actions/github-script@v7) and.github/workflows/label-sync.yml(timeout-minutes: 5, concurrency cancel-in-progress: true, least-privilegeissues: write, EndBug/label-sync@v2); added canonical.github/labels.ymlwith 11 standard governance labels per GOVERNANCE.md §4.2. - Hardened
.gitignorewith multi-host cloud-sync patterns (*-MacBook*,*-IDEAPAD*,*_WORKSTATION*,*_WORKSTATION-LG*,*-WORKSTATION-LG.*), canonical locks (LOCK.user.*,LOCK.until.*,LOCK.condition.*,.automation-lock), test/coverage cache boundaries (.pytest_temp/,.pytest_tmp*/,.tox/), and OS/editor artifacts (Desktop.ini,*.swo). - Standardized PEP 621 metadata in
pyproject.toml: includedTHIRD_PARTY_LICENSES.txtinlicense-filesalongsideLICENSE,NOTICE, andTHIRD_PARTY_LICENSES.md; hardened[tool.pytest.ini_options]with extendednorecursedirsprotecting against cache contamination. - Conducted Level 1 SBOM re-audit in
THIRD_PARTY_LICENSES.mdandTHIRD_PARTY_LICENSES.txt(Stand 2026-09-26): confirmed unprivilegedRunAsInvokeruser-mode non-elevation, Zero-Egress isolation, zero copyleft constraints, and compliance with all 10 Governance and Runtime Invariants (INV-LOCAL-01throughINV-SLA-10). - Synchronized documentation parity: updated Last-Checked audit badge to 2026-09-26 in
README.mdandREADME_de.md(all 18 quick-navigation bilateral dual anchors and dual mermaid diagrams intact); updatedllms.txtdiscovery index and test suite counts. - Expanded automated contract test suite in
tests/test_version_metadata.pyandtests/test_security_license_contract.pyverifying auto-assign and label-sync workflow attributes, labels.yml standard labels, expanded gitignore patterns, PEP 621 license files, and Level 1 SBOM recency. [G 2026-09-26]
-
RRULE Whitespace & Case Resilience and Negative Monthday Recurrence Support (SOFTWARE_BUGSEARCH Bugsweep) on 2026-09-23:
- Hardened
parse_rruleagainst leading/trailing whitespace and spaces surrounding delimiters (;,=), ensuring RRULE properties likeINTERVALand recurrence values are reliably parsed into integers instead of silently defaulting. - Added case-insensitive handling for
rrule:prefix with optional whitespace inparse_rrule. - Added RFC 5545 negative
BYMONTHDAYsupport (-1,-2, etc.) in_matches_frequency_dayfor monthly recurrence calculations, accurately calculating dates relative to the end of the month (e.g. Sept 30, Oct 31, Feb 28/29). - Added regression unit tests in
tests/test_cli.pycovering whitespace/case resilience inparse_rruleand negativeBYMONTHDAYresolution inrrule_next_after(126/126 tests passing 100% green). [G 2026-09-23]
- Hardened
-
Synthetic Codex Automation Collection Integration & Stress Testing Suite (SOFTWARE_ENTWICKLUNG) on 2026-09-22:
- Added dedicated integration test suite in
tests/test_synthetic_collections.pyverifying Safe Start for Codex gating behavior on large, heterogeneous automation collections (124/124 tests passing). - Validated loading, metadata fidelity, and unique path resolution for 55 multi-frequency synthetic automations across all 6 RRULE intervals (MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY) with mixed lifecycle statuses (ACTIVE, PAUSED, DISABLED).
- Verified batch queue splitting (
split_release_queue) and pacing dynamics on 38 active jobs, ensuring deterministic partitioning into future-safe and fallback queues based on lead intervals. - Implemented end-to-end
SafeStartGatelifecycle simulation verifying atomic pause snapshotting, staged release, and selective restoration preserving pre-existing PAUSED and DISABLED states (INV-RESTORE-04,INV-FILE-03). - Added integration tests for SQLite-based catch-up report generation (
build_catchup_report), validating overdue detection for rare tasks (>24h period) and per-start limits without triggering external execution (INV-CATCH-05,INV-LOCAL-01). - Hardened resilience and fail-closed safety (
INV-FAIL-08) against malformed, unparseable, and empty RRULE strings as well as international Unicode folder names and German umlauts. - Initialized project-level
AUFGABEN.txtand completed open roadmap item inMARKETING-LOG.txt. [G 2026-09-22]
- Added dedicated integration test suite in
-
Discoverability, 18-Point Bilingual Dual-Anchor Navigation, Level 1 SBOM Invariant Matrix & Contract Parity (GITHUBBOT_ONE_REPO_MARKETING_AND_DESIGN / Pfad B) on 2026-09-21:
- Saturated GitHub topics to 20/20 maximum:
automation,codex,openai,startup,windows,safe-start,codex-cli,developer-tools,system-tray,desktop-app,dev-bricks,open-bricks,local-first,zero-egress,offline-first,process-hygiene,python,process-supervision,scheduler,rate-limiting. - Added canonical root
NOTICEattribution file (Lukas Geiger, dev-bricks, open-bricks) referenced acrosspyproject.toml,THIRD_PARTY_LICENSES.md,THIRD_PARTY_LICENSES.txt, and documentation badges. - Standardized PEP 621 metadata in
pyproject.tomlwithlicense-files = ["LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md"], full 20-topickeywordsarray, and canonicalNoticeURL in[project.urls]. - Upgraded documentation across
README.mdandREADME_de.mdto standardized 18-point quick navigation with 100% bidirectional reciprocal dual HTML anchors (<a id="sec-01"></a><a id="..."></a><a id="..."></a>). - Added Section 6: 10-Dimension 5-Way Comparative Matrix evaluating Safe Start for Codex against native Codex, Windows Task Scheduler, custom scripts, and heavy enterprise APMs across all 10 governance invariants (
INV-LOCAL-01toINV-SLA-10). - Formalized 4 target personas
[PERSONA-01]through[PERSONA-04]and curated bilingual search queries in Section 5. - Added Section 18: Statutory Notice (§ 521 BGB Gefälligkeitsrecht) clarifying free open-source liability limitations, fair-use trademark disclaimer for OpenAI/Codex, and binding 48-hour response SLA / 5-business-day triage commitment.
- Enriched
THIRD_PARTY_LICENSES.mdwith Level 1 SBOM audit recency (2026-09-21) and Section 6 Invariant Cross-Reference Matrix mappingINV-LOCAL-01..INV-SLA-10to enforcing modules and contract test suites. - Synchronized
llms.txtdiscovery index and Shields.io badge row with Attribution NOTICE, Level 1 SBOM audit date, and 18-point dual-anchor navigation parity. - Enriched local
MARKETING-LOG.txtwith Stand 2026-09-21 marketing and design audit entry. [G 2026-09-21]
- Saturated GitHub topics to 20/20 maximum:
-
Process Discovery, Zombie Detection & Companion Path Resolution Parity (SOFTWARE_BUGSEARCH Bugsweep) on 2026-09-19:
- Fixed false-negative process matching in
matches_codex_executablewhen desktop Codex command lines are quoted (e.g."<path>\Codex.exe" --type=renderer), ensuring sandboxed child processes (renderers, GPU, utilities) with restricted tokens and emptyExecutablePathare properly recognized. - Prevented false-positive zombie detection in
cleanup_start_blockersthat misclassified live Codex user sessions older than 120 seconds as zombies without active renderers and terminated running instances. - Normalized path separators in
is_companion_orphanso that Node.js / npm companion processes reporting forward slashes (/npm/node_modules/@openai/codex) are accurately detected. - Added dedicated regression unit tests in
tests/test_cli.pycovering quoted executable matching, active session preservation with sandboxed renderers, and companion orphan slash normalization (109/109 pytest tests passing 100% green). [G 2026-09-19]
- Fixed false-negative process matching in
-
Technical Hygiene, CI Workflow Hardening, Pytest Guardrails, Multi-Host Sync Defense & Contract Parity (GITHUBBOT_ONE_REPO_CLEANER / Pfad A) on 2026-09-16:
- Bumped version to
1.1.6acrosspyproject.toml,src/safe_start_for_codex/__init__.py,README.md,README_de.md,RELEASES.md,MARKETING-LOG.txt, andllms.txt. - Hardened GitHub Actions CI workflows: added
timeout-minutes: 15to.github/workflows/ci.ymland.github/workflows/source-platform-smoke.yml; deployed automated.github/workflows/stale.yml(cron30 1 * * *, actions/stale@v9,timeout-minutes: 10,cancel-in-progress: true, least-privilegeissues: write,pull-requests: write) and.github/workflows/welcome.yml(actions/first-interaction@v3,timeout-minutes: 5,cancel-in-progress: true, least-privilegeissues: write,pull-requests: write). - Hardened
.gitignorewith comprehensive multi-host conflict patterns (*conflicted copy*,* (Kopie)*,* (Copy)*,*-ASUS*,*-LAPTOP*,*-Mac Studio*), multi-agent lock protection (!package-lock.json), and build/testing cache boundaries (.hypothesis/,.turbo/,.nyc_output/,*.orig,*.rej). - Standardized pytest configuration guardrails in
pyproject.tomlwithminversion = "7.0"andnorecursedirs = [".git", ".pytest_cache", "__pycache__", "build", "dist"]. - Re-audited
THIRD_PARTY_LICENSES.md(Stand 2026-09-16, version 1.1.6) with zero runtime dependencies, RunAsInvoker unprivileged execution, zero copyleft, and full 10 governance invariant compliance (INV-LOCAL-01toINV-SLA-10). - Expanded automated contract test suite in
tests/test_version_metadata.pyandtests/test_security_license_contract.pywith contract tests for CI workflow timeouts, stale/welcome automation, multi-host gitignore defense, and pytest configuration guardrails. [G 2026-09-16]
- Bumped version to
- Discoverability, 15-Point Quick Navigation, Third-Party License Inventory, Invariant Matrix & Contract Parity (GITHUBBOT_ONE_REPO_MARKETING_AND_DESIGN / Pfad B) on 2026-09-11:
- Upgraded to standardized 15-point Quick Navigation (
🧭 Quick Navigation/🧭 Schnellnavigation) acrossREADME.mdandREADME_de.mdwith 100% bidirectional anchor parity (#13-third-party-licenses--transparency/#13-drittanbieter-lizenzen--transparenz,#14-marketing--target-personas/#14-marketing--zielgruppen,#15-development-security--license/#15-entwicklung-sicherheit--lizenz). - Added dedicated
THIRD_PARTY_LICENSES.mdinventory detailing 100% permissive open-source license status across core, optional, development, and build dependencies with zero copyleft restrictions. - Codified 10 canonical Governance & Runtime Invariants (
INV-LOCAL-01throughINV-SLA-10) across documentation, local marketing logs, and automated contract tests. - Enriched
MARKETING-LOG.txtwith 4 comprehensive target personas (Codex Desktop power users, autonomous multi-agent swarm operators, DevOps/SREs, enterprise compliance auditors), bilingual search queries, a 5-way competitive differentiation matrix, and sibling tool mapping. - Extended PEP 621 project URLs in
pyproject.tomlwith"Third-Party Licenses","Marketing Log", and"LLM Ready". - Bumped version to
1.1.5acrosspyproject.toml,src/safe_start_for_codex/__init__.py,README.md,README_de.md,RELEASES.md,MARKETING-LOG.txt, andllms.txt. - Added modern Shields.io badges for Security SLA (48h/5d triage), Third-Party Licenses (100% audited), and Marketing Log (active).
- Synchronized
llms.txtdiscovery index with updated version (1.1.5), verification date (2026-09-11), and documentation pointers. - Expanded automated contract test suite with contract tests for 15-point navigation, invariant IDs, PEP 621 extended URLs, third-party license audit files, and marketing log structure. [G 2026-09-11]
- Upgraded to standardized 15-point Quick Navigation (
- Catchup State Analysis & Thread Title/Name Resolution Parity (SOFTWARE_BUGSEARCH Bugsweep) on 2026-09-14:
- Fixed false-negative thread run detection in
read_observed_runs_from_stateby supporting thenamecolumn as fallback whentitleis empty or omitted in Codex Desktop'sstate_5.sqlite. - Allowed SQLite
threadstables exposing eithertitleorname(or both) alongside thread ID and timestamp columns, recovering over 340+ previously missed automation runs on production systems. - Prevented erroneous
missed=Trueflags inbuild_catchup_reportcaused by undetected recent thread runs, eliminating unintended startup catch-up releases for already active automations. - Added dedicated regression unit tests in
tests/test_cli.pycovering title-to-name fallback and name-only SQLite schema compatibility (104/104 pytest tests passing 100% green). [G 2026-09-14]
- Fixed false-negative thread run detection in
- SafeStartGate Restore Lifecycle, Snapshot Integrity & Tray Status Synchronization (SOFTWARE_BUGSEARCH Bugsweep) on 2026-09-13:
- Fixed false-positive release messaging in
SafeStartGate.status_text(), ensuring that restored or aborted gates explicitly report"Original automation state restored..."instead of claiming all automations have been released. - Guarded
SafeStartGate.restore()to prevent overwriting"finished"execution snapshots when the gate has already completed its scheduled releases normally. - Synchronized Windows taskbar notification tooltip in
command_trayupon user restore, during setup, and upon background updater termination. - Added robust type validation in
command_statusandcommand_restore_latestagainst non-dict JSON payloads, preventing unhandledAttributeErrorcrashes. - Expanded regression test suite in
tests/test_cli.pyto 102 passing tests (100% green). [G 2026-09-13]
- Fixed false-positive release messaging in
-
Technical Hygiene, CI Compilation Gate, Standardized Pytest Flags & Contract Suite (GITHUBBOT_ONE_REPO_CLEANER / Pfad A) on 2026-09-10:
- Bumped version to 1.1.4 across
pyproject.toml,src/safe_start_for_codex/__init__.py,README.md,README_de.md,RELEASES.md,MARKETING-LOG.txt, andllms.txt. - Comprehensive
.gitignorehardening against multi-host sync conflicts (*-conflict-*,*.sync-conflict-*,*.conflict,*-CONFLIT-*,*.sync-temp-*,*-ASUS-GEI.*,*-WORKSTATION-LG.*,*-WORKSTATION.*,* (kopie)*,* (copy)*), multi-agent locks (LOCK,LOCK.*,*.lock,LOCK*.txt,LOCK.permissions.json,uv.lock), coverage/packaging caches (coverage/,htmlcov/,.coverage,.coverage.*,wheelhouse/,.wheel-smoke/), and temporary editor files (*.tmp,*.bak,*.swp,*~,*.log). - Standardized pytest execution options in
pyproject.tomlwithaddopts = "-ra -v". - Hardened GitHub Actions CI workflows (
.github/workflows/ci.ymland.github/workflows/source-platform-smoke.yml) with automated bytecode compilation check (python -m compileall -q src tests) and standardized pytest execution (pytest -ra -v). - Expanded automated contract test suite in
tests/test_version_metadata.pywith 4 new contract tests (test_gitignore_hygiene_patterns,test_pytest_configuration_and_flags,test_ci_workflow_pytest_flags,test_changelog_recent_pfad_a_entry) to 91 passing tests (100% green). - Synchronized
llms.txtverification timestamp (2026-09-10), version (1.1.4), and test suite count. [G 2026-09-10]
- Bumped version to 1.1.4 across
-
Hardened startup cleanup lockfile supervision in
cleanup_start_blockers:- Resolved false negative in dry-run mode (
--dry-run) where stale lockfiles were not reported when zombie main processes were present. - Guarded lockfile unlinking during active cleanup runs to prevent deleting the lockfile when any Codex main process failed to terminate, preventing multi-instance concurrency collisions and data corruption.
- Accurately flagged
CleanupResult.stale_lockfilewhen all detected main processes are stale zombies. - Added dedicated regression tests for dry-run reporting, successful unlinking, and failure preservation (87/87 pytest tests passing 100% green). [G 2026-09-09]
- Resolved false negative in dry-run mode (
-
Hardened SafeStartGate Lifecycle & Recurrence Pacing Engine (SOFTWARE_BUGSEARCH Bugsweep) on 2026-09-11:
- Made
SafeStartGate.release_item,SafeStartGate.restore, andSafeStartGate.pause_activeresilient against missing or moved automation files and transientOSErrorfile mutations, preventing premature termination of the staggered release loop and avoiding permanentPAUSEDdeadlocks on remaining automations. - Enforced
allowed_days(e.g.BYDAY=MO,TU,WE,TH,FR) inrrule_occurrences_betweenforHOURLYrecurrences, preventing false weekend occurrences in catch-up report generation and incorrect early release queue prioritization. - Validated standard
FREQrecurrence tokens inrrule_next_after, returningNonefor invalid or unknown recurrence rules and routing malformed tasks to safe fallback rather than synthesizing erroneous future execution timestamps. - Reused unified path resolution helper
resolve_automation_pathacrossSafeStartGatemethods andcommand_restore_latest. - Added dedicated regression test suite in
tests/test_cli.pycovering missing file handling, partial failure recovery, RRULE token validation, and weekday-filtered hourly intervals (96/96 pytest tests passing 100% green). [G 2026-09-11]
- Made
-
Discoverability, Visual Architecture, Governance Matrix & Contract Tests (GITHUBBOT_ONE_REPO_MARKETING_AND_DESIGN / Pfad B) on 2026-09-08:
- Implemented standardized 14-point Quick Navigation (
🧭 Quick Navigation/🧭 Schnellnavigation) acrossREADME.mdandREADME_de.mdwith explicit functional anchor links and bilingual language switchers. - Added dual interactive Mermaid diagrams: System Architecture flowchart (
graph TB) covering Control Interfaces, Gating Core, and Codex Target Environment, and an Execution Lifecycle sequence diagram (sequenceDiagram) detailing startup gating, atomic snapshot backups, zombie process supervision, and staggered background releases. - Formulated 10 Core Governance & Runtime Invariants Matrix (Local-First & Zero Egress, Non-Elevation, Snapshot-Before-Mutation, Selective Restoration Guard, Conservative Catch-Up Policy, Targeted Process Supervision, Atomic TOML Serialization, Fail-Closed Diagnostics, Dual-Platform Architecture, Ecosystem Parity).
- Expanded Sibling Tools & Ecosystem Cross-Integration Matrix across 12 companion projects (
dev-bricks,ellmos-ai, andopen-bricks). - Hardened GitHub Actions CI (
.github/workflows/ci.yml) with automatedpipcaching (cache: 'pip'). - Strengthened bilingual
SECURITY.mdwith precise 48h acknowledgment and 5-business-day triage SLA commitments. - Expanded automated contract test suite in
tests/test_version_metadata.pywith tests for 14-point navigation anchors, dual Mermaid diagrams, governance invariants table, ecosystem cross-links, and security SLA commitments (84/84 pytest tests passing 100% green). - Synchronized Shields.io badges,
llms.txt, and localMARKETING-LOG.txt. [G 2026-09-08]
- Implemented standardized 14-point Quick Navigation (
-
Technical Hygiene, Multi-OS CI Matrix & Contract Test Suite (GITHUBBOT_ONE_REPO_CLEANER / Pfad A) on 2026-08-24:
- Hardened GitHub Actions CI workflows (
.github/workflows/ci.ymland.github/workflows/source-platform-smoke.yml) with concurrency groups (cancel-in-progress: true), multi-version Python matrix testing (Python 3.11, 3.12, 3.13), and automatedruff check .linting gate before test execution. - Expanded
pyproject.tomlwith PEP 621 classifiers (Environment :: Console,Environment :: MacOS X,Environment :: X11 Applications,Operating System :: OS Independent,Operating System :: POSIX :: Linux,Operating System :: MacOS,Programming Language :: Python :: 3.13,Topic :: Desktop Environment),devdependencies (ruff>=0.5.0), and full[project.urls](Bug Tracker,Parent Organization,Umbrella Ecosystem). - Enriched bilingual
SECURITY.mdwith Supported Versions table (1.1.x) and full official security contacts (security@ellmos.ai,security@open-bricks.org,support@lukasgeiger.com,lukas@open-bricks.org). - Refreshed direct dependency license inventory
THIRD_PARTY_LICENSES.txtwith 2026-08-24 verification timestamp andrufflicense metadata. - Expanded automated contract test suite in
tests/test_security_license_contract.py,tests/test_third_party_licenses.py, andtests/test_version_metadata.pywith CI concurrency, ruff lint gate, CLI parser subcommand registry, and README/README_de bilingual section parity validation (79/79 pytest tests passing 100% green). - Synchronized Shields.io test badges and
llms.txtverification timestamp (2026-08-24). [G 2026-08-24]
- Hardened GitHub Actions CI workflows (
-
Technical Hygiene, Security & License Audit (SOFTWARE_SECURITY_LICENSE_AUDIT) on 2026-08-23:
- Hardened dependency floors in
pyproject.toml(pytest>=9.1.1to prevent GHSA-6w46-j5rx-g56g / CVE-2025-7117,pystray>=0.19.5) and expanded project URLs (Documentation,Repository,Changelog,Security). - Enriched bilingual
SECURITY.mdwith official reporting guidelines, direct security contacts (security@ellmos.ai,support@lukasgeiger.com), local-first & zero-egress architecture guarantees, unprivileged user-mode execution, and non-destructive atomic file safeguards. - Updated
THIRD_PARTY_LICENSES.txtwith refreshed inventory timestamp (2026-08-23), hardened dependency constraints, and full transitive build/test package inventory (altgraph,pyinstaller-hooks-contrib,pluggy,iniconfig,packaging,colorama). - Strengthened
.gitignorewith sync conflict patterns (*-WORKSTATION-LG*,*.conflict,*.sync-conflict-*) and removed stale OneDrive conflict files. - Added comprehensive security & license contract test suite
tests/test_security_license_contract.pyverifying dependency vulnerability floors, license metadata, bilingual security policy, repo hygiene, PEP 621 URLs/classifiers, and zero plaintext secrets or hardcoded user paths (76/76 pytest tests passing 100% green). [G 2026-08-23]
- Hardened dependency floors in
-
Fixed
rrule_next_afterand_matches_frequency_dayforFREQ=DAILYandFREQ=WEEKLYwithINTERVAL > 1: DAILY and WEEKLY recurrences are now properly evaluated with day-by-day frequency matching and Monday-aligned calendar weeks rather than skipping interval checks in the cursor loop or misaligning mid-week anchor intervals. -
Hardened
command_restore_latestto evaluate automationoriginal_statuscase-insensitively (supporting lowercase"active"TOML status) and added fallback path resolution viaautomations_dir(). -
Added regression tests for DAILY/WEEKLY intervals, calendar week alignment, and case-insensitive restore handling (70/70 pytest tests passing). [G 2026-08-21]
-
Fixed recurrence calculation in
rrule_next_afterforFREQ=MONTHLYandFREQ=YEARLYso explicitBYMONTHDAY/BYMONTHrules anddtstartanchors are respected instead of incorrectly matching tomorrow or aborting at a 14-day limit. -
Handled missing automations directory in
command_backupwith a clear error message instead of raising unhandledFileNotFoundError. -
Windows Store installations now classify both the
ChatGPT.exehost and childcodex.exeapp-server as one Codex process family. Startup cleanup no longer proposes terminating the live Store app-server after the zombie age threshold when a renderer is active. -
Source Platform Smoke now installs the
trayextra on Linux and macOS. The tray test mockspystraybut draws the fallback icon for real, so Pillow has to be present; without itcommand_trayreturned 1 and the workflow had been red on every push since 2026-08-01. -
Kept
statusreadable when a historical Safe Start snapshot exists but the configured Codex home has no automations directory yet: the command now prints the snapshot plus a clear unavailable-state message and exits with code 1 instead of propagatingSystemExit.
- Discoverability, README-Design, Badges & Metadata Parity Check (Pfad B) on 2026-08-16: synchronized testsuite badge to 66 passed (55 unit/regression/metadata + 11 platform smoke), added version and ecosystem (
dev-bricks,open-bricks) badges, added interactive bilingual Mermaid system architecture diagrams, expanded sibling tools ecosystem cross-references (CareCenter-for-Codex,CodeBox,companion-for-agy,automation-master,WikiStub-Seed,MethodenAnalyser), implemented automated metadata & manifest parity test suite (tests/test_version_metadata.py), added ruff configuration inpyproject.toml, and refreshedllms.txtverification timestamps and test counts. [G 2026-08-16] - Technical Hygiene & Maintenance Check (Pfad A) on 2026-08-14: configured pytest discovery for cross-platform smoke tests in
pyproject.toml(58/58 passed), resolved ruff unused import diagnostics, added sys.path fallback for standalone smoke test script execution, and refreshed README/README_de/llms.txtverification status and timestamps. [G 2026-08-14] - SOFTWARE GITHUB check on 2026-08-12: stopped tracking internal maintainer
artefacts (
BEFUNDE.md,TASKPLAN_STATUS_*.md), hardened.gitignorefor local verification files, and refreshed README/README_de/llms.txtplus the Plan-D/release pointer documents after a clean verification run. - SOFTWARE GITHUB check on 2026-08-07: fast-forwarded the verified local
Plan-D clone to
origin/main, refreshed README/README_de/llms.txtverification timestamps and pytest badge counts (45 unit tests, 11 source platform smoke tests), and updatedPLAN_D_POINTER.mdplusRELEASES.mdto the current HEAD/tag-readback state. - Technical Hygiene & Maintenance Check (Pfad A) on 2026-08-04: refreshed
llms.txtand README timestamps (2026-08-04), verified full unit test suite (44 passed) and source-platform smoke test suite (11 passed, total 55/55 passed 100% green), verifiedcompileall. [G 2026-08-04] - Maintainer verification on 2026-08-01 passed the full suite (44 tests), the
separate source-platform smoke suite (11 tests), and
compileall; refreshed verification dates in the README files andllms.txt, and advanced the Plan-D pointer to the current synchronizedmainHEAD. No code or release artifact was changed. - Refreshed
llms.txtheader (Last-checked: 2026-07-30), addedopen-bricksecosystem badges toREADME.mdandREADME_de.md, and verified 44 passing pytest tests. [G 2026-07-30] - Conducted Path B Discoverability & SEO audit, added ecosystem cross-links (
CareCenter-for-Codex,CodeBox,companion-for-agy,ellmos-filecommander-mcp) and verification timestamps toREADME.mdandREADME_de.md. - Refreshed
llms.txtheader (Last-checked: 2026-07-26) and verified 44 passing pytest test suite execution. - Added Mermaid system flow diagrams to
README.mdandREADME_de.md. - Added Shields.io status badges and AI/LLM integration callouts (
> [!NOTE]) toREADME.mdandREADME_de.md.
- Raised the optional tray dependency floor for Pillow to
>=12.2.0after OSV reported advisories for the previous>=10.0lower bound.
- Technical hygiene audit: verified test suite (36/36 passed), updated
llms.txtLast-checkedtimestamp to 2026-07-25, trackedPLAN_D_POINTER.mdasset inventory documentation. - Added
THIRD_PARTY_LICENSES.txtfor direct build, tray, and development dependency license metadata. - Documented visible tray failure reporting and ignored local project lock files.
- Added README/README_de discovery context for exact
dev-bricks/safe-start-for-codexsearch phrases and Codex Desktop startup-gate disambiguation. - Added workflow badges and refreshed
llms.txtwithLast-checked, audience, search phrases, and source-platform smoke context. - Standardized
llms.txt: movedLast-checkedto## Last-checked:header at line 1 (llms.txt format convention). - Added
docs/superpowers/to.gitignore(Claude Code plugin artifacts).
- Use the existing atomic JSON writer for
config-initand catch-up plan state files, so interrupted writes do not leave partial local Safe Start state. - Made tray worker
SystemExitfailures visible through the Safe Start event log and notifications instead of letting the background thread die silently. - Made the windowed tray EXE leave startup-error logs under
C:\_Local_DEV\codex-safe-start\logsinstead of failing silently. - Updated
build_exe.batto install and bundle PyStray/Pillow tray dependencies explicitly. - Made tray status text clearer when nothing is currently gated or when all gated automations have already been released, so users do not see confusing
0/0progress wording.
- Cross-platform smoke tests (
tests/source_platform_smoke.py) for rrule, config, TOML, and catchup logic on macOS and Linux. - GitHub Actions workflow
source-platform-smoke.ymlrunning on ubuntu-latest and macos-latest. PORTIERUNGSPLAN.mddocumenting the Windows-first platform boundary.
- Fixed direct execution of
tray_app.pyso the windowed EXE entrypoint can import the package CLI without a parent package context.
- Isolated the Windows EXE build from inherited
PYTHONPATHentries and bundled the Safe Start icon.
- Added a windowed tray entrypoint and reproducible
build_exe.batfor the desktop shortcut EXE.
config.jsonsupport withconfig-initandconfig-showcommands.- Configurable startup release count, release interval, startup delay, launch, cleanup, and catch-up settings.
- Read-only
catchup-plancommand for rare schedules that appear to have missed a due run. - Optional catch-up prioritization during Safe Start runs, without triggering Codex Desktop's manual "Run now" action.
- Initial public source release.
- Windows startup gate for local Codex Desktop automations.
- Dry-run, status, backup, restore, foreground, and tray commands.
- Upstream issue draft and solution concept.
- Test coverage for TOML status changes and recurrence queue behavior.