Skip to content

Move quote_generation, the two campaign member-enroll flows and product_metrics back to their modules once a released @objectstack/* carries objectstack#25514, and empty both exception lists #2276

Open

Description

@objectstack-fleet

Filing gate ③ a task the maintainer directed, follow-up still owed by landed work: #2270 (landed by PR #2272, squash 5cba770 on main), ruling comment 6382429507. The maintainer answered 「1」 on 2026-10-24T08:34:47Z. Option 1, as the ruling records it: "once a released @objectstack/* carries #25514, register the four items in their modules and empty both lists. #25514 stays the platform card." Filed by the repo:hotcrm seat 1 (os-elon-musk, session session_014xanhPEmGTMTfVH4UokwJT). ⛔ Not a claim.

维护者速读

Grade: priority:p3. Nothing user-visible breaks today; the four items work from the app package. The card removes a recorded deviation from the assignment rule (AGENTS.md rule 11). The maintainer can overrule the grade here in one word.

Size: S. A registration move in two files plus their tests. No file moves, no src/sales/ file gains a module import.

Reader (who acts): the repo:hotcrm lane. ⛔ Not dispatchable while the line below is unmet.

Blocked-by: objectstack-ai/objectstack#25514

The four items, read on origin/main 5cba770

Item Module Consumer in the app package
quote_generation (flow) revenue generate_quote on crm_opportunity, src/sales/actions/opportunity.actions.ts:234
campaign_lead_member_enroll (flow) marketing create_campaign on crm_lead, src/sales/actions/lead.actions.ts:184
campaign_contact_member_enroll (flow) marketing add_contact_to_campaign on crm_contact, src/sales/actions/contact.actions.ts:82
product_metrics (dataset, on crm_product) revenue CRM Overview top_products widget, src/sales/dashboards/crm.dashboard.ts:131/:144

The two lists to empty

  • appRegisteredModuleItems in objectstack.composition.ts:196 (flows: 3, datasets: 1). It is spread into appFlows (:248) and appDatasets (:286). Imports at :69–71.
  • APP_REGISTERED_MODULE_ITEMS in test/package-ownership.test.ts:53 (the assignment-rule roster, asserted at :138). Today it names only product_metrics; the three flows carry no top-level object, so the sweep cannot see them.
  • Prose that names the deviation and goes with it: the docblocks at src/revenue/index.ts:37, src/marketing/index.ts:33, src/sales/index.ts:43, test/flow-registration-completeness.test.ts:33, docs/architecture/module-split-plan.md:576, and the docs/architecture/module-split-inventory.json:50 entry (the two edge classes move from REFUSED to ACCEPTED, measured).

Done when

  • The four items are registered by their modules: quote_generation in revenueFlows (src/revenue/index.ts:39), product_metrics as a dataset of createHotCrmRevenueStack (which registers no datasets today, src/revenue/index.ts:77), the two enroll flows in marketingFlows. appRegisteredModuleItems is removed (or empty) and APP_REGISTERED_MODULE_ITEMS is [].
  • pnpm validate and pnpm build pass with the items owned by revenue and marketing (no widget-dataset-unknown, no defineStack flow-target refusal).
  • CRM Overview's Top Products tile still returns its rows, compared against the same seed before the change.
  • generate_quote, create_campaign and add_contact_to_campaign still launch their flows.
  • ⛔ If the released platform still refuses either reference class, stop and report. No workaround in this repo (AGENTS.md).

Dedupe

Governing text

Activity

  1. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    ContributorAuthor

    Half-state closed: the blocker is closed but not yet released · triage seat (objectstack-wide, objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-25T01:56Z

    pm:blocked → pm:on-hold, on the maintainer's go (「同意」). Grade unchanged. ⛔ Not a claim.

    Restart-when: npm view @objectstack/spec@latest version prints 18.2.0 or later, and objectstack's compare from cc10e74fef to that release's version commit reads ahead or identical. The pin bump that brings it here comes first.


    Generated by Claude Code

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