File size: 5,281 Bytes
42f274b
 
 
 
 
 
d6e5879
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c792de7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283ef1e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dc034dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86d77c5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53d72ab
 
86d77c5
53d72ab
 
 
 
 
 
 
 
 
86d77c5
53d72ab
 
 
 
 
 
 
 
 
c1cedc3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53d72ab
c1cedc3
 
 
dc034dd
cc39d20
dc034dd
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
178
# SolidPrivacy Scrub β€” Decision Log

This file records accepted strategic, product and architecture decisions.

---

## 2026-07-03 β€” D027 β€” Basiscontrole / Expertcontrole as review-mode direction

Status: accepted planning recommendation, implementation pending contract tests

Decision:

```text
Use Basiscontrole / Expertcontrole as the planning names for the two normal review-mode layers.
Basiscontrole is the default MVP path.
Expertcontrole exposes the full inspection/audit machinery.
Mode switching changes visibility only, not processing or export semantics.
```

Reason:

```text
The MVP interface needs a true less-is-more default path without weakening legal/privacy review controls. Basiscontrole communicates lower cognitive load while keeping the workflow framed as a serious control task.
```

Boundaries:

- Basiscontrole is not weaker review.
- The review table remains source of truth internally.
- Mode switching must not change recognizer behavior, replacement logic, export output, Scrub Key JSON, reinsert behavior or audit generation.
- Implementation requires contract tests first.

---

## 2026-06-18 β€” D026 β€” Temporarily prioritize MVP UI cleanup and export/download redesign

Status: accepted product-direction decision

Decision:

```text
Pause new recall/benchmark follow-up packages temporarily and prioritize MVP UI cleanup/export redesign.
```

Reason:

```text
The app must move from a prototype/debug interface toward a professional MVP workflow.
```

Consequence:

```text
Next packages focus on export/download UX and hiding/collapsing debug details without weakening safety controls.
```

Implications:

- Recall/benchmark follow-up packages are parked unless a concrete blocker appears.
- Export/download UX is now the active next user-visible improvement line.
- Technical/audit details must remain available but move out of the primary flow where appropriate.
- Scrub Key must stay clearly separated and visibly sensitive.
- Export semantics must not change silently.
- The review table remains source of truth and fallback.
- No Streamlit implementation is approved by this planning decision; implementation requires separate workpackages.

---

## 2026-06-18 β€” D025 β€” PERSON-name implementation requires green contract tests first

Status: accepted tests/specification decision

Decision:

```text
PERSON-name recognizer implementation may only start after contract tests are green.
```

Reason:

```text
Value-only matching and role preservation are safety-critical.
```

Consequence:

```text
Implementation package must satisfy the contract fixture before benchmark review.
```

---

## 2026-06-18 β€” D024 β€” PERSON-name improvement proceeds test-first

Status: accepted planning/specification decision

Decision:

```text
PERSON-name improvement will proceed test-first.
```

Reason:

```text
Single-surname and role/context cases are high-risk for over-masking and legal/care meaning damage.
```

Consequence:

```text
Contract tests are required before recognizer implementation.
```

---

## 2026-06-15 β€” D023 β€” Synchronized scrolling is default review behavior, not a user-facing technical control

Status: accepted bounded UX refinement decision

Decision:

```text
In the central side-by-side review surface, synchronized scrolling should be on by default and should not be exposed as a visible checkbox.
```

Boundary:

This decision does not change replacement behavior, export/download behavior, Scrub Key behavior or reinsert behavior.

---

## 2026-06-15 β€” D022 β€” Bounded synchronized side-by-side scrolling approved after prototype review

Status: accepted bounded UX implementation decision; refined by D023 for visible control behavior

Decision:

```text
After visual review of the isolated synchronized-scroll prototype, bounded synchronized scrolling may be integrated into the existing side-by-side review surface.
```

Implementation boundaries:

- Keep synchronized scrolling bounded to the side-by-side review surface.
- Do not change replacement behavior.
- Do not mutate review table state.
- Do not write or change Scrub Key data.
- Do not change export/download behavior.
- Do not change reinsert behavior.
- Do not use real data.

---

## 2026-06-14 β€” D021 β€” Unified side-by-side review surface is the target review UX

Status: accepted product/UX direction

Decision:

```text
The review UX should move toward one unified side-by-side main review surface: source text on the left, processed/checked text on the right, with optional highlights integrated in the processed-text pane. The product should not keep adding separate helper panels or duplicate preview expanders for every review feature.
```

Implications:

- Future review UX work should centralize around source-vs-processed comparison.
- The review table remains source of truth and fallback.
- Serial review remains a guided review layer, not a replacement of the table.
- The old replacement decision helper panel must not return as normal user-facing UI.
- Do not start panel removal, click-to-mark, advanced editor, full-document marking, Scrub Key writes, export blocking or reinsert behavior changes without separate approved packages.

---

## Historical note

Older decisions remain available in Git history.