Spaces:
Sleeping
Sleeping
| # Export/download UX contracts | |
| Workpackage: `WP_EXPORT_DOWNLOAD_UX_CONTRACT_TESTS` | |
| Repository: `solidprivacy-nl/scrub` | |
| Status: tests/documentation-only. | |
| This document records the contract for the professional export/download UX redesign before implementation. | |
| --- | |
| ## 1. Purpose | |
| The export/download UX may be grouped and renamed, but export semantics must stay unchanged unless a later approved implementation package explicitly changes them. | |
| The contract protects these boundaries: | |
| ```text | |
| Export UX is grouped but semantics stay unchanged. | |
| Scrub Key is separate and visibly sensitive. | |
| Audit/technical downloads remain available but secondary. | |
| Debug labels are planned for cleanup. | |
| Implementation requires separate package. | |
| ``` | |
| --- | |
| ## 2. Required export groups | |
| The planned export/download section must separate: | |
| ```text | |
| Document downloaden | |
| Scrub Key | |
| Audit en technische bestanden | |
| ``` | |
| Meaning: | |
| - normal document outputs belong under `Document downloaden`; | |
| - Scrub Key belongs in its own visibly warned section; | |
| - audit/technical files remain available but move to a secondary/audit layer. | |
| --- | |
| ## 3. Primary and secondary outputs | |
| Primary/normal document outputs: | |
| ```text | |
| Opgeschoonde tekst (.txt) | |
| Word-document (.docx) | |
| PDF (.pdf) | |
| ``` | |
| Secondary/audit outputs: | |
| ```text | |
| Vervangtabel (.csv) | |
| Scrubrapport (.txt) | |
| DOCX hygiene audit | |
| Geavanceerde technische informatie | |
| ``` | |
| The contract is about grouping and hierarchy. It does not approve a change to download bytes, filenames, MIME types or availability. | |
| --- | |
| ## 4. Export semantics boundary | |
| No export semantics change is approved by this contract package. | |
| The redesign must not change: | |
| ```text | |
| filenames | |
| MIME types | |
| payloads | |
| export eligibility | |
| Scrub Key contents | |
| report contents | |
| ``` | |
| The current implementation package must only be allowed to group/label existing downloads unless a later package explicitly approves an export-behavior change. | |
| --- | |
| ## 5. Scrub Key safety | |
| The Scrub Key must be clearly separated from normal document downloads. | |
| Scrub Key is sensitive because it can restore original values. | |
| The future UI must include a separate warning near the Scrub Key download. | |
| Required concepts: | |
| ```text | |
| Scrub Key clearly separated | |
| Scrub Key is sensitive | |
| can restore original values | |
| separate warning | |
| ``` | |
| --- | |
| ## 6. Audit and technical details remain available | |
| Audit and technical details must not disappear. | |
| They should become secondary layers such as: | |
| ```text | |
| Audit en risico’s | |
| Geavanceerd | |
| Audit en technische bestanden | |
| Geavanceerde technische informatie | |
| ``` | |
| The implementation may make these details calmer or collapsed by default, but it must not remove them. | |
| --- | |
| ## 7. Planned debug/prototype copy cleanup | |
| The direction is locked by contract tests: | |
| ```text | |
| Serial review — experimentele reviewhulp -> Stap voor stap controleren | |
| Download opgeschoonde bestanden -> Exporteer resultaat | |
| Technische details bij de vervangtabel -> Geavanceerde details bij de vervangtabel | |
| Technische herkenningen -> Geavanceerde herkenningsdetails | |
| ``` | |
| These are planning contracts only. They are not implemented in this package. | |
| --- | |
| ## 8. Follow-up implementation route | |
| Implementation sequence: | |
| ```text | |
| WP_EXPORT_DOWNLOAD_UX_CONTRACT_TESTS | |
| WP_EXPORT_DOWNLOAD_UX_IMPLEMENTATION | |
| WP_REVIEW_DEBUG_ELEMENTS_COLLAPSE_PLAN | |
| WP_REVIEW_DEBUG_ELEMENTS_COLLAPSE_IMPLEMENTATION | |
| WP_REVIEW_COPY_POLISH_IMPLEMENTATION | |
| WP_MVP_UI_APP_VERIFICATION_CLOSEOUT | |
| ``` | |
| The immediate next implementation package is: | |
| ```text | |
| WP_EXPORT_DOWNLOAD_UX_IMPLEMENTATION | |
| ``` | |
| Do not start it automatically. | |
| --- | |
| ## 9. Explicit non-goals | |
| ```text | |
| No Streamlit implementation. | |
| No export payload change. | |
| No Scrub Key change. | |
| No reinsert change. | |
| No recognizer/benchmark change. | |
| No product claim. | |
| No threshold enforcement. | |
| No production gate. | |
| ``` | |
| No product UI implementation is approved by this contract package. The implementation requires a separate workpackage and must preserve export semantics. | |