docs(minerva-rls): tighten V41 header comment — resolve dangling "see below" in (4b) rationale #4
Labels
No labels
area/daily-life
area/dotfiles
area/infra
area/process
area/tooling
priority/high
priority/low
status/blocked
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mike/Housekeeping#4
Loading…
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?
Context
Surfaced by review-orchestrator pass on
mike/MinervaPR #269 (V41 cross-tenant canvasser_id binding, closes Minerva #263). Non-blocking comment-accuracy nit from the consolidated reviewer panel; filed here because it's polish, not a Minerva-functional item, and the orchestrator policy excludes.sqlfiles from the auto-fix lane.Problem
The V41 migration header (
services/migrations/sql/V41__cross_tenant_canvasser_id_binding.sql, lines 36-39) poses a rhetorical question and answers it with an indirect reference:The "see below" is never explicitly delivered. A careful reader can infer the answer from lines 56-60 (the "subquery shape" paragraph about
canvassers_three_axisSELECT gating andclient_idpredicate) plus knowledge of V9's existingcanvass_contact_responses.client_id = current_client_id()tenant check, but it's left to the reader to assemble.Intended reasoning (what should be on the page)
The campaign_manager branch of
canvass_contact_responses_insertdoes not need an explicit visit-scope EXISTS check because:canvass_contact_responses.client_id = current_client_id()already rejects any row that names avisit_idin a different tenant (the visit's row would FK-validate, but the response's own client_id predicate rejects).Fix
Add a short clarifying paragraph after line 40 in a future migration header (V41 itself is checksum-locked once applied to a target DB — fix needs to land in a
Vnn__...successor that touches this header comment area, e.g. as part of an unrelatedcanvass_contact_responsescleanup, or as a dedicated V-file if one is warranted for documentation-only migrations).Or — lighter touch — append the reasoning as an additional
COMMENT ON POLICY canvass_contact_responses_insertline in a small follow-up migration. That leaves the V41 checksum alive and documents the intent on the live policy object.Priority
Low. Comment polish, no correctness implication. No deadline.
Cross-reference
Re-routed to
mike/Minerva#271— migration-header concerns belong with the migrations they reference, not cross-project housekeeping. Closing here.