solidprivacy-nl commited on
Commit
79d771e
·
1 Parent(s): 5d879cc

Record v13.6 two-mode UI skeleton

Browse files
Files changed (1) hide show
  1. CHANGELOG.md +68 -144
CHANGELOG.md CHANGED
@@ -26,132 +26,109 @@ For UI/UX-only work, prefer pure helper modules and tests before touching Stream
26
 
27
  ---
28
 
29
- ## WP11 — v13.5 Two-mode reinsert UI planning
30
 
31
- Status: completed; planning/specification-only workpackage.
32
 
33
  Purpose:
34
 
35
- - Plan the future two-mode UI before changing Streamlit UI code.
36
- - Clearly separate `Anonimiseren` from `Originele waarden terugzetten`.
37
- - Decide where pasted-text, TXT and DOCX reinsert should fit.
38
- - Compare current single-scroll workflow, tabs and landing-card options.
39
- - Define the next safe UI implementation workpackage.
 
40
 
41
  Files added or changed:
42
 
43
- - Added `TWO_MODE_UI_SPEC.md`.
 
44
  - Changed `WORKPACKAGES.md`.
45
  - Changed `CHANGELOG.md`.
46
- - Added `handover/workpackages/20260608_0000_v13_5_two_mode_ui_planning.md`.
47
 
48
- Main recommendation:
49
 
50
- - Move Scrub toward a two-mode interface:
 
51
  - `Anonimiseren`;
52
  - `Originele waarden terugzetten`.
53
- - Use Streamlit tabs or two clear mode panels as the first implementation step.
54
- - Treat a landing choice with two large cards/buttons as the better long-term product direction, but not the next patch-based implementation step.
55
- - Keep pasted-text reinsert available as the simplest and safest fallback.
56
- - Add TXT upload/download reinsert UI after the mode skeleton is verified.
57
- - Add DOCX upload/download reinsert UI later using the WP10 helper.
58
- - Keep PDF reinsert excluded until a separate reliability review.
59
-
60
- Options compared:
61
-
62
- 1. Current single-scroll workflow:
63
- - lowest short-term cost;
64
- - too much cognitive load;
65
- - weak separation between scrubbed and restored privacy states.
66
- 2. Streamlit tabs:
67
- - recommended first step;
68
- - clear mode separation;
69
- - lower implementation risk in current app structure.
70
- 3. Landing choice with two large cards/buttons:
71
- - best mature product UX;
72
- - higher refactor risk;
73
- - better later after the patch-based UI has been simplified.
74
-
75
- Specified user journeys:
76
-
77
- - `Anonimiseren`:
78
- - upload/paste source text or document;
79
- - review detected replacements;
80
- - download currently supported scrubbed TXT/DOCX/PDF outputs;
81
- - optionally download Scrub Key JSON;
82
- - show warning that Scrub Key is reversible/pseudonymization.
83
- - `Originele waarden terugzetten`:
84
- - load/paste Scrub Key;
85
- - choose paste text, upload TXT or upload DOCX;
86
- - validate key locally;
87
- - reinsert original values locally;
88
- - show audit summary;
89
- - warn restored output may contain sensitive/confidential data again;
90
- - download restored TXT or DOCX where supported.
91
-
92
- Recommended implementation sequence:
93
-
94
- 1. `WP12 — v13.6 Two-mode UI skeleton and tab separation`.
95
- 2. `WP13 — v13.7 TXT reinsert upload/download UI`.
96
- 3. `WP14 — v13.8 DOCX reinsert upload/download UI`.
97
- 4. `WP15 — PDF text extraction reliability review only`.
98
 
99
  Validation:
100
 
101
- - Tests: not applicable; planning/specification-only workpackage.
102
- - App verification: not applicable; no UI behavior changed.
103
- - GitHub Actions: not required for planning-only documentation change.
104
- - Hugging Face sync: not required for planning-only documentation change.
 
105
 
106
  Intentionally not changed:
107
 
108
- - No UI code changed.
109
- - No edit to `fix_streamlit_nested_expanders.py`.
110
- - No edit to `presidio_streamlit.py`.
111
- - No edit to `scrub_key_document_reinsert.py`.
112
- - No edit to `scrub_key_reinsert.py`.
113
- - No edit to `scrub_key.py`.
114
- - No edit to `scrub_key_import.py`.
115
- - No edit to `tests/*`.
116
- - No TXT/DOCX reinsert UI added.
117
  - No PDF reinsert added.
118
  - No AI calls added.
119
  - No cloud processing added.
120
- - No existing TXT, CSV, DOCX or PDF scrubbed export/download behavior changed.
121
- - No Scrub Key export/import behavior changed.
 
122
  - No secrets, tokens or real personal data stored.
123
 
124
  Outcome:
125
 
126
- - WP11 planning is complete.
127
- - Next recommended implementation workpackage is `WP12 — v13.6 Two-mode UI skeleton and tab separation`.
128
 
129
  ---
130
 
131
- ## WP10B — v13.4 TXT/DOCX reinsert foundation verification and closeout
132
 
133
- Status: completed; Actions/sync not visible through connector, coordinator verification required.
134
 
135
  Purpose:
136
 
137
- - Verify and formally close, or pending-close, WP10.
138
- - Check GitHub Actions and Hugging Face sync visibility for implementation commit `eb0c1ed2397ec1a4dc256d6e7e615ac4c026c0ee`.
139
- - Update control files without changing code.
 
 
 
 
 
 
 
 
 
140
 
141
- Verification result:
142
 
143
- - Commit metadata was visible for `eb0c1ed2397ec1a4dc256d6e7e615ac4c026c0ee`.
144
- - GitHub combined commit status returned an empty status list.
145
- - GitHub workflow-runs query for the commit returned no visible workflow runs.
146
- - GitHub Actions: not visible through connector.
147
- - Hugging Face sync: not visible through connector.
148
- - App verification: not applicable; WP10 was helper/test-only and added no UI behavior.
149
 
150
  Outcome:
151
 
152
  - WP10B closeout is complete.
153
  - Coordinator should verify Actions/sync externally before marking WP10 formally closed.
154
- - Next recommended workpackage remains WP11 — v13.5 Two-mode reinsert UI planning.
155
 
156
  ---
157
 
@@ -159,18 +136,10 @@ Outcome:
159
 
160
  Status: implemented; awaiting coordinator verification of Actions/sync.
161
 
162
- Purpose:
163
-
164
- - Prepare document-level reinsert without changing UI first.
165
- - Add pure helper/test foundation for TXT and DOCX reinsert.
166
- - Reuse the existing deterministic Scrub Key reinsert logic.
167
- - Keep PDF, UI, AI calls and cloud processing out of scope.
168
-
169
  Outcome:
170
 
171
  - WP10 helper/test foundation is implemented.
172
  - WP10 awaits coordinator verification of GitHub Actions and Hugging Face sync.
173
- - Next recommended workpackage is WP11 — v13.5 Two-mode reinsert UI planning.
174
 
175
  ---
176
 
@@ -178,14 +147,6 @@ Outcome:
178
 
179
  Status: completed; review-only workpackage.
180
 
181
- Purpose:
182
-
183
- - Decide what Scrub should do next for AI-output and document-level reinsert before implementation starts.
184
- - Challenge whether pasted-text reinsert is enough.
185
- - Challenge whether direct DOCX/PDF reinsert should be added immediately.
186
- - Challenge whether anonymization and de-anonymization should remain in one combined long screen.
187
- - Recommend a model architecture, product direction, tactical sequence, operational safety position and visual/UX direction.
188
-
189
  Outcome:
190
 
191
  - WP9 is complete.
@@ -203,48 +164,12 @@ Outcome:
203
 
204
  ---
205
 
206
- ## v13.3 — Deterministic reinsert UI implementation
207
-
208
- Status: completed and app-verified after Actions/sync verification.
209
-
210
- Outcome:
211
-
212
- - v13.3 deterministic local reinsert UI is completed, app-verified and formally closed.
213
-
214
- ---
215
-
216
- ## v13.3 — Deterministic reinsert UI planning
217
-
218
- Status: implemented; reinsert UI implementation completed in WP8B and app-verified in WP8C.
219
-
220
- Outcome:
221
-
222
- - v13.3 deterministic reinsert UI was planned and then implemented and app-verified.
223
-
224
- ---
225
-
226
- ## v13.3 — Deterministic reinsert helper verification reconciliation
227
-
228
- Status: completed and formally closed after Actions/sync verification.
229
-
230
- Outcome:
231
-
232
- - v13.3 deterministic reinsert helper is completed and formally closed.
233
-
234
- ---
235
-
236
- ## v13.2 — Scrub Key import/reload UI app verification closeout
237
-
238
- Status: completed, app-verified and closed.
239
-
240
- Outcome:
241
-
242
- - v13.2 Scrub Key import/reload UI is completed, app-verified and closed.
243
-
244
- ---
245
-
246
  ## Earlier completed work
247
 
 
 
 
 
248
  - v13.2 Scrub Key import/reload UI integration.
249
  - v13.2 Scrub Key import/reload helper and tests.
250
  - v13.1 Scrub Key JSON export UI closeout.
@@ -268,8 +193,7 @@ Outcome:
268
 
269
  Possible directions:
270
 
271
- - Coordinator verification of WP10 Actions/sync.
272
- - Two-mode UI skeleton and tab separation.
273
  - TXT reinsert upload/download UI.
274
  - DOCX reinsert upload/download UI.
275
  - PDF text extraction research only after separate reliability review.
 
26
 
27
  ---
28
 
29
+ ## WP12 — v13.6 Two-mode UI skeleton and tab separation
30
 
31
+ Status: implemented; awaiting GitHub Actions, Hugging Face sync and app verification.
32
 
33
  Purpose:
34
 
35
+ - Implement the first two-mode UI structure with minimal risk.
36
+ - Make the two main user intents visible:
37
+ - `Anonimiseren`;
38
+ - `Originele waarden terugzetten`.
39
+ - Keep existing behavior working.
40
+ - Avoid a full landing-page refactor.
41
 
42
  Files added or changed:
43
 
44
+ - Changed `fix_streamlit_nested_expanders.py`.
45
+ - Added `tests/test_two_mode_ui_patch.py`.
46
  - Changed `WORKPACKAGES.md`.
47
  - Changed `CHANGELOG.md`.
48
+ - Added `handover/workpackages/20260608_0000_v13_6_two_mode_ui_skeleton.md`.
49
 
50
+ Main change:
51
 
52
+ - Added an idempotent startup patch that injects a small two-mode skeleton near the top of the app after the local-processing note.
53
+ - The skeleton uses Streamlit tabs:
54
  - `Anonimiseren`;
55
  - `Originele waarden terugzetten`.
56
+ - Each tab contains a short caption explaining the mode intent.
57
+ - The existing anonymization/scrub flow is left available.
58
+ - The existing pasted-text reinsert flow is left available.
59
+ - This is a navigation/skeleton step only; it does not move all app content into tabs yet.
60
+
61
+ Tests added:
62
+
63
+ - `tests/test_two_mode_ui_patch.py` checks:
64
+ - `Anonimiseren` is present;
65
+ - `Originele waarden terugzetten` is present;
66
+ - `st.tabs` and named tab variables are present;
67
+ - existing Scrub Key export/import labels remain;
68
+ - existing pasted-text reinsert labels remain;
69
+ - existing anonymization/download markers remain;
70
+ - existing scrubbed download behavior markers are not rewired;
71
+ - no TXT upload reinsert UI was added;
72
+ - no DOCX upload reinsert UI was added;
73
+ - no PDF reinsert was added;
74
+ - no AI/cloud/rehydration behavior was added;
75
+ - `apply_replacements_to_text` was not altered.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  Validation:
78
 
79
+ - Local clone/test run could not be performed in the container because outbound GitHub DNS failed:
80
+ - `Could not resolve host: github.com`.
81
+ - GitHub Actions: awaiting verification.
82
+ - Hugging Face sync: awaiting verification.
83
+ - App verification: required because UI behavior changed.
84
 
85
  Intentionally not changed:
86
 
87
+ - `presidio_streamlit.py` was not directly edited.
88
+ - No TXT upload reinsert UI added.
89
+ - No DOCX upload reinsert UI added.
 
 
 
 
 
 
90
  - No PDF reinsert added.
91
  - No AI calls added.
92
  - No cloud processing added.
93
+ - No automatic document rehydration added.
94
+ - No existing TXT, CSV, DOCX or PDF scrubbed export/download semantics intentionally changed.
95
+ - No Scrub Key export/import behavior intentionally changed.
96
  - No secrets, tokens or real personal data stored.
97
 
98
  Outcome:
99
 
100
+ - WP12 is implemented and awaits GitHub Actions, Hugging Face sync and app verification.
101
+ - Next recommended workpackage is `WP12B — v13.6 Two-mode UI skeleton app verification closeout`.
102
 
103
  ---
104
 
105
+ ## WP11 — v13.5 Two-mode reinsert UI planning
106
 
107
+ Status: completed; planning/specification-only workpackage.
108
 
109
  Purpose:
110
 
111
+ - Plan the future two-mode UI before changing Streamlit UI code.
112
+ - Clearly separate `Anonimiseren` from `Originele waarden terugzetten`.
113
+ - Decide where pasted-text, TXT and DOCX reinsert should fit.
114
+ - Compare current single-scroll workflow, tabs and landing-card options.
115
+ - Define the next safe UI implementation workpackage.
116
+
117
+ Outcome:
118
+
119
+ - WP11 planning is complete.
120
+ - Next recommended implementation workpackage was `WP12 — v13.6 Two-mode UI skeleton and tab separation`.
121
+
122
+ ---
123
 
124
+ ## WP10B — v13.4 TXT/DOCX reinsert foundation verification and closeout
125
 
126
+ Status: completed; Actions/sync not visible through connector, coordinator verification required.
 
 
 
 
 
127
 
128
  Outcome:
129
 
130
  - WP10B closeout is complete.
131
  - Coordinator should verify Actions/sync externally before marking WP10 formally closed.
 
132
 
133
  ---
134
 
 
136
 
137
  Status: implemented; awaiting coordinator verification of Actions/sync.
138
 
 
 
 
 
 
 
 
139
  Outcome:
140
 
141
  - WP10 helper/test foundation is implemented.
142
  - WP10 awaits coordinator verification of GitHub Actions and Hugging Face sync.
 
143
 
144
  ---
145
 
 
147
 
148
  Status: completed; review-only workpackage.
149
 
 
 
 
 
 
 
 
 
150
  Outcome:
151
 
152
  - WP9 is complete.
 
164
 
165
  ---
166
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  ## Earlier completed work
168
 
169
+ - v13.3 deterministic reinsert UI implementation.
170
+ - v13.3 deterministic reinsert UI planning.
171
+ - v13.3 deterministic reinsert helper verification reconciliation.
172
+ - v13.2 Scrub Key import/reload UI app verification closeout.
173
  - v13.2 Scrub Key import/reload UI integration.
174
  - v13.2 Scrub Key import/reload helper and tests.
175
  - v13.1 Scrub Key JSON export UI closeout.
 
193
 
194
  Possible directions:
195
 
196
+ - WP12B app verification closeout.
 
197
  - TXT reinsert upload/download UI.
198
  - DOCX reinsert upload/download UI.
199
  - PDF text extraction research only after separate reliability review.