@unified-product-graph/core 0.28.0 → 0.29.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.
package/dist/index.d.ts CHANGED
@@ -10803,6 +10803,23 @@ interface ProductProperties {
10803
10803
  logo_url?: string;
10804
10804
  /** When the product became generally available (ISO 8601) */
10805
10805
  launched_at?: ISODateTime;
10806
+ /**
10807
+ * The product configuration this graph describes, named in plain language.
10808
+ *
10809
+ * A product's composition often differs by feature flag, plan tier,
10810
+ * permission level or beta programme: surfaces appear, disappear, or are
10811
+ * replaced by different surfaces with different occupants. A graph that
10812
+ * models one of those without saying which is qualified by a condition
10813
+ * nobody wrote down, and every fact in it inherits that silence.
10814
+ *
10815
+ * NAMING, NOT CONFIGURING. This is a label for readers. Nothing reads it to
10816
+ * gate, filter, or alter how a tool interprets the graph, and it makes no
10817
+ * claim about which configuration most customers are on.
10818
+ *
10819
+ * @example "Enterprise plan, split-navigation flag on"
10820
+ * @example "Default: free tier, all flags off"
10821
+ */
10822
+ described_configuration?: string;
10806
10823
  }
10807
10824
  /** Vision entity.
10808
10825
  *
@@ -12917,6 +12934,21 @@ interface SurfaceProperties {
12917
12934
  * absence carries the "no cap" reading, rather than a magic sentinel value
12918
12935
  * that every consumer would have to special-case. `0` is a real cap meaning
12919
12936
  * "nothing may occupy this surface" (a reserved place), not "unbounded".
12937
+ *
12938
+ * THREE STATES, AND THEY ARE ALL DIFFERENT. Absent = unbounded, no cap
12939
+ * stated. `0` = a reserved place nothing may occupy. `null` = neither of
12940
+ * those, and nothing this field defines; it is what you get by writing an
12941
+ * explicit null rather than removing the key, and no consumer reads it as a
12942
+ * cap. To return this property to ABSENT, remove the key with
12943
+ * `update_node`'s or `batch_update_nodes`' `unset_properties`, since a
12944
+ * property merge preserves anything you omit.
12945
+ *
12946
+ * UNBOUNDED IS NOT AN EXEMPTION FROM SCRUTINY. The contention detector reads
12947
+ * an absent capacity as a threshold of 1, on the reasoning that a surface
12948
+ * which states no limit has stated no answer either, so several occupants is
12949
+ * exactly the unrecorded decision worth naming. Declaring a real capacity is
12950
+ * therefore the way to quiet the check honestly, and the only way that also
12951
+ * records something true.
12920
12952
  */
12921
12953
  capacity?: number;
12922
12954
  /**
@@ -20576,9 +20608,17 @@ declare function getBusinessAreasForRegion(regionId: string): string[];
20576
20608
  /**
20577
20609
  * UPG Intelligence Conditions: structured, machine-evaluable graph predicates.
20578
20610
  *
20579
- * Three check types: `EntityCheck` (count by criteria), `RelationshipCheck`
20580
- * (edge existence/count), `BenchmarkCheck` (compare against stage benchmark).
20611
+ * Check types: `EntityCheck` (count by criteria), `RelationshipCheck`
20612
+ * (edge existence/count), `BenchmarkCheck` (compare against stage benchmark),
20613
+ * `EdgeCountVsPropertyCheck` (per-node: edge count against the node's own
20614
+ * numeric property), plus the graph-shape counts (total / domain / orphan).
20581
20615
  * Composable via `and` / `or` operators.
20616
+ *
20617
+ * All but `EdgeCountVsPropertyCheck` are AGGREGATE checks — whole-graph tallies
20618
+ * compared against constants. That is why most detectors here are whole-graph
20619
+ * approximations of per-node rules, and why they can say a graph has a problem
20620
+ * without saying where. `EdgeCountVsPropertyCheck` (0.29.0) is the exception,
20621
+ * and it is what lets a violation name the nodes it is about.
20582
20622
  */
20583
20623
 
20584
20624
  /** Count entities matching criteria */
@@ -20693,6 +20733,98 @@ interface OrphanCheck {
20693
20733
  /** Threshold value (not needed for 'zero' / 'nonzero') */
20694
20734
  threshold?: number;
20695
20735
  }
20736
+ /**
20737
+ * Count entities whose EDGE COUNT stands in a stated relation to one of their
20738
+ * own NUMERIC PROPERTIES (0.29.0).
20739
+ *
20740
+ * The first genuinely per-node check form. Every other check in this file is an
20741
+ * aggregate: it compares a whole-graph tally against a constant. This one
20742
+ * compares two values that both live on the same node, so it cannot be
20743
+ * expressed by any composition of the others — a graph-wide edge count says
20744
+ * nothing about which node holds which capacity, and the presence filters key
20745
+ * on whether a property EXISTS, never on what it says relative to anything else.
20746
+ *
20747
+ * The motivating case (feedback `af9ae4c2`, measured on a 43-surface field
20748
+ * graph): `contended-surface-without-arbitration` counted
20749
+ * `feature_occupies_surface` edges and never read `capacity`, so a header row
20750
+ * declaring room for four occupants and holding exactly four was flagged as
20751
+ * contended alongside a capacity-1 panel holding three. Ten surfaces flagged,
20752
+ * three of them wrongly, and all three wrong for this one reason.
20753
+ *
20754
+ * DELIBERATELY GENERAL. The shape is "edge count versus numeric property", not
20755
+ * "occupancy versus capacity". A surface's guest list against its capacity is
20756
+ * the first instance, but the form fits any place the graph states a numeric
20757
+ * intent and the edges record what actually arrived.
20758
+ *
20759
+ * COLLECTORS ARE DRIVEN BY DECLARED SPECS, never by speculative indexing.
20760
+ * `UPG_EDGE_COUNT_SPECS` is derived from the conditions in this catalog, so a
20761
+ * collector computes exactly the per-node tallies some detector asked for, and
20762
+ * seeds every declared spec before walking so that "nothing matched" and "this
20763
+ * collector is stale" stay distinguishable. The evaluator treats the second as
20764
+ * a worst case and over-reports, which is the safe failure for a detector whose
20765
+ * job is noticing omissions.
20766
+ */
20767
+ interface EdgeCountVsPropertyCheck {
20768
+ /** Discriminator, always `'edge_count_vs_property'` for this check type */
20769
+ type: 'edge_count_vs_property';
20770
+ /** The entity type whose nodes are evaluated one at a time. */
20771
+ entity_type: UPGEntityType;
20772
+ /** The edge type counted against each node of `entity_type`. */
20773
+ edge_type: UPGEdgeType;
20774
+ /**
20775
+ * Which end of `edge_type` the evaluated node sits on. `inbound` (the
20776
+ * default) counts edges that POINT AT the node, which is the occupancy
20777
+ * reading: `feature_occupies_surface` runs feature → surface, so a surface's
20778
+ * guest list is its inbound count.
20779
+ */
20780
+ direction?: 'inbound' | 'outbound';
20781
+ /** The node's own numeric property the count is compared against. */
20782
+ property: string;
20783
+ /**
20784
+ * What to compare against when the node does not carry `property` at all.
20785
+ *
20786
+ * ABSENCE IS A READING, NOT A HOLE. On `surface.capacity` absence means
20787
+ * unbounded, and an unbounded surface is not thereby exempt: it has stated no
20788
+ * limit, so it has stated no answer, and more than one occupant is exactly
20789
+ * the situation worth naming. Setting this to `1` encodes that — an
20790
+ * unqualified place holding two things has an unrecorded decision in it.
20791
+ */
20792
+ property_absent_default: number;
20793
+ /**
20794
+ * How a node's edge count must relate to the property value for that node to
20795
+ * be counted. `gt` reads "more arrived than the design said would fit".
20796
+ */
20797
+ node_comparison: 'gt' | 'gte' | 'lt' | 'lte' | 'eq';
20798
+ /**
20799
+ * Optional additional per-node requirement, stated in the vocabulary of
20800
+ * `EntityCheck.filter`'s presence form: the node must carry
20801
+ * (`present: true`) or must not carry (`present: false`) a non-empty value
20802
+ * for `property`.
20803
+ *
20804
+ * THIS IS WHY THE FORM IS PER-NODE RATHER THAN TWO ANDED AGGREGATES.
20805
+ * "Some surface is over capacity" AND "some surface has no arbitration rule"
20806
+ * are both true of a graph where those are DIFFERENT surfaces, so composing
20807
+ * two aggregate checks would keep firing on exactly the graphs this release
20808
+ * exists to stop firing on. Both halves have to be asked of the same node.
20809
+ */
20810
+ node_filter?: {
20811
+ property: string;
20812
+ present: boolean;
20813
+ };
20814
+ /**
20815
+ * Optional exemption, mirroring the 0.28.0 `except_property` /
20816
+ * `except_value` form on `EntityCheck`. A node declaring the exemption is
20817
+ * removed from the evaluated population entirely — it is not counted, and it
20818
+ * is not attributed.
20819
+ */
20820
+ except_property?: string;
20821
+ /** Value of `except_property` that triggers the exemption. */
20822
+ except_value?: string;
20823
+ /** Aggregate comparison applied to the number of nodes that matched. */
20824
+ comparison: 'eq' | 'gt' | 'lt' | 'gte' | 'lte' | 'zero' | 'nonzero';
20825
+ /** Threshold value (not needed for 'zero' / 'nonzero') */
20826
+ threshold?: number;
20827
+ }
20696
20828
  /**
20697
20829
  * A structured, machine-evaluable condition for intelligence prompts.
20698
20830
  *
@@ -20708,7 +20840,7 @@ interface OrphanCheck {
20708
20840
  * ] }
20709
20841
  */
20710
20842
  type IntelligenceCondition = {
20711
- check: EntityCheck | RelationshipCheck | BenchmarkCheck | TotalEntityCountCheck | DomainCountCheck | DomainPopulationCheck | OrphanCheck;
20843
+ check: EntityCheck | RelationshipCheck | BenchmarkCheck | TotalEntityCountCheck | DomainCountCheck | DomainPopulationCheck | OrphanCheck | EdgeCountVsPropertyCheck;
20712
20844
  } | {
20713
20845
  operator: 'and' | 'or';
20714
20846
  checks: IntelligenceCondition[];
@@ -21782,14 +21914,21 @@ interface UPGPresenceExceptSpec {
21782
21914
  * indexes, because those record marginals and the question is an intersection.
21783
21915
  *
21784
21916
  * So the catalog declares what it needs and collectors compute exactly that
21785
- * and no more. Today the list holds one entry (`surface.arbitration_rule`
21786
- * except `composition_mode: 'chained'`); it stays correct without maintenance
21787
- * because it is derived from the conditions themselves.
21917
+ * and no more. It stays correct without maintenance because it is derived from
21918
+ * the conditions themselves.
21919
+ *
21920
+ * EMPTY SINCE 0.29.0, AND THAT IS NOT A REGRESSION. Its one declarer was the
21921
+ * arbitration branch of `contended-surface-without-arbitration`, which moved to
21922
+ * the per-node `edge_count_vs_property` form because the aggregate could not
21923
+ * ask "over capacity" and "no rule" of the SAME surface. The mechanism stays
21924
+ * supported and tested: an except-qualified presence count is still the right
21925
+ * instrument for a detector that needs an intersection of two marginals and no
21926
+ * per-node arithmetic, and a future pattern declaring one gets it for free.
21788
21927
  *
21789
21928
  * @example
21790
- * UPG_PRESENCE_EXCEPT_SPECS[0]
21791
- * // → { entity_type: 'surface', property: 'arbitration_rule',
21792
- * // except_property: 'composition_mode', except_value: 'chained' }
21929
+ * // The shape, as the 0.28.0 contention branch declared it:
21930
+ * // { entity_type: 'surface', property: 'arbitration_rule',
21931
+ * // except_property: 'composition_mode', except_value: 'chained' }
21793
21932
  */
21794
21933
  declare const UPG_PRESENCE_EXCEPT_SPECS: readonly UPGPresenceExceptSpec[];
21795
21934
  /**
@@ -21802,6 +21941,141 @@ declare const UPG_PRESENCE_EXCEPT_SPECS: readonly UPGPresenceExceptSpec[];
21802
21941
  * // → "arbitration_rule!composition_mode=chained"
21803
21942
  */
21804
21943
  declare function presenceExceptKey(property: string, exceptProperty: string, exceptValue: string): string;
21944
+ /**
21945
+ * One `edge_count_vs_property` check declared somewhere in
21946
+ * `UPG_ANTI_PATTERNS`, flattened for collectors (0.29.0).
21947
+ *
21948
+ * @see UPG_EDGE_COUNT_SPECS
21949
+ */
21950
+ interface UPGEdgeCountSpec {
21951
+ /** Entity type whose nodes are evaluated one at a time. */
21952
+ entity_type: string;
21953
+ /** Edge type counted against each node. */
21954
+ edge_type: string;
21955
+ /** Which end of the edge the evaluated node sits on. */
21956
+ direction: 'inbound' | 'outbound';
21957
+ /** The node's own numeric property the count is compared against. */
21958
+ property: string;
21959
+ /** Value used when the node does not carry `property` at all. */
21960
+ property_absent_default: number;
21961
+ /** How the count must relate to the property for the node to match. */
21962
+ node_comparison: 'gt' | 'gte' | 'lt' | 'lte' | 'eq';
21963
+ /** Optional extra per-node presence requirement. */
21964
+ node_filter?: {
21965
+ property: string;
21966
+ present: boolean;
21967
+ };
21968
+ /** Property that removes a node from the evaluated population. */
21969
+ except_property?: string;
21970
+ /** Value of `except_property` that triggers the exclusion. */
21971
+ except_value?: string;
21972
+ }
21973
+ /**
21974
+ * Canonical key for one edge-count spec, shared by the collectors that build
21975
+ * `nodesByEdgeCountSpec` and the evaluator that reads it. Both sides must
21976
+ * agree, so neither spells it inline.
21977
+ *
21978
+ * Every discriminating field is in the key. Two detectors asking about the same
21979
+ * edge and property but with different thresholds, filters or exemptions are
21980
+ * different questions and must not collide on one tally.
21981
+ *
21982
+ * @example
21983
+ * edgeCountSpecKey({ entity_type: 'surface', edge_type: 'feature_occupies_surface',
21984
+ * direction: 'inbound', property: 'capacity', property_absent_default: 1,
21985
+ * node_comparison: 'gt', node_filter: { property: 'arbitration_rule', present: false },
21986
+ * except_property: 'composition_mode', except_value: 'chained' })
21987
+ * // → "surface|feature_occupies_surface|inbound|capacity|1|gt|arbitration_rule=absent|composition_mode=chained"
21988
+ */
21989
+ declare function edgeCountSpecKey(spec: UPGEdgeCountSpec): string;
21990
+ /**
21991
+ * Canonical key for one `entity_count` filter, shared by the collectors that
21992
+ * build `nodesByEntityFilter` and the evaluator that reads it (0.29.0).
21993
+ *
21994
+ * Covers all four filter forms in `EntityCheck.filter`. The key encodes the
21995
+ * filter as the detector wrote it, so a `present: false` filter and a
21996
+ * `present: true` filter over the same property are different keys holding
21997
+ * different node sets, and neither has to be derived from the other by
21998
+ * subtraction.
21999
+ *
22000
+ * @example
22001
+ * entityFilterKey('surface', { property: 'arbitration_state', value: 'none' })
22002
+ * // → "surface|arbitration_state=none"
22003
+ * entityFilterKey('hypothesis', { status: 'drafted' })
22004
+ * // → "hypothesis|status=drafted"
22005
+ */
22006
+ declare function entityFilterKey(entityType: string, filter: Record<string, unknown>): string;
22007
+ /**
22008
+ * Which of the recognised `EntityCheck.filter` shapes this is.
22009
+ *
22010
+ * The presence form deliberately does NOT branch on `except_property` /
22011
+ * `except_value`. Those belong to the aggregate
22012
+ * `countsByTypeAndPropertyPresenceExcept` mechanism, which is still supported
22013
+ * for counting; ATTRIBUTION for that shape has no declarer, no collector path
22014
+ * and no test, and shipping an unexercised parallel path is how the next drift
22015
+ * starts. When a detector declares one, its attribution lands with it and with
22016
+ * a test. Until then such a filter classifies as `presence` and is attributed
22017
+ * on the presence predicate alone, which is a superset and therefore never
22018
+ * names a node the detector did not implicate.
22019
+ */
22020
+ declare function classifyEntityFilter(filter: Record<string, unknown>): 'presence' | 'value' | 'status' | 'unrecognized';
22021
+ /**
22022
+ * One `entity_count` filter declared somewhere in `UPG_ANTI_PATTERNS`,
22023
+ * flattened for collectors (0.29.0). Attribution only: the counts these
22024
+ * filters drive are unchanged and still read the aggregate tallies.
22025
+ *
22026
+ * @see UPG_ENTITY_FILTER_SPECS
22027
+ */
22028
+ interface UPGEntityFilterSpec {
22029
+ /** Entity type the filter is applied to. */
22030
+ entity_type: string;
22031
+ /** The filter exactly as the detector declared it. */
22032
+ filter: Record<string, unknown>;
22033
+ /**
22034
+ * Which recognised shape this filter is, resolved once at derivation.
22035
+ *
22036
+ * Carrying it means a collector switches exhaustively on a closed set rather
22037
+ * than re-sniffing the shape and quietly skipping anything it was not taught.
22038
+ * A silent skip there produces a forever-empty match list: attribution dies
22039
+ * with no error and no failing test, which is the worst possible failure for
22040
+ * a feature whose whole job is to name things.
22041
+ */
22042
+ kind: 'presence' | 'value' | 'status';
22043
+ }
22044
+ /**
22045
+ * Every `entity_count` filter the catalog declares (0.29.0), so collectors can
22046
+ * record which nodes matched each one without indexing the whole graph.
22047
+ *
22048
+ * The catalog declares five filters in total, which is what makes per-node
22049
+ * attribution affordable here: a handful of predicate evaluations per node,
22050
+ * rather than an id list for every (type, property, value) triple that happens
22051
+ * to exist in the data.
22052
+ */
22053
+ declare const UPG_ENTITY_FILTER_SPECS: readonly UPGEntityFilterSpec[];
22054
+ /**
22055
+ * Normalise one `edge_count_vs_property` check into its spec.
22056
+ *
22057
+ * THE ONLY PLACE THIS SHAPE IS CONSTRUCTED. The spec has nine fields and every
22058
+ * one of them is keyed into `edgeCountSpecKey`, so a second construction site
22059
+ * that forgot to apply the `direction` default (or added a field) would produce
22060
+ * a key that silently misses the collector's entry, and the check would read as
22061
+ * "no node matched" rather than failing. Collector, evaluator and attribution
22062
+ * all route through here.
22063
+ */
22064
+ declare function checkToEdgeCountSpec(check: EdgeCountVsPropertyCheck): UPGEdgeCountSpec;
22065
+ /**
22066
+ * Every per-node edge-count check the catalog declares (0.29.0).
22067
+ *
22068
+ * Same contract as `UPG_PRESENCE_EXCEPT_SPECS`: the catalog states what it
22069
+ * needs, collectors compute exactly that and nothing more. Indexing every
22070
+ * (type, edge type, property) triple speculatively would tax every
22071
+ * `validate_graph` call to serve one detector, and unlike the aggregate counts
22072
+ * these tallies cannot be derived from each other.
22073
+ *
22074
+ * Today the list holds one entry (surface occupancy against `capacity`), and it
22075
+ * stays correct without maintenance because it is derived from the conditions
22076
+ * themselves.
22077
+ */
22078
+ declare const UPG_EDGE_COUNT_SPECS: readonly UPGEdgeCountSpec[];
21805
22079
  /**
21806
22080
  * Look up a curated anti-pattern by its slug id.
21807
22081
  *
@@ -21924,7 +22198,7 @@ declare function isThinCoverageAdvisory(antiPatternId: string, totalEntityCount:
21924
22198
  * Walks `UPG_ANTI_PATTERNS`, evaluates each `structured_condition` against
21925
22199
  * `AntiPatternInputs`, returns the violations.
21926
22200
  *
21927
- * Synchronous. Collectors live per server (`packages/upg-mcp-server/src/lib/anti-pattern-inputs.ts`).
22201
+ * Synchronous. Collectors live outside this package (`packages/upg-sdk/src/lib/anti-pattern-inputs.ts`).
21928
22202
  * Covers every leaf check type in `IntelligenceCondition`; composes recursively.
21929
22203
  *
21930
22204
  * https://unifiedproductgraph.org | MIT
@@ -21990,6 +22264,37 @@ interface AntiPatternInputs {
21990
22264
  * direction for a check whose job is to notice omissions.
21991
22265
  */
21992
22266
  countsByTypeAndPropertyPresenceExcept?: Record<string, Record<string, number>>;
22267
+ /**
22268
+ * Node ids matching each declared per-node edge-count check (0.29.0). Shape:
22269
+ * `edgeCountSpecKey(spec)` → the ids of the nodes that matched.
22270
+ *
22271
+ * The COUNT is the array length, so this input carries both halves of the
22272
+ * check: what fired, and which nodes it fired about. Collectors build it by
22273
+ * walking `UPG_EDGE_COUNT_SPECS`, never speculatively.
22274
+ *
22275
+ * A SEEDED-BUT-EMPTY entry and a MISSING entry mean different things, and
22276
+ * collectors must keep them distinct. Empty means "nothing matched" and the
22277
+ * check clears. Missing means "this collector predates the spec", and the
22278
+ * evaluator falls back to assuming every node of the type matched, preserving
22279
+ * the 0.28.0 property that a stale collector over-reports rather than
22280
+ * silently retiring the detector. Attribution stays empty on that path: a
22281
+ * fabricated node id is worse than an unattributed violation.
22282
+ */
22283
+ nodesByEdgeCountSpec?: Record<string, string[]>;
22284
+ /**
22285
+ * Node ids matching each declared `entity_count` filter (0.29.0), for
22286
+ * ATTRIBUTION ONLY. Shape: `entityFilterKey(entity_type, filter)` → ids.
22287
+ *
22288
+ * Counts are unaffected: every `entity_count` comparison still reads the
22289
+ * aggregate tallies above, exactly as it did before this input existed. This
22290
+ * runs alongside purely so a fired violation can name nodes, which means a
22291
+ * collector that omits it loses attribution and changes no verdict.
22292
+ *
22293
+ * Bounded by declaration, like every other spec-driven input here: the whole
22294
+ * catalog declares five filters, so this is a handful of predicate
22295
+ * evaluations per node rather than an index over every property.
22296
+ */
22297
+ nodesByEntityFilter?: Record<string, string[]>;
21993
22298
  /**
21994
22299
  * Boolean presence per `(source_type, edge_type, target_type)` tuple.
21995
22300
  * Key format: `${source_type}|${edge_type}|${target_type}`.
@@ -22036,6 +22341,32 @@ interface AntiPatternViolation {
22036
22341
  concern: UPGAntiPatternConcern;
22037
22342
  /** Entity-type strings the catalog references. Phase 1: types, not ids. */
22038
22343
  target_entities: string[];
22344
+ /**
22345
+ * The specific nodes this violation is about (0.29.0), where the fired
22346
+ * condition could name them. Sorted, deduplicated, and drawn only from the
22347
+ * branches that actually contributed to the fire.
22348
+ *
22349
+ * ABSENT MEANS "THIS DETECTOR CANNOT NAME NODES", NOT "NO NODES". Most
22350
+ * patterns here are whole-graph approximations of per-node rules: they
22351
+ * compare aggregate tallies against constants, so they can say a graph has a
22352
+ * problem without knowing where it lives. Only checks that evaluate nodes one
22353
+ * at a time attribute, plus the declared `entity_count` filters.
22354
+ *
22355
+ * ATTRIBUTION IS PARTIAL, AND PARTIAL PER TYPE. A violation may name nodes of
22356
+ * one type while saying nothing about another type in `target_entities`: the
22357
+ * contention detector names surfaces and never the features occupying them,
22358
+ * though both types appear there. So a consumer must NOT read a non-empty
22359
+ * list as "these are the only implicated entities".
22360
+ *
22361
+ * The contract for a reverse lookup is: this list is authoritative for the
22362
+ * types it actually covers, and silent about every other type, which must
22363
+ * keep resolving through `target_entities`. Reading it as globally
22364
+ * authoritative makes entities of the uncovered types unreachable, which is
22365
+ * a reachability regression dressed up as precision.
22366
+ *
22367
+ * Optional so every existing consumer keeps compiling and behaving as before.
22368
+ */
22369
+ target_node_ids?: string[];
22039
22370
  description: string;
22040
22371
  why_it_matters: string;
22041
22372
  remediation: string;
@@ -22062,6 +22393,16 @@ interface EvaluateAntiPatternsOptions {
22062
22393
  * })
22063
22394
  */
22064
22395
  declare function evaluateAntiPatterns(inputs: AntiPatternInputs, options?: EvaluateAntiPatternsOptions): AntiPatternViolation[];
22396
+ /**
22397
+ * Walk the condition and return the unique entity-type strings it references.
22398
+ *
22399
+ * This is what fills `target_entities`, so it is the type half of every
22400
+ * consumer's reachability. A check form missing from the walk produces a
22401
+ * violation nothing can find by type, which is why the walk is exported: it is
22402
+ * testable in isolation, against conditions built to defeat the masking that
22403
+ * hides an omission inside a real multi-check pattern.
22404
+ */
22405
+ declare function collectTargetEntities(cond: IntelligenceCondition | undefined): string[];
22065
22406
 
22066
22407
  /**
22067
22408
  * `UPGProductStage` validation and soft-coercion.
@@ -23264,7 +23605,7 @@ declare function checkHeaderSealText(text: string): UPGHeaderSealReport;
23264
23605
  * it stamps the `upg_version` field of every `.upg` file written by the SDK.
23265
23606
  * The `check:version-lockstep` gate enforces this at release time.
23266
23607
  */
23267
- declare const UPG_VERSION: "0.28.0";
23608
+ declare const UPG_VERSION: "0.29.0";
23268
23609
  /**
23269
23610
  * The `.upg` JSON document format version. Written to the `upg_version` field.
23270
23611
  * Evolves independently from `UPG_VERSION` (the catalogue version).
@@ -23389,4 +23730,4 @@ declare const UPG_EDGE_COUNT: number;
23389
23730
  */
23390
23731
  declare const UPG_META_COUNT: number;
23391
23732
 
23392
- export { type A11yAnnotationProperties, type A11yAuditProperties, type A11yGuidelineProperties, type A11yIssueProperties, type A11yStandardProperties, ANALYTICS_DATA_PLAYBOOK, type AcceptanceCriterionProperties, type AccessPolicyProperties, type AccountProperties, type AcquisitionChannelProperties, type AdCreativeProperties, type AffinityClusterProperties, type AgentDefinitionProperties, type AgentHookProperties, type AgentSessionProperties, type AgentSkillProperties, type AgentTaskProperties, type AggregateProperties, type AiCostTrackerProperties, type AiDatasetProperties, type AiExperimentProperties, type AiGuardrailProperties, type AiModelProperties, type AiTraceProperties, type AlertRuleProperties, type AnnotationProperties, type AntiPatternInputs, type AntiPatternViolation, type AnyUPGEntityType, type ApiContractProperties, type ApiEcosystemProperties, type ApiEndpointProperties, type ApproachBinding, type ApproachFilter, type ApproachRun, type ApproachRuntime, type ApprovalRecordProperties, type AssumptionProperties, type AttributionModelProperties, type AuditLogPolicyProperties, BUSINESS_GROWTH_METRIC_DRIVEN_PLAYBOOK, BUSINESS_GTM_GROWTH_PLAYBOOK, BUSINESS_MARKETING_AUDIENCE_FIRST_PLAYBOOK, type BehavioralSegmentProperties, type BenchmarkCheck, type BetaProgramProperties, type BoundedContextProperties, type BrandAssetProperties, type BrandColourProperties, type BrandIdentityProperties, type BrandImageryProperties, type BrandLogoProperties, type BrandTypographyProperties, type BrandVoiceProperties, type BugProperties, type BuildArtifactProperties, type BusinessModelProperties, CLASSIFICATION_EDGE_PROPERTY_SCHEMA, CONTENT_DEPTH_WARNING_RULES, COVERAGE_ANTI_PATTERNS, type Cadence, type CapabilityProperties, type CapacityPlanProperties, type CauseConfidence, type CeremonyProperties, type CertificationProperties, type ChangeRequestProperties, type ChangelogProperties, type ChurnReasonProperties, type CiPipelineProperties, type ClassificationAxisProperties, type ClassificationCapability, type ClassificationCapabilitySurface, type ClassificationCommitment, type ClassificationValueProperties, type CodeRepositoryProperties, type CohortProperties, type ComfortLevel, type CommandProperties, type CommunityInitiativeProperties, type CompetitiveAnalysisProperties, type CompetitiveBattleCardProperties, type CompetitorFeatureProperties, type CompetitorProperties, type CompetitorSignalProperties, type ComplianceFrameworkProperties, type ComplianceRequirementProperties, type Confidence, type ConformanceLevel, type ConstraintKind, type ConstraintOrigin, type ConstraintProperties, type ConstraintStatus, type ContactProperties, type ContentCalendarProperties, type ContentPieceProperties, type ContentStrategyProperties, type ContentThemeProperties, type ContractClauseProperties, type ContractProperties, type CostStructureProperties, type CountBenchmark, type Cron, type CrossProductEligibleEdgeType, type CrossProductScope, type CulturalAdaptationProperties, type CustomerFeedbackProperties, type CustomerHealthScoreProperties, type CustomerJourneyStageProperties, type CustomerRelationshipProperties, DEFAULT_ENTITY_EMOJI, DEFERRED_PROPOSED_BY_CONTRACT, DEFER_EDGE_PROPERTY_SCHEMA, DISCOVERY_RESEARCH_VALIDATION_PLAYBOOK, type DashboardProperties, type DataClassificationProperties, type DataContractProperties, type DataDomainProperties, type DataFlowProperties, type DataLineageProperties, type DataModelProperties, type DataPipelineProperties, type DataProductProperties, type DataQualityRuleProperties, type DataSensitivity, type DataSourceProperties, type DatabaseSchemaProperties, type DealProperties, type DecisionProperties, type DeliberateOnlyEdgeType, type DeliverableProperties, type DemandGenProgramProperties, type DepartmentProperties, type DependencyProperties, type DeploymentProperties, type DeprecatedUPGEntityType, type DesignComponentProperties, type DesignConceptProperties, type DesignGuidelineProperties, type DesignPatternProperties, type DesignQuestionProperties, type DesignSprintProperties, type DesignSystemProperties, type DesignTokenProperties, type DesiredOutcomeProperties, type DeveloperPortalProperties, type DifficultyLevel, type DiscountStrategyProperties, type DistributionChannelProperties, type DocumentProperties, type DocumentationTemplateProperties, type DomainActivation, type DomainCountCheck, type DomainEntityProperties, type DomainEventProperties, type DomainGuideStep, type DomainPopulationCheck, type Duration, ENGINEERING_PLATFORM_PLAYBOOK, ENTITY_EMOJI, EXPERIENCE_DESIGN_BRAND_PLAYBOOK, type EducationProgramProperties, type EmailSequenceProperties, type EmptyCell, type EmptyCellRationaleKind, type EntityCheck, type EntitySequenceStep, type EntityTypeMeta, type EntityTypeResolution, type EntryMode, type EpicProperties, type ErrorBudgetProperties, type EvalBenchmarkProperties, type EvalRunProperties, type EvaluateAntiPatternsOptions, type EventProperties, type EventSchemaProperties, type EvidenceDirection, type EvidenceProperties, type ExperimentPlanProperties, type ExperimentProperties, type ExperimentRunProperties, type ExternalApiProperties, FOUNDATIONS_PLAYBOOK, type FeasibilityStudyProperties, type FeatureAreaProperties, type FeatureFlagProperties, type FeatureProperties, type FeatureRequestProperties, type FeedbackProgramProperties, type FeedbackThemeProperties, type FeedbackVoteProperties, type FixProperties, type ForecastProperties, type FrameworkCategory, type FrameworkComputedProperty, type FrameworkConstant, type FrameworkDataSpec, type FrameworkEducation, type FrameworkEntityTypeSpec, type FrameworkExerciseProperties, type FrameworkInvocationStep, type FrameworkLayout, type FrameworkLevel, type FrameworkOrigin, type FrameworkPresentationSpec, type FrameworkPropertyRequirement, type FrameworkScoringMethod, type FrameworkSlot, type FrameworkStep, type FrameworkStructureSpec, type FrameworkValidationResult, type FrequencyRating, type FunnelProperties, type FunnelStage, type FunnelStepProperties, type GlossaryTermProperties, type GrowthCampaignProperties, type GrowthLoopProperties, type GtmStrategyProperties, type GuardrailStatus, type HallucinationReportProperties, type HealthStatus, type HelpVideoProperties, type HypothesisEvidenceProperties, type HypothesisProperties, type ISO4217, type ISODate, type ISODateTime, type IdealCustomerProfileProperties, type IncidentProperties, type IncidentSeverity, type InfrastructureComponentProperties, type InitiativeProperties, type InsightProperties, type IntegrationPartnerProperties, type IntegrationPatternProperties, type IntelligenceCondition, type InteractionSpecProperties, type InternalDocProperties, type InterviewGuideProperties, type InvestigationProperties, type InvoiceProperties, type IpAssetProperties, type JobProperties, type JobStepProperties, type JourneyActionProperties, type JourneyPhaseProperties, type JourneyStepProperties, type JourneyType, type KeyActivityProperties, type KeyResourceProperties, type KeyResultProperties, type KnowledgeBaseArticleProperties, LEGACY_PRODUCT_STAGES, type LaunchProperties, type LeadProperties, type LearningPathProperties, type LearningProperties, type LegalEntityProperties, type LibraryDependencyProperties, type LifecyclePhase, type LifecycleRenderShape, type LifecycleRenderState, type LifecycleRenderTransition, type LifecycleState, type LocaleConfigProperties, type LocaleProperties, type LogLevel, type LowMedHigh, MARKDOWN_FORMAT_VERSION, MARKET_COMPETITIVE_PLAYBOOK, type MarketSegmentProperties, type MarketTrendProperties, type MarketingCampaignPlanProperties, type MarketingChannelProperties, type MarketingPlatform, type MarketingStrategyProperties, type MarketplaceListingProperties, type MatrixSlot, type MaturityLevel, type MessagingProperties, type MetricCategory, type MetricDataPoint, type MetricDesignation, type MetricHealth, type MetricImpactLevel, type MetricIndicatorDirection, type MetricProperties, type MetricQualityAssessmentProperties, type MetricSegmentType, type MetricStatisticalFunction, type MilestoneProperties, type MissionProperties, type ModelComparisonProperties, type ModifiedProperty, type MonitorProperties, type NamedGroup, type NeedMaturity, type NeedProperties, type NeedValence, type NpsCampaignProperties, OPERATIONS_QUALITY_PLAYBOOK, type ObjectionProperties, type ObjectiveProperties, type ObservationProperties, type OnCallRotationProperties, type OperatingLifecycleProperties, type OperatingStageProperties, type OpportunityProperties, type OrganizationProperties, type OrphanCheck, type OutcomeProperties, PRODUCT_DELIVERY_PLAYBOOK, PROPERTY_MODIFIERS, PROPERTY_MODIFIER_SEMANTICS, PROPERTY_SCALE_MAP, type ParticipantProperties, type PartnerProgramProperties, type PartnerRevenueShareProperties, type PartnerTierProperties, type PartnershipProperties, type PaywallProperties, type PenetrationTestProperties, type PersonProperties, type PersonaProperties, type PipelineSalesProperties, type PipelineStageProperties, type PlanningCycleProperties, type PlaybookBinding, type PlaybookFilter, type PlaybookProperties, type PlaybookRun, type PlaybookRuntime, type PortfolioProperties, type PositioningProperties, type PostmortemProperties, type PressReleaseProperties, type PricingStrategyProperties, type PricingTierProperties, type PrimitiveProperties, type Priority, type PrivacyPolicyProperties, type ProductAreaProperties, type ProductProperties, type ProductStageCoercion, type ProgramProperties, type ProjectProperties, type PromptTemplateProperties, type PromptVersionProperties, type ProofPointProperties, type PropertyDefinition, type PropertyModifier, type PropertySchema, type Protocol, type PrototypeProperties, type ProxyConfidence, type ProxyReason, type QaSessionProperties, type QueueTopicProperties, type QuoteDocumentProperties, type QuoteProperties, RECORD_ENTITY_TYPES, REFLECT_MODES, REGISTRY_PRODUCT_ID, type RatioBenchmark, type ReadModelProperties, type RebuttalProperties, type ReflectMode, type RegionalPricingProperties, type RegressionTestProperties, type RelationshipBenchmark, type RelationshipCheck, type ReleaseProperties, type ReleaseStrategyProperties, type ReportProperties, type ResearchPlanProperties, type ResearchQuestionProperties, type ResearchStudyProperties, type ResourceAllocationProperties, type RetrospectiveProperties, type RevenueStreamProperties, type ReviewGateProperties, type RiskProperties, type RiskRegisterProperties, type RoadmapItemProperties, type RoadmapProperties, type RoadmapThemeProperties, type RoleProperties, type RootCauseProperties, type RuleStrength, type RunContext, type RunbookProperties, STRATEGY_OUTCOMES_PLAYBOOK, type SalesMotionProperties, type ScreenProperties, type ScreenStateProperties, type SecurityAuditProperties, type SecurityControlProperties, type SecurityPolicyProperties, type SecurityReviewProperties, type Semver, type SeoKeywordProperties, type SerializeOptions, type ServiceBlueprintProperties, type ServiceLevelAgreementProperties, type ServiceLevelIndicatorProperties, type ServiceLevelObjectiveProperties, type ServiceProperties, type SignalChannel, type SignalSentiment, type SignalUrgency, type SkillProperties, type SocialPostProperties, type SolutionProperties, type SpecificationProperties, type StageRange, type StakeholderProperties, type StatusCategory, type StatusReportProperties, type Step, type StepKind, type StepOutput, type StepOutputKind, type StoryTaskProperties, type StrategicPillarProperties, type StrategicQuestionProperties, type StrategicThemeProperties, type StructurePattern, type SubSequenceStep, type SubscriptionProperties, type SuccessMilestoneProperties, type SupportTicketProperties, type SurfaceArbitrationState, type SurfaceCardinality, type SurfaceCompositionMode, type SurfaceExtensibility, type SurfaceId, type SurfaceInstanceScope, type SurfaceKind, type SurfacePersistence, type SurfaceProperties, type SurveyResponseProperties, type SwitchingCostProperties, type SymptomProperties, THIN_GRAPH_THRESHOLD, type TableColumn, type TargetCustomerSegmentProperties, type TaskProperties, type TeamOkrProperties, type TeamProperties, type TechnicalDebtItemProperties, type TerritoryProperties, type TestCaseProperties, type TestCoverageReportProperties, type TestEnvironmentProperties, type TestPlanProperties, type TestResultProperties, type TestSuiteProperties, type ThreatModelProperties, type ThreatProperties, type Timeframe, type TotalEntityCountCheck, type TouchpointProperties, type TranslationBundleProperties, type TranslationKeyProperties, type TrialConfigProperties, type TutorialProperties, type UPGAnchorEntity, type UPGAntiPattern, type UPGAntiPatternConcern, type UPGAntiPatternSeverity, type UPGApproach, type UPGApproachEnvelope, type UPGApproachId, type UPGAreaTaxonomyEntry, type UPGAssessment, type UPGBaseNode, type UPGBenchmarkSource, type UPGBoundaryDirection, type UPGBoundaryEdge, type UPGCrossEdge, type UPGCrossEdgeType, type UPGCrossOnlyEdgeType, type UPGCuratedAntiPattern, type UPGDocument, type UPGDomain, type UPGDomainBridge, type UPGDomainId, type UPGDomainPattern, type UPGDomainRing, type UPGDomainUsageGuide, type UPGEdge, type UPGEdgeDefinition, type UPGEdgeMigration, type UPGEdgeMigrationEndpoints, type UPGEdgePickHint, type UPGEdgeType, type UPGEntityType, type UPGEntityTypeMaturity, type UPGEnumScaleDefinition, type UPGEnumScaleValue, type UPGFramework, type UPGFrameworkMeta, type UPGHeader, type UPGHeaderCountsMismatch, type UPGHeaderIntegrity, type UPGHeaderIntegrityMismatch, type UPGHeaderProvenance, type UPGHeaderSealReport, type UPGIntegrity, type UPGLens, type UPGLensIntelligencePrompt, type UPGLifecycle, type UPGMappingConfidence, type UPGMemberKindKey, type UPGNode, type UPGOrganization, type UPGPlaybook, type UPGPortfolio, type UPGPortfolioDocument, type UPGPortfolioKind, type UPGPresenceExceptSpec, type UPGProduct, type UPGProductArea, type UPGProductStage, type UPGPropertyMap, type UPGPropertyMigration, type UPGPropertyMigrationChange, type UPGRegion, type UPGRegionEntityMembership, type UPGRegionEntityRole, type UPGRegionId, type UPGRegionShape, type UPGRegistry, type UPGScalarToEdgeMigration, type UPGScaleDefinition, type UPGScalePoint, type UPGSource, type UPGSplitEdge, type UPGSplitMigration, type UPGSplitRoute, type UPGSplitRouteTarget, type UPGSplitTarget, type UPGTreeChild, type UPGTreeGapPolicy, type UPGTreePattern, type UPGTreePatternDetail, type UPGTreePatternEdge, type UPGTreePatternSummary, type UPGTypeLabel, type UPGTypeMigration, type UPGValidationError, type UPGValidationProfile, type UPGValidationResult, type UPGValidationWarning, type UPGWildcardEndpoint, UPG_ACTIVE_TYPES, UPG_ANTI_PATTERNS, UPG_ANTI_PATTERN_CONCERNS, UPG_APPROACHES, UPG_APPROACHES_BY_ID, UPG_AREA_TAXONOMY, UPG_AREA_TAXONOMY_BY_COVERAGE_KEY, UPG_CANONICAL_FORMAT_VERSION, UPG_CONTAINMENT_FREE_TYPES, UPG_COUNT_BENCHMARKS, UPG_CROSS_EDGE_TYPES, UPG_CROSS_ELIGIBLE_CATALOG_EDGE_TYPES, UPG_CROSS_ONLY_EDGE_TYPES, UPG_DELIBERATE_ONLY_EDGE_TYPES, UPG_DEPRECATED_TYPES, UPG_DOMAINS, UPG_DOMAIN_ACTIVATION, UPG_DOMAIN_COUNT, UPG_DOMAIN_GUIDES, UPG_DOMAIN_RINGS, UPG_EDGE_CATALOG, UPG_EDGE_COUNT, UPG_EDGE_MIGRATIONS, UPG_EDGE_PAIR_MAP, UPG_EDGE_TYPES, UPG_ENTITY_COUNT, UPG_ENTITY_META, UPG_ENTITY_META_BY_ID, UPG_ENTITY_META_BY_NAME, UPG_ENTITY_TO_DOMAIN, UPG_ENUM_SCALES, UPG_FORMAT_VERSION, UPG_FRAMEWORKS, UPG_FRAMEWORKS_BY_CATEGORY, UPG_FRAMEWORKS_BY_ID, UPG_FRAMEWORK_CATEGORIES, UPG_LENSES, UPG_LIFECYCLES, UPG_LIFECYCLE_FREE_TYPES, UPG_LIFECYCLE_PLANNED_TYPES, UPG_META_COUNT, UPG_MIGRATIONS, UPG_PLAYBOOKS, UPG_POLYMORPHIC_EDGE_KEYS, UPG_PORTFOLIO_KINDS, UPG_PORTFOLIO_SHARED_TYPES, UPG_PRESENCE_EXCEPT_SPECS, UPG_PRODUCT_STAGES, UPG_PRODUCT_STAGE_COERCION_MAP, UPG_PROPERTY_MIGRATIONS, UPG_PROPERTY_SCHEMA, UPG_RATIO_BENCHMARKS, UPG_REGIONS, UPG_REGION_COUNT, UPG_REGION_MAP, UPG_RELATIONSHIP_BENCHMARKS, UPG_SCALAR_TO_EDGE_MIGRATIONS, UPG_SCALES, UPG_SPLIT_MIGRATIONS, UPG_STATUS_MIGRATIONS, UPG_STRUCTURE_PATTERNS, UPG_TREE_PATTERNS, UPG_TREE_PATTERNS_BY_ID, UPG_TYPES, UPG_TYPES_SET, UPG_TYPE_ALIASES, UPG_TYPE_LABELS, UPG_TYPE_LABELS_MAP, UPG_TYPE_NAMES, UPG_VALIDATION_PROFILES, UPG_VALID_CHILDREN, UPG_VERSION, UPG_WILDCARD_ENDPOINT, USERS_NEEDS_PLAYBOOK, type UnitEconomicsProperties, UnknownEntityTypeError, type UserAdvisoryBoardProperties, type UserFlowProperties, type UserJourneyProperties, type UserStoryProperties, type ValueObjectProperties, type ValuePropositionProperties, type ValueStreamProperties, type VariantProperties, type VisionProperties, type VulnerabilityProperties, type WalkMigrationChainResult, type WalkthroughProperties, type WebinarProperties, type WireframeProperties, type WorkflowArtifactProperties, type WorkflowRunProperties, type WorkflowTemplateProperties, type WorkspaceProperties, backfillSlug, buildTypeAliases, canBeChildOf, checkHeaderSeal, checkHeaderSealText, coerceProductStage, collectSlugsForType, compareVersions, computeBodyChecksum, concernEvaluatedFor, concernFor, concernGatesFor, crossProductScope, deriveCounts, derivePortfolioCounts, deriveSingleCounts, describeTreePattern, edgeCarriesProperties, evaluateAntiPatterns, findInvalidStatusMigrationTargets, formatUpgText, friendlyToAssessment, generateSlug, getAnchorEntity, getAntiPatternById, getAntiPatterns, getAntiPatternsBySeverity, getAntiPatternsForStage, getAreaTaxonomyEntry, getBenchmark, getBenchmarksByDomain, getBusinessAreasForRegion, getCanonicalPlaybookForRegion, getCoverageKeysForRegion, getDefaultLens, getDeprecatedTypes, getDomainForType, getDomainIdForType, getDomainsInRing, getEdgePropertySchema, getEntityModifierSummary, getEnumScale, getEnumValueMeta, getGuideForDomain, getLens, getLensIds, getLensPlaybook, getLensesForDomain, getLifecycleForType, getLifecycleRenderShape, getMigrationMap, getPlaybookById, getPlaybooksForRegion, getPropertiesForScale, getPropertyDefaultScale, getPropertyMigrations, getPropertyModifier, getPropertySchema, getRegion, getRegionForEntityType, getReplacementType, getRingForDomain, getScalarToEdgeMigrations, getScale, getSplitMigrations, getTreePattern, getTypeId, getTypeName, getTypes, getUPGEdgeMigrations, getValidChildren, getVisibleTypes, hasStatusMigration, isAggregateShapedProperty, isCanonical, isCanonicalProductStage, isContainmentFreeType, isCrossCapable, isCrossProductEligible, isCuratedCrossEligible, isDeliberateOnlyEdge, isDeprecatedType, isDomainGuideStep, isEntitySequenceStep, isFrameworkInvocationStep, isLegacyProductStage, isLifecycleFreeType, isLifecyclePlannedType, isPolymorphicEdge, isPortfolio, isPortfolioSharedType, isRecordEntity, isRegisteredPolymorphicEdge, isRuntimeStateShapedProperty, isSubSequenceStep, isThinCoverageAdvisory, isUPGDocument, listPropertiesByModifier, listStatusMigrations, listTreePatternSummaries, migrateEdge, migrateNode, migrateNodeProperties, migrateProductStage, migrateStatusValue, normalizeDocument, parseUpg, pickCanonicalEdge, presenceExceptKey, resolveAllEdges, resolveContainmentEdge, resolveEntityType, resolveLabel, resolveSlugCollision, resolveTreePatternEdges, ringOrderedDomainIds, rotateSlug, serializeCanonical, validateEdgeProperties, validateProductStageStrict, validateUPGDocument, validateUPGFramework, validationProfileFor, walkMigrationChainToCanonical };
23733
+ export { type A11yAnnotationProperties, type A11yAuditProperties, type A11yGuidelineProperties, type A11yIssueProperties, type A11yStandardProperties, ANALYTICS_DATA_PLAYBOOK, type AcceptanceCriterionProperties, type AccessPolicyProperties, type AccountProperties, type AcquisitionChannelProperties, type AdCreativeProperties, type AffinityClusterProperties, type AgentDefinitionProperties, type AgentHookProperties, type AgentSessionProperties, type AgentSkillProperties, type AgentTaskProperties, type AggregateProperties, type AiCostTrackerProperties, type AiDatasetProperties, type AiExperimentProperties, type AiGuardrailProperties, type AiModelProperties, type AiTraceProperties, type AlertRuleProperties, type AnnotationProperties, type AntiPatternInputs, type AntiPatternViolation, type AnyUPGEntityType, type ApiContractProperties, type ApiEcosystemProperties, type ApiEndpointProperties, type ApproachBinding, type ApproachFilter, type ApproachRun, type ApproachRuntime, type ApprovalRecordProperties, type AssumptionProperties, type AttributionModelProperties, type AuditLogPolicyProperties, BUSINESS_GROWTH_METRIC_DRIVEN_PLAYBOOK, BUSINESS_GTM_GROWTH_PLAYBOOK, BUSINESS_MARKETING_AUDIENCE_FIRST_PLAYBOOK, type BehavioralSegmentProperties, type BenchmarkCheck, type BetaProgramProperties, type BoundedContextProperties, type BrandAssetProperties, type BrandColourProperties, type BrandIdentityProperties, type BrandImageryProperties, type BrandLogoProperties, type BrandTypographyProperties, type BrandVoiceProperties, type BugProperties, type BuildArtifactProperties, type BusinessModelProperties, CLASSIFICATION_EDGE_PROPERTY_SCHEMA, CONTENT_DEPTH_WARNING_RULES, COVERAGE_ANTI_PATTERNS, type Cadence, type CapabilityProperties, type CapacityPlanProperties, type CauseConfidence, type CeremonyProperties, type CertificationProperties, type ChangeRequestProperties, type ChangelogProperties, type ChurnReasonProperties, type CiPipelineProperties, type ClassificationAxisProperties, type ClassificationCapability, type ClassificationCapabilitySurface, type ClassificationCommitment, type ClassificationValueProperties, type CodeRepositoryProperties, type CohortProperties, type ComfortLevel, type CommandProperties, type CommunityInitiativeProperties, type CompetitiveAnalysisProperties, type CompetitiveBattleCardProperties, type CompetitorFeatureProperties, type CompetitorProperties, type CompetitorSignalProperties, type ComplianceFrameworkProperties, type ComplianceRequirementProperties, type Confidence, type ConformanceLevel, type ConstraintKind, type ConstraintOrigin, type ConstraintProperties, type ConstraintStatus, type ContactProperties, type ContentCalendarProperties, type ContentPieceProperties, type ContentStrategyProperties, type ContentThemeProperties, type ContractClauseProperties, type ContractProperties, type CostStructureProperties, type CountBenchmark, type Cron, type CrossProductEligibleEdgeType, type CrossProductScope, type CulturalAdaptationProperties, type CustomerFeedbackProperties, type CustomerHealthScoreProperties, type CustomerJourneyStageProperties, type CustomerRelationshipProperties, DEFAULT_ENTITY_EMOJI, DEFERRED_PROPOSED_BY_CONTRACT, DEFER_EDGE_PROPERTY_SCHEMA, DISCOVERY_RESEARCH_VALIDATION_PLAYBOOK, type DashboardProperties, type DataClassificationProperties, type DataContractProperties, type DataDomainProperties, type DataFlowProperties, type DataLineageProperties, type DataModelProperties, type DataPipelineProperties, type DataProductProperties, type DataQualityRuleProperties, type DataSensitivity, type DataSourceProperties, type DatabaseSchemaProperties, type DealProperties, type DecisionProperties, type DeliberateOnlyEdgeType, type DeliverableProperties, type DemandGenProgramProperties, type DepartmentProperties, type DependencyProperties, type DeploymentProperties, type DeprecatedUPGEntityType, type DesignComponentProperties, type DesignConceptProperties, type DesignGuidelineProperties, type DesignPatternProperties, type DesignQuestionProperties, type DesignSprintProperties, type DesignSystemProperties, type DesignTokenProperties, type DesiredOutcomeProperties, type DeveloperPortalProperties, type DifficultyLevel, type DiscountStrategyProperties, type DistributionChannelProperties, type DocumentProperties, type DocumentationTemplateProperties, type DomainActivation, type DomainCountCheck, type DomainEntityProperties, type DomainEventProperties, type DomainGuideStep, type DomainPopulationCheck, type Duration, ENGINEERING_PLATFORM_PLAYBOOK, ENTITY_EMOJI, EXPERIENCE_DESIGN_BRAND_PLAYBOOK, type EdgeCountVsPropertyCheck, type EducationProgramProperties, type EmailSequenceProperties, type EmptyCell, type EmptyCellRationaleKind, type EntityCheck, type EntitySequenceStep, type EntityTypeMeta, type EntityTypeResolution, type EntryMode, type EpicProperties, type ErrorBudgetProperties, type EvalBenchmarkProperties, type EvalRunProperties, type EvaluateAntiPatternsOptions, type EventProperties, type EventSchemaProperties, type EvidenceDirection, type EvidenceProperties, type ExperimentPlanProperties, type ExperimentProperties, type ExperimentRunProperties, type ExternalApiProperties, FOUNDATIONS_PLAYBOOK, type FeasibilityStudyProperties, type FeatureAreaProperties, type FeatureFlagProperties, type FeatureProperties, type FeatureRequestProperties, type FeedbackProgramProperties, type FeedbackThemeProperties, type FeedbackVoteProperties, type FixProperties, type ForecastProperties, type FrameworkCategory, type FrameworkComputedProperty, type FrameworkConstant, type FrameworkDataSpec, type FrameworkEducation, type FrameworkEntityTypeSpec, type FrameworkExerciseProperties, type FrameworkInvocationStep, type FrameworkLayout, type FrameworkLevel, type FrameworkOrigin, type FrameworkPresentationSpec, type FrameworkPropertyRequirement, type FrameworkScoringMethod, type FrameworkSlot, type FrameworkStep, type FrameworkStructureSpec, type FrameworkValidationResult, type FrequencyRating, type FunnelProperties, type FunnelStage, type FunnelStepProperties, type GlossaryTermProperties, type GrowthCampaignProperties, type GrowthLoopProperties, type GtmStrategyProperties, type GuardrailStatus, type HallucinationReportProperties, type HealthStatus, type HelpVideoProperties, type HypothesisEvidenceProperties, type HypothesisProperties, type ISO4217, type ISODate, type ISODateTime, type IdealCustomerProfileProperties, type IncidentProperties, type IncidentSeverity, type InfrastructureComponentProperties, type InitiativeProperties, type InsightProperties, type IntegrationPartnerProperties, type IntegrationPatternProperties, type IntelligenceCondition, type InteractionSpecProperties, type InternalDocProperties, type InterviewGuideProperties, type InvestigationProperties, type InvoiceProperties, type IpAssetProperties, type JobProperties, type JobStepProperties, type JourneyActionProperties, type JourneyPhaseProperties, type JourneyStepProperties, type JourneyType, type KeyActivityProperties, type KeyResourceProperties, type KeyResultProperties, type KnowledgeBaseArticleProperties, LEGACY_PRODUCT_STAGES, type LaunchProperties, type LeadProperties, type LearningPathProperties, type LearningProperties, type LegalEntityProperties, type LibraryDependencyProperties, type LifecyclePhase, type LifecycleRenderShape, type LifecycleRenderState, type LifecycleRenderTransition, type LifecycleState, type LocaleConfigProperties, type LocaleProperties, type LogLevel, type LowMedHigh, MARKDOWN_FORMAT_VERSION, MARKET_COMPETITIVE_PLAYBOOK, type MarketSegmentProperties, type MarketTrendProperties, type MarketingCampaignPlanProperties, type MarketingChannelProperties, type MarketingPlatform, type MarketingStrategyProperties, type MarketplaceListingProperties, type MatrixSlot, type MaturityLevel, type MessagingProperties, type MetricCategory, type MetricDataPoint, type MetricDesignation, type MetricHealth, type MetricImpactLevel, type MetricIndicatorDirection, type MetricProperties, type MetricQualityAssessmentProperties, type MetricSegmentType, type MetricStatisticalFunction, type MilestoneProperties, type MissionProperties, type ModelComparisonProperties, type ModifiedProperty, type MonitorProperties, type NamedGroup, type NeedMaturity, type NeedProperties, type NeedValence, type NpsCampaignProperties, OPERATIONS_QUALITY_PLAYBOOK, type ObjectionProperties, type ObjectiveProperties, type ObservationProperties, type OnCallRotationProperties, type OperatingLifecycleProperties, type OperatingStageProperties, type OpportunityProperties, type OrganizationProperties, type OrphanCheck, type OutcomeProperties, PRODUCT_DELIVERY_PLAYBOOK, PROPERTY_MODIFIERS, PROPERTY_MODIFIER_SEMANTICS, PROPERTY_SCALE_MAP, type ParticipantProperties, type PartnerProgramProperties, type PartnerRevenueShareProperties, type PartnerTierProperties, type PartnershipProperties, type PaywallProperties, type PenetrationTestProperties, type PersonProperties, type PersonaProperties, type PipelineSalesProperties, type PipelineStageProperties, type PlanningCycleProperties, type PlaybookBinding, type PlaybookFilter, type PlaybookProperties, type PlaybookRun, type PlaybookRuntime, type PortfolioProperties, type PositioningProperties, type PostmortemProperties, type PressReleaseProperties, type PricingStrategyProperties, type PricingTierProperties, type PrimitiveProperties, type Priority, type PrivacyPolicyProperties, type ProductAreaProperties, type ProductProperties, type ProductStageCoercion, type ProgramProperties, type ProjectProperties, type PromptTemplateProperties, type PromptVersionProperties, type ProofPointProperties, type PropertyDefinition, type PropertyModifier, type PropertySchema, type Protocol, type PrototypeProperties, type ProxyConfidence, type ProxyReason, type QaSessionProperties, type QueueTopicProperties, type QuoteDocumentProperties, type QuoteProperties, RECORD_ENTITY_TYPES, REFLECT_MODES, REGISTRY_PRODUCT_ID, type RatioBenchmark, type ReadModelProperties, type RebuttalProperties, type ReflectMode, type RegionalPricingProperties, type RegressionTestProperties, type RelationshipBenchmark, type RelationshipCheck, type ReleaseProperties, type ReleaseStrategyProperties, type ReportProperties, type ResearchPlanProperties, type ResearchQuestionProperties, type ResearchStudyProperties, type ResourceAllocationProperties, type RetrospectiveProperties, type RevenueStreamProperties, type ReviewGateProperties, type RiskProperties, type RiskRegisterProperties, type RoadmapItemProperties, type RoadmapProperties, type RoadmapThemeProperties, type RoleProperties, type RootCauseProperties, type RuleStrength, type RunContext, type RunbookProperties, STRATEGY_OUTCOMES_PLAYBOOK, type SalesMotionProperties, type ScreenProperties, type ScreenStateProperties, type SecurityAuditProperties, type SecurityControlProperties, type SecurityPolicyProperties, type SecurityReviewProperties, type Semver, type SeoKeywordProperties, type SerializeOptions, type ServiceBlueprintProperties, type ServiceLevelAgreementProperties, type ServiceLevelIndicatorProperties, type ServiceLevelObjectiveProperties, type ServiceProperties, type SignalChannel, type SignalSentiment, type SignalUrgency, type SkillProperties, type SocialPostProperties, type SolutionProperties, type SpecificationProperties, type StageRange, type StakeholderProperties, type StatusCategory, type StatusReportProperties, type Step, type StepKind, type StepOutput, type StepOutputKind, type StoryTaskProperties, type StrategicPillarProperties, type StrategicQuestionProperties, type StrategicThemeProperties, type StructurePattern, type SubSequenceStep, type SubscriptionProperties, type SuccessMilestoneProperties, type SupportTicketProperties, type SurfaceArbitrationState, type SurfaceCardinality, type SurfaceCompositionMode, type SurfaceExtensibility, type SurfaceId, type SurfaceInstanceScope, type SurfaceKind, type SurfacePersistence, type SurfaceProperties, type SurveyResponseProperties, type SwitchingCostProperties, type SymptomProperties, THIN_GRAPH_THRESHOLD, type TableColumn, type TargetCustomerSegmentProperties, type TaskProperties, type TeamOkrProperties, type TeamProperties, type TechnicalDebtItemProperties, type TerritoryProperties, type TestCaseProperties, type TestCoverageReportProperties, type TestEnvironmentProperties, type TestPlanProperties, type TestResultProperties, type TestSuiteProperties, type ThreatModelProperties, type ThreatProperties, type Timeframe, type TotalEntityCountCheck, type TouchpointProperties, type TranslationBundleProperties, type TranslationKeyProperties, type TrialConfigProperties, type TutorialProperties, type UPGAnchorEntity, type UPGAntiPattern, type UPGAntiPatternConcern, type UPGAntiPatternSeverity, type UPGApproach, type UPGApproachEnvelope, type UPGApproachId, type UPGAreaTaxonomyEntry, type UPGAssessment, type UPGBaseNode, type UPGBenchmarkSource, type UPGBoundaryDirection, type UPGBoundaryEdge, type UPGCrossEdge, type UPGCrossEdgeType, type UPGCrossOnlyEdgeType, type UPGCuratedAntiPattern, type UPGDocument, type UPGDomain, type UPGDomainBridge, type UPGDomainId, type UPGDomainPattern, type UPGDomainRing, type UPGDomainUsageGuide, type UPGEdge, type UPGEdgeCountSpec, type UPGEdgeDefinition, type UPGEdgeMigration, type UPGEdgeMigrationEndpoints, type UPGEdgePickHint, type UPGEdgeType, type UPGEntityFilterSpec, type UPGEntityType, type UPGEntityTypeMaturity, type UPGEnumScaleDefinition, type UPGEnumScaleValue, type UPGFramework, type UPGFrameworkMeta, type UPGHeader, type UPGHeaderCountsMismatch, type UPGHeaderIntegrity, type UPGHeaderIntegrityMismatch, type UPGHeaderProvenance, type UPGHeaderSealReport, type UPGIntegrity, type UPGLens, type UPGLensIntelligencePrompt, type UPGLifecycle, type UPGMappingConfidence, type UPGMemberKindKey, type UPGNode, type UPGOrganization, type UPGPlaybook, type UPGPortfolio, type UPGPortfolioDocument, type UPGPortfolioKind, type UPGPresenceExceptSpec, type UPGProduct, type UPGProductArea, type UPGProductStage, type UPGPropertyMap, type UPGPropertyMigration, type UPGPropertyMigrationChange, type UPGRegion, type UPGRegionEntityMembership, type UPGRegionEntityRole, type UPGRegionId, type UPGRegionShape, type UPGRegistry, type UPGScalarToEdgeMigration, type UPGScaleDefinition, type UPGScalePoint, type UPGSource, type UPGSplitEdge, type UPGSplitMigration, type UPGSplitRoute, type UPGSplitRouteTarget, type UPGSplitTarget, type UPGTreeChild, type UPGTreeGapPolicy, type UPGTreePattern, type UPGTreePatternDetail, type UPGTreePatternEdge, type UPGTreePatternSummary, type UPGTypeLabel, type UPGTypeMigration, type UPGValidationError, type UPGValidationProfile, type UPGValidationResult, type UPGValidationWarning, type UPGWildcardEndpoint, UPG_ACTIVE_TYPES, UPG_ANTI_PATTERNS, UPG_ANTI_PATTERN_CONCERNS, UPG_APPROACHES, UPG_APPROACHES_BY_ID, UPG_AREA_TAXONOMY, UPG_AREA_TAXONOMY_BY_COVERAGE_KEY, UPG_CANONICAL_FORMAT_VERSION, UPG_CONTAINMENT_FREE_TYPES, UPG_COUNT_BENCHMARKS, UPG_CROSS_EDGE_TYPES, UPG_CROSS_ELIGIBLE_CATALOG_EDGE_TYPES, UPG_CROSS_ONLY_EDGE_TYPES, UPG_DELIBERATE_ONLY_EDGE_TYPES, UPG_DEPRECATED_TYPES, UPG_DOMAINS, UPG_DOMAIN_ACTIVATION, UPG_DOMAIN_COUNT, UPG_DOMAIN_GUIDES, UPG_DOMAIN_RINGS, UPG_EDGE_CATALOG, UPG_EDGE_COUNT, UPG_EDGE_COUNT_SPECS, UPG_EDGE_MIGRATIONS, UPG_EDGE_PAIR_MAP, UPG_EDGE_TYPES, UPG_ENTITY_COUNT, UPG_ENTITY_FILTER_SPECS, UPG_ENTITY_META, UPG_ENTITY_META_BY_ID, UPG_ENTITY_META_BY_NAME, UPG_ENTITY_TO_DOMAIN, UPG_ENUM_SCALES, UPG_FORMAT_VERSION, UPG_FRAMEWORKS, UPG_FRAMEWORKS_BY_CATEGORY, UPG_FRAMEWORKS_BY_ID, UPG_FRAMEWORK_CATEGORIES, UPG_LENSES, UPG_LIFECYCLES, UPG_LIFECYCLE_FREE_TYPES, UPG_LIFECYCLE_PLANNED_TYPES, UPG_META_COUNT, UPG_MIGRATIONS, UPG_PLAYBOOKS, UPG_POLYMORPHIC_EDGE_KEYS, UPG_PORTFOLIO_KINDS, UPG_PORTFOLIO_SHARED_TYPES, UPG_PRESENCE_EXCEPT_SPECS, UPG_PRODUCT_STAGES, UPG_PRODUCT_STAGE_COERCION_MAP, UPG_PROPERTY_MIGRATIONS, UPG_PROPERTY_SCHEMA, UPG_RATIO_BENCHMARKS, UPG_REGIONS, UPG_REGION_COUNT, UPG_REGION_MAP, UPG_RELATIONSHIP_BENCHMARKS, UPG_SCALAR_TO_EDGE_MIGRATIONS, UPG_SCALES, UPG_SPLIT_MIGRATIONS, UPG_STATUS_MIGRATIONS, UPG_STRUCTURE_PATTERNS, UPG_TREE_PATTERNS, UPG_TREE_PATTERNS_BY_ID, UPG_TYPES, UPG_TYPES_SET, UPG_TYPE_ALIASES, UPG_TYPE_LABELS, UPG_TYPE_LABELS_MAP, UPG_TYPE_NAMES, UPG_VALIDATION_PROFILES, UPG_VALID_CHILDREN, UPG_VERSION, UPG_WILDCARD_ENDPOINT, USERS_NEEDS_PLAYBOOK, type UnitEconomicsProperties, UnknownEntityTypeError, type UserAdvisoryBoardProperties, type UserFlowProperties, type UserJourneyProperties, type UserStoryProperties, type ValueObjectProperties, type ValuePropositionProperties, type ValueStreamProperties, type VariantProperties, type VisionProperties, type VulnerabilityProperties, type WalkMigrationChainResult, type WalkthroughProperties, type WebinarProperties, type WireframeProperties, type WorkflowArtifactProperties, type WorkflowRunProperties, type WorkflowTemplateProperties, type WorkspaceProperties, backfillSlug, buildTypeAliases, canBeChildOf, checkHeaderSeal, checkHeaderSealText, checkToEdgeCountSpec, classifyEntityFilter, coerceProductStage, collectSlugsForType, collectTargetEntities, compareVersions, computeBodyChecksum, concernEvaluatedFor, concernFor, concernGatesFor, crossProductScope, deriveCounts, derivePortfolioCounts, deriveSingleCounts, describeTreePattern, edgeCarriesProperties, edgeCountSpecKey, entityFilterKey, evaluateAntiPatterns, findInvalidStatusMigrationTargets, formatUpgText, friendlyToAssessment, generateSlug, getAnchorEntity, getAntiPatternById, getAntiPatterns, getAntiPatternsBySeverity, getAntiPatternsForStage, getAreaTaxonomyEntry, getBenchmark, getBenchmarksByDomain, getBusinessAreasForRegion, getCanonicalPlaybookForRegion, getCoverageKeysForRegion, getDefaultLens, getDeprecatedTypes, getDomainForType, getDomainIdForType, getDomainsInRing, getEdgePropertySchema, getEntityModifierSummary, getEnumScale, getEnumValueMeta, getGuideForDomain, getLens, getLensIds, getLensPlaybook, getLensesForDomain, getLifecycleForType, getLifecycleRenderShape, getMigrationMap, getPlaybookById, getPlaybooksForRegion, getPropertiesForScale, getPropertyDefaultScale, getPropertyMigrations, getPropertyModifier, getPropertySchema, getRegion, getRegionForEntityType, getReplacementType, getRingForDomain, getScalarToEdgeMigrations, getScale, getSplitMigrations, getTreePattern, getTypeId, getTypeName, getTypes, getUPGEdgeMigrations, getValidChildren, getVisibleTypes, hasStatusMigration, isAggregateShapedProperty, isCanonical, isCanonicalProductStage, isContainmentFreeType, isCrossCapable, isCrossProductEligible, isCuratedCrossEligible, isDeliberateOnlyEdge, isDeprecatedType, isDomainGuideStep, isEntitySequenceStep, isFrameworkInvocationStep, isLegacyProductStage, isLifecycleFreeType, isLifecyclePlannedType, isPolymorphicEdge, isPortfolio, isPortfolioSharedType, isRecordEntity, isRegisteredPolymorphicEdge, isRuntimeStateShapedProperty, isSubSequenceStep, isThinCoverageAdvisory, isUPGDocument, listPropertiesByModifier, listStatusMigrations, listTreePatternSummaries, migrateEdge, migrateNode, migrateNodeProperties, migrateProductStage, migrateStatusValue, normalizeDocument, parseUpg, pickCanonicalEdge, presenceExceptKey, resolveAllEdges, resolveContainmentEdge, resolveEntityType, resolveLabel, resolveSlugCollision, resolveTreePatternEdges, ringOrderedDomainIds, rotateSlug, serializeCanonical, validateEdgeProperties, validateProductStageStrict, validateUPGDocument, validateUPGFramework, validationProfileFor, walkMigrationChainToCanonical };