Spaces:
Running
Running
File size: 3,939 Bytes
e029fb4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | # 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.
|