Review the invented audit-retention copy (audRecKeepN) #343
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/Cairn#343
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Copy review, deferred deliberately so Nikola can look at it on a running instance after the tag cut.
What this is
The Audit log "The record" panel (#342) has a Retention row. The handoff mockup only covers the indefinite case:
That sentence is only true when
audit.retainMonthsis 0. When an operator configures a non-zero retention,pruneLockedreally does delete month files older than the cut, so showing the mockup's sentence would be a false statement about the instance's own evidence trail — on the one page where that matters most.So a second variant was written to cover it:
Nikola did not write this string. It is the only piece of copy on that page that is not a verbatim transcription of the handoff, and it is filed here rather than shipped silently under the design-handoff rules (see the repo wiki page "Design handoff rules", rule 4: deviate only for impossibility, and ask).
Why it is not visible on the dogfood
cairn-encruns with retention 0, so the panel shows the mockup's sentence verbatim. To see the variant, set a non-zeroaudit.retainMonthsin thecairn-enc-configsecret and reopen Audit log → Settings.What to decide
Info()could return but currently does not?Also worth a second look at the same time: the sibling composition
denied · <reason>on the Query tab result chips. The reason itself is the server's own recorded refusal string, but the "denied" prefix is likewise not transcribed from the mockup — it was inferred from the mockup'sdenied — legal holdchip.Blocked on: nothing. Purely a copy review after v0.7 deployment.
Copy review decisions (Nikola, 2026-09-04):
audRecKeepNEnglish approved as shipped. de/fr/it keep the current shape for now — a broader translation deep-dive is planned separately and will revisit all locales at once.Info()gains the pruning cut-off (the month boundary below which files are removed at rotation — distinct from the Oldest row, which shows what actually survives). UI mockup first, per design-first; implementation follows the chosen variant.denied · <reason>chip prefix on the Query tab is blessed unchanged.Issue stays open until 2 ships.
Follow-up shipped in v0.6.123 (PR #419, dogfoods rolled): variant B from
audit-retention-config-hint-mockup.html— quiet Config chip on the Retention row, footer bar on the record box namingaudit.retainMonths+ restart requirement,Audit guide ↗linking the future-canonicalswisscairn.ch/docs/audit#retention. Footer copy flips at retention 0 to the enabling direction.Tier decision recorded alongside: audit retention stays config-only by design — the runtime UI can stop recording, but nothing reachable from an admin session may destroy recorded evidence; the one destructive knob lives at infrastructure trust level, same tier as the encryption identities.