SPEC correction: surface 1 was NOT accurate, and the guard matched one inflection
The spec listed backups_remote.html:98 as 'Accurate; keep'. It ended with the same unevaluable promise as surface 2, in the plural - and because the spec's own guard was written against the singular form, it could not catch it either. Both corrected; implemented in controller v0.212.0 (R-299).
This commit is contained in:
@@ -16,7 +16,7 @@ All in `felhom-controller`:
|
|||||||
|
|
||||||
| # | file:line | what it says today |
|
| # | file:line | what it says today |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `controller/internal/web/templates/backups_remote.html:98` | *"A távoli tárhelyen lévő mentések egy korábbi, már nem elérhető kulccsal készültek…"* — the orphan explanation. **Accurate; keep.** |
|
| 1 | `controller/internal/web/templates/backups_remote.html:98` | *"A távoli tárhelyen lévő mentések egy korábbi, már nem elérhető kulccsal készültek…"* — the orphan explanation. ~~**Accurate; keep.**~~ **WRONG — CORRECTED 2026-08-12 (R-299).** Its first two clauses are accurate and were kept, but it ENDED *"— a hozzájuk tartozó helyreállítási kóddal később **visszaállíthatók lehetnek**"*: the same unevaluable promise as surface 2, in the plural. This spec called it accurate, so it survived the 2026-08-10 fix; and because §5's guard was written against the SINGULAR form it could not catch the plural either. **It is also the ALWAYS-VISIBLE half of the card** — surface 2 only renders after the customer clicks through — so on first view this was the only text they read, and it was the one still promising. |
|
||||||
| 2 | `controller/internal/web/templates/backups_remote.html:101` | *"A régi előzmény **félretéve marad** (nem törlődik), és a hozzá tartozó helyreállítási kóddal később visszaállítható lehet."* — **the false promise.** |
|
| 2 | `controller/internal/web/templates/backups_remote.html:101` | *"A régi előzmény **félretéve marad** (nem törlődik), és a hozzá tartozó helyreállítási kóddal később visszaállítható lehet."* — **the false promise.** |
|
||||||
| 3 | `controller/internal/web/templates/layout.html:143` | the 14-day abandon countdown — *"a korábbi távoli mentéseidet {{.RecoveryAbandonDays}} nap múlva véglegesen töröljük"*. **Accurate; keep**, but see §3. |
|
| 3 | `controller/internal/web/templates/layout.html:143` | the 14-day abandon countdown — *"a korábbi távoli mentéseidet {{.RecoveryAbandonDays}} nap múlva véglegesen töröljük"*. **Accurate; keep**, but see §3. |
|
||||||
| 4 | `controller/internal/settings/settings.go:337-338` | schema comment on `OrphanedRenamedTo`: *"so the card/log can name where the old history was set aside."* **Accurate; keep.** |
|
| 4 | `controller/internal/settings/settings.go:337-338` | schema comment on `OrphanedRenamedTo`: *"so the card/log can name where the old history was set aside."* **Accurate; keep.** |
|
||||||
@@ -72,8 +72,15 @@ clear it is the set-aside copy being deleted. Recommend re-reading the pair once
|
|||||||
|
|
||||||
`controller/internal/web/` render test, one per branch of the orphan card:
|
`controller/internal/web/` render test, one per branch of the orphan card:
|
||||||
|
|
||||||
1. **Orphan card rendered → the string `visszaállítható lehet` does not appear anywhere in the
|
1. **Orphan card rendered → the STEM `visszaállíthat` does not appear anywhere in the output.**
|
||||||
output.** That is the regression guard: it fails if the promise returns in any form.
|
That is the regression guard: it fails if the promise returns in any form.
|
||||||
|
|
||||||
|
**CORRECTED 2026-08-12 (R-299).** This originally said the string `visszaállítható lehet`, and
|
||||||
|
that is how surface 1's plural („visszaállíthatók lehetnek") shipped past it. **A guard matching one
|
||||||
|
inflection of a Hungarian verb guards one sentence, not the claim** — match the stem. The plain
|
||||||
|
forms the rest of the UI uses („visszaállítás", „visszaállítani") do not contain `visszaállíthat`,
|
||||||
|
so this does not over-match. Proven by planting the shipped plural: the stem guard convicts, and the
|
||||||
|
old singular guard does **not** match that sentence at all.
|
||||||
2. **Orphan card rendered → the "write to us" route is present.** A refusal that names no route is a
|
2. **Orphan card rendered → the "write to us" route is present.** A refusal that names no route is a
|
||||||
defect in this project; pin the route, not only the absence.
|
defect in this project; pin the route, not only the absence.
|
||||||
3. A render test **per branch of the gate** that shows the card at all, per the seam-wiring rule —
|
3. A render test **per branch of the gate** that shows the card at all, per the seam-wiring rule —
|
||||||
|
|||||||
Reference in New Issue
Block a user