Spaces:
Sleeping
Sleeping
solidprivacy-nl commited on
Commit ·
20092b9
1
Parent(s): 911e093
Add handover for v13.6 two-mode content separation cleanup
Browse files
handover/workpackages/20260608_0000_v13_6_two_mode_content_separation_cleanup.md
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Handover — WP12-FIX — v13.6 Two-mode UI content separation cleanup
|
| 2 |
+
|
| 3 |
+
Repository: `solidprivacy-nl/scrub`
|
| 4 |
+
Status: implemented; awaiting GitHub Actions, Hugging Face sync and app verification
|
| 5 |
+
|
| 6 |
+
## Summary
|
| 7 |
+
|
| 8 |
+
WP12-FIX addresses the app-verification issue found after WP12.
|
| 9 |
+
|
| 10 |
+
WP12 added visible two-mode navigation, but app verification showed that selecting/viewing `Originele waarden terugzetten` still showed much of the anonymization workflow above the reinsert flow.
|
| 11 |
+
|
| 12 |
+
This cleanup changes the startup patch so the two modes are meaningfully separated:
|
| 13 |
+
|
| 14 |
+
```text
|
| 15 |
+
Anonimiseren
|
| 16 |
+
Originele waarden terugzetten
|
| 17 |
+
```
|
| 18 |
+
|
| 19 |
+
The patch now uses a real work-mode selector with conditional rendering:
|
| 20 |
+
|
| 21 |
+
```text
|
| 22 |
+
solidprivacy_work_mode = st.radio(...)
|
| 23 |
+
```
|
| 24 |
+
|
| 25 |
+
When `Originele waarden terugzetten` is selected, the app renders only Scrub Key load + local pasted-text reinsert content. The full anonymization/review/export workflow is rendered under the `Anonimiseren` branch.
|
| 26 |
+
|
| 27 |
+
## Files added
|
| 28 |
+
|
| 29 |
+
- `handover/workpackages/20260608_0000_v13_6_two_mode_content_separation_cleanup.md`
|
| 30 |
+
|
| 31 |
+
## Files changed
|
| 32 |
+
|
| 33 |
+
- `fix_streamlit_nested_expanders.py`
|
| 34 |
+
- `tests/test_two_mode_ui_patch.py`
|
| 35 |
+
- `WORKPACKAGES.md`
|
| 36 |
+
- `CHANGELOG.md`
|
| 37 |
+
|
| 38 |
+
## Tests
|
| 39 |
+
|
| 40 |
+
Updated:
|
| 41 |
+
|
| 42 |
+
```text
|
| 43 |
+
tests/test_two_mode_ui_patch.py
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
The updated tests check:
|
| 47 |
+
|
| 48 |
+
- both mode labels exist;
|
| 49 |
+
- conditional work-mode rendering exists;
|
| 50 |
+
- reinsert markers are associated with `Originele waarden terugzetten`;
|
| 51 |
+
- anonymization markers are associated with the `Anonimiseren` branch;
|
| 52 |
+
- reinsert flow is not embedded in the anonymization review/export summary block;
|
| 53 |
+
- existing Scrub Key export/import labels remain;
|
| 54 |
+
- existing scrubbed download markers remain;
|
| 55 |
+
- no TXT upload reinsert UI was added;
|
| 56 |
+
- no DOCX upload reinsert UI was added;
|
| 57 |
+
- no PDF reinsert was added;
|
| 58 |
+
- no AI/cloud/rehydration behavior was added;
|
| 59 |
+
- `apply_replacements_to_text` was not altered.
|
| 60 |
+
|
| 61 |
+
## Validation
|
| 62 |
+
|
| 63 |
+
Coordinator evidence for prior WP12 showed green Actions/sync:
|
| 64 |
+
|
| 65 |
+
```text
|
| 66 |
+
Tests #145 green — commit 5d879cc
|
| 67 |
+
Sync #159 green — commit 5d879cc
|
| 68 |
+
Tests #146 green — commit 79d771e
|
| 69 |
+
Sync #160 green — commit 79d771e
|
| 70 |
+
Tests #147 green — commit e106f7c
|
| 71 |
+
Sync #161 green — commit e106f7c
|
| 72 |
+
```
|
| 73 |
+
|
| 74 |
+
However, WP12 app verification found insufficient content separation. WP12-FIX was implemented to address that.
|
| 75 |
+
|
| 76 |
+
Local clone/test run for WP12-FIX could not be performed in the container because outbound GitHub DNS failed:
|
| 77 |
+
|
| 78 |
+
```text
|
| 79 |
+
Could not resolve host: github.com
|
| 80 |
+
```
|
| 81 |
+
|
| 82 |
+
No local passing test result is claimed.
|
| 83 |
+
|
| 84 |
+
## GitHub Actions status
|
| 85 |
+
|
| 86 |
+
Awaiting verification for WP12-FIX commits.
|
| 87 |
+
|
| 88 |
+
## Hugging Face sync status
|
| 89 |
+
|
| 90 |
+
Awaiting verification for WP12-FIX commits.
|
| 91 |
+
|
| 92 |
+
## App verification status
|
| 93 |
+
|
| 94 |
+
Required because UI behavior changed. Pending coordinator/user verification.
|
| 95 |
+
|
| 96 |
+
App verification should confirm:
|
| 97 |
+
|
| 98 |
+
### In `Anonimiseren`
|
| 99 |
+
|
| 100 |
+
- anonymization workflow is visible;
|
| 101 |
+
- source text/file input is visible;
|
| 102 |
+
- review table still appears;
|
| 103 |
+
- Scrub Key JSON export still appears;
|
| 104 |
+
- scrubbed TXT/CSV/DOCX/PDF downloads remain available;
|
| 105 |
+
- pasted-text reinsert is not presented as part of the anonymization workflow.
|
| 106 |
+
|
| 107 |
+
### In `Originele waarden terugzetten`
|
| 108 |
+
|
| 109 |
+
- anonymization source input is not shown as the main workflow;
|
| 110 |
+
- review table is not shown;
|
| 111 |
+
- scrubbed export section is not shown;
|
| 112 |
+
- `Scrub Key laden` is visible;
|
| 113 |
+
- Scrub Key upload/paste validation is visible;
|
| 114 |
+
- pasted-text reinsert is visible;
|
| 115 |
+
- `Zet originele waarden lokaal terug` works;
|
| 116 |
+
- `Herstelde tekst` appears after reinsert;
|
| 117 |
+
- `Download herstelde tekst (.txt)` works;
|
| 118 |
+
- audit summary / `Controleverslag terugzetten` appears;
|
| 119 |
+
- warning about restored sensitive/confidential data is visible;
|
| 120 |
+
- local-only/no-AI/no-cloud text is visible.
|
| 121 |
+
|
| 122 |
+
Also confirm:
|
| 123 |
+
|
| 124 |
+
- no TXT upload reinsert UI appears yet;
|
| 125 |
+
- no DOCX upload reinsert UI appears yet;
|
| 126 |
+
- no PDF reinsert appears;
|
| 127 |
+
- no AI/cloud behavior appears.
|
| 128 |
+
|
| 129 |
+
## Boundaries preserved
|
| 130 |
+
|
| 131 |
+
- `presidio_streamlit.py` was not directly edited.
|
| 132 |
+
- No TXT upload reinsert UI added.
|
| 133 |
+
- No DOCX upload reinsert UI added.
|
| 134 |
+
- No PDF reinsert added.
|
| 135 |
+
- No AI calls added.
|
| 136 |
+
- No cloud processing added.
|
| 137 |
+
- No automatic document rehydration added.
|
| 138 |
+
- No existing scrubbed TXT/CSV/DOCX/PDF export/download semantics intentionally changed inside `Anonimiseren`.
|
| 139 |
+
- No Scrub Key JSON export behavior intentionally changed inside `Anonimiseren`.
|
| 140 |
+
- No Scrub Key storage, secrets, tokens or real personal data added.
|
| 141 |
+
|
| 142 |
+
## Remaining risks
|
| 143 |
+
|
| 144 |
+
- This remains a startup-patch based UI modification, so parallel edits to `fix_streamlit_nested_expanders.py` remain risky.
|
| 145 |
+
- The work-mode selector uses `st.radio` rather than full tab body refactoring, because the priority is safe content separation with minimal change.
|
| 146 |
+
- App verification is essential to confirm the patch applies cleanly on Hugging Face and that the user-visible flow matches the intended separation.
|
| 147 |
+
|
| 148 |
+
## Next recommended step
|
| 149 |
+
|
| 150 |
+
Start closeout after coordinator evidence:
|
| 151 |
+
|
| 152 |
+
```text
|
| 153 |
+
WP12-FIX-CLOSEOUT — v13.6 Two-mode content separation app verification closeout
|
| 154 |
+
```
|
| 155 |
+
|
| 156 |
+
Only after WP12-FIX is verified should the project continue to:
|
| 157 |
+
|
| 158 |
+
```text
|
| 159 |
+
WP13 — v13.7 TXT reinsert upload/download UI
|
| 160 |
+
```
|