diff --git a/CHANGELOG.md b/CHANGELOG.md index 7df54e0..e4b82cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ ## [Unreleased] +### Changed +- Turnusgemäße Profil-Gesundheits- und Discoverability-Prüfung (`[GITHUBBOT_ORGA_README_MD_STARTSEITE_HEALTH]`) für doc-bricks durchgeführt. +- Synchronized public repository verification date to `2026-11-02` across `README.md`, `profile/README.md`, `profile/README_de.md`, and `llms.txt`. +- Fixed MailProcessor showcase banner image URL in `profile/README.md` and `profile/README_de.md` (resolved 404 by directing to raw GitHub usercontent). +- Harmonized showcase banner layout across organization profiles to 700px width with modern 16px vertical spacing. +- Refreshed "Current Public Activity Snapshot" ("Aktueller öffentlicher Aktivitäts-Snapshot") with latest live UTC `pushed_at` timestamps across all 12 public repositories (reflecting recent updates across 7 software repositories from 2026-10-31 to 2026-11-02). +- Updated automated contract test suite in `tests/test_profile_parity.py` with refreshed verification timestamp parity and added showcase banner URL contract test. + ### Changed - Refreshed the public repository index, bilingual activity snapshots, and LLM context against the live GitHub inventory on 2026-10-13; all 12 active public repositories remain represented. - Replaced the absolute-local-data badge and wording with accurate local-first language for optional Gmail/IMAP integrations. diff --git a/README.md b/README.md index b81c960..2763476 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Ecosystem: ellmos-ai Focus Local-first privacy - Verified 2026-10-13 + Verified 2026-11-02 LLM Context German Version

@@ -22,7 +22,7 @@ The public repository directory is maintained against the public GitHub organiza ## Current Public Index -Verified: 2026-10-13. The public doc-bricks organization currently exposes 12 public repositories: this `.github` profile repository plus 11 public product/tool repositories. +Verified: 2026-11-02. The public doc-bricks organization currently exposes 12 public repositories: this `.github` profile repository plus 11 public product/tool repositories. | Repository | Role | |---|---| diff --git a/llms.txt b/llms.txt index 9ac922b..5c5c8c1 100644 --- a/llms.txt +++ b/llms.txt @@ -6,7 +6,7 @@ Canonical organization: https://github.com/doc-bricks Organization profile repository: https://github.com/doc-bricks/.github Related suite entry points: https://github.com/open-bricks, https://github.com/ellmos-ai, https://github.com/file-bricks, https://github.com/dev-bricks, https://github.com/research-line, https://github.com/biotec-line, https://github.com/entertain-and-more, https://github.com/assistassets-ai, https://github.com/um-bruch, https://github.com/lukisch -Public repository directory updated: 2026-10-13. The public organization profile lists public GitHub repositories only; private or internal repositories are intentionally excluded from this crawler context. Current public count: 12 repositories total, including `.github` plus 11 public product/tool repositories. Live push activity verified on 2026-10-13 across all repositories. +Public repository directory updated: 2026-11-02. The public organization profile lists public GitHub repositories only; private or internal repositories are intentionally excluded from this crawler context. Current public count: 12 repositories total, including `.github` plus 11 public product/tool repositories. Live push activity verified on 2026-11-02 across all repositories. ## Primary repositories diff --git a/profile/README.md b/profile/README.md index 6b956e7..da958b0 100644 --- a/profile/README.md +++ b/profile/README.md @@ -14,14 +14,14 @@ Ecosystem: ellmos-ai Focus Local-first privacy - Verified 2026-10-13 + Verified 2026-11-02 LLM Context German Version

> [!NOTE] > **Local-First & LLM-Ready:** Document libraries, PDFs, and notes are processed locally. Optional mail integrations connect to the Gmail or IMAP provider you configure. Machine-readable context is available in [`llms.txt`](https://github.com/doc-bricks/.github/blob/main/llms.txt) for LLM agents and crawlers. -> Public index verified against live GitHub API: **2026-10-13**. +> Public index verified against live GitHub API: **2026-11-02**. > [!TIP] > **Deutsche Version:** Eine deutschsprachige Übersetzung dieser Organisations-Startseite finden Sie unter [`profile/README_de.md`](https://github.com/doc-bricks/.github/blob/main/profile/README_de.md). @@ -107,17 +107,17 @@ flowchart TD Our local-first document toolset — the banners are the links; details in the table below:

- CleanMarkdown - DokuReader - DokuZen - LitZentrum - llm-note - MailProcessor - MediaBrain - PDFtoPDFocr - UniversalDocsGrabber - UniversalInvoiceMail - UniversalMailCleaner + CleanMarkdown + DokuReader + DokuZen + LitZentrum + llm-note + MailProcessor + MediaBrain + PDFtoPDFocr + UniversalDocsGrabber + UniversalInvoiceMail + UniversalMailCleaner

More repositories without their own artwork yet: **[.github](https://github.com/doc-bricks/.github)** (organization profile and shared community-health files) @@ -126,7 +126,7 @@ More repositories without their own artwork yet: **[.github](https://github.com/ ## Public Repository Directory -This index covers every public doc-bricks repository visible on GitHub as of **2026-10-13**. Private or internal repositories are intentionally not listed on the public organization profile. +This index covers every public doc-bricks repository visible on GitHub as of **2026-11-02**. Private or internal repositories are intentionally not listed on the public organization profile. | Repository | Role | Discovery notes | |---|---|---| @@ -147,22 +147,22 @@ This index covers every public doc-bricks repository visible on GitHub as of **2 ## Current Public Activity Snapshot -Live activity verified via GitHub API on **2026-10-13**. Dates are the UTC day of the API's `pushed_at` field: +Live activity verified via GitHub API on **2026-11-02**. Dates are the UTC day of the API's `pushed_at` field: | Repository | Last Public Push (UTC) | Focus & Navigation Purpose | |---|---:|---| -| **[DokuReader](https://github.com/doc-bricks/DokuReader)** | **2026-10-13** | Local-first document library with topic organization, previews, reading state, PDF bundles, and metadata-only JSON export | -| **[llm-note](https://github.com/doc-bricks/llm-note)** | **2026-10-13** | Local-first SQLite notebook for people, with AI-assisted writing and plain-text notebooks | -| **[UniversalDocsGrabber](https://github.com/doc-bricks/UniversalDocsGrabber)** | **2026-10-13** | Local-first IMAP/Gmail attachment intake with OCR, PDF conversion, deduplication, and review workflows | -| **[MediaBrain](https://github.com/doc-bricks/MediaBrain)** | **2026-10-12** | Local PySide6 media library with smart playlists, provider detection, tags, blacklist, and private SQLite storage | -| **[MailProcessor](https://github.com/doc-bricks/MailProcessor)** | **2026-10-12** | System tray launcher for Universal Mail Cleaner, UniversalDocsGrabber, and UniversalInvoiceMail | -| **[PDFtoPDFocr](https://github.com/doc-bricks/PDFtoPDFocr)** | **2026-10-12** | Local PySide6 and Tesseract OCR for searchable PDFs, with portable Windows builds | -| **[DokuZen](https://github.com/doc-bricks/DokuZen)** | **2026-10-11** | Local-first PySide6 document and PDF workspace with 22 editing, OCR, redaction, and conversion utilities | -| **[UniversalInvoiceMail](https://github.com/doc-bricks/UniversalInvoiceMail)** | **2026-10-08** | Local Windows invoice and receipt archiver with IMAP/Gmail, OCR, PDF conversion, and DATEV-style CSV export | +| **[llm-note](https://github.com/doc-bricks/llm-note)** | **2026-11-02** | Local-first SQLite notebook for people, with AI-assisted writing and plain-text notebooks | +| **[UniversalInvoiceMail](https://github.com/doc-bricks/UniversalInvoiceMail)** | **2026-11-02** | Local Windows invoice and receipt archiver with IMAP/Gmail, OCR, PDF conversion, and DATEV-style CSV export | +| **[DokuZen](https://github.com/doc-bricks/DokuZen)** | **2026-11-02** | Local-first PySide6 document and PDF workspace with 22 editing, OCR, redaction, and conversion utilities | +| **[CleanMarkdown](https://github.com/doc-bricks/CleanMarkdown)** | **2026-11-02** | Local-first Markdown viewer/editor with reading mode, PDF export, session handoff, and PWA companion | +| **[MediaBrain](https://github.com/doc-bricks/MediaBrain)** | **2026-11-02** | Local PySide6 media library with smart playlists, provider detection, tags, blacklist, and private SQLite storage | +| **[PDFtoPDFocr](https://github.com/doc-bricks/PDFtoPDFocr)** | **2026-11-02** | Local PySide6 and Tesseract OCR for searchable PDFs, with portable Windows builds | +| **[.github](https://github.com/doc-bricks/.github)** | **2026-11-02** | Organization profile, shared community-health files, and machine-readable organization context | +| **[DokuReader](https://github.com/doc-bricks/DokuReader)** | **2026-11-01** | Local-first document library with topic organization, previews, reading state, PDF bundles, and metadata-only JSON export | +| **[UniversalMailCleaner](https://github.com/doc-bricks/UniversalMailCleaner)** | **2026-11-01** | Gmail and IMAP mailbox cleaner with safe trash mode, labels, scheduler, and large-item cleanup | +| **[UniversalDocsGrabber](https://github.com/doc-bricks/UniversalDocsGrabber)** | **2026-11-01** | Local-first IMAP/Gmail attachment intake with OCR, PDF conversion, deduplication, and review workflows | +| **[MailProcessor](https://github.com/doc-bricks/MailProcessor)** | **2026-10-31** | System tray launcher for Universal Mail Cleaner, UniversalDocsGrabber, and UniversalInvoiceMail | | **[LitZentrum](https://github.com/doc-bricks/LitZentrum)** | **2026-10-04** | Local-first literature manager for PDFs, BibTeX, and companion JSON export | -| **[CleanMarkdown](https://github.com/doc-bricks/CleanMarkdown)** | **2026-10-03** | Local-first Markdown viewer/editor with reading mode, PDF export, session handoff, and PWA companion | -| **[UniversalMailCleaner](https://github.com/doc-bricks/UniversalMailCleaner)** | **2026-10-03** | Gmail and IMAP mailbox cleaner with safe trash mode, labels, scheduler, and large-item cleanup | -| **[.github](https://github.com/doc-bricks/.github)** | **2026-09-29** | Organization profile, shared community-health files, and machine-readable organization context | --- ## Project Families diff --git a/profile/README_de.md b/profile/README_de.md index bf029a0..c3da940 100644 --- a/profile/README_de.md +++ b/profile/README_de.md @@ -14,14 +14,14 @@ Ökosystem: ellmos-ai Fokus Lokalbetrieb mit optionalen Online-Diensten - Geprüft 2026-10-13 + Geprüft 2026-11-02 LLM-Kontext Englische Version

> [!NOTE] > **Local-First & LLM-Bereit:** Dokumentenbibliotheken, PDFs und Notizen werden lokal verarbeitet. Optionale Mail-Integrationen verbinden sich mit dem von Ihnen eingerichteten Gmail- oder IMAP-Anbieter. Maschinenlesbarer Kontext für LLM-Agenten und Crawler steht in [`llms.txt`](https://github.com/doc-bricks/.github/blob/main/llms.txt) bereit. -> Öffentlicher Index verifiziert anhand der Live-GitHub-API: **13. Oktober 2026**. +> Öffentlicher Index verifiziert anhand der Live-GitHub-API: **2. November 2026**. > [!TIP] > **English Version:** For the English version of this organization profile, see [`profile/README.md`](https://github.com/doc-bricks/.github/blob/main/profile/README.md). @@ -107,17 +107,17 @@ flowchart TD Unser lokales Dokumenten-Werkzeugset — die Banner dienen als direkte Links; Detailinformationen finden sich in der Tabelle darunter:

- CleanMarkdown - DokuReader - DokuZen - LitZentrum - llm-note - MailProcessor - MediaBrain - PDFtoPDFocr - UniversalDocsGrabber - UniversalInvoiceMail - UniversalMailCleaner + CleanMarkdown + DokuReader + DokuZen + LitZentrum + llm-note + MailProcessor + MediaBrain + PDFtoPDFocr + UniversalDocsGrabber + UniversalInvoiceMail + UniversalMailCleaner

Weitere Repositories ohne eigenes Artwork: **[.github](https://github.com/doc-bricks/.github)** (Organisationsprofil und zentrale Community-Dateien) @@ -126,7 +126,7 @@ Weitere Repositories ohne eigenes Artwork: **[.github](https://github.com/doc-br ## Verzeichnis der öffentlichen Repositories -Dieser Index führt jedes öffentliche doc-bricks-Repository auf GitHub mit Stand **13. Oktober 2026** auf. Private oder interne Repositories werden im öffentlichen Profil bewusst nicht aufgeführt. +Dieser Index führt jedes öffentliche doc-bricks-Repository auf GitHub mit Stand **2. November 2026** auf. Private oder interne Repositories werden im öffentlichen Profil bewusst nicht aufgeführt. | Repository | Rolle | Beschreibung | |---|---|---| @@ -147,22 +147,22 @@ Dieser Index führt jedes öffentliche doc-bricks-Repository auf GitHub mit Stan ## Aktueller öffentlicher Aktivitäts-Snapshot -Live-Aktivität verifiziert via GitHub API am **13. Oktober 2026** (UTC-Datum der API-Eigenschaft `pushed_at`): +Live-Aktivität verifiziert via GitHub API am **2. November 2026** (UTC-Datum der API-Eigenschaft `pushed_at`): | Repository | Letzter öffentlicher Push (UTC) | Fokus & Navigationszweck | |---|---:|---| -| **[DokuReader](https://github.com/doc-bricks/DokuReader)** | **2026-10-13** | Lokale Dokumentenbibliothek mit Themenorganisation, Vorschauen, Lesestatus, PDF-Bündelung und Metadaten-JSON-Export | -| **[llm-note](https://github.com/doc-bricks/llm-note)** | **2026-10-13** | Local-First-SQLite-Notizbuch für Menschen mit KI-Assistenz und Plaintext-Notizbüchern | -| **[UniversalDocsGrabber](https://github.com/doc-bricks/UniversalDocsGrabber)** | **2026-10-13** | Lokaler IMAP-/Gmail-Anhangsimport mit OCR, PDF-Konvertierung, Dublettenerkennung und Prüf-Workflows | -| **[MediaBrain](https://github.com/doc-bricks/MediaBrain)** | **2026-10-12** | Lokale PySide6-Medienbibliothek mit Playlists, Anbietererkennung, Tags, Sperrliste und privater SQLite-Ablage | -| **[MailProcessor](https://github.com/doc-bricks/MailProcessor)** | **2026-10-12** | System-Tray-Starter für UniversalMailCleaner, UniversalDocsGrabber und UniversalInvoiceMail | -| **[PDFtoPDFocr](https://github.com/doc-bricks/PDFtoPDFocr)** | **2026-10-12** | Lokale PySide6-/Tesseract-OCR für durchsuchbare PDFs mit portablen Windows-Builds | -| **[DokuZen](https://github.com/doc-bricks/DokuZen)** | **2026-10-11** | Lokaler PySide6-Dokumenten- und PDF-Arbeitsbereich mit 22 Werkzeugen für Bearbeitung, OCR, Schwärzung und Konvertierung | -| **[UniversalInvoiceMail](https://github.com/doc-bricks/UniversalInvoiceMail)** | **2026-10-08** | Lokales Windows-Archiv für Rechnungen und Belege mit IMAP/Gmail, OCR, PDF-Konvertierung und DATEV-CSV-Export | +| **[llm-note](https://github.com/doc-bricks/llm-note)** | **2026-11-02** | Local-First-SQLite-Notizbuch für Menschen mit KI-Assistenz und Plaintext-Notizbüchern | +| **[UniversalInvoiceMail](https://github.com/doc-bricks/UniversalInvoiceMail)** | **2026-11-02** | Lokales Windows-Archiv für Rechnungen und Belege mit IMAP/Gmail, OCR, PDF-Konvertierung und DATEV-CSV-Export | +| **[DokuZen](https://github.com/doc-bricks/DokuZen)** | **2026-11-02** | Lokaler PySide6-Dokumenten- und PDF-Arbeitsbereich mit 22 Werkzeugen für Bearbeitung, OCR, Schwärzung und Konvertierung | +| **[CleanMarkdown](https://github.com/doc-bricks/CleanMarkdown)** | **2026-11-02** | Lokaler Markdown-Viewer/Editor mit Lesemodus, PDF-Export, Sitzungsübergabe und PWA-Begleiter | +| **[MediaBrain](https://github.com/doc-bricks/MediaBrain)** | **2026-11-02** | Lokale PySide6-Medienbibliothek mit Playlists, Anbietererkennung, Tags, Sperrliste und privater SQLite-Ablage | +| **[PDFtoPDFocr](https://github.com/doc-bricks/PDFtoPDFocr)** | **2026-11-02** | Lokale PySide6-/Tesseract-OCR für durchsuchbare PDFs mit portablen Windows-Builds | +| **[.github](https://github.com/doc-bricks/.github)** | **2026-11-02** | Organisationsprofil, gemeinsame Community-Dateien und maschinenlesbarer Organisationskontext | +| **[DokuReader](https://github.com/doc-bricks/DokuReader)** | **2026-11-01** | Lokale Dokumentenbibliothek mit Themenorganisation, Vorschauen, Lesestatus, PDF-Bündelung und Metadaten-JSON-Export | +| **[UniversalMailCleaner](https://github.com/doc-bricks/UniversalMailCleaner)** | **2026-11-01** | Gmail-/IMAP-Postfachbereinigung mit sicherem Papierkorbmodus, Labels, Zeitplaner und Großdatei-Bereinigung | +| **[UniversalDocsGrabber](https://github.com/doc-bricks/UniversalDocsGrabber)** | **2026-11-01** | Lokaler IMAP-/Gmail-Anhangsimport mit OCR, PDF-Konvertierung, Dublettenerkennung und Prüf-Workflows | +| **[MailProcessor](https://github.com/doc-bricks/MailProcessor)** | **2026-10-31** | System-Tray-Starter für UniversalMailCleaner, UniversalDocsGrabber und UniversalInvoiceMail | | **[LitZentrum](https://github.com/doc-bricks/LitZentrum)** | **2026-10-04** | Local-First-Literaturverwaltung für PDFs, BibTeX und JSON-Export | -| **[CleanMarkdown](https://github.com/doc-bricks/CleanMarkdown)** | **2026-10-03** | Lokaler Markdown-Viewer/Editor mit Lesemodus, PDF-Export, Sitzungsübergabe und PWA-Begleiter | -| **[UniversalMailCleaner](https://github.com/doc-bricks/UniversalMailCleaner)** | **2026-10-03** | Gmail-/IMAP-Postfachbereinigung mit sicherem Papierkorbmodus, Labels, Zeitplaner und Großdatei-Bereinigung | -| **[.github](https://github.com/doc-bricks/.github)** | **2026-09-29** | Organisationsprofil, gemeinsame Community-Dateien und maschinenlesbarer Organisationskontext | --- ## Projekt-Familien diff --git a/tests/test_profile_parity.py b/tests/test_profile_parity.py index 617383b..9c7b360 100644 --- a/tests/test_profile_parity.py +++ b/tests/test_profile_parity.py @@ -100,8 +100,8 @@ def test_private_repo_leak_guard(): def test_check_timestamp_parity(): """Verify verification date 2026-10-13 across profile files.""" - expected_iso = "2026-10-13" - expected_de = "13. Oktober 2026" + expected_iso = "2026-11-02" + expected_de = "2. November 2026" en_content = get_file_content("profile/README.md") assert expected_iso in en_content @@ -128,6 +128,18 @@ def test_showcase_banners_and_links(): assert f'alt="{repo}"' in de_content +def test_showcase_banner_urls(): + """Verify all showcase banners use raw.githubusercontent.com URLs.""" + en_content = get_file_content("profile/README.md") + de_content = get_file_content("profile/README_de.md") + for content in [en_content, de_content]: + banner_imgs = re.findall(r']*src="([^"]+)"[^>]*alt="([^"]+)"', content) + for src, alt in banner_imgs: + if "logo.jpg" in src or "shields.io" in src: + continue + assert src.startswith("https://raw.githubusercontent.com/"), f"Banner for {alt} should use raw.githubusercontent.com, found: {src}" + + def test_activity_snapshot_integrity(): """Verify recent push activity entries in profile READMEs.""" en_content = get_file_content("profile/README.md")