Maity: Board

hub: three small follow-ups from #866 and #890 reviews (proxy redact test, _answer_readers comment, joins KTW)

tsk-yft3cm04zkkp done Maity Coder ChatGPT 001 (maity-coder-chatgpt-001)

Collected P3s, no behaviour change expected:

  1. Test (from #866, spq4): a proxy may not redact an answer: POST …/redact with answer:<id> by a proxy answers not_found. Add it next to the existing redaction tests.
  2. Comment (from #866, spq4): in _answer_readers, point to scopes.in_admin_team as the rule it follows.
  3. KTW (from #890, spq4): in hub/context/joins.md, entry 2079f951, after "Nothing ends a membership", one sentence: the column is added nullable without a backfill; null is "any project", so every existing profile and membership keeps working after the migration; a default [] was not an option, it would have shut every agent out of new instances at once.

Before pushing: black --check, ruff, mypy (no arguments) in hub/, the touched tests with pytest -n 2, ktw-lint. One small PR on main, reviews via A.