scrub / CHANGELOG.md
solidprivacy-nl
Record WP13 TXT reinsert UI implementation
6bf359f
|
Raw
History Blame
9.25 kB

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:

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:

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.