Spaces:
Running
Running
| # Changelog β SolidPrivacy Scrub | |
| This changelog records meaningful product, architecture, workflow and recognizer changes for the Scrub legal document scrubber. | |
| Conventions: | |
| - Keep this file explicit and human-readable. | |
| - Group changes by project phase / version. | |
| - Record what changed, why it changed, and what is intentionally not changed. | |
| - Do not use this as a substitute for tests; every recognizer hardening step should also add or update regression tests. | |
| --- | |
| ## Current development rule | |
| From v10 onward, recognizer work follows this order: | |
| 1. Add or update synthetic regression cases. | |
| 2. Add or update tests. | |
| 3. Change recognizer / scanner logic. | |
| 4. Verify GitHub Actions tests are green. | |
| 5. Let GitHub sync to Hugging Face automatically. | |
| 6. Test the app in Hugging Face. | |
| For UI/UX-only work, prefer pure helper modules and tests before touching Streamlit UI flow. | |
| --- | |
| ## WP13 β v13.7 TXT reinsert upload/download UI | |
| Status: implemented; awaiting GitHub Actions, Hugging Face sync and app verification. | |
| Purpose: | |
| - Add controlled TXT upload/download support inside `Originele waarden terugzetten`. | |
| - Keep the existing pasted-text reinsert flow available as fallback. | |
| - Reuse the existing deterministic local TXT helper. | |
| - Keep DOCX upload reinsert UI, PDF reinsert, AI and cloud behavior out of scope. | |
| Files added or changed: | |
| - Changed `fix_streamlit_nested_expanders.py`. | |
| - Changed `tests/test_two_mode_ui_patch.py`. | |
| - Changed `WORKPACKAGES.md`. | |
| - Changed `CHANGELOG.md`. | |
| - Added `tests/test_txt_reinsert_ui_patch.py`. | |
| - Added `handover/workpackages/20260608_0000_v13_7_txt_reinsert_upload_download_ui.md`. | |
| Main change: | |
| - Added section `TXT-bestand terugzetten` inside the `Originele waarden terugzetten` mode. | |
| - Added TXT upload label `Upload een TXT-bestand met placeholders`. | |
| - Added action button `Zet TXT-bestand lokaal terug`. | |
| - Added output label `Herstelde TXT-tekst`. | |
| - Added download label `Download hersteld TXT-bestand (.txt)`. | |
| - The UI calls: | |
| - `reinsert_txt_bytes(content, scrub_key, encoding="utf-8")`. | |
| - TXT reinsert requires a loaded Scrub Key before running. | |
| - The restored TXT result shows text output and an audit summary. | |
| - The existing pasted-text reinsert flow remains available. | |
| - The existing anonymization workflow remains in `Anonimiseren`. | |
| Safety/warnings: | |
| - The TXT reinsert UI warns that restored output may contain personal/confidential data again. | |
| - The UI states that reinsert is local-only and uses no AI/cloud processing. | |
| - The Scrub Key warning remains present and keeps the pseudonymization/reversibility context. | |
| Tests added/updated: | |
| - Added `tests/test_txt_reinsert_ui_patch.py`. | |
| - Updated `tests/test_two_mode_ui_patch.py`. | |
| The tests check: | |
| - `reinsert_txt_bytes` is imported and used; | |
| - TXT UI labels are present; | |
| - TXT upload accepts `.txt` only; | |
| - TXT reinsert requires a loaded Scrub Key; | |
| - TXT reinsert is injected only in the `Originele waarden terugzetten` mode; | |
| - pasted-text reinsert labels remain present; | |
| - `Scrub Key laden` remains present; | |
| - `Anonimiseren` remains present; | |
| - existing anonymization/export markers remain present; | |
| - existing Scrub Key export remains present; | |
| - no DOCX upload reinsert UI is added; | |
| - no PDF reinsert is added; | |
| - no AI/cloud behavior is added; | |
| - `apply_replacements_to_text` is not altered; | |
| - existing scrubbed download markers are not rewired. | |
| Validation: | |
| - Local clone/test run could not be performed in the container because outbound GitHub DNS was unavailable: | |
| - `Could not resolve host: github.com`. | |
| - GitHub Actions: awaiting verification for WP13 commits. | |
| - Hugging Face sync: awaiting verification for WP13 commits. | |
| - App verification: required because UI behavior changed. | |
| Intentionally not changed: | |
| - `presidio_streamlit.py` was not directly edited. | |
| - No DOCX upload reinsert UI added. | |
| - No PDF reinsert added. | |
| - No AI calls added. | |
| - No cloud processing added. | |
| - No automatic document rehydration beyond TXT local reinsert added. | |
| - No existing TXT, CSV, DOCX or PDF scrubbed export/download behavior intentionally changed. | |
| - No Scrub Key JSON export behavior intentionally changed. | |
| - No Scrub Key import/reload behavior intentionally changed except reusing the loaded key for TXT reinsert. | |
| - No Scrub Key storage, secrets, tokens or real personal data added. | |
| Outcome: | |
| - WP13 is implemented and awaits GitHub Actions, Hugging Face sync and app verification. | |
| - Next recommended workpackage is `WP13-CLOSEOUT β v13.7 TXT reinsert upload/download UI app verification closeout`. | |
| --- | |
| ## WP12B β v13.6 Two-mode UI app verification closeout | |
| Status: completed and app-verified after Actions/sync verification. | |
| Purpose: | |
| - Administratively close WP12, WP12-FIX and WP12-FIX2 after successful technical verification and app verification. | |
| - Record that v13.6 two-mode UI is now complete. | |
| - Confirm that no further closeout blocker remains before WP13. | |
| Implementation sequence closed: | |
| - WP12 introduced the two-mode UI skeleton. | |
| - WP12-FIX cleaned up content separation. | |
| - WP12-FIX2 fixed the indentation/runtime error. | |
| - WP12B records successful Actions/sync and app verification. | |
| Technical verification evidence: | |
| ```text | |
| Tests #155 green β commit b27d115 | |
| Sync to Hugging Face Space #169 green β commit b27d115 | |
| Tests #156 green β commit 0e357bb | |
| Sync to Hugging Face Space #170 green β commit 0e357bb | |
| Tests #157 green β commit 268234d | |
| Sync to Hugging Face Space #171 green β commit 268234d | |
| ``` | |
| Latest verified WP12-FIX2 commit: | |
| ```text | |
| 268234d9d1aeb9c82658c4c30702f51cfdd58c96 | |
| ``` | |
| Outcome: | |
| - v13.6 two-mode UI is closed as completed and app-verified. | |
| - Next recommended workpackage is `WP13 β v13.7 TXT reinsert upload/download UI`. | |
| --- | |
| ## WP12-FIX2 β v13.6 Two-mode indentation/runtime hotfix | |
| Status: completed and app-verified through WP12B closeout. | |
| Outcome: | |
| - Generated indentation around `Scrub Key laden` and the local reinsert UI block was corrected. | |
| - GitHub Actions and Hugging Face sync were later verified green by the coordinator. | |
| - App verification confirmed the script execution error is gone. | |
| --- | |
| ## WP12-FIX β v13.6 Two-mode UI content separation cleanup | |
| Status: completed through WP12B closeout after WP12-FIX2 runtime hotfix. | |
| Outcome: | |
| - WP12-FIX separated the intended content paths conceptually. | |
| - WP12-FIX2 corrected the runtime indentation issue. | |
| - WP12B confirmed app verification. | |
| --- | |
| ## WP12 β v13.6 Two-mode UI skeleton and tab separation | |
| Status: completed and app-verified through WP12B closeout. | |
| Outcome: | |
| - WP12 created the first visible mode skeleton. | |
| - WP12-FIX improved actual content separation. | |
| - WP12-FIX2 fixed the runtime indentation error. | |
| - WP12B closed v13.6 after Actions/sync and app verification. | |
| --- | |
| ## WP11 β v13.5 Two-mode reinsert UI planning | |
| Status: completed; planning/specification-only workpackage. | |
| Outcome: | |
| - WP11 planning is complete. | |
| - Next recommended implementation workpackage was `WP12 β v13.6 Two-mode UI skeleton and tab separation`. | |
| --- | |
| ## WP10B β v13.4 TXT/DOCX reinsert foundation verification and closeout | |
| Status: completed; Actions/sync not visible through connector, coordinator verification required. | |
| Outcome: | |
| - WP10B closeout is complete. | |
| - Coordinator should verify Actions/sync externally before marking WP10 formally closed. | |
| --- | |
| ## WP10 β v13.4 TXT/DOCX reinsert foundation helper and tests | |
| Status: implemented; awaiting coordinator verification of Actions/sync. | |
| Outcome: | |
| - WP10 helper/test foundation is implemented. | |
| - WP10 awaits coordinator verification of GitHub Actions and Hugging Face sync. | |
| --- | |
| ## WP9 β AI-output / document reinsert workflow UX and architecture review | |
| Status: completed; review-only workpackage. | |
| Outcome: | |
| - WP9 is complete. | |
| - Product direction for reinsert is documented before implementation. | |
| --- | |
| ## v13.3 β Deterministic reinsert UI app verification closeout | |
| Status: completed and app-verified after Actions/sync verification. | |
| Outcome: | |
| - v13.3 deterministic local reinsert UI is completed, app-verified and formally closed. | |
| --- | |
| ## Earlier completed work | |
| - v13.6 two-mode UI implementation and app verification closeout. | |
| - v13.3 deterministic reinsert UI implementation. | |
| - v13.3 deterministic reinsert UI planning. | |
| - v13.3 deterministic reinsert helper verification reconciliation. | |
| - v13.2 Scrub Key import/reload UI app verification closeout. | |
| - v13.2 Scrub Key import/reload UI integration. | |
| - v13.2 Scrub Key import/reload helper and tests. | |
| - v13.1 Scrub Key JSON export UI closeout. | |
| - v12.6 Export sanity checks closeout. | |
| - v13.0 Scrub Key specification and pure model. | |
| - v12.5 Final review summary. | |
| - v12.4 Review guidance text. | |
| - Project governance setup. | |
| - v12.3 Review table simplification. | |
| - v12.2 Review focus filters. | |
| - v12.1 Review table status model. | |
| - v11.2 Dutch recognizer integration tests. | |
| - v11.1 Legal reference recognizer hardening. | |
| - v10 Regression test layer. | |
| - v9.1 UI polish and baseline stabilization. | |
| - v9 Dutch Legal UI Layer. | |
| --- | |
| ## Planned later phase β v13 and beyond | |
| Possible directions: | |
| - WP13-CLOSEOUT app verification closeout. | |
| - WP14 β v13.8 DOCX reinsert upload/download UI. | |
| - PDF text extraction research only after separate reliability review. | |
| - Further recognizer expansion by legal domain. | |