@mj-biz-apps/marketing-server 0.1.0 → 0.3.0

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.
Files changed (40) hide show
  1. package/dist/agents/BaseMarketingAgent.d.ts.map +1 -1
  2. package/dist/agents/BaseMarketingAgent.js +22 -1
  3. package/dist/agents/BaseMarketingAgent.js.map +1 -1
  4. package/dist/agents/MarketingExperimentationAgent.d.ts +14 -0
  5. package/dist/agents/MarketingExperimentationAgent.d.ts.map +1 -1
  6. package/dist/agents/MarketingExperimentationAgent.js +169 -13
  7. package/dist/agents/MarketingExperimentationAgent.js.map +1 -1
  8. package/dist/agents/MarketingStrategyOnboardingAgent.d.ts.map +1 -1
  9. package/dist/agents/MarketingStrategyOnboardingAgent.js +38 -4
  10. package/dist/agents/MarketingStrategyOnboardingAgent.js.map +1 -1
  11. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.d.ts +397 -310
  12. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.d.ts.map +1 -1
  13. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.js +678 -326
  14. package/dist/generated/graphql-schemas/__mj_BizAppsMarketing.js.map +1 -1
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/programs/ContentPostProgramDriver.d.ts +4 -8
  19. package/dist/programs/ContentPostProgramDriver.d.ts.map +1 -1
  20. package/dist/programs/ContentPostProgramDriver.js +16 -46
  21. package/dist/programs/ContentPostProgramDriver.js.map +1 -1
  22. package/dist/programs/EmailProgramDriver.d.ts +3 -5
  23. package/dist/programs/EmailProgramDriver.d.ts.map +1 -1
  24. package/dist/programs/EmailProgramDriver.js +15 -21
  25. package/dist/programs/EmailProgramDriver.js.map +1 -1
  26. package/dist/programs/google/GoogleAdsProgramDriver.d.ts +3 -5
  27. package/dist/programs/google/GoogleAdsProgramDriver.d.ts.map +1 -1
  28. package/dist/programs/google/GoogleAdsProgramDriver.js +26 -25
  29. package/dist/programs/google/GoogleAdsProgramDriver.js.map +1 -1
  30. package/dist/programs/index.d.ts +2 -0
  31. package/dist/programs/index.d.ts.map +1 -1
  32. package/dist/programs/index.js.map +1 -1
  33. package/dist/programs/linkedin/LinkedInAdsClient.d.ts.map +1 -1
  34. package/dist/programs/linkedin/LinkedInAdsClient.js +13 -3
  35. package/dist/programs/linkedin/LinkedInAdsClient.js.map +1 -1
  36. package/dist/programs/linkedin/LinkedInAdsProgramDriver.d.ts +3 -5
  37. package/dist/programs/linkedin/LinkedInAdsProgramDriver.d.ts.map +1 -1
  38. package/dist/programs/linkedin/LinkedInAdsProgramDriver.js +36 -27
  39. package/dist/programs/linkedin/LinkedInAdsProgramDriver.js.map +1 -1
  40. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMarketingAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseMarketingAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACzH,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC1G,OAAO,EAAgC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG9E;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;cACpB,yBAAyB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DtH;;;;;OAKG;YACW,qBAAqB;IAmBnC;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAYxE;;;;;;;;;;OAUG;YACW,sBAAsB;IA8CpC;;;;;;;OAOG;cACa,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3G,6EAA6E;YAC/D,UAAU;IAmBxB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAUtB,iEAAiE;IACjE,OAAO,CAAC,uBAAuB,CAAS;IAExC;;;;;;OAMG;YACW,0BAA0B;cAgBf,mBAAmB,CAAC,CAAC,EAC1C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;cA0BD,uBAAuB,CAAC,CAAC,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAgBnC;AAED,wBAAgB,sBAAsB,SAAK"}
1
+ {"version":3,"file":"BaseMarketingAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseMarketingAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACzH,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC1G,OAAO,EAAgC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG9E;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;cACpB,yBAAyB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFtH;;;;;OAKG;YACW,qBAAqB;IAmBnC;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAYxE;;;;;;;;;;OAUG;YACW,sBAAsB;IA8CpC;;;;;;;OAOG;cACa,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3G,6EAA6E;YAC/D,UAAU;IAmBxB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAUtB,iEAAiE;IACjE,OAAO,CAAC,uBAAuB,CAAS;IAExC;;;;;;OAMG;YACW,0BAA0B;cAgBf,mBAAmB,CAAC,CAAC,EAC1C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;cA0BD,uBAAuB,CAAC,CAAC,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAgBnC;AAED,wBAAgB,sBAAsB,SAAK"}
@@ -1,7 +1,7 @@
1
1
  import { EscapeSQLString, UUIDsEqual } from '@memberjunction/global';
2
2
  import { BaseAgent } from "@memberjunction/ai-agents";
3
3
  import { LogStatus, LogError, RunView } from "@memberjunction/core";
4
- import { closeAnsweredFeedbackRequests, isUuid, resolveAuthorizedBrands, toMarketingEntityName } from "@mj-biz-apps/marketing-core";
4
+ import { closeAnsweredFeedbackRequests, isUuid, parseTaskInput, resolveAuthorizedBrands, taskInputBrandId, toMarketingEntityName } from "@mj-biz-apps/marketing-core";
5
5
  /**
6
6
  * Base class for all marketing agents.
7
7
  *
@@ -64,6 +64,18 @@ export class BaseMarketingAgent extends BaseAgent {
64
64
  params.payload = {};
65
65
  }
66
66
  const payload = params.payload;
67
+ // A task-graph run (a program workflow's Sub-Agent step, KI-99) carries its brand in the first
68
+ // user message's "## Task input" block, not in the payload — the runner passes none. Take the
69
+ // brand from there before the grant ladder below, which would otherwise pick a brand the
70
+ // user happens to hold rather than the one the workflow belongs to. Like an explicit
71
+ // payload brand, it is trusted as the run's scope: the task input is written by the
72
+ // dispatcher from the graph's own rows, never by a client.
73
+ if (!payload.brandId) {
74
+ const firstUser = (params.conversationMessages ?? []).find(m => m.role === 'user');
75
+ const fromTask = taskInputBrandId(parseTaskInput(typeof firstUser?.content === 'string' ? firstUser.content : null));
76
+ if (fromTask)
77
+ payload.brandId = fromTask;
78
+ }
67
79
  // Always stamp currentDate (idempotent — payload value wins if already set).
68
80
  if (!payload.currentDate) {
69
81
  payload.currentDate = new Date().toISOString().split('T')[0];
@@ -97,6 +109,15 @@ export class BaseMarketingAgent extends BaseAgent {
97
109
  if (payload.brandId && (!payload.brandName || !payload.companyId)) {
98
110
  await this.hydrateBrandContext(payload, params.contextUser);
99
111
  }
112
+ // KI-45: a SCHEDULED walk with no resolvable brand fails in milliseconds, not after a
113
+ // two-hour prompt that waits for a human who is not there. (Interactive chats keep the
114
+ // "ask which brand" path — a person is present to answer.)
115
+ if (payload.scheduled === true && !payload.brandId) {
116
+ const msg = `${this.constructor.name}: scheduled run "${String(payload.jobName ?? 'unknown job')}" has no resolvable brand — `
117
+ + `the job's StartingPayload.brandId is missing or not among the runner's grants. Re-stamp the brand job (Set up automation).`;
118
+ LogError(msg);
119
+ throw new Error(msg);
120
+ }
100
121
  }
101
122
  /**
102
123
  * Loads the prior run's FinalPayload onto `params.payload` — the same restore core's
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMarketingAgent.js","sourceRoot":"","sources":["../../src/agents/BaseMarketingAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMarketingAgent.js","sourceRoot":"","sources":["../../src/agents/BaseMarketingAgent.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,12 @@ export declare class MarketingExperimentationAgent extends BaseMarketingAgent {
49
49
  * absence cannot be mistaken by the model for "there is no history".
50
50
  */
51
51
  protected preparePromptParams<P>(config: AgentConfiguration, payload: P, params: ExecuteAgentParams): Promise<AIPromptParams>;
52
+ /**
53
+ * The facts an interpretation may rest on, as text for the prompt: the program's hypothesis, thresholds,
54
+ * decision and reason; its newest program-sourced learning (the finding the workflow wrote); and every
55
+ * observation and segment result it has. Numbers here are exactly the numbers the hook later allows.
56
+ */
57
+ private renderDecidedProgramFacts;
52
58
  /**
53
59
  * The text findings are ranked against, drawn from the conversation.
54
60
  *
@@ -76,6 +82,14 @@ export declare class MarketingExperimentationAgent extends BaseMarketingAgent {
76
82
  protected validateSuccessNextStep<P>(params: ExecuteAgentParams, nextStep: BaseAgentNextStep<P>, currentPayload: P, agentRun: MJAIAgentRunEntityExtended, currentStep: MJAIAgentRunStepEntityExtended): Promise<BaseAgentNextStep<P>>;
77
83
  /** A turn that ends by asking the user something can still have proposed — same stamp. */
78
84
  protected validateChatNextStep<P>(params: ExecuteAgentParams, nextStep: BaseAgentNextStep<P>, currentPayload: P, agentRun: MJAIAgentRunEntityExtended, currentStep: MJAIAgentRunStepEntityExtended): Promise<BaseAgentNextStep<P>>;
85
+ /**
86
+ * The type driver's proposal gate on the model's OWN `Propose Program` call, before it executes (KI-107) — MJ's
87
+ * `validateActionsNextStep` hook, which the framework itself uses to bounce unknown actions and execution limits
88
+ * with a Retry. A headline over Google's 30 characters comes back to the model as the field-level message it can
89
+ * act on, instead of a refused action result a turn later. The action refuses the same draft anyway (Propose runs
90
+ * the gate; the entity runs it on save) — this is the cheaper, earlier door, not the only one.
91
+ */
92
+ protected validateActionsNextStep<P>(params: ExecuteAgentParams, nextStep: BaseAgentNextStep<P>, currentPayload: P, agentRun: MJAIAgentRunEntityExtended, currentStep: MJAIAgentRunStepEntityExtended): Promise<BaseAgentNextStep<P>>;
79
93
  /**
80
94
  * Decides, in code, whether this run may SAVE a proposal or only DRAFT one.
81
95
  *
@@ -1 +1 @@
1
- {"version":3,"file":"MarketingExperimentationAgent.d.ts","sourceRoot":"","sources":["../../src/agents/MarketingExperimentationAgent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAa1L,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAmC7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,6BAA8B,SAAQ,kBAAkB;IACjE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAEtE,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAE7D;;;;;;;;;;;;OAYG;cACsB,mBAAmB,CAAC,CAAC,EAC1C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IA6B1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;;;;;;;OAUG;cACsB,uBAAuB,CAAC,CAAC,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAahC,0FAA0F;cACjE,oBAAoB,CAAC,CAAC,EAC3C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAMhC;;;;;;;;;;;OAWG;cACsB,yBAAyB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtH;;;;;;;;;;;OAWG;YACW,eAAe;IAkC7B,mGAAmG;IACnG,OAAO,CAAC,gBAAgB;IA0CxB;;;;;OAKG;YACW,2BAA2B;IA0FzC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAc5B;AAED,4EAA4E;AAC5E,wBAAgB,iCAAiC,IAAI,IAAI,CAAG"}
1
+ {"version":3,"file":"MarketingExperimentationAgent.d.ts","sourceRoot":"","sources":["../../src/agents/MarketingExperimentationAgent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAoB1L,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAmC7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,6BAA8B,SAAQ,kBAAkB;IACjE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAEtE,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAE7D;;;;;;;;;;;;OAYG;cACsB,mBAAmB,CAAC,CAAC,EAC1C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IA8C1B;;;;OAIG;YACW,yBAAyB;IAuCvC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;;;;;;;OAUG;cACsB,uBAAuB,CAAC,CAAC,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAahC,0FAA0F;cACjE,oBAAoB,CAAC,CAAC,EAC3C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAMhC;;;;;;OAMG;cACsB,uBAAuB,CAAC,CAAC,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAiDhC;;;;;;;;;;;OAWG;cACsB,yBAAyB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtH;;;;;;;;;;;OAWG;YACW,eAAe;IAkC7B,mGAAmG;IACnG,OAAO,CAAC,gBAAgB;IA0CxB;;;;;OAKG;YACW,2BAA2B;IA4HzC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAc5B;AAED,4EAA4E;AAC5E,wBAAgB,iCAAiC,IAAI,IAAI,CAAG"}
@@ -8,7 +8,7 @@ var MarketingExperimentationAgent_1;
8
8
  import { EscapeSQLString, RegisterClass } from '@memberjunction/global';
9
9
  import { BaseAgent } from '@memberjunction/ai-agents';
10
10
  import { LogStatus, LogError, Metadata, RunView } from '@memberjunction/core';
11
- import { enrichFinding, loadProgramKnowledge, renderKnowledgeBase, toMarketingEntityName, } from '@mj-biz-apps/marketing-core';
11
+ import { blockingLearningErrors, blockingErrors, driverProposalIssues, ProgramMetadataEngine, decidedProgramFromTaskInput, parseTaskInput, enrichFinding, loadProgramKnowledge, renderKnowledgeBase, toMarketingEntityName, validateLearning, } from '@mj-biz-apps/marketing-core';
12
12
  import { BaseMarketingAgent } from './BaseMarketingAgent.js';
13
13
  /** Below this, a request is too short to rank a corpus against. */
14
14
  const MIN_RETRIEVAL_QUERY_CHARS = 25;
@@ -70,9 +70,26 @@ let MarketingExperimentationAgent = class MarketingExperimentationAgent extends
70
70
  async preparePromptParams(config, payload, params) {
71
71
  const result = await super.preparePromptParams(config, payload, params);
72
72
  const bag = (payload ?? {});
73
+ // The brand is on the payload (BaseMarketingAgent seeds it from a task input when the workflow runner
74
+ // passes none). The decided program, when this is the workflow's fifth step, is only in the task input.
73
75
  const brandId = typeof bag['brandId'] === 'string' ? bag['brandId'] : null;
74
76
  if (!brandId || !result.data)
75
77
  return result;
78
+ const firstUser = (params.conversationMessages ?? []).find(m => m.role === 'user');
79
+ const taskInput = parseTaskInput(typeof firstUser?.content === 'string' ? firstUser.content : null);
80
+ // Interpret mode (KI-99): the workflow's fifth step handed over a recorded decision. Code assembles the
81
+ // facts the mechanism may rest on; the template shows them as {{ decidedProgramFacts }}.
82
+ const decided = decidedProgramFromTaskInput(taskInput);
83
+ if (decided) {
84
+ try {
85
+ result.data['decidedProgramFacts'] = await this.renderDecidedProgramFacts(decided.programId, params.contextUser);
86
+ LogStatus(`MarketingExperimentationAgent: interpret mode for program ${decided.programId} (${decided.decision}).`);
87
+ }
88
+ catch (e) {
89
+ LogError('MarketingExperimentationAgent: decided-program facts failed to load — '
90
+ + (e instanceof Error ? e.message : String(e)));
91
+ }
92
+ }
76
93
  try {
77
94
  // Rank the corpus against what is actually being asked, when there is something to rank
78
95
  // against. The draft hypothesis does not exist yet at injection time — the model has not
@@ -95,6 +112,51 @@ let MarketingExperimentationAgent = class MarketingExperimentationAgent extends
95
112
  }
96
113
  return result;
97
114
  }
115
+ /**
116
+ * The facts an interpretation may rest on, as text for the prompt: the program's hypothesis, thresholds,
117
+ * decision and reason; its newest program-sourced learning (the finding the workflow wrote); and every
118
+ * observation and segment result it has. Numbers here are exactly the numbers the hook later allows.
119
+ */
120
+ async renderDecidedProgramFacts(programId, contextUser) {
121
+ const rv = new RunView();
122
+ const [prog, learnings, observations, segments] = await rv.RunViews([
123
+ {
124
+ EntityName: toMarketingEntityName('Programs'), ExtraFilter: `ID='${EscapeSQLString(programId)}'`,
125
+ Fields: ['ID', 'Code', 'Name', 'Hypothesis', 'MetricName', 'MetricBaseline', 'KeepThreshold', 'IterateRangeMin',
126
+ 'IterateRangeMax', 'KillThreshold', 'MinSampleSize', 'Decision', 'DecisionReason', 'DecidedEarly', 'Status'],
127
+ MaxRows: 1, ResultType: 'simple', BypassCache: true,
128
+ },
129
+ {
130
+ EntityName: toMarketingEntityName('Agent Learnings'),
131
+ ExtraFilter: `RelatedProgramID='${EscapeSQLString(programId)}' AND Source='program'`,
132
+ Fields: ['Finding', 'EvidenceBasis', 'Confidence', 'ObservedEventCount', 'ObservedActivityCount', 'DateRecorded'],
133
+ OrderBy: '__mj_CreatedAt DESC', MaxRows: 1, ResultType: 'simple', BypassCache: true,
134
+ },
135
+ {
136
+ EntityName: toMarketingEntityName('Program Observations'), ExtraFilter: `ProgramID='${EscapeSQLString(programId)}'`,
137
+ Fields: ['Sprint', 'AttributionSource', 'SourceRef', 'ObservedMetric', 'ConversionsCount', 'ActivityCount', 'WindowStart', 'WindowEnd'],
138
+ OrderBy: '__mj_UpdatedAt DESC', MaxRows: 20, ResultType: 'simple', BypassCache: true,
139
+ },
140
+ {
141
+ EntityName: toMarketingEntityName('Program Segment Results'), ExtraFilter: `ProgramID='${EscapeSQLString(programId)}'`,
142
+ Fields: ['SegmentLabel', 'ObservedMetric', 'ConversionsCount', 'RecommendedDecision'],
143
+ MaxRows: 50, ResultType: 'simple', BypassCache: true,
144
+ },
145
+ ], contextUser);
146
+ for (const r of [prog, learnings, observations, segments]) {
147
+ if (!r.Success)
148
+ throw new Error(r.ErrorMessage ?? 'lookup failed');
149
+ }
150
+ const program = prog.Results?.[0] ?? null;
151
+ if (!program)
152
+ throw new Error(`program ${programId} not found`);
153
+ return JSON.stringify({
154
+ program,
155
+ learning: learnings.Results?.[0] ?? null,
156
+ observations: observations.Results ?? [],
157
+ segmentResults: segments.Results ?? [],
158
+ }, null, 2);
159
+ }
98
160
  /**
99
161
  * The text findings are ranked against, drawn from the conversation.
100
162
  *
@@ -154,6 +216,66 @@ let MarketingExperimentationAgent = class MarketingExperimentationAgent extends
154
216
  await this.attachProposals(baseResult, currentPayload, agentRun, params.contextUser);
155
217
  return baseResult;
156
218
  }
219
+ /**
220
+ * The type driver's proposal gate on the model's OWN `Propose Program` call, before it executes (KI-107) — MJ's
221
+ * `validateActionsNextStep` hook, which the framework itself uses to bounce unknown actions and execution limits
222
+ * with a Retry. A headline over Google's 30 characters comes back to the model as the field-level message it can
223
+ * act on, instead of a refused action result a turn later. The action refuses the same draft anyway (Propose runs
224
+ * the gate; the entity runs it on save) — this is the cheaper, earlier door, not the only one.
225
+ */
226
+ async validateActionsNextStep(params, nextStep, currentPayload, agentRun, currentStep) {
227
+ const base = await super.validateActionsNextStep(params, nextStep, currentPayload, agentRun, currentStep);
228
+ if (base.step !== nextStep.step)
229
+ return base; // the framework already refused it
230
+ const proposals = (nextStep.actions ?? []).filter(a => a.name.trim().toLowerCase() === 'propose program');
231
+ if (proposals.length === 0)
232
+ return base;
233
+ const bag = (currentPayload ?? {});
234
+ for (const call of proposals) {
235
+ const p = call.params ?? {};
236
+ const str = (k) => typeof p[k] === 'string' ? p[k] : null;
237
+ // Who proposed is a fact of THIS run, not the model's to declare (KI-108: the model wrote ProposedBy=user
238
+ // on CG-06 and agent_strategy on CE-10 — its instructions say which, it sometimes doesn't). An agent's
239
+ // proposal is agent_signal when it rests on a Learning, agent_strategy when it rests on Foundation/Plan.
240
+ const proposedBy = str('ConnectsToType') === 'Learning' ? 'agent_signal' : 'agent_strategy';
241
+ if (p['ProposedBy'] !== proposedBy) {
242
+ LogStatus(`MarketingExperimentationAgent: ProposedBy set to ${proposedBy} on the model's Propose Program call (it sent ${JSON.stringify(p['ProposedBy'] ?? null)}).`);
243
+ call.params = { ...p, ProposedBy: proposedBy };
244
+ }
245
+ const num = (k) => typeof p[k] === 'number' ? p[k] : typeof p[k] === 'string' && p[k] !== '' && !Number.isNaN(Number(p[k])) ? Number(p[k]) : null;
246
+ const brandId = str('BrandID') ?? (typeof bag['brandId'] === 'string' ? bag['brandId'] : null);
247
+ if (!brandId)
248
+ continue;
249
+ try {
250
+ await ProgramMetadataEngine.Instance.Config(false, params.contextUser);
251
+ const typeKey = str('ProgramTypeName') ?? str('ProgramTypeID');
252
+ const typeRow = typeKey ? ProgramMetadataEngine.Instance.Types.find(t => t.Name.trim().toLowerCase() === typeKey.trim().toLowerCase())
253
+ ?? ProgramMetadataEngine.Instance.TypeByID(typeKey) : undefined;
254
+ if (!typeRow)
255
+ continue; // Propose Program reports an unresolved type itself
256
+ const levers = p['TacticConfigJSON'];
257
+ const tacticConfigJSON = typeof levers === 'string' ? levers : levers != null ? JSON.stringify(levers) : null;
258
+ const issues = blockingErrors(await driverProposalIssues({
259
+ Name: str('Name'), Hypothesis: str('Hypothesis'), MetricName: str('MetricName'), MetricBaseline: num('MetricBaseline'),
260
+ Budget: num('Budget'), SegmentCuts: str('SegmentCuts'), ProgramTypeID: typeRow.ID, TacticConfigJSON: tacticConfigJSON,
261
+ }, brandId, params.contextUser));
262
+ if (issues.length > 0) {
263
+ LogStatus(`MarketingExperimentationAgent: Propose Program call bounced before execution — ${issues.map(i => i.code).join(', ')}`);
264
+ return {
265
+ step: 'Retry',
266
+ terminate: false,
267
+ errorMessage: `Propose Program would be refused as written — fix these before calling it: `
268
+ + issues.map((i, n) => `${n + 1}. ${i.message}`).join(' '),
269
+ };
270
+ }
271
+ }
272
+ catch (e) {
273
+ // Never block on the gate's own failure: the action runs the same gate and reports it properly.
274
+ LogError(`MarketingExperimentationAgent: proposal pre-validation failed — ${e instanceof Error ? e.message : String(e)}`);
275
+ }
276
+ }
277
+ return base;
278
+ }
157
279
  /**
158
280
  * Decides, in code, whether this run may SAVE a proposal or only DRAFT one.
159
281
  *
@@ -290,10 +412,11 @@ let MarketingExperimentationAgent = class MarketingExperimentationAgent extends
290
412
  + 'An interpretation cannot precede the decision it interprets — dropped.');
291
413
  return;
292
414
  }
293
- // The Learning the writeback already created. Read fresh: it was written moments ago.
415
+ // The PROGRAM learning the writeback already created — not an override row written in the same
416
+ // second (an early Kill writes both). Read fresh: it was written moments ago.
294
417
  const learningRow = (await rv.RunView({
295
418
  EntityName: toMarketingEntityName('Agent Learnings'),
296
- ExtraFilter: `RelatedProgramID='${EscapeSQLString(programId)}'`,
419
+ ExtraFilter: `RelatedProgramID='${EscapeSQLString(programId)}' AND Source='program'`,
297
420
  Fields: ['ID', 'Finding'],
298
421
  OrderBy: '__mj_CreatedAt DESC', MaxRows: 1, ResultType: 'simple', BypassCache: true,
299
422
  }, contextUser)).Results?.[0];
@@ -302,15 +425,36 @@ let MarketingExperimentationAgent = class MarketingExperimentationAgent extends
302
425
  + 'nothing to enrich. The decision writeback runs first.');
303
426
  return;
304
427
  }
305
- // Observed values live on the segment results the observation path wrote.
306
- const observed = (await rv.RunView({
307
- EntityName: toMarketingEntityName('Program Segment Results'),
308
- ExtraFilter: `ProgramID='${EscapeSQLString(programId)}'`,
309
- Fields: ['ObservedMetric', 'ConversionsCount'], ResultType: 'simple', BypassCache: true,
310
- }, contextUser)).Results ?? [];
428
+ // Observed values live on the segment results AND the observations the pollers wrote — the same facts
429
+ // the interpret turn was shown.
430
+ const [segRes, obsRes] = await rv.RunViews([
431
+ {
432
+ EntityName: toMarketingEntityName('Program Segment Results'),
433
+ ExtraFilter: `ProgramID='${EscapeSQLString(programId)}'`,
434
+ Fields: ['ObservedMetric', 'ConversionsCount'], ResultType: 'simple', BypassCache: true,
435
+ },
436
+ {
437
+ EntityName: toMarketingEntityName('Program Observations'),
438
+ ExtraFilter: `ProgramID='${EscapeSQLString(programId)}'`,
439
+ Fields: ['ObservedMetric', 'ConversionsCount', 'ActivityCount'], MaxRows: 50, ResultType: 'simple', BypassCache: true,
440
+ },
441
+ ], contextUser);
442
+ const observed = (segRes.Success ? segRes.Results ?? [] : []);
443
+ const rows = (obsRes.Success ? obsRes.Results ?? [] : []);
444
+ // The allow-list is EVERY number in the facts the interpret turn was shown (`decidedProgramFacts`: the
445
+ // program row incl. its sample floor and budget, the learning's counts, observations, segment results) —
446
+ // derived from the same object, so the two cannot drift. A hand-picked list once omitted MinSampleSize and
447
+ // refused CG-06's honest "0 events vs 30 required" (KI-109). The observation/segment reads above stay as the
448
+ // hook's own second source for rows written after the facts were rendered.
449
+ const factsText = await this.renderDecidedProgramFacts(programId, contextUser).catch((e) => {
450
+ LogError(`MarketingExperimentationAgent: facts for the allow-list failed — ${e instanceof Error ? e.message : String(e)}`);
451
+ return '';
452
+ });
311
453
  const allowedNumbers = [
312
454
  exp.MetricBaseline, exp.KeepThreshold, exp.KillThreshold, exp.IterateRangeMin, exp.IterateRangeMax,
313
455
  ...observed.flatMap(o => [o.ObservedMetric, o.ConversionsCount]),
456
+ ...rows.flatMap(o => [o.ObservedMetric, o.ConversionsCount, o.ActivityCount]),
457
+ ...(factsText.match(/\d+(?:\.\d+)?/g) ?? []).map(Number),
314
458
  ];
315
459
  const result = enrichFinding(learningRow.Finding ?? '', interpretation, {
316
460
  decision: this.toDecisionOutcome(exp.Decision),
@@ -329,11 +473,23 @@ let MarketingExperimentationAgent = class MarketingExperimentationAgent extends
329
473
  LogError(`MarketingExperimentationAgent: could not load Learning ${learningRow.ID}.`);
330
474
  return;
331
475
  }
476
+ // The learning-quality bar at the authoring boundary (KI-51): the enriched text must still
477
+ // state the number, an implication (the mechanism IS the implication), a confidence, and no
478
+ // consultant-speak. A rejected enrichment leaves the factual finding untouched.
479
+ const quality = blockingLearningErrors(validateLearning({
480
+ Finding: result.finding, Implication: interpretation, Confidence: learning.Confidence,
481
+ }));
482
+ if (quality.length > 0) {
483
+ LogStatus(`MarketingExperimentationAgent: interpretation REJECTED by the learning validator for ${exp.Code ?? programId} `
484
+ + `(${quality.map(q => q.code).join(', ')}). The factual finding stands unchanged.`);
485
+ return;
486
+ }
332
487
  learning.Finding = result.finding;
333
- // Source moves off 'program' only when an agent actually contributed: 'analysis' is the
334
- // value list's slot for agent-derived reasoning, and it keeps agent-enriched findings
335
- // distinguishable from purely mechanical ones.
336
- learning.Source = 'analysis';
488
+ // Source STAYS 'program' (KI-51): the finding still rests on the measured outcome — the agent
489
+ // added mechanism, not evidence. Flipping it to 'analysis' used to erase the row from
490
+ // scanPriorWork.killedMatches and the approver's PRIOR WORK warning. The agent's
491
+ // contribution is recorded in Evidence so it stays distinguishable from a mechanical row.
492
+ learning.Evidence = `${(learning.Evidence ?? '').trim()}\n\nAgent interpretation (run ${agentRunId}): ${interpretation.trim()}`.trim();
337
493
  if (!await learning.Save()) {
338
494
  LogError(`MarketingExperimentationAgent: Learning ${learningRow.ID} save failed — `
339
495
  + `${learning.LatestResult?.CompleteMessage ?? 'unknown'}`);
@@ -1 +1 @@
1
- {"version":3,"file":"MarketingExperimentationAgent.js","sourceRoot":"","sources":["../../src/agents/MarketingExperimentationAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarketingExperimentationAgent.js","sourceRoot":"","sources":["../../src/agents/MarketingExperimentationAgent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarketingStrategyOnboardingAgent.d.ts","sourceRoot":"","sources":["../../src/agents/MarketingStrategyOnboardingAgent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAErL,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAsF7D,qBACa,gCAAiC,SAAQ,kBAAkB;cAC3C,yBAAyB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAc7F,mBAAmB,CAAC,CAAC,EAC1C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IAO1B;;;;;;;;;;;;;OAaG;IACH,+DAA+D;IAC/D,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,4BAA4B;IAiDpC;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;;;;;;;;;;;;;;;OAiBG;IAEH;;;;;;;OAOG;cACsB,oBAAoB,CAAC,CAAC,EAC3C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAYhC,kFAAkF;YACpE,wBAAwB;IAoDtC;;;;;;;;;;;;OAYG;cACsB,qBAAqB,CAAC,CAAC,EAC5C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAiBhC;;;;;;;;;;OAUG;YACW,mBAAmB;IAqBjC;;;;;;;;;;;;;;;;OAgBG;YACW,8BAA8B;IAuC5C,2FAA2F;IAC3F,OAAO,CAAC,4BAA4B;IAapC,yEAAyE;IACzE,OAAO,CAAC,sBAAsB;IAsB9B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;;;;;;;;;;OAWG;cACgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;cAIxD,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAIzE,OAAO,CAAC,eAAe;IA0BvB,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;IAQ3B;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IASzC,8GAA8G;YAChG,kBAAkB;IAmYhC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;OASG;IACH;;;;;;;;;;;;OAYG;YACW,2BAA2B;IAmFzC;;;;;;OAMG;YACW,iBAAiB;IAuB/B;;;;;;;;OAQG;YACW,gCAAgC;IA2C9C,OAAO,CAAC,YAAY;IAmDpB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;CA0DpB;AAsCD,wBAAgB,oCAAoC,SAAK"}
1
+ {"version":3,"file":"MarketingStrategyOnboardingAgent.d.ts","sourceRoot":"","sources":["../../src/agents/MarketingStrategyOnboardingAgent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAErL,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAyF7D,qBACa,gCAAiC,SAAQ,kBAAkB;cAC3C,yBAAyB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAc7F,mBAAmB,CAAC,CAAC,EAC1C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IAO1B;;;;;;;;;;;;;OAaG;IACH,+DAA+D;IAC/D,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,4BAA4B;IAiDpC;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;;;;;;;;;;;;;;;OAiBG;IAEH;;;;;;;OAOG;cACsB,oBAAoB,CAAC,CAAC,EAC3C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAYhC,kFAAkF;YACpE,wBAAwB;IAoDtC;;;;;;;;;;;;OAYG;cACsB,qBAAqB,CAAC,CAAC,EAC5C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAiBhC;;;;;;;;;;OAUG;YACW,mBAAmB;IAqBjC;;;;;;;;;;;;;;;;OAgBG;YACW,8BAA8B;IAuC5C,2FAA2F;IAC3F,OAAO,CAAC,4BAA4B;IAapC,yEAAyE;IACzE,OAAO,CAAC,sBAAsB;IAsB9B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;;;;;;;;;;OAWG;cACgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;cAIxD,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAIzE,OAAO,CAAC,eAAe;IA0BvB,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;IAQ3B;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IASzC,8GAA8G;YAChG,kBAAkB;IA+ZhC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;OASG;IACH;;;;;;;;;;;;OAYG;YACW,2BAA2B;IAsFzC;;;;;;OAMG;YACW,iBAAiB;IAuB/B;;;;;;;;OAQG;YACW,gCAAgC;IA2C9C,OAAO,CAAC,YAAY;IAqDpB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;CA0DpB;AAsCD,wBAAgB,oCAAoC,SAAK"}
@@ -13,7 +13,7 @@ import { getGuidance, decideOnboardingStep, MESSAGING_SECTION_KEY, renderSpecMar
13
13
  // These are marketing-core services (they moved out of the Actions package on 2026-08-08 to
14
14
  // sit where every other open app keeps services). Imported from their defining package rather
15
15
  // than re-exported through Actions — see typescript-style.md, no cross-package re-exports.
16
- import { getOnboardingSnapshot, synthesizeFoundations, synthesizeSection, createStrategyApprovalRequest, synthesizePlan, materializeStrategyVersion, recordStrategyApprovalDecision, writeFinalizeRecommendations, } from '@mj-biz-apps/marketing-core';
16
+ import { getOnboardingSnapshot, synthesizeFoundations, synthesizeSection, sectionKeysFromFailures, readValidationFailures, StrategyMaterializationError, createStrategyApprovalRequest, synthesizePlan, materializeStrategyVersion, recordStrategyApprovalDecision, writeFinalizeRecommendations, } from '@mj-biz-apps/marketing-core';
17
17
  /**
18
18
  * Marketing Strategy Onboarding Agent — driver class.
19
19
  *
@@ -643,10 +643,16 @@ let MarketingStrategyOnboardingAgent = class MarketingStrategyOnboardingAgent ex
643
643
  const formAction = typeof formAnswer?.action === 'string' ? formAnswer.action : null;
644
644
  const formFeedback = typeof formAnswer?.feedback === 'string' ? formAnswer.feedback.trim() : '';
645
645
  payload.founderApproved = formAction === 'approved';
646
- // Notes typed alongside an approval are approval provenance, not a
647
- // revision request — they get stamped on the published version.
648
- if (formAction === 'approved' && formFeedback)
646
+ // Notes typed alongside an approval are approval provenance (stamped on the published
647
+ // version) AND a founder answer (KI-25): they join the objective every re-synthesis reads,
648
+ // so a figure given in the approval box reaches the spec instead of being lost.
649
+ if (formAction === 'approved' && formFeedback) {
649
650
  payload.approvalNotes = formFeedback;
651
+ const marker = `[Founder note at approval]: ${formFeedback}`;
652
+ const current = String(payload.augmentedBusinessObjective ?? '');
653
+ if (!current.includes(marker))
654
+ payload.augmentedBusinessObjective = `${current}\n${marker}`.trim();
655
+ }
650
656
  if (formAction === 'revise') {
651
657
  // An explicit "revise" is a change request — it must clear any
652
658
  // finalize intent, not sit alongside it.
@@ -856,6 +862,29 @@ let MarketingStrategyOnboardingAgent = class MarketingStrategyOnboardingAgent ex
856
862
  // engine note the prompt reads — the founder fixes the gap in THIS
857
863
  // conversation instead of starting over.
858
864
  payload.founderApproved = false;
865
+ // KI-25: re-synthesize the sections the refusal names NOW, with the
866
+ // founder's approval note already in the objective, so the re-presented
867
+ // document carries their answer and the next approve publishes.
868
+ // Only Foundations re-synthesize per section; a Plan slot is rebuilt by the plan
869
+ // synthesis at finalize (the missing-plan-keys branch above).
870
+ const refused = sectionKeysFromFailures(readValidationFailures(payload.materializationFailures)).filter(isFoundationKey);
871
+ const resynthed = [];
872
+ if (refused.length > 0 && payload.synthesisDisabled !== true) {
873
+ for (const sectionKey of refused) {
874
+ try {
875
+ const result = await synthesizeSection({ brandId, evidence, businessObjective: String(payload.augmentedBusinessObjective ?? objective), sectionKey, agentRunId, contextUser: params.contextUser, overrideStrong: true });
876
+ this.mergeSpec(payload, brandId, result.persisted ? [result] : [], evidence);
877
+ payload.lastSynthSectionKey = sectionKey;
878
+ resynthed.push(sectionKey);
879
+ }
880
+ catch (synthErr) {
881
+ LogError(`OnboardingShell: re-synthesis of ${sectionKey} after a refused publish failed: ${synthErr instanceof Error ? synthErr.message : synthErr}`);
882
+ }
883
+ }
884
+ this.commitConsumedTurns(payload, evidence);
885
+ payload.rawSources = [];
886
+ }
887
+ payload.resynthesizedAfterRefusal = resynthed;
859
888
  decision = {
860
889
  ...decision,
861
890
  phase: 'Finalize',
@@ -991,6 +1020,7 @@ let MarketingStrategyOnboardingAgent = class MarketingStrategyOnboardingAgent ex
991
1020
  payload.materializedVersionNumber = result.versionNumber;
992
1021
  payload.materializedSections = result.sectionsWritten;
993
1022
  payload.materializationError = undefined;
1023
+ payload.materializationFailures = undefined;
994
1024
  // Stamp the working spec, in CODE (the contract: "approved is set by the
995
1025
  // materialization step, never by an agent"). Until now nothing did — the
996
1026
  // run's own artifact kept saying ready-for-review and the viewer kept
@@ -1014,6 +1044,8 @@ let MarketingStrategyOnboardingAgent = class MarketingStrategyOnboardingAgent ex
1014
1044
  }
1015
1045
  catch (err) {
1016
1046
  payload.materializationError = err instanceof Error ? err.message : String(err);
1047
+ // The problems as data (KI-25 re-synthesis reads the section keys from these, not the text).
1048
+ payload.materializationFailures = err instanceof StrategyMaterializationError ? err.failures : [];
1017
1049
  LogError(`OnboardingShell: materialization FAILED — strategy remains Draft: ${payload.materializationError}`);
1018
1050
  return;
1019
1051
  }
@@ -1147,6 +1179,8 @@ let MarketingStrategyOnboardingAgent = class MarketingStrategyOnboardingAgent ex
1147
1179
  publishedVersionNumber: payload.materializedVersionNumber ?? null,
1148
1180
  publishedSections: payload.materializedSections ?? null,
1149
1181
  publishError: payload.materializationError ?? null,
1182
+ // KI-25: sections re-synthesized with the founder's approval note after a refusal.
1183
+ resynthesizedAfterRefusal: asStringArray(payload.resynthesizedAfterRefusal),
1150
1184
  specReadiness: spec?.readiness ?? null,
1151
1185
  foundationSlots: spec ? Object.keys(spec.foundations ?? {}).length : 0,
1152
1186
  planSlots: spec ? Object.keys(spec.plan ?? {}).length : 0,