@intentius/chant 0.75.1 → 0.76.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.
@@ -34,12 +34,13 @@ import type { PredictBehaviourOptions } from "./behaviour.js";
34
34
  /**
35
35
  * What the caller knows and the graph does not.
36
36
  *
37
- * `edgeCoverage` is here rather than derived because this module cannot
38
- * honestly derive it. Whether the edges in hand are the whole graph depends on
37
+ * `from` and `edgeCoverage` are here rather than derived because this module
38
+ * cannot honestly derive either. A graph does not remember whether it was read
39
+ * from an account or built from a file, and this reshapes both the same way. Whether the edges in hand are the whole graph depends on
39
40
  * which anchoring produced them and which lexicons contributed a reference
40
41
  * catalog, and both facts live with the caller.
41
42
  */
42
- export interface BehaviourRequestContext extends Pick<PredictBehaviourOptions, "environment" | "traffic" | "buildOutput" | "edgeCoverage"> {
43
+ export interface BehaviourRequestContext extends Pick<PredictBehaviourOptions, "environment" | "traffic" | "buildOutput" | "edgeCoverage" | "from"> {
43
44
  stack?: string;
44
45
  region?: string;
45
46
  owned?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"behaviour-graph.d.ts","sourceRoot":"","sources":["../src/behaviour-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAiBzG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAUrF"}
1
+ {"version":3,"file":"behaviour-graph.d.ts","sourceRoot":"","sources":["../src/behaviour-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,CAAC;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAkBzG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAUrF"}
@@ -956,6 +956,23 @@ export interface PredictBehaviourOptions {
956
956
  entityType: string;
957
957
  props: Record<string, unknown>;
958
958
  }>;
959
+ /**
960
+ * Which estate the caller is asking about (#2355, #2494).
961
+ *
962
+ * `live` is the account as it stands, drift included. `declared` is the
963
+ * file, and reads no account. The epic's delta is those two differenced, so
964
+ * a lexicon has to be able to tell them apart — and until this field existed
965
+ * it could not: both graph paths handed over identical options, and a
966
+ * lexicon defaulting to one of them answered the wrong question for the
967
+ * other with nothing in the report to say so. A figure about the file,
968
+ * labelled as the account, is precisely what "a prediction is never
969
+ * presented as a bill" exists to prevent.
970
+ *
971
+ * Required, and deliberately not defaulted. A default here is a guess about
972
+ * which estate somebody meant, and getting that wrong is silent: the report
973
+ * that comes back is well-formed and about the wrong thing.
974
+ */
975
+ from: "live" | "declared";
959
976
  /** Deployed stack to predict for, in a multi-stack project (see `stacks` in `ChantConfig`). */
960
977
  stack?: string;
961
978
  /** Region the stack is deployed in, mirroring the deep read (#1267). Omitted keeps the ambient default. */
@@ -1 +1 @@
1
- {"version":3,"file":"behaviour.d.ts","sourceRoot":"","sources":["../src/behaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"behaviour.d.ts","sourceRoot":"","sources":["../src/behaviour.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"predict-behaviour.d.ts","sourceRoot":"","sources":["../../../src/op/activities/predict-behaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"predict-behaviour.d.ts","sourceRoot":"","sources":["../../../src/op/activities/predict-behaviour.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant",
3
- "version": "0.75.1",
3
+ "version": "0.76.0",
4
4
  "description": "Declarative infrastructure-as-code toolkit — TypeScript on Node.js",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://intentius.io/chant",
@@ -46,6 +46,7 @@ const ctx = {
46
46
  traffic: "100 rps, p50",
47
47
  buildOutput: "",
48
48
  edgeCoverage: { verdict: "unknown" } as const,
49
+ from: "live" as const,
49
50
  };
50
51
 
51
52
  describe("behaviourRequestFromIr", () => {
@@ -36,13 +36,14 @@ import type { PredictBehaviourOptions } from "./behaviour";
36
36
  /**
37
37
  * What the caller knows and the graph does not.
38
38
  *
39
- * `edgeCoverage` is here rather than derived because this module cannot
40
- * honestly derive it. Whether the edges in hand are the whole graph depends on
39
+ * `from` and `edgeCoverage` are here rather than derived because this module
40
+ * cannot honestly derive either. A graph does not remember whether it was read
41
+ * from an account or built from a file, and this reshapes both the same way. Whether the edges in hand are the whole graph depends on
41
42
  * which anchoring produced them and which lexicons contributed a reference
42
43
  * catalog, and both facts live with the caller.
43
44
  */
44
45
  export interface BehaviourRequestContext
45
- extends Pick<PredictBehaviourOptions, "environment" | "traffic" | "buildOutput" | "edgeCoverage"> {
46
+ extends Pick<PredictBehaviourOptions, "environment" | "traffic" | "buildOutput" | "edgeCoverage" | "from"> {
46
47
  stack?: string;
47
48
  region?: string;
48
49
  owned?: boolean;
@@ -69,6 +70,7 @@ export function behaviourRequestFromIr(ir: GraphIR, ctx: BehaviourRequestContext
69
70
  entities,
70
71
  edges: ir.edges,
71
72
  edgeCoverage: ctx.edgeCoverage,
73
+ from: ctx.from,
72
74
  traffic: ctx.traffic,
73
75
  ...(ctx.stack === undefined ? {} : { stack: ctx.stack }),
74
76
  ...(ctx.region === undefined ? {} : { region: ctx.region }),
@@ -123,6 +123,7 @@ const REQUEST: PredictBehaviourOptions = {
123
123
  buildOutput: "/tmp/build",
124
124
  entityNames: [...DECLARED.keys()],
125
125
  entities: DECLARED,
126
+ from: "live",
126
127
  edges: EDGES,
127
128
  edgeCoverage: { verdict: "complete" },
128
129
  region: "us-east-1",
package/src/behaviour.ts CHANGED
@@ -1793,6 +1793,23 @@ export interface PredictBehaviourOptions {
1793
1793
  buildOutput: string;
1794
1794
  entityNames: string[];
1795
1795
  entities: Map<string, { entityType: string; props: Record<string, unknown> }>;
1796
+ /**
1797
+ * Which estate the caller is asking about (#2355, #2494).
1798
+ *
1799
+ * `live` is the account as it stands, drift included. `declared` is the
1800
+ * file, and reads no account. The epic's delta is those two differenced, so
1801
+ * a lexicon has to be able to tell them apart — and until this field existed
1802
+ * it could not: both graph paths handed over identical options, and a
1803
+ * lexicon defaulting to one of them answered the wrong question for the
1804
+ * other with nothing in the report to say so. A figure about the file,
1805
+ * labelled as the account, is precisely what "a prediction is never
1806
+ * presented as a bill" exists to prevent.
1807
+ *
1808
+ * Required, and deliberately not defaulted. A default here is a guess about
1809
+ * which estate somebody meant, and getting that wrong is silent: the report
1810
+ * that comes back is well-formed and about the wrong thing.
1811
+ */
1812
+ from: "live" | "declared";
1796
1813
  /** Deployed stack to predict for, in a multi-stack project (see `stacks` in `ChantConfig`). */
1797
1814
  stack?: string;
1798
1815
  /** Region the stack is deployed in, mirroring the deep read (#1267). Omitted keeps the ambient default. */
@@ -300,14 +300,14 @@ describe("runGraph", () => {
300
300
  expect(ir.nodes.find((n: { id: string }) => n.id === "vpc").attrs._behaviour.cost.perHour).toBe(1);
301
301
  });
302
302
 
303
- test("the declared path names no environment, because the file is deployed nowhere", async () => {
303
+ test("the declared path says so, and names no environment", async () => {
304
304
  lintClean(); discovered();
305
- const seen: string[] = [];
305
+ const seen: Array<{ environment: string; from: string }> = [];
306
306
  loadPluginsMock.mockResolvedValue([{
307
307
  name: "gcp",
308
308
  serializer: {},
309
- predictBehaviour: (o: { environment: string }) => {
310
- seen.push(o.environment);
309
+ predictBehaviour: (o: { environment: string; from: string }) => {
310
+ seen.push({ environment: o.environment, from: o.from });
311
311
  return Promise.resolve(noBehaviourEngineRefusal("gcp"));
312
312
  },
313
313
  }]);
@@ -315,8 +315,12 @@ describe("runGraph", () => {
315
315
 
316
316
  await runGraph({ args: makeArgs({ format: "ir", traffic: "100 rps, p50" }), plugins: [], serializers: [] });
317
317
 
318
- // Naming one would claim the declared estate was deployed there.
319
- expect(seen[0]).toBe("");
318
+ // The half of the epic's delta that reads no account (#2355). A lexicon
319
+ // handed the same options as the live path would predict the account
320
+ // and label it the file.
321
+ expect(seen[0]?.from).toBe("declared");
322
+ // Naming an environment would claim the declared estate was deployed there.
323
+ expect(seen[0]?.environment).toBe("");
320
324
  });
321
325
 
322
326
  test("op-discovery errors are warnings, not a refusal", async () => {
@@ -755,9 +759,9 @@ describe("runGraph", () => {
755
759
 
756
760
  test("the traffic level reaches the engine verbatim, with the graph's own entities", async () => {
757
761
  liveEstate();
758
- const seen: Array<{ traffic: string; entityNames: string[] }> = [];
759
- loadPluginsMock.mockResolvedValue([predictingPlugin((o: { traffic: string; entityNames: string[] }) => {
760
- seen.push({ traffic: o.traffic, entityNames: o.entityNames });
762
+ const seen: Array<{ traffic: string; entityNames: string[]; from: string }> = [];
763
+ loadPluginsMock.mockResolvedValue([predictingPlugin((o: { traffic: string; entityNames: string[]; from: string }) => {
764
+ seen.push({ traffic: o.traffic, entityNames: o.entityNames, from: o.from });
761
765
  return Promise.resolve(report());
762
766
  })]);
763
767
 
@@ -768,6 +772,10 @@ describe("runGraph", () => {
768
772
 
769
773
  expect(seen[0]?.traffic).toBe("1000 rps, p99");
770
774
  expect(seen[0]?.entityNames).toContain("web");
775
+ // This graph came off the account, and the lexicon is told so: without
776
+ // it, a lexicon answers about whichever estate it defaults to and the
777
+ // report cannot say which one it described (#2494).
778
+ expect(seen[0]?.from).toBe("live");
771
779
  });
772
780
 
773
781
  test("without --traffic: nothing is asked and neither key appears", async () => {
@@ -446,6 +446,8 @@ async function runGraphLive(
446
446
  const predicted = await predictOntoIr(ir, plugins, args, {
447
447
  environment: environment ?? "",
448
448
  buildOutput: raw === undefined ? "" : typeof raw === "string" ? raw : (raw as SerializerResult).primary,
449
+ // This graph was read from the account, drift included.
450
+ from: "live",
449
451
  });
450
452
  if (predicted === REFUSED) return 1;
451
453
  ir = predicted;
@@ -694,7 +696,7 @@ async function predictOntoIr(
694
696
  ir: GraphIR,
695
697
  plugins: LexiconPlugin[],
696
698
  args: ParsedArgs,
697
- ctx: { environment: string; buildOutput: string },
699
+ ctx: { environment: string; buildOutput: string; from: "live" | "declared" },
698
700
  ): Promise<GraphIR | typeof REFUSED> {
699
701
  if (!args.traffic) return ir;
700
702
 
@@ -722,6 +724,7 @@ async function predictOntoIr(
722
724
  environment: ctx.environment,
723
725
  traffic: args.traffic,
724
726
  buildOutput: ctx.buildOutput,
727
+ from: ctx.from,
725
728
  // `unknown`, for the reason the declared path claims it
726
729
  // (../../op/activities/predict-behaviour.ts): reference edges resolved,
727
730
  // containment absent, and no vocabulary here for "this kind is a boundary
@@ -816,6 +819,10 @@ async function runGraphView(
816
819
  // yet, and naming one would claim it was.
817
820
  environment: ctx.args.env ?? "",
818
821
  buildOutput: "",
822
+ // And this graph was built from the file, so say so. Without it a
823
+ // lexicon cannot tell the two paths apart and answers about whichever
824
+ // estate it defaults to, with nothing in the report to say which.
825
+ from: "declared",
819
826
  });
820
827
  if (predicted === REFUSED) return 1;
821
828
  ir = predicted;
@@ -205,6 +205,9 @@ export async function predictDeclared(projectPath: string, args: PredictBehaviou
205
205
  traffic: args.traffic,
206
206
  edges,
207
207
  edgeCoverage: declaredEdgeCoverage(),
208
+ // This activity builds from `discover` + `build`, never from an account —
209
+ // it is the declared estate by construction, on whichever checkout it runs.
210
+ from: "declared",
208
211
  };
209
212
  const answer = await createBehaviourPredict({ kinds })(options);
210
213
  // On arrival, with the names that were asked — `behaviourReport` checks the