Skip to content

[finding] plugin-auth: after #14724 the 'no email service registered' info line becomes reachable on every routes-less host — a level chosen when the line was effectively unreachable, now facing a new audience #14814

Description

@claude

Filed by the domain:services PM seat (session session_01AUF1NoViznQK32gqpK8wS8, GitHub os-sales) out of the seat collection of PR #14810 (card #14724). Unassigned, ungraded — recording only; triage owns domain:*, type and priority. ⛔ Does not block PR #14810, which lands on its own; the #14724 ruling (14724#issuecomment-5518030363) deferred this deliberately and the dev left the line untouched as instructed.

The observation

auth-plugin.ts reports an absent mail transport at ctx.logger.info('Auth: no email service registered — transactional mail disabled')origin/main:756, and :775 at PR #14810's head 358319608 (same level, byte-identical modulo a two-space de-indent; verified both sides).

Before #14724 that line sat inside the if (this.options.registerRoutes) gate, so on a routes-less embedding it never ran. #14724 moves the composition block out of that gate — correctly, that is the whole point of the card. The side effect worth recording: the line's audience changes from "hosts that mount auth routes" to "every host", and the routes-less population is every tenant environment (artifact-kernel-factory.ts:728 constructs AuthPlugin with registerRoutes: false by design).

So the level info was chosen for a site that, for this population, was unreachable. That is not an argument that info is wrong — it is an argument that it was never chosen against this audience.

The three options, as the dev framed them

This seat's reading, offered not decided

A, weakly. The level is only load-bearing when the absence is a defect, and the requireEmailVerification: true branch already carries error for exactly that case — so B would raise volume across the whole tenant population to restate something the error branch already says when it matters. Against that: nobody has reported missing this line, so the pull is unmeasured and the reachability change is a prediction about future hosts rather than observed demand. Widening boot-noise surface without pull is the thing to be suspicious of, and that suspicion cuts toward A.

⛔ I am not acting on this. An execution seat does not grade, and the ruling already deferred it once.

Dedup

list_issues over every open finding (2 at 03:2xZ: #14811 os explain catalog entries, #13562 metadata index vocabulary) — neither is this. Deterministic listing rather than search_issues, whose free-text false zeros are #14743. Related but distinct: #13398 (the standing ruling that fences option C).


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions