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
+ ```