log10x-mcp 1.30.28 → 1.30.30

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 (55) hide show
  1. package/build/bin/tenx-recur.js +1 -0
  2. package/build/bin/tenx-recur.js.map +1 -1
  3. package/build/lib/cost.d.ts +67 -9
  4. package/build/lib/cost.js +145 -21
  5. package/build/lib/cost.js.map +1 -1
  6. package/build/lib/plan-solver.js +4 -4
  7. package/build/lib/plan-solver.js.map +1 -1
  8. package/build/lib/poc-envelope-v2.js +41 -13
  9. package/build/lib/poc-envelope-v2.js.map +1 -1
  10. package/build/lib/poc-report-renderer.js +2 -2
  11. package/build/lib/poc-report-renderer.js.map +1 -1
  12. package/build/lib/recur-history-reader.d.ts +2 -0
  13. package/build/lib/recur-history-reader.js +1 -0
  14. package/build/lib/recur-history-reader.js.map +1 -1
  15. package/build/lib/recurring-tick.d.ts +7 -1
  16. package/build/lib/recurring-tick.js +29 -10
  17. package/build/lib/recurring-tick.js.map +1 -1
  18. package/build/lib/server-instructions.js +2 -2
  19. package/build/lib/top-patterns-render.js +15 -1
  20. package/build/lib/top-patterns-render.js.map +1 -1
  21. package/build/product-kb/docs/api/github.md +1 -1
  22. package/build/product-kb/docs/api/js.md +1 -1
  23. package/build/product-kb/docs/apps/mcp/tools/drop/pattern-mitigate.md +1 -1
  24. package/build/product-kb/docs/apps/receiver/compact/index.md +5 -5
  25. package/build/product-kb/docs/apps/receiver/compact/splunk.md +7 -1
  26. package/build/product-kb/docs/apps/receiver/faq.md +1 -1
  27. package/build/product-kb/docs/apps/receiver/index.md +1 -1
  28. package/build/product-kb/docs/apps/receiver/run.md +3 -3
  29. package/build/product-kb/docs/apps/reporter/faq.md +1 -1
  30. package/build/product-kb/docs/faq/apps/receiver.md +1 -1
  31. package/build/product-kb/docs/faq/apps/reporter.md +1 -1
  32. package/build/product-kb/docs/faq/general.md +20 -12
  33. package/build/product-kb/docs/faq/pricing/overview.md +1 -1
  34. package/build/product-kb/docs/faq/stacks/aws-cloudwatch.md +7 -8
  35. package/build/product-kb/docs/faq/stacks/datadog/comparisons.md +1 -1
  36. package/build/product-kb/docs/faq/stacks/datadog/integration.md +5 -5
  37. package/build/product-kb/docs/faq/stacks/splunk/comparisons.md +3 -3
  38. package/build/product-kb/docs/faq/stacks/splunk/compatibility.md +2 -2
  39. package/build/product-kb/docs/faq/stacks/splunk/index.md +1 -1
  40. package/build/product-kb/docs/faq/stacks/splunk/optimization.md +2 -2
  41. package/build/tools/commitment-report.d.ts +2 -0
  42. package/build/tools/commitment-report.js +11 -3
  43. package/build/tools/commitment-report.js.map +1 -1
  44. package/build/tools/configure-engine.js +12 -6
  45. package/build/tools/configure-engine.js.map +1 -1
  46. package/build/tools/cost-options.js +8 -4
  47. package/build/tools/cost-options.js.map +1 -1
  48. package/build/tools/estimate-savings.js +24 -5
  49. package/build/tools/estimate-savings.js.map +1 -1
  50. package/build/tools/explain-mode.js +43 -10
  51. package/build/tools/explain-mode.js.map +1 -1
  52. package/build/tools/pattern-mitigate.js +2 -1
  53. package/build/tools/pattern-mitigate.js.map +1 -1
  54. package/build/tools/product-qa.d.ts +2 -2
  55. package/package.json +1 -1
@@ -99,6 +99,7 @@ function printRunSummary(result) {
99
99
  ts: new Date().toISOString(),
100
100
  status: result.status,
101
101
  projected_savings_pct: parseFloat(result.projected_savings_pct.toFixed(2)),
102
+ ...(result.projected_savings_basis ? { projected_savings_basis: result.projected_savings_basis } : {}),
102
103
  delta_patterns: result.delta_patterns,
103
104
  delta_pp: parseFloat(result.delta_pp.toFixed(2)),
104
105
  message: result.message,
@@ -1 +1 @@
1
- {"version":3,"file":"tenx-recur.js","sourceRoot":"","sources":["../../src/bin/tenx-recur.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenx-recur.js","sourceRoot":"","sources":["../../src/bin/tenx-recur.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,21 @@
11
11
  * uncertainty bands, and degrades savings for small events where
12
12
  * envelope overhead dominates.
13
13
  *
14
- * Compact-ratio numbers come from the ES/Splunk PoC findings:
15
- * - Elasticsearch pruned (compactable fields excluded from _source):
16
- * 45-73% reduction range. Modeled as compact_ratio 0.30..0.40.
17
- * - Elasticsearch unpruned: ~45-55% post/pre. Returned via
18
- * getDestinationCostModel(dest, {esPruned:false}).
19
- * - Splunk envelope-in-event: ~92% reduction on the OUTER stream.
20
- * Modeled as 0.08..0.15.
14
+ * Compact-ratio numbers, and where each comes from. The model's
15
+ * `compact_ratio_basis` carries the same statement into every output that
16
+ * quotes the figure:
17
+ * - Splunk: measured once, in Splunk's own licence meter (E21,
18
+ * log-10x/benchmarks#18, splunk-license/results/results.md). One
19
+ * OpenTelemetry demo capture, 214,841,731 licence-metered bytes without
20
+ * compact and 80,653,626 with it: 62.46% less. Per container 57.86% (ad)
21
+ * to 69.27% (opensearch). Modeled as 0.3073..0.4214, expected 0.3754.
22
+ * - Elasticsearch unpruned: measured once on disk (ES_ON_DISK_RATIO): one
23
+ * OpenTelemetry demo capture, 28.6 MB raw against 13.8 MB compact plus
24
+ * templates, 51.7% less, ES 8.17.0, nothing pruned from _source. Returned
25
+ * via getDestinationCostModel(dest, {esPruned:false}).
26
+ * - Elasticsearch pruned (compactable fields excluded from _source): no run.
27
+ * Carries the unpruned measurement as a floor and says so; pruning
28
+ * removes more, unmeasured.
21
29
  * - Datadog/CW/Azure/GCP/Sumo/Coralogix/ClickHouse: no-op. compact_ratio =
22
30
  * 1.0..1.0; a caveat is emitted by callers. On ClickHouse the reason is
23
31
  * measured rather than structural: the text index and the column codecs
@@ -181,6 +189,29 @@ export interface DestinationCostModel {
181
189
  */
182
190
  compact_ratio_low: number;
183
191
  compact_ratio_high: number;
192
+ /**
193
+ * The expected ratio when it is not the band's midpoint: a measured total
194
+ * can sit off-centre of the per-slice spread measured with it. Read it
195
+ * through expectedCompactRatio(), never directly.
196
+ */
197
+ compact_ratio_expected?: number;
198
+ /**
199
+ * Where the band comes from, rendered beside every figure quoted from it.
200
+ * `short` fits one line of a reason; `full` names the run and its
201
+ * denominator. A band with no run behind it says so here, so it never reads
202
+ * as measured.
203
+ */
204
+ compact_ratio_basis?: {
205
+ short: string;
206
+ full: string;
207
+ };
208
+ /**
209
+ * How compact events read back here, stated to what is verified: how
210
+ * exactly they expand and which searches see the full text. Every sentence
211
+ * that would otherwise say "losslessly" or "fully searchable" renders this
212
+ * through describeCompactReadback().
213
+ */
214
+ compact_readback?: string;
184
215
  /**
185
216
  * Body-size below which compaction efficiency degrades (envelope overhead
186
217
  * dominates). Default 100 bytes.
@@ -445,6 +476,27 @@ export declare function projectComputeSaving(compute: DestinationComputeTerm, ro
445
476
  /** What the fraction came from. Defaults to the curve's own basis. */
446
477
  basis?: ComputeBasis;
447
478
  }): ComputeSavingProjection;
479
+ /**
480
+ * The compact ratio a projection's `expected` leg uses: the measured total
481
+ * where the model carries one, else the band's midpoint.
482
+ */
483
+ export declare function expectedCompactRatio(model: DestinationCostModel): number;
484
+ /**
485
+ * The compact figure as a reader sees it, basis attached: "62% smaller,
486
+ * measured once in ..." or "60-70% smaller, modeled, ...". Every tool that
487
+ * quotes a compact figure renders it through here, so none can quote a number
488
+ * without saying where it comes from. Null on a no-op destination.
489
+ */
490
+ export declare function describeCompactFigure(model: DestinationCostModel): string | null;
491
+ /**
492
+ * How compact events read back on a destination, for any sentence that would
493
+ * otherwise say "losslessly" or "fully searchable": the verified limits where
494
+ * the destination has an expander, a no-op statement where it has none, and a
495
+ * destination-neutral clause when the destination is unknown or unmodeled.
496
+ */
497
+ export declare function describeCompactReadback(dest?: string | null, opts?: {
498
+ esPruned?: boolean;
499
+ }): string;
448
500
  export interface ProjectActionArgs {
449
501
  action: Action;
450
502
  bytes_in: number;
@@ -538,13 +590,19 @@ export declare function percentReduction(passBytes: number, actionBytes: number
538
590
  * is unaware of the plan; this only prices the caller-selected one.
539
591
  */
540
592
  export declare function resolveTierDownTier(model: DestinationCostModel, planSelector?: string | null): TierDownTargetTier | undefined;
593
+ /**
594
+ * tier_down's saving as a fraction of the standard ingest rate: the
595
+ * destination's list-price delta to its cheaper tier (CloudWatch IA 0.5,
596
+ * Datadog Flex 0.6, Azure Basic 0.78). 0 where no cheaper tier is priced.
597
+ */
598
+ export declare function tierDownRateDelta(model: DestinationCostModel, planSelector?: string | null): number;
541
599
  /**
542
600
  * Project the destination cost of one (action, bytes_in) pair using the
543
- * expected (mid-band) compact ratio for the destination.
601
+ * expected compact ratio for the destination (expectedCompactRatio).
544
602
  *
545
603
  * Examples:
546
604
  * projectAction({ action:'compact', bytes_in:1e9, destination:'splunk' })
547
- * → total_dollars ≈ 1.0 * 6 * 0.115 ≈ $0.69 (i.e. ~88.5% savings on $6).
605
+ * → total_dollars ≈ 0.3754 * ($6 + $0.10) ≈ $2.29, the measured 62.46% off.
548
606
  * projectAction({ action:'compact', bytes_in:1e9, destination:'datadog' })
549
607
  * → bytes_out === bytes_in, notes includes
550
608
  * 'compact not supported on datadog'.
package/build/lib/cost.js CHANGED
@@ -11,13 +11,21 @@
11
11
  * uncertainty bands, and degrades savings for small events where
12
12
  * envelope overhead dominates.
13
13
  *
14
- * Compact-ratio numbers come from the ES/Splunk PoC findings:
15
- * - Elasticsearch pruned (compactable fields excluded from _source):
16
- * 45-73% reduction range. Modeled as compact_ratio 0.30..0.40.
17
- * - Elasticsearch unpruned: ~45-55% post/pre. Returned via
18
- * getDestinationCostModel(dest, {esPruned:false}).
19
- * - Splunk envelope-in-event: ~92% reduction on the OUTER stream.
20
- * Modeled as 0.08..0.15.
14
+ * Compact-ratio numbers, and where each comes from. The model's
15
+ * `compact_ratio_basis` carries the same statement into every output that
16
+ * quotes the figure:
17
+ * - Splunk: measured once, in Splunk's own licence meter (E21,
18
+ * log-10x/benchmarks#18, splunk-license/results/results.md). One
19
+ * OpenTelemetry demo capture, 214,841,731 licence-metered bytes without
20
+ * compact and 80,653,626 with it: 62.46% less. Per container 57.86% (ad)
21
+ * to 69.27% (opensearch). Modeled as 0.3073..0.4214, expected 0.3754.
22
+ * - Elasticsearch unpruned: measured once on disk (ES_ON_DISK_RATIO): one
23
+ * OpenTelemetry demo capture, 28.6 MB raw against 13.8 MB compact plus
24
+ * templates, 51.7% less, ES 8.17.0, nothing pruned from _source. Returned
25
+ * via getDestinationCostModel(dest, {esPruned:false}).
26
+ * - Elasticsearch pruned (compactable fields excluded from _source): no run.
27
+ * Carries the unpruned measurement as a floor and says so; pruning
28
+ * removes more, unmeasured.
21
29
  * - Datadog/CW/Azure/GCP/Sumo/Coralogix/ClickHouse: no-op. compact_ratio =
22
30
  * 1.0..1.0; a caveat is emitted by callers. On ClickHouse the reason is
23
31
  * measured rather than structural: the text index and the column codecs
@@ -88,6 +96,17 @@ export function buildDisclosedDollarValue(value, source, siemLabel, listRatePerG
88
96
  }
89
97
  /** Internal alias used during the migration. Renderers should call buildDisclosedDollarValue. */
90
98
  export const makeDisclosedDollar = buildDisclosedDollarValue;
99
+ /**
100
+ * The one Elasticsearch compact measurement, on disk in Elasticsearch's own
101
+ * store.size: an index of the raw capture against the compact events plus
102
+ * their template index, ES 8.17.0, best_compression, one segment, no replicas.
103
+ * The `message` field was replaced and nothing was pruned from _source. MB as
104
+ * recorded, one decimal (blog post cutting-elasticsearch-log-storage).
105
+ */
106
+ const ES_ON_DISK_RATIO = (13.2 + 0.6) / 28.6; // 51.7% less
107
+ const ES_ON_DISK_BASIS = 'measured once on disk in Elasticsearch: one OpenTelemetry demo capture, 28.6 MB raw against ' +
108
+ '13.2 MB compact plus a 0.6 MB template index, 51.7% less (ES 8.17.0, best_compression, one ' +
109
+ 'segment, no replicas)';
91
110
  /**
92
111
  * Per-destination cost & compaction model.
93
112
  *
@@ -111,8 +130,31 @@ export const COST_MODEL_BY_DESTINATION = {
111
130
  billing_basis: 'uncompressed-ingest',
112
131
  compact_mode: 'envelope',
113
132
  compact_requires: 'the 10x Splunk app installed (it auto-expands compacted events at search time)',
114
- compact_ratio_low: 0.08,
115
- compact_ratio_high: 0.15,
133
+ // Measured once, in Splunk's own licence meter (E21, log-10x/benchmarks#18,
134
+ // splunk-license/results/results.md): one OpenTelemetry demo capture
135
+ // indexed with and without compact, Splunk 10.4.3, Universal Forwarder.
136
+ // The expected figure is the whole run, template dictionary and the app's
137
+ // re-index of it included. The band is the per-container spread; the
138
+ // dictionary is not split per container, so each slice reads slightly
139
+ // better than it would deployed. This replaced 0.08..0.15, a band with no
140
+ // run behind it that the meter contradicts.
141
+ compact_ratio_low: 197_426 / 642_494, // 69.27% less, opensearch
142
+ compact_ratio_expected: 80_653_626 / 214_841_731, // 62.46% less, whole run
143
+ compact_ratio_high: 2_864_638 / 6_798_676, // 57.86% less, ad
144
+ compact_ratio_basis: {
145
+ short: "measured once in Splunk's licence meter on one OpenTelemetry capture, not on this estate",
146
+ full: "measured once in Splunk's own licence meter: one OpenTelemetry demo capture, 214,841,731 " +
147
+ 'licence-metered bytes without compact and 80,653,626 with it, 62.46% less (Splunk 10.4.3, ' +
148
+ 'log-10x/benchmarks#18); 57.86% to 69.27% per container. One capture, not a forecast for this ' +
149
+ 'estate: log10x_measure_compaction reads the ratio off the stream itself',
150
+ },
151
+ // splunk-app default/props.conf: TRUNCATE = 262144 on tenx_encoded (#33).
152
+ // A longer compact event is cut by Splunk with no marker and rebuilds
153
+ // shorter. The search page loads no app JavaScript, so a search-bar query
154
+ // reaches the full text only wrapped in the app's tenxsearch command;
155
+ // classic dashboards go through its hook, alerts through Compile Alert.
156
+ compact_readback: 'on Splunk each event expands exactly up to 256 KB with the current 10x app (a longer one comes back cut), ' +
157
+ "and a search-bar query needs the app's tenxsearch command to see the full text",
116
158
  small_event_floor_bytes: 100,
117
159
  },
118
160
  datadog: {
@@ -153,8 +195,25 @@ export const COST_MODEL_BY_DESTINATION = {
153
195
  compact_mode: 'index-pruned',
154
196
  compact_requires: 'the l1es plugin installed on your nodes, which auto-expands compacted events at query time (self-managed Elasticsearch 8.17.0; OpenSearch 2.19.0)',
155
197
  tier_down_requires: 'frozen searchable snapshots — an Enterprise licence self-managed, or Gold+ on Elastic Cloud Hosted',
156
- compact_ratio_low: 0.3,
157
- compact_ratio_high: 0.4,
198
+ // The one Elasticsearch measurement, taken without pruning, stands in for
199
+ // the pruned mode as a floor: pruning removes more, and that is unmeasured.
200
+ // The unpruned variant (getDestinationCostModel) carries the same figure
201
+ // under its own basis. This replaced 0.30..0.40 here and 0.45..0.55
202
+ // unpruned, bands with no run behind them.
203
+ compact_ratio_low: ES_ON_DISK_RATIO,
204
+ compact_ratio_expected: ES_ON_DISK_RATIO,
205
+ compact_ratio_high: ES_ON_DISK_RATIO,
206
+ compact_ratio_basis: {
207
+ short: 'measured once on disk in Elasticsearch without pruning, on one OpenTelemetry capture, not on ' +
208
+ 'this estate; pruning removes more, unmeasured',
209
+ full: `${ES_ON_DISK_BASIS}. That run pruned nothing from _source; pruning removes more and is ` +
210
+ 'unmeasured, so for a pruned index this figure is a floor. One capture, not a forecast for this estate',
211
+ },
212
+ // elasticsearch-plugin: query_rewrite_enabled rewrites match, match_phrase
213
+ // and multi_match (so Kibana and KQL work); other query types reach the
214
+ // stored, encoded text. Carried to the unpruned variant by the spread.
215
+ compact_readback: 'on Elasticsearch the l1es plugin rebuilds each event, and match, match_phrase and multi_match queries ' +
216
+ '(so Kibana and KQL) search the full text while other query types see the encoded form',
158
217
  small_event_floor_bytes: 100,
159
218
  // Frozen tier via searchable snapshots. On Elastic Cloud Hosted the
160
219
  // marked slice routes to its own index, ILM mounts it as
@@ -539,9 +598,9 @@ export function compactsInPlace(destination) {
539
598
  /**
540
599
  * Returns the cost model for a destination, with ES-unpruned override.
541
600
  *
542
- * ES-unpruned ratios default to the 0.45-0.55 band. Pruning detection is
543
- * the caller's job: read the customer's index template or helm values for
544
- * `_source.excludes`.
601
+ * Both ES modes carry the one on-disk measurement (ES_ON_DISK_RATIO); they
602
+ * differ in the basis they state. Pruning detection is the caller's job:
603
+ * read the customer's index template or helm values for `_source.excludes`.
545
604
  *
546
605
  * @param dest destination SIEM id
547
606
  * @param opts esPruned: when destination is 'elasticsearch' and this
@@ -582,8 +641,13 @@ export function getDestinationCostModel(dest, opts) {
582
641
  return {
583
642
  ...base,
584
643
  compact_mode: 'index-unpruned',
585
- compact_ratio_low: 0.45,
586
- compact_ratio_high: 0.55,
644
+ compact_ratio_low: ES_ON_DISK_RATIO,
645
+ compact_ratio_expected: ES_ON_DISK_RATIO,
646
+ compact_ratio_high: ES_ON_DISK_RATIO,
647
+ compact_ratio_basis: {
648
+ short: 'measured once on disk in Elasticsearch on one OpenTelemetry capture, not on this estate',
649
+ full: `${ES_ON_DISK_BASIS}. One capture, not a forecast for this estate`,
650
+ },
587
651
  };
588
652
  }
589
653
  return base;
@@ -685,6 +749,49 @@ export function projectComputeSaving(compute, rowsKeptFraction, opts) {
685
749
  function midpoint(a, b) {
686
750
  return (a + b) / 2;
687
751
  }
752
+ /**
753
+ * The compact ratio a projection's `expected` leg uses: the measured total
754
+ * where the model carries one, else the band's midpoint.
755
+ */
756
+ export function expectedCompactRatio(model) {
757
+ return model.compact_ratio_expected ?? midpoint(model.compact_ratio_low, model.compact_ratio_high);
758
+ }
759
+ /**
760
+ * The compact figure as a reader sees it, basis attached: "62% smaller,
761
+ * measured once in ..." or "60-70% smaller, modeled, ...". Every tool that
762
+ * quotes a compact figure renders it through here, so none can quote a number
763
+ * without saying where it comes from. Null on a no-op destination.
764
+ */
765
+ export function describeCompactFigure(model) {
766
+ if (model.compact_mode === 'no-op')
767
+ return null;
768
+ const less = (ratio) => Math.round((1 - ratio) * 100);
769
+ const figure = model.compact_ratio_expected !== undefined
770
+ ? `${less(model.compact_ratio_expected)}% smaller`
771
+ : `${less(model.compact_ratio_high)}-${less(model.compact_ratio_low)}% smaller`;
772
+ return model.compact_ratio_basis ? `${figure}, ${model.compact_ratio_basis.short}` : figure;
773
+ }
774
+ const COMPACT_READBACK_UNKNOWN_DESTINATION = "how exactly each event reads back, and which searches see its full text, depends on the destination's expander";
775
+ /**
776
+ * How compact events read back on a destination, for any sentence that would
777
+ * otherwise say "losslessly" or "fully searchable": the verified limits where
778
+ * the destination has an expander, a no-op statement where it has none, and a
779
+ * destination-neutral clause when the destination is unknown or unmodeled.
780
+ */
781
+ export function describeCompactReadback(dest, opts) {
782
+ if (!dest)
783
+ return COMPACT_READBACK_UNKNOWN_DESTINATION;
784
+ let model;
785
+ try {
786
+ model = getDestinationCostModel(dest.toLowerCase(), opts);
787
+ }
788
+ catch {
789
+ return COMPACT_READBACK_UNKNOWN_DESTINATION;
790
+ }
791
+ if (model.compact_mode === 'no-op')
792
+ return `compact is a no-op on ${dest}, where nothing expands the events`;
793
+ return model.compact_readback ?? COMPACT_READBACK_UNKNOWN_DESTINATION;
794
+ }
688
795
  /**
689
796
  * Compute reduction as a 0..100 percent. Always non-negative and clamped to
690
797
  * 100. When passBytes is 0, returns 0 (nothing to reduce, no inflation).
@@ -729,6 +836,17 @@ export function resolveTierDownTier(model, planSelector) {
729
836
  const all = [...(defaultTier ? [defaultTier] : []), ...alts];
730
837
  return all.find((t) => t.name.toLowerCase().includes(needle)) ?? fallback;
731
838
  }
839
+ /**
840
+ * tier_down's saving as a fraction of the standard ingest rate: the
841
+ * destination's list-price delta to its cheaper tier (CloudWatch IA 0.5,
842
+ * Datadog Flex 0.6, Azure Basic 0.78). 0 where no cheaper tier is priced.
843
+ */
844
+ export function tierDownRateDelta(model, planSelector) {
845
+ const tier = resolveTierDownTier(model, planSelector);
846
+ if (!tier || model.ingest_per_gb <= 0)
847
+ return 0;
848
+ return Math.max(0, (model.ingest_per_gb - tier.ingest_rate_usd_per_gb) / model.ingest_per_gb);
849
+ }
732
850
  function projectActionWithRatio(args, ratio, confidence) {
733
851
  const model = getDestinationCostModel(args.destination, {
734
852
  esPruned: args.esPruned,
@@ -795,6 +913,13 @@ function projectActionWithRatio(args, ratio, confidence) {
795
913
  else {
796
914
  const effective = degradeRatioForSmallEvents(ratio, args.avg_event_size_bytes, model.small_event_floor_bytes);
797
915
  bytes_out = args.bytes_in * effective;
916
+ // The static band names its source, as the measured override above does.
917
+ if (model.compact_ratio_basis) {
918
+ const band = model.compact_ratio_low === model.compact_ratio_high
919
+ ? ''
920
+ : ` (band ${model.compact_ratio_low.toFixed(3)}-${model.compact_ratio_high.toFixed(3)})`;
921
+ notes.push(`compact ratio ${expectedCompactRatio(model).toFixed(3)}${band}, ${model.compact_ratio_basis.short}`);
922
+ }
798
923
  if (args.avg_event_size_bytes !== undefined &&
799
924
  args.avg_event_size_bytes < model.small_event_floor_bytes) {
800
925
  notes.push(`avg event size ${args.avg_event_size_bytes}B below floor ${model.small_event_floor_bytes}B; envelope overhead reduces savings`);
@@ -967,11 +1092,11 @@ function projectActionWithRatio(args, ratio, confidence) {
967
1092
  }
968
1093
  /**
969
1094
  * Project the destination cost of one (action, bytes_in) pair using the
970
- * expected (mid-band) compact ratio for the destination.
1095
+ * expected compact ratio for the destination (expectedCompactRatio).
971
1096
  *
972
1097
  * Examples:
973
1098
  * projectAction({ action:'compact', bytes_in:1e9, destination:'splunk' })
974
- * → total_dollars ≈ 1.0 * 6 * 0.115 ≈ $0.69 (i.e. ~88.5% savings on $6).
1099
+ * → total_dollars ≈ 0.3754 * ($6 + $0.10) ≈ $2.29, the measured 62.46% off.
975
1100
  * projectAction({ action:'compact', bytes_in:1e9, destination:'datadog' })
976
1101
  * → bytes_out === bytes_in, notes includes
977
1102
  * 'compact not supported on datadog'.
@@ -980,8 +1105,7 @@ export function projectAction(args) {
980
1105
  const model = getDestinationCostModel(args.destination, {
981
1106
  esPruned: args.esPruned,
982
1107
  });
983
- const ratio = midpoint(model.compact_ratio_low, model.compact_ratio_high);
984
- return projectActionWithRatio(args, ratio, 'expected');
1108
+ return projectActionWithRatio(args, expectedCompactRatio(model), 'expected');
985
1109
  }
986
1110
  /**
987
1111
  * Project low / expected / high savings using the destination's compact
@@ -996,7 +1120,7 @@ export function projectActionRange(args) {
996
1120
  esPruned: args.esPruned,
997
1121
  });
998
1122
  const low = projectActionWithRatio(args, model.compact_ratio_high, 'low');
999
- const expected = projectActionWithRatio(args, midpoint(model.compact_ratio_low, model.compact_ratio_high), 'expected');
1123
+ const expected = projectActionWithRatio(args, expectedCompactRatio(model), 'expected');
1000
1124
  const high = projectActionWithRatio(args, model.compact_ratio_low, 'high');
1001
1125
  const pct = percentReduction(args.bytes_in, {
1002
1126
  // 'high' compact ratio means MORE bytes through, i.e. LESS reduction —
@@ -1 +1 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/lib/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/lib/cost.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@
28
28
  * - Scope is a set of services (or all). A pattern touching any scoped service
29
29
  * is a candidate, weighted by its bytes in those services.
30
30
  */
31
- import { getAvailableActions, getDestinationCostModel, compactsInPlace, projectAction, } from './cost.js';
31
+ import { getAvailableActions, getDestinationCostModel, compactsInPlace, describeCompactFigure, projectAction, } from './cost.js';
32
32
  import { isProtectedSeverity } from './severity-policy.js';
33
33
  /** True ladder order: keep-everything (in-SIEM before out) then lossy. */
34
34
  const LADDER = ['compact', 'tier_down', 'offload', 'sample', 'drop'];
@@ -345,9 +345,9 @@ export function solvePlan(rawPatterns, opts) {
345
345
  if (lever === 'tier_down' && model.tier_down_target_tier) {
346
346
  structureParts.push(`${model.tier_down_target_tier.name} ingest ${rate(model.tier_down_target_tier.ingest_rate_usd_per_gb)}/GB`);
347
347
  }
348
- if (lever === 'compact' && model.compact_mode !== 'no-op') {
349
- structureParts.push(`compact assumed ${Math.round(model.compact_ratio_low * 100)}-${Math.round(model.compact_ratio_high * 100)}% of original size`);
350
- }
348
+ const compactFigure = lever === 'compact' ? describeCompactFigure(model) : null;
349
+ if (compactFigure)
350
+ structureParts.push(`compact ${compactFigure}`);
351
351
  // Prerequisites for the levers this plan actually uses — not the menu.
352
352
  const usedActions = new Set(planned.map((r) => r.action));
353
353
  const prerequisites = [];