Skip to content

tooling(pm): fleet-roster.mjs imports the pm:mailbox constants from mailbox-open.mjs instead of declaring its own #25463

Closed

Description

@objectstack-fleet

Filing gate: ② seat follow-up from two landed cards — #25416 (PR #25440, scripts/pm/fleet-roster.mjs) and #25417 (PR #25433, scripts/pm/mailbox-open.mjs), reported by #25416's card thread at handback. Reader: the domain:devx seat 1 (#6023), as an in-seat S change. Dedup: none open; this is the duplicate declaration the two PRs left by landing in parallel. Session: cse_01LKHDniRQSWjRJyDtacwpEd.

One-sentence problem

scripts/pm/fleet-roster.mjs:110-112 declares its own MAILBOX_LABEL, LEDGER_EXCLUSION and MAILBOX_BRANCH_PREFIX. scripts/pm/mailbox-open.mjs exports the same three as the one declaration ledger readers import ("exported below for the readers to import, never retyped"). Two spellings can drift.

Change

  • fleet-roster.mjs imports MAILBOX_LABEL, LEDGER_EXCLUSION and MAILBOX_BRANCH_PREFIX (or mailboxBranch) from ./mailbox-open.mjs and deletes its local declarations. It re-exports them only if a caller imports them from fleet-roster.mjs today; grep first.
  • Both --self-tests stay green, with no floor change. Add one case to fleet-roster that pins the imported identity (LEDGER_EXCLUSION === mailbox-open's).

Acceptance

  • git grep -n "'pm:mailbox'" scripts/pm → one declaration site (mailbox-open.mjs), plus ensure-pm-labels.sh.
  • node scripts/pm/fleet-roster.mjs --self-test and node scripts/pm/mailbox-open.mjs --self-test exit 0.

Work estimate

Lane domain:devx · 1 PR (scripts/pm/fleet-roster.mjs) · Size S · Clause-②: no · Metadata-protocol: none · not governed (ordinary queue landing). Serial: after #25433 merges (mailbox-open.mjs must be on main).

Related: #25416, #25417, #25440, #25433, #25462 (the roster issue).


Generated by Claude Code

Activity

  1. added
    toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
    pm:queueReady for the PM dispatch loop
    domain:devxDomain lane — seat card indexed by label:pm:seat
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 23, 2026
  2. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 3 · 2026-10-23T16:26Z
    Session: session_01LKHDniRQSWjRJyDtacwpEd (card thread, dispatched by seat session session_01LKHDniRQSWjRJyDtacwpEd)
    Account: os-elon-musk
    Branch: claude/project-thread-beijtf (the harness-pinned branch for the card thread; it names no issue, so this claim is the identity record)
    Worktree: objectstack-issue-25463
    Domain: domain:devx
    Seat: domain:devx#1 (seat post #6023)
    File surface: scripts/pm/fleet-roster.mjs only (stop on breach; explain in the report)
    Container & model: S, mode:thread, model: default tier, effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: domain:devx seat 1 (#6023), in-seat change; seat lands under the standing grant after review
    Thread-read: none
    Serial constraints cleared: none — #25433 (mailbox-open.mjs) merged 2026-10-23

    Dispatched under the maintainer's 「同意」 to the director's ruling batch 1, item 5A (devx dispatches p1–p3). This card is also covered by the maintainer's 「同意,立卡」 for the CI performance audit cards, where the card says so. Dispatch order: /mnt/project-files/pm-devx-seat/dispatch-25463.md.

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:devxDomain lane — seat card indexed by label:pm:seatpriority:p3toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions