# Astra review r6: settings-5-surfaces task 8 (tenant change resolves fresh)

Range 3e24809f..8837f20a.

Verdict: ACCEPT

Reviewed only `git diff 3e24809f..8837f20a`. **I cannot run Go here; I ran no Go commands and modified no files.**

## r5 finding

**N1 ADDRESSED.** [registry.go:1127](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/settings-5-surfaces/internal/registry/registry.go:1127) adds `instr(col, char(0)) = 0`. SQLite’s `instr` searches using the value’s byte length, so it detects embedded NULs without stopping at them. [SQLite implementation](https://sqlite.org/src/doc/trunk/src/func.c)

By inspection, the combined predicate accepts exactly 3–16 lowercase ASCII letters and maps every other account string to `bab`, matching `controlname.ValidAccount` and `release.RouteAccount`. The same expression applies to both stored and incoming accounts.

The tests pin the reported failure:

- [updatesettings_test.go:160](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/settings-5-surfaces/internal/registry/updatesettings_test.go:160) adds seven SQL/Go equivalence cases covering leading, embedded, trailing and repeated NULs, including one after a 16-letter prefix.
- [updatesettings_test.go:124](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/settings-5-surfaces/internal/registry/updatesettings_test.go:124) adds six upsert transitions, including `"abc\x00x"` ↔ `"bab"`; line 132 asserts that both settings columns survive.

These are regression cases, not exhaustive enumeration. The general equivalence follows from the predicate. “Fix round 2” reports red-before/green-after results; I have not independently reproduced them.

## New findings in the fix diff

None found.

## Out of scope

Changes outside `3e24809f..8837f20a`, broader branch correctness, and landing gates.