@sellable/install 0.1.235 → 0.1.236
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -139,6 +139,10 @@ campaigns are not reusable evergreen targets. Only pass an archived
|
|
|
139
139
|
campaign/table as an explicit binding when the user supplied those exact ids and
|
|
140
140
|
explicitly allowed dashboard visibility repair; otherwise ignore archived
|
|
141
141
|
matches for execution and let the create packet proceed.
|
|
142
|
+
Do not call `get_campaign` on archived waterfall bindings to overrule a create packet.
|
|
143
|
+
Do not re-plan with explicit bindings for archived waterfall slots after an unbound create plan.
|
|
144
|
+
Archived waterfall slot readbacks are diagnostic only; they are not a consistency check that can replace the immutable create packet.
|
|
145
|
+
If an archived waterfall binding makes the agent unwilling to execute the create packet, stop with `blocked: archived_binding_plan_conflict` instead of repairing or reusing the archived campaign/table.
|
|
142
146
|
|
|
143
147
|
Use `selectedSenderIds` only as a legacy shorthand when the same senders should
|
|
144
148
|
get sender-owned Post Engagers lanes and attach to shared lanes. When the scopes
|
|
@@ -691,7 +695,24 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
691
695
|
</command_backed_workflow>
|
|
692
696
|
|
|
693
697
|
<objective>
|
|
694
|
-
1. **Inventory first
|
|
698
|
+
1. **Inventory first, then obey the setup plan**: `get_campaigns` +
|
|
699
|
+
`list_tables` + `get_campaign_waterfall` in the active workspace. Treat
|
|
700
|
+
`list_tables` and the managed waterfall as authoritative for orientation
|
|
701
|
+
before the command-backed plan; `get_campaigns` is a recent campaign page and
|
|
702
|
+
may miss canonical evergreen lanes. Match existing campaigns/tables/waterfall
|
|
703
|
+
slots to the plan by name (case-insensitive, ignore suffixes like "(Copy)")
|
|
704
|
+
and stored slot identity. `list_tables.campaignStatus` and
|
|
705
|
+
`list_tables.dashboardBucket` are part of the identity check: a matching
|
|
706
|
+
`ARCHIVED` table/campaign is not a plain `REUSE`. If it is the canonical prod
|
|
707
|
+
slot and the invocation explicitly allows dashboard visibility repair, repair
|
|
708
|
+
it to `PAUSED`; otherwise treat it as archived inventory only. After
|
|
709
|
+
`setup_evergreen_campaigns({ mode:"plan" })` returns, that plan is
|
|
710
|
+
authoritative: a lane packet with `intent:"create"` must stay a create packet,
|
|
711
|
+
even when archived waterfall entries or `get_campaign` readbacks prove an old
|
|
712
|
+
CampaignOffer still exists. A matching non-archived campaign/table/waterfall
|
|
713
|
+
slot may be reused only when the command-backed plan returns a reuse packet
|
|
714
|
+
or the user supplied exact current ids. Never create a second campaign for a
|
|
715
|
+
non-archived slot that the plan selected for reuse.
|
|
695
716
|
2. **Create only the missing slots** through the full `$sellable:create-campaign`
|
|
696
717
|
workflow path for each lane, using the lane packet as the setup basis:
|
|
697
718
|
- Post Engagers lanes: that sender's ID only. Shared lanes: all the senders' IDs.
|