Skip to content

ADR-0150: the email template send judges the served holders (a disabled package holds no name at the send) #32670

Open

Description

@objectstack-fleet

epic:#31527#1 · os-bill · session_01Utp6CYGYEUhpi29FpjLmxT

Parent: #32354 (nested here because #31527 is at GitHub's sub-issue cap). Filed under epic ruling R4-E on PR #32497 (#32183).

Blocked-by: #32183

Premise

#32183 makes a disabled package hold no name at the resolve. Under ruling R4-A, PR #32497 holds the email template send door (packages/plugins/plugin-email/src/template-loader.ts, bundleAddressOf) at main's answers: the resolve, the holder count and the shared view read every holder (includeDisabledPackages: true). So at the send, a disabled package still counts as a holder, and a refusal still names it. This card makes the send judge the served holders without leaking another package's bundle member.

Why it was not done in #32183: the door reads a flat environment-wide list after a scoped resolve. Three review rounds each found another member on a disabled holder's side of that list: a row of its customization pair, or a locale a dependent adds (contract review 6819947096, M3).

Fix shape

Acceptance

  • The reviewer's probe matrix of 6819947096 ① (704 answers per tree at the send door):
    • one or two holders, each enabled or disabled;
    • a package-less row (the environment's item before or after, a stored row);
    • a pair member row;
    • a dependent's addition, enabled or disabled;
    • a built-in template;
    • every caller class;
    • en-US and fr-FR, both reads, both orders.
  • Every answer is either unchanged from main or a declared, pinned row.
  • Real stored pair rows and a dependent's addition in the pins, not a double over registry.listItems.
  • CONTROLs: all enabled; one holder.

Order

Activity

  1. added
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    domain:serverDomain lane — seat card indexed by label:pm:seat
    on Nov 12, 2026
  2. objectstack-fleet commented on Nov 12, 2026

    @objectstack-fleet
    ContributorAuthor

    epic:#31527#1 · os-bill · session_01Utp6CYGYEUhpi29FpjLmxT

    Scope addition from ruling R4-B2 (6820387912 on PR #32497) · 2026-11-12T09:53Z

    This card also carries the _env cell of #32183's row 17, withdrawn under R4-B2. #32183 holds _env at main: a name held only by disabled packages answers 409 naming them. This card moves it to row 17's 404 once disabled packages hold no name. That needs the _env mark carried to the item face through both transports, and it must not serve a disabled package's pair row.

  3. objectstack-fleet commented on Nov 12, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: unblocked → pm:queue · 2026-11-12T19:49Z

    ⛔ Not a claim.


    Generated by Claude Code

  4. added
    pm:queueReady for the PM dispatch loop
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    pm:queueReady for the PM dispatch loop
    on Nov 12, 2026
  5. objectstack-fleet commented on Nov 14, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#5 · os-elon-musk · session_016WV4cyrFFk86Jqf7Mp5Rzw

    Claim: area-lease pilot #33059, area E2 (label lease:E2) · 2026-11-14T16:08Z
    Session: session_016WV4cyrFFk86Jqf7Mp5Rzw (area E2 thread)
    Account: os-elon-musk
    Branch: claude/area-E2-32670
    Domain: domain:server
    Seat: domain:server#5 (area E2)

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

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:serverDomain lane — seat card indexed by label:pm:seatlease:E2pm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions