@unified-product-graph/core 0.33.0 → 0.34.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/CHANGELOG.md +49 -0
- package/README.md +1 -1
- package/dist/index.cjs +2002 -1794
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +532 -42
- package/dist/index.d.ts +532 -42
- package/dist/index.js +1801 -1597
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -617,17 +617,42 @@ interface UPGBaseNode {
|
|
|
617
617
|
* about the thing (the same cut that keeps `composition.rev`, which is a fact,
|
|
618
618
|
* and excludes a concurrency token, which is not).
|
|
619
619
|
*
|
|
620
|
-
* WHICH PREFIX (
|
|
621
|
-
*
|
|
622
|
-
* (`team.key_prefix`). `product.key_prefix` applies only when no team declares
|
|
623
|
-
* one, and is `@deprecated` for that reason. Key uniqueness is scoped to the
|
|
624
|
-
* product across entity types; a prefix names a team within that scope, not a
|
|
625
|
-
* separate number line. A product where nothing declares a prefix mints no keys.
|
|
620
|
+
* WHICH PREFIX (normative; ladder stated as built in 0.33.1, candidate set
|
|
621
|
+
* narrowed in 0.34.0). Three rungs, tried in order.
|
|
626
622
|
*
|
|
627
|
-
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
*
|
|
623
|
+
* 1. A create NAMES its prefix explicitly.
|
|
624
|
+
* 2. Otherwise the CANDIDATE SET is consulted. It is the UNION of the prefixes
|
|
625
|
+
* DECLARED by the product's teams (`team.key_prefix`) and the prefixes
|
|
626
|
+
* OBSERVED on the product's existing keys. One candidate resolves; more
|
|
627
|
+
* than one, and the create surface asks. `product.key_prefix` is consulted
|
|
628
|
+
* only when no team declares one, and is `@deprecated` for that reason.
|
|
629
|
+
* 3. A product with an empty candidate set and no explicit prefix mints no
|
|
630
|
+
* keys.
|
|
631
|
+
*
|
|
632
|
+
* THE OBSERVED RUNG IS A REAL MINT PATH, and 0.33.0 published two sentences that
|
|
633
|
+
* disagreed about whether it existed. This paragraph used to end "A product where
|
|
634
|
+
* nothing declares a prefix mints no keys", which deletes it; the two paragraphs
|
|
635
|
+
* below both name a prefix INFERRED from existing keys, and `team.key_prefix`
|
|
636
|
+
* rule 3 presupposes it by construction. The field settles it: the only keyed
|
|
637
|
+
* graph in the estate carries 1,032 keys minted by inference in a product that
|
|
638
|
+
* declares no prefix at all, and under the deleted rung that graph could not
|
|
639
|
+
* exist. Corrected in the 0.33.1 patch and restated here.
|
|
640
|
+
*
|
|
641
|
+
* A DECLARATION ADDS A CANDIDATE; IT DOES NOT REMOVE ONE (0.34.0). Declaring a
|
|
642
|
+
* team prefix suppresses `product.key_prefix` and nothing else. It never
|
|
643
|
+
* suppresses an OBSERVED prefix, which is evidence of a namespace already in
|
|
644
|
+
* use. The full argument, the measurement behind it and the reason it ships as a
|
|
645
|
+
* change rather than as a patch are on `team.key_prefix`.
|
|
646
|
+
*
|
|
647
|
+
* Key uniqueness is scoped to the product across entity types; a prefix names a
|
|
648
|
+
* team within that scope, not a separate number line.
|
|
649
|
+
*
|
|
650
|
+
* PARTLY ENFORCED (updated 0.34.0). The WITHIN-product uniqueness and
|
|
651
|
+
* immutability invariants are stated here and no check fires on them. What DID
|
|
652
|
+
* get a detector is the portfolio-wide case below: `duplicate-key-across-products`
|
|
653
|
+
* ships as a `scope: 'portfolio'` anti-pattern in 0.34.0, with the labeled corpus
|
|
654
|
+
* that gated it. See the next paragraph, whose "no check enforces it" no longer
|
|
655
|
+
* holds.
|
|
631
656
|
*
|
|
632
657
|
* PORTFOLIO-WIDE UNIQUENESS IS DEFINED AND UNENFORCED (0.33.0). Within a
|
|
633
658
|
* portfolio, one `(prefix, number)` pair should identify one node. Uniqueness
|
|
@@ -635,9 +660,14 @@ interface UPGBaseNode {
|
|
|
635
660
|
* products minting under one prefix produce the same citation for two different
|
|
636
661
|
* things. This is measured rather than feared: a fixture reproduces the
|
|
637
662
|
* collision through the ordinary create path, including the quiet case where
|
|
638
|
-
* nobody declares a prefix and it is inferred from existing keys. No
|
|
639
|
-
*
|
|
640
|
-
*
|
|
663
|
+
* nobody declares a prefix and it is inferred from existing keys. No PER-PRODUCT
|
|
664
|
+
* check can ever see it, because each product reports its own key as valid —
|
|
665
|
+
* which is why the detector that ships in 0.34.0 is a PORTFOLIO-scope
|
|
666
|
+
* anti-pattern (`duplicate-key-across-products`) rather than a graph validation.
|
|
667
|
+
* It is ENFORCED from the day it ships; what was staged is the corpus, and the
|
|
668
|
+
* distinction matters because there is no defined-then-enforced mechanic and
|
|
669
|
+
* inventing one would have been worse than either real option. A detector that is
|
|
670
|
+
* registered but declines to fire is a detector nobody can reason about.
|
|
641
671
|
*
|
|
642
672
|
* MINTING IS PRODUCT-SCOPED (normative, 0.33.0). The `(product_id, key)` index
|
|
643
673
|
* is the enforced invariant and the scope of a key sequence is the product.
|
|
@@ -647,7 +677,13 @@ interface UPGBaseNode {
|
|
|
647
677
|
* an exception, and the rule applies on the MINT path including a prefix that
|
|
648
678
|
* was INFERRED from existing keys rather than requested by any caller.
|
|
649
679
|
* Portfolio-shared team minting is deferred until a supra-product uniqueness
|
|
650
|
-
* design exists. See `team.key_prefix` for the rule in full
|
|
680
|
+
* design exists. See `team.key_prefix` for the rule in full, including the three
|
|
681
|
+
* mechanics 0.34.0 made normative that this rule needs and 0.33.0 left open: HOW
|
|
682
|
+
* a minter decides which product a prefix belongs to (evidence, not a stored
|
|
683
|
+
* marker), what happens when nothing can decide (NEITHER mints, no invented
|
|
684
|
+
* tiebreak), and what "in scope" means (engine-defined, with a floor at every
|
|
685
|
+
* product the engine can enumerate for this caller and a ceiling at every product
|
|
686
|
+
* the caller could not otherwise read).
|
|
651
687
|
*
|
|
652
688
|
* WHERE THE BEHAVIOUR LIVES, because this is a contract and not an
|
|
653
689
|
* implementation. Nothing in this package mints a key. Deriving the next number
|
|
@@ -724,6 +760,25 @@ interface UPGBaseNode {
|
|
|
724
760
|
* fields whose names differ by a plural and whose semantics differ by
|
|
725
761
|
* canonicality is a misreading waiting to happen in every consumer.
|
|
726
762
|
*
|
|
763
|
+
* MIGRATION NOTE, CORRECTED 0.34.0 ON TWO FIGURES. Both were carried forward
|
|
764
|
+
* from the 0.33.0 pass and both were wrong, and the second would have broken
|
|
765
|
+
* this field's own contract on its first real population.
|
|
766
|
+
*
|
|
767
|
+
* THE RESIDUE IS 179, NOT 162. Seventeen further attachments sat in a second
|
|
768
|
+
* vendor bag key and were equally homeless. They were never counted because
|
|
769
|
+
* the census read one key.
|
|
770
|
+
*
|
|
771
|
+
* THE CANONICAL URL MUST BE SUBTRACTED BEFORE THE COPY. 524 of the 528 nodes
|
|
772
|
+
* holding a parked bag DUPLICATE their own `external_ref` inside it. A
|
|
773
|
+
* straight copy of the bag into this list would therefore put the canonical
|
|
774
|
+
* artifact into the NON-canonical list on 99% of the field's first real
|
|
775
|
+
* population, breaking the exact invariant this field was minted to
|
|
776
|
+
* establish. A migration reads the bag, removes the entry matching
|
|
777
|
+
* `external_ref`, and copies what remains.
|
|
778
|
+
*
|
|
779
|
+
* The correction is recorded here rather than in a plan because this is where a
|
|
780
|
+
* migration author will be standing when they need it.
|
|
781
|
+
*
|
|
727
782
|
* @example
|
|
728
783
|
* [{ url: 'https://github.com/acme/api/pull/812', label: 'PR 812', kind: 'pull_request' }]
|
|
729
784
|
*/
|
|
@@ -5793,6 +5848,58 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
5793
5848
|
source_type: string;
|
|
5794
5849
|
target_type: string;
|
|
5795
5850
|
};
|
|
5851
|
+
/**
|
|
5852
|
+
* A document EMBEDS this node's live value at a position in its prose.
|
|
5853
|
+
*
|
|
5854
|
+
* @remarks
|
|
5855
|
+
* NOT `describes`. `document_describes_persona` says the document is ABOUT the
|
|
5856
|
+
* persona. Transclusion says the document RENDERS that node where the prose
|
|
5857
|
+
* sits, so the value a reader sees is the node's current value rather than a
|
|
5858
|
+
* copy taken when the sentence was written. A PRD that transcludes a metric is
|
|
5859
|
+
* not "about" the metric, and collapsing the two would lose the only property
|
|
5860
|
+
* transclusion is bought for: current by construction. The nine-member
|
|
5861
|
+
* `document_describes_*` family is untouched and keeps its meaning.
|
|
5862
|
+
*
|
|
5863
|
+
* POLYMORPHIC because the target set is genuinely open. Anything renderable can
|
|
5864
|
+
* be embedded, and the nine enumerated describe-targets are none of `metric`,
|
|
5865
|
+
* `research_study`, `specification` or `architecture_decision`, which is what
|
|
5866
|
+
* 65% of measured documents carrying zero outbound edges were reaching for.
|
|
5867
|
+
*
|
|
5868
|
+
* THE ANCHOR BINDING (normative). `@unified-product-graph/markdown` already
|
|
5869
|
+
* parses an inline reference form and records the source line of every
|
|
5870
|
+
* occurrence: `[[type:id]]`, `[[type:id|label]]`, `[[type:id|k:v|...]]`,
|
|
5871
|
+
* `[[+type:id]]` for creation, and `[[type:id@product]]` across products. The
|
|
5872
|
+
* grammar is published as Appendix F of the specification paper. The rule that
|
|
5873
|
+
* was missing, and is stated here: an anchor appearing in the body of a
|
|
5874
|
+
* `document` IS a transclusion anchor, and a conformant parser WRITES this edge
|
|
5875
|
+
* beside it. Anchor and edge are one fact recorded twice, so they must be
|
|
5876
|
+
* written together or they drift.
|
|
5877
|
+
*
|
|
5878
|
+
* NO POSITION PROPERTY, deliberately. The obvious `anchor_line` is the most
|
|
5879
|
+
* volatile value a text document has: every insertion above moves every anchor
|
|
5880
|
+
* below, so a stored line number is wrong after the next paragraph and nothing
|
|
5881
|
+
* reports the drift. The anchor IS the position, and it lives in the prose
|
|
5882
|
+
* where ordinary editing moves it for free. What the law asks is that the edge
|
|
5883
|
+
* be written BESIDE the anchor, which is a write-time discipline rather than a
|
|
5884
|
+
* stored field.
|
|
5885
|
+
*
|
|
5886
|
+
* `deliberate_only`, and the 0.33.0 trap is why that is safe here. Flagging a
|
|
5887
|
+
* widened edge `deliberate_only` silently switched five adapters off in the
|
|
5888
|
+
* last release, two of them under a green suite. The rule that came out of it:
|
|
5889
|
+
* an adapter reading an explicit field the SOURCE stores carries an authored
|
|
5890
|
+
* fact rather than an inferred one and must emit deliberate-only edges
|
|
5891
|
+
* EXPLICITLY. A `[[type:id]]` anchor is as explicit as a source gets, because a
|
|
5892
|
+
* person typed it, so the markdown emitter keys on the ANCHOR and never on the
|
|
5893
|
+
* `node` wildcard. No generic pair-resolution path may ever produce one.
|
|
5894
|
+
*/
|
|
5895
|
+
document_transcludes_node: {
|
|
5896
|
+
forward_verb: string;
|
|
5897
|
+
reverse_verb: string;
|
|
5898
|
+
classification: "semantic";
|
|
5899
|
+
source_type: string;
|
|
5900
|
+
target_type: string;
|
|
5901
|
+
deliberate_only: true;
|
|
5902
|
+
};
|
|
5796
5903
|
product_educates_via_education_program: {
|
|
5797
5904
|
forward_verb: string;
|
|
5798
5905
|
reverse_verb: string;
|
|
@@ -5954,6 +6061,13 @@ declare const UPG_EDGE_CATALOG: {
|
|
|
5954
6061
|
source_type: string;
|
|
5955
6062
|
target_type: string;
|
|
5956
6063
|
};
|
|
6064
|
+
person_holds_role: {
|
|
6065
|
+
forward_verb: string;
|
|
6066
|
+
reverse_verb: string;
|
|
6067
|
+
classification: "semantic";
|
|
6068
|
+
source_type: string;
|
|
6069
|
+
target_type: string;
|
|
6070
|
+
};
|
|
5957
6071
|
team_staffed_with_role: {
|
|
5958
6072
|
forward_verb: string;
|
|
5959
6073
|
reverse_verb: string;
|
|
@@ -8835,12 +8949,45 @@ declare function isDeliberateOnlyEdge(type: string): boolean;
|
|
|
8835
8949
|
* `delivers` and NOT `contains`, because a containment verb would oblige a
|
|
8836
8950
|
* `UPG_VALID_CHILDREN` pair that a wildcard endpoint can never supply; the
|
|
8837
8951
|
* parent axis is containment and the project axis is a reference.
|
|
8838
|
-
*
|
|
8839
|
-
*
|
|
8840
|
-
*
|
|
8841
|
-
*
|
|
8952
|
+
* 15. **Document transclusion** (0.34.0): a document embeds a node's live value
|
|
8953
|
+
* at a position in its prose. The only family whose target set is open by
|
|
8954
|
+
* NATURE rather than by a bounded enumeration nobody wanted to write out:
|
|
8955
|
+
* anything renderable can be embedded. Deliberately NOT merged with the
|
|
8956
|
+
* nine-member `document_describes_*` family, which says the document is ABOUT
|
|
8957
|
+
* a thing rather than that it renders it.
|
|
8958
|
+
*
|
|
8959
|
+
* Adding a new polymorphic edge requires extending this array AND naming the
|
|
8960
|
+
* family it joins in `UPG_POLYMORPHIC_EDGE_FAMILIES` below, which the
|
|
8961
|
+
* spec-integrity regression test asserts against. That forces a conscious
|
|
8962
|
+
* decision and keeps consumers (MCP, Entopo, audit tools, the editorial gate)
|
|
8963
|
+
* able to enumerate the full set and attribute a wildcard edge to real types.
|
|
8842
8964
|
*/
|
|
8843
8965
|
declare const UPG_POLYMORPHIC_EDGE_KEYS: readonly _UPGEdgeTypeLocal[];
|
|
8966
|
+
/**
|
|
8967
|
+
* The partition of `UPG_POLYMORPHIC_EDGE_KEYS` into named families.
|
|
8968
|
+
*
|
|
8969
|
+
* @remarks
|
|
8970
|
+
* WHY THIS IS AN EXPORT AND NOT A TEST LITERAL. It lived inside
|
|
8971
|
+
* `spec-integrity.test.ts` until 0.34.0, which made it unreachable by every
|
|
8972
|
+
* consumer that needs it, and there is now a real one: `check:editorial` matches
|
|
8973
|
+
* `source_type === type` and `target_type === type` LITERALLY when it derives an
|
|
8974
|
+
* entity's attached-edge set, so an edge whose endpoint is the `node` wildcard is
|
|
8975
|
+
* attributed to nobody. `project_delivers_work_item` moved zero fingerprints on
|
|
8976
|
+
* `task`, `bug`, `user_story` or `feature`. A gate cannot fix that without a map
|
|
8977
|
+
* from a wildcard key to the types the family actually ranges over, and duplicating
|
|
8978
|
+
* the map in the gate would recreate the drift the test was written to catch.
|
|
8979
|
+
*
|
|
8980
|
+
* THE MEMBER LIST IS THE KEYS, NOT THE TYPES. A family names which polymorphic
|
|
8981
|
+
* KEYS belong together. What a consumer does with that — which concrete entity
|
|
8982
|
+
* types to attribute a wildcard edge to — is its own decision, made against the
|
|
8983
|
+
* catalog. This export does not pretend to answer it.
|
|
8984
|
+
*
|
|
8985
|
+
* The prose list in the JSDoc above drifted once already: it still read "Eight
|
|
8986
|
+
* semantic families" after the ninth and tenth had shipped. `spec-integrity`
|
|
8987
|
+
* asserts this object against `UPG_POLYMORPHIC_EDGE_KEYS` in both directions, so
|
|
8988
|
+
* a new key fails until its author names the family it joins.
|
|
8989
|
+
*/
|
|
8990
|
+
declare const UPG_POLYMORPHIC_EDGE_FAMILIES: Readonly<Record<string, readonly _UPGEdgeTypeLocal[]>>;
|
|
8844
8991
|
/**
|
|
8845
8992
|
* True if the edge uses the `'node'` wildcard at either endpoint. Derived
|
|
8846
8993
|
* dynamically from `source_type`/`target_type`, not from the allow-list,
|
|
@@ -8889,6 +9036,47 @@ declare function getEdgePropertySchema(type: string): PropertySchema | undefined
|
|
|
8889
9036
|
|
|
8890
9037
|
/** Union of all edge type keys from the canonical edge registry */
|
|
8891
9038
|
type UPGEdgeType = keyof typeof UPG_EDGE_CATALOG;
|
|
9039
|
+
/**
|
|
9040
|
+
* Where an edge came from, when it was not authored directly.
|
|
9041
|
+
*
|
|
9042
|
+
* @remarks
|
|
9043
|
+
* WHY UNGATED, and the precedent settles it. The obvious objection is that this
|
|
9044
|
+
* belongs behind `carries_properties`. It does not: `mapping_confidence` is
|
|
9045
|
+
* ALREADY an ungated provenance field on every edge. The `carries_properties`
|
|
9046
|
+
* gate exists to keep semantic edges free of domain PAYLOAD — a MoSCoW bucket, a
|
|
9047
|
+
* RICE score, a canvas slot, facts about the relationship's content. Provenance
|
|
9048
|
+
* is not content; it is a fact about the record, in the same class as the field
|
|
9049
|
+
* already sitting ungated beside it. Gating it would mean an edge has to opt in
|
|
9050
|
+
* to having a history, which is the wrong shape for a universal fact and would
|
|
9051
|
+
* make an emission pass check whether the edge it is writing is allowed to
|
|
9052
|
+
* remember anything.
|
|
9053
|
+
*
|
|
9054
|
+
* WHY NESTED, and it is a collision rather than a preference. `UPGEdge.source`
|
|
9055
|
+
* already means the source NODE. A flat `source_id` copied from the node side
|
|
9056
|
+
* would sit one character from it and mean something entirely different — the
|
|
9057
|
+
* exact misreading generator `external_refs` was rejected for at 0.33.0. Nesting
|
|
9058
|
+
* removes the collision completely and costs one field.
|
|
9059
|
+
*
|
|
9060
|
+
* WHY IT EXISTS AT ALL. The node side has carried `source_id`, `source_type`,
|
|
9061
|
+
* `mapping_confidence`, `external_tool`, `external_ref`, `external_id` and, since
|
|
9062
|
+
* 0.33.0, `created_at` / `updated_at`. A node knows where it came from; an edge
|
|
9063
|
+
* knew only how sure the importer was. A bulk emission of 651 derived edges had
|
|
9064
|
+
* nowhere ON THE EDGE to record derived-by-what, from-which-fact, or when, so the
|
|
9065
|
+
* record lived in a sidecar ledger outside the graph. That is the sibling of the
|
|
9066
|
+
* question documents-as-entities exists to answer: provenance belongs to the
|
|
9067
|
+
* thing, not beside it.
|
|
9068
|
+
*
|
|
9069
|
+
* NOT a substitute for `mapping_confidence`, which answers a different question
|
|
9070
|
+
* (how sure an import was that this edge TYPE was right) and stays where it is.
|
|
9071
|
+
*/
|
|
9072
|
+
interface UPGEdgeProvenance {
|
|
9073
|
+
/** The tool or pass that derived it. Same posture as `UPGBaseNode.external_tool`. */
|
|
9074
|
+
tool?: string;
|
|
9075
|
+
/** The fact it was derived FROM: a source field, a property key, a ledger id. */
|
|
9076
|
+
from?: string;
|
|
9077
|
+
/** ISO timestamp of the derivation. */
|
|
9078
|
+
at?: ISODateTime;
|
|
9079
|
+
}
|
|
8892
9080
|
/** Interface for a semantic relationship between two nodes */
|
|
8893
9081
|
interface UPGEdge {
|
|
8894
9082
|
/** Unique identifier within the graph */
|
|
@@ -8903,15 +9091,30 @@ interface UPGEdge {
|
|
|
8903
9091
|
mapping_confidence?: UPGMappingConfidence;
|
|
8904
9092
|
/**
|
|
8905
9093
|
* Edge-scoped properties. Permitted ONLY on edge types whose catalog
|
|
8906
|
-
* definition sets `carries_properties: true`
|
|
8907
|
-
*
|
|
8908
|
-
*
|
|
8909
|
-
*
|
|
8910
|
-
*
|
|
8911
|
-
*
|
|
8912
|
-
*
|
|
9094
|
+
* definition sets `carries_properties: true`. `framework_exercise_includes_node`
|
|
9095
|
+
* is the archetype, storing a framework's per-entity result here (a MoSCoW
|
|
9096
|
+
* bucket, a RICE score, a canvas slot, a funnel stage). A value that exists
|
|
9097
|
+
* only within a specific exercise of a framework is a fact about the
|
|
9098
|
+
* *relationship*, not about either endpoint, so it belongs on the edge. Plain
|
|
9099
|
+
* semantic edges stay payload-free; validators reject `properties` on edges
|
|
9100
|
+
* that do not opt in.
|
|
9101
|
+
*
|
|
9102
|
+
* @remarks
|
|
9103
|
+
* CORRECTED 0.34.0. This said the gate applies "currently the
|
|
9104
|
+
* `framework_exercise_includes_node` edge". ELEVEN catalog edges set
|
|
9105
|
+
* `carries_properties: true`. One word — "currently" — was doing the work of a
|
|
9106
|
+
* gate nobody wired, and the sentence had been wrong for ten mints. The set is
|
|
9107
|
+
* derivable from the catalog and is not restated here, for the reason this
|
|
9108
|
+
* correction exists: a hand-maintained census in a comment is a claim with
|
|
9109
|
+
* nothing recomputing it.
|
|
9110
|
+
*
|
|
9111
|
+
* NOT the home for provenance. See `provenance` below: a fact about the record
|
|
9112
|
+
* is not domain payload, and requiring an opt-in to have a history is the wrong
|
|
9113
|
+
* shape.
|
|
8913
9114
|
*/
|
|
8914
9115
|
properties?: Record<string, unknown>;
|
|
9116
|
+
/** Where this edge came from, when it was not authored directly. */
|
|
9117
|
+
provenance?: UPGEdgeProvenance;
|
|
8915
9118
|
}
|
|
8916
9119
|
|
|
8917
9120
|
/**
|
|
@@ -8970,6 +9173,26 @@ type UPGProductStage = 'concept' | 'validation' | 'build' | 'beta' | 'launch' |
|
|
|
8970
9173
|
* stable half of the whitelist (these change rarely); the growing, dual-registered
|
|
8971
9174
|
* half is derived from the `cross_product_eligible` catalog flag — see
|
|
8972
9175
|
* `CrossProductEligibleEdgeType` and `UPG_CROSS_ELIGIBLE_CATALOG_EDGE_TYPES`.
|
|
9176
|
+
*
|
|
9177
|
+
* @remarks
|
|
9178
|
+
* DECLARED AND UNENFORCED (recorded 0.34.0, exhaustively). No WRITER reads this
|
|
9179
|
+
* array. Not the SDK, not the local MCP server, not the cloud server, not the
|
|
9180
|
+
* graph service. Outside `node_modules` and `dist` it is referenced by its own
|
|
9181
|
+
* definition, two prose comments, one spec test, `check-editorial.mjs`, one
|
|
9182
|
+
* generated mirror, and documents. The tier is a declared vocabulary that nothing
|
|
9183
|
+
* validates at write time, so a graph can carry one of these types anywhere and no
|
|
9184
|
+
* gate objects.
|
|
9185
|
+
*
|
|
9186
|
+
* That is worth stating rather than leaving to be rediscovered, because it changes
|
|
9187
|
+
* what a "non-colliding key" would buy. A within-graph edge minted under a key that
|
|
9188
|
+
* does not collide with one of these would not be safe BECAUSE nothing collides at
|
|
9189
|
+
* runtime; it would be safe by discipline. Discipline and a guarantee should not be
|
|
9190
|
+
* confused in a comment that reads like a contract.
|
|
9191
|
+
*
|
|
9192
|
+
* This is the third artifact damaged by reading one of the two edge registries in
|
|
9193
|
+
* isolation, after the vocabulary check (fixed 0.33.0) and the withdrawn 0.33.0
|
|
9194
|
+
* Item G. The fingerprint half of `check:editorial` was the fourth and is fixed in
|
|
9195
|
+
* 0.34.0.
|
|
8973
9196
|
*/
|
|
8974
9197
|
declare const UPG_CROSS_ONLY_EDGE_TYPES: readonly ["shares_persona", "shares_competitor", "shares_metric", "shares_job", "shares_need", "depends_on_product", "cannibalises", "succeeds", "hosts", "contributes_to", "rolls_up_to", "instance_of", "area_serves_persona", "area_targets_market_segment", "product_implements_specification", "product_exposes_specification", "feature_conforms_to_specification", "api_contract_speaks_specification", "product_exposes_primitive", "feature_manipulates_primitive", "primitive_stored_as_data_type"];
|
|
8975
9198
|
/** One portfolio-native cross-product edge type (see `UPG_CROSS_ONLY_EDGE_TYPES`). */
|
|
@@ -17636,16 +17859,41 @@ interface TeamProperties {
|
|
|
17636
17859
|
* `ENTP-2`, ...).
|
|
17637
17860
|
*
|
|
17638
17861
|
* @remarks
|
|
17639
|
-
* SUPERSEDES `product.key_prefix` FOR THIS PRODUCT
|
|
17640
|
-
*
|
|
17641
|
-
*
|
|
17642
|
-
*
|
|
17643
|
-
*
|
|
17644
|
-
*
|
|
17862
|
+
* SUPERSEDES `product.key_prefix` FOR THIS PRODUCT, AND NOTHING ELSE
|
|
17863
|
+
* (normative, narrowed in 0.34.0). The moment any team declares a prefix, the
|
|
17864
|
+
* PRODUCT-LEVEL prefix stops being consulted. A product-level prefix that still
|
|
17865
|
+
* resolved would win on order alone, and a multi-team product would then
|
|
17866
|
+
* silently mint everything under it, which is the defect this field exists to
|
|
17867
|
+
* end.
|
|
17868
|
+
*
|
|
17869
|
+
* THE CANDIDATE SET IS THE UNION OF DECLARED AND OBSERVED PREFIXES. A
|
|
17870
|
+
* declaration adds a candidate; it does not remove one. A prefix stops being
|
|
17871
|
+
* offered only when something claims it or when nothing has ever minted under
|
|
17872
|
+
* it, and while more than one candidate stands the create surface keeps asking.
|
|
17873
|
+
*
|
|
17874
|
+
* WHY THIS WAS NARROWED, stated because 0.33.0 shipped the wider reading and an
|
|
17875
|
+
* implementer built against it. The paragraph above made ANY declaration replace
|
|
17876
|
+
* the candidate set outright, and its own stated rationale is entirely about
|
|
17877
|
+
* `product.key_prefix`: a SINGLE STRING, declared once, that cannot represent
|
|
17878
|
+
* two teams. An OBSERVED prefix is not that. It is evidence of a namespace
|
|
17879
|
+
* already in active use. Suppressing it reproduces the precise defect this field
|
|
17880
|
+
* exists to end, inside one product, and does so silently. Measured on the only
|
|
17881
|
+
* keyed graph in the estate: it carries two observed prefixes, 370 keys under
|
|
17882
|
+
* one and 662 under the other, and declares neither. Under the wider reading,
|
|
17883
|
+
* one team declaring the smaller prefix collapses the candidate set to it, the
|
|
17884
|
+
* picker disappears, and every later create mints under it, including the 662
|
|
17885
|
+
* keys' worth of work belonging to the other namespace. The sentence over-reached
|
|
17886
|
+
* beyond its own reason, and this narrows it back to that reason.
|
|
17887
|
+
*
|
|
17888
|
+
* Shipped as a CHANGE in 0.34.0 rather than as a patch correction. Read as a
|
|
17889
|
+
* correction it is defensible, but implementers had already built to the wider
|
|
17890
|
+
* text, and moving a contract under them in a patch is how a patch becomes a
|
|
17891
|
+
* surprise.
|
|
17645
17892
|
*
|
|
17646
17893
|
* A DECLARED PREFIX IS A CANDIDATE BEFORE IT IS OBSERVED. Candidates derived
|
|
17647
17894
|
* only from keys that already exist cannot see a team's first create, which is
|
|
17648
|
-
* the one that most needs asking about.
|
|
17895
|
+
* the one that most needs asking about. That is why declaration ADDS to the
|
|
17896
|
+
* candidate set; it is not a reason for it to subtract.
|
|
17649
17897
|
*
|
|
17650
17898
|
* UNIQUENESS IS PRODUCT-SCOPED, AND A TEAM PREFIX DOES NOT WIDEN IT. The key
|
|
17651
17899
|
* sequence runs per product across entity types, so two teams in one product
|
|
@@ -17678,6 +17926,82 @@ interface TeamProperties {
|
|
|
17678
17926
|
* citation, with nothing objecting. Portfolio-shared team minting is DEFERRED
|
|
17679
17927
|
* until a supra-product uniqueness design exists, rather than approximated.
|
|
17680
17928
|
*
|
|
17929
|
+
* HOW RULE 1 IS DECIDED: THE EVIDENCE RULE (normative, 0.34.0). Rule 1 names a
|
|
17930
|
+
* first product without saying how a minter knows which one it is. It is decided
|
|
17931
|
+
* by EVIDENCE, not by a stored marker: at mint, if any other IN-SCOPE product
|
|
17932
|
+
* already holds a key under the prefix, refuse. Evidence is derivable from the
|
|
17933
|
+
* graphs themselves, needs no migration, cannot go stale, and cannot disagree
|
|
17934
|
+
* with the keys. A durable home marker could do all three, and would mint state
|
|
17935
|
+
* for a fact the graph already carries. The cost is stated rather than hidden:
|
|
17936
|
+
* evidence is SCOPE-DEPENDENT, which is why the scope is ruled below in the same
|
|
17937
|
+
* breath rather than left open.
|
|
17938
|
+
*
|
|
17939
|
+
* THE UNDECIDABLE CASE: NEITHER MINTS (normative, 0.34.0). When two products
|
|
17940
|
+
* already hold keys under one prefix and nothing establishes which was first,
|
|
17941
|
+
* NEITHER mints. No tiebreak is invented. Creation order is not recorded, and
|
|
17942
|
+
* `max(existing)` measures import volume rather than precedence, so any tiebreak
|
|
17943
|
+
* would be a guess wearing a rule, and a silent one, since it would attribute a
|
|
17944
|
+
* namespace to a product with nothing to say it was wrong. Refusing both is the
|
|
17945
|
+
* NO-KEY outcome rule 2 already sanctions, and it is recoverable: once either
|
|
17946
|
+
* product declares the prefix, the other is unambiguous and a backfill can run.
|
|
17947
|
+
*
|
|
17948
|
+
* WHAT "IN SCOPE" MEANS: ENGINE-DEFINED, WITH A FLOOR AND A CEILING (normative,
|
|
17949
|
+
* 0.34.0). The scope over which the evidence rule looks is defined by the
|
|
17950
|
+
* engine, bounded on both sides.
|
|
17951
|
+
*
|
|
17952
|
+
* FLOOR. It MUST include every product the engine can enumerate for this
|
|
17953
|
+
* caller. An engine that looks at fewer products than it can see is choosing
|
|
17954
|
+
* not to notice a collision it could have seen.
|
|
17955
|
+
*
|
|
17956
|
+
* CEILING. It MUST NEVER include a product the caller could not otherwise
|
|
17957
|
+
* read. A wider read is a cross-tenant information channel: refusing a mint
|
|
17958
|
+
* because of a key in a graph the caller cannot see leaks that the graph
|
|
17959
|
+
* exists and what is in it. This half is a security constraint and is not
|
|
17960
|
+
* negotiable.
|
|
17961
|
+
*
|
|
17962
|
+
* PORTFOLIO ALTITUDE IS THE WRONG NORMATIVE ALTITUDE, and it was measured rather
|
|
17963
|
+
* than argued: deleting the portfolio document changes nothing about minting,
|
|
17964
|
+
* because no minter consults the portfolio seam. Stating the invariant there
|
|
17965
|
+
* states it where nobody looks. In practice the local engine's scope is every
|
|
17966
|
+
* graph in the workspace folder and the cloud engine's is the caller's own
|
|
17967
|
+
* product list.
|
|
17968
|
+
*
|
|
17969
|
+
* THE HONEST CONSEQUENCE, which belongs in the text rather than in a later
|
|
17970
|
+
* surprise: the invariant is SCOPE-RELATIVE. Two engines can legitimately
|
|
17971
|
+
* disagree about whether one mint is safe, because they can legitimately see
|
|
17972
|
+
* different sets of products. That is a real limitation of the evidence rule and
|
|
17973
|
+
* the price of the ceiling.
|
|
17974
|
+
*
|
|
17975
|
+
* IMMUTABLE ONCE ANYTHING HAS MINTED UNDER IT, PER PRODUCT (normative, 0.34.0).
|
|
17976
|
+
* Once any key exists under this prefix IN A GIVEN PRODUCT, the declaration
|
|
17977
|
+
* cannot be edited for that product. Refusal-shaped and NO-KEY, matching rule 2:
|
|
17978
|
+
* never an exception, because a keyless create is legal everywhere else in the
|
|
17979
|
+
* ladder.
|
|
17980
|
+
*
|
|
17981
|
+
* SCOPED PER PRODUCT, NOT PER TEAM, and the reason is that `team` is
|
|
17982
|
+
* `portfolio_shared`: a team that has never minted in product B must still be
|
|
17983
|
+
* free to declare there. A per-team global lock would strand it.
|
|
17984
|
+
*
|
|
17985
|
+
* WHAT IT PREVENTS. Without it, a team edits its prefix after four hundred
|
|
17986
|
+
* mints and one product silently carries two number lines under two names,
|
|
17987
|
+
* with nothing recording that they were ever one sequence.
|
|
17988
|
+
*
|
|
17989
|
+
* RENAMING STAYS POSSIBLE BY THE HONEST ROUTE: a migration that rewrites the
|
|
17990
|
+
* existing keys. That is a deliberate act with a visible cost, which is the
|
|
17991
|
+
* difference between renaming a namespace and forking it by accident.
|
|
17992
|
+
*
|
|
17993
|
+
* THE PICKER MAY OFFER WHAT THE MINT REFUSES, AND THE SURFACE OWNS THE
|
|
17994
|
+
* DIVERGENCE (0.34.0). Rule 3 applies on the MINT path and not the picker path,
|
|
17995
|
+
* which is deliberate: the picker cannot cheaply know the answer, since knowing
|
|
17996
|
+
* it requires reading other products. The consequence is that a surface can
|
|
17997
|
+
* present a choice that then fails. The owner is named here rather than left
|
|
17998
|
+
* implicit: A CREATE SURFACE THAT OFFERS A PREFIX THE MINT MAY REFUSE MUST BE
|
|
17999
|
+
* ABLE TO REPORT THE REFUSAL, AND MUST BE ABLE TO PRESENT NO-KEY AS AN OUTCOME
|
|
18000
|
+
* RATHER THAN AS AN ERROR. This is a design obligation on the surface, not a
|
|
18001
|
+
* spec mechanic: the spec cannot fix a UX gap and should not pretend to. The
|
|
18002
|
+
* union ruling above shrinks the divergence considerably, because the picker now
|
|
18003
|
+
* keeps asking in exactly the case that would otherwise resolve wrongly.
|
|
18004
|
+
*
|
|
17681
18005
|
* This rule states the CONTRACT. The behaviour belongs to whatever mints keys,
|
|
17682
18006
|
* which is not this package: see `UPGBaseNode.key`.
|
|
17683
18007
|
*
|
|
@@ -21057,16 +21381,43 @@ interface UPGViewEdgeClause {
|
|
|
21057
21381
|
* and which still could not express "not (A and B)" as distinct from "(not A)
|
|
21058
21382
|
* and (not B)". A uniform clause list carries it with one flag.
|
|
21059
21383
|
*
|
|
21384
|
+
* A DISCRIMINATED UNION ON `dimension` SINCE 0.34.0, and the reason is that the
|
|
21385
|
+
* two tiers disagreed about types. `values` was `string[]` while the shorthand
|
|
21386
|
+
* `UPGViewQuery.types` is `UPGEntityType[]`, so the FAITHFUL tier admitted a
|
|
21387
|
+
* value the SHORTHAND tier could not describe, and a round-trip through the
|
|
21388
|
+
* shorthand could silently narrow what the clause list said. The shipped example
|
|
21389
|
+
* `{ dimension: 'type', values: ['task', 'bug'] }` puts both halves on one line.
|
|
21390
|
+
* The field evidence is a cast at exactly that boundary in the first consumer,
|
|
21391
|
+
* carrying the comment "the clause list is the authority" — a cast is the tell
|
|
21392
|
+
* that the author knew the tiers disagreed and had to assert past it.
|
|
21393
|
+
*
|
|
21394
|
+
* THIS IS A COMPILE-TIME BREAK AND CALLING IT ADDITIVE WOULD BE DISHONEST. The
|
|
21395
|
+
* WIRE FORMAT does not change at all: the JSON is identical, so there is no
|
|
21396
|
+
* migration, no fixture and no canonical-format entry. What changes is that a
|
|
21397
|
+
* TypeScript consumer writing a plain `string[]` on a `type` clause stops
|
|
21398
|
+
* compiling. Two measured facts make that acceptable: the field shipped ONE
|
|
21399
|
+
* release ago, and the only known consumer already casts at this exact boundary,
|
|
21400
|
+
* so the break lands where someone has already written down why the tiers
|
|
21401
|
+
* disagree. A stated break with one known site is better than a silent narrowing
|
|
21402
|
+
* with none, which is what shipping nothing preserves.
|
|
21403
|
+
*
|
|
21404
|
+
* THE ROUND-TRIP NARROWING RULE (normative, and it holds regardless of the
|
|
21405
|
+
* union, because a union constrains AUTHORS and not JSON arriving from a file).
|
|
21406
|
+
* The clause list is AUTHORITATIVE. The named shorthand fields on
|
|
21407
|
+
* {@link UPGViewQuery} are a positive-only PROJECTION of it. A consumer that
|
|
21408
|
+
* rewrites clauses into shorthand and back MUST NOT narrow the admitted set, and
|
|
21409
|
+
* MUST REFUSE rather than narrow when it cannot represent a clause. Silently
|
|
21410
|
+
* dropping what it cannot express is the one behaviour this rule forbids.
|
|
21411
|
+
*
|
|
21060
21412
|
* @example
|
|
21061
21413
|
* const c: UPGViewClause = { dimension: 'tag', values: ['spike'], negate: true }
|
|
21414
|
+
*
|
|
21415
|
+
* @example
|
|
21416
|
+
* const t: UPGViewClause = { dimension: 'type', values: ['task', 'bug'] }
|
|
21062
21417
|
*/
|
|
21063
|
-
interface
|
|
21064
|
-
/** The axis this clause selects on. */
|
|
21065
|
-
dimension: UPGViewDimension;
|
|
21418
|
+
interface UPGViewClauseBase {
|
|
21066
21419
|
/** Property name when `dimension` is `property`; the date field when `date`. */
|
|
21067
21420
|
field?: string;
|
|
21068
|
-
/** Admitted values. */
|
|
21069
|
-
values?: string[];
|
|
21070
21421
|
/** Present exactly when `dimension` is `date`. */
|
|
21071
21422
|
window?: UPGTimeWindow;
|
|
21072
21423
|
/** Present exactly when `dimension` is `edge`. */
|
|
@@ -21074,6 +21425,19 @@ interface UPGViewClause {
|
|
|
21074
21425
|
/** Negates this clause and only this clause. */
|
|
21075
21426
|
negate?: boolean;
|
|
21076
21427
|
}
|
|
21428
|
+
/** A clause on the `type` axis. `values` are entity types, not free strings. */
|
|
21429
|
+
interface UPGViewTypeClause extends UPGViewClauseBase {
|
|
21430
|
+
dimension: 'type';
|
|
21431
|
+
/** Admitted entity types. */
|
|
21432
|
+
values?: UPGEntityType[];
|
|
21433
|
+
}
|
|
21434
|
+
/** A clause on any axis other than `type`, whose admitted values are strings. */
|
|
21435
|
+
interface UPGViewGenericClause extends UPGViewClauseBase {
|
|
21436
|
+
dimension: Exclude<UPGViewDimension, 'type'>;
|
|
21437
|
+
/** Admitted values. */
|
|
21438
|
+
values?: string[];
|
|
21439
|
+
}
|
|
21440
|
+
type UPGViewClause = UPGViewTypeClause | UPGViewGenericClause;
|
|
21077
21441
|
/** A declarative, portable selection over the graph.
|
|
21078
21442
|
*
|
|
21079
21443
|
* Selection ONLY. What a surface should look like once the nodes are chosen is
|
|
@@ -21218,6 +21582,45 @@ interface UPGViewPresentation {
|
|
|
21218
21582
|
* A consumer may ignore this entirely, render flat, and remain conformant.
|
|
21219
21583
|
*/
|
|
21220
21584
|
nest_by?: string[];
|
|
21585
|
+
/**
|
|
21586
|
+
* What to do with a selected member the nest relation does not reach.
|
|
21587
|
+
* Absent means `'root'`.
|
|
21588
|
+
*
|
|
21589
|
+
* @remarks
|
|
21590
|
+
* THE ASYMMETRY THIS CLOSES. 0.33.0's `nest_by` made NESTING portable and left
|
|
21591
|
+
* the FAILURE of nesting unportable. A member the scope selected that the nest
|
|
21592
|
+
* relation cannot reach may be drawn as an additional root or silently omitted,
|
|
21593
|
+
* both conformant, and the spec could not say which the author meant.
|
|
21594
|
+
*
|
|
21595
|
+
* ABSENT MEANS `'root'`, deliberately, and this is the whole safety argument. A
|
|
21596
|
+
* consumer that ignores this field must never silently DROP a node the scope
|
|
21597
|
+
* admitted. Measured on a real imported tracker graph of 1,118 nodes and 3,685
|
|
21598
|
+
* edges: one tree selects 218 members and renders ONE card under `hide`; three
|
|
21599
|
+
* more go 185 to 1, and one goes 11 to 1. Under absent-means-hide a conformant
|
|
21600
|
+
* consumer renders a blank tree over 218 matching nodes with no way to tell the
|
|
21601
|
+
* author anything is missing. Under absent-means-root, "everything the scope
|
|
21602
|
+
* admits is visible somewhere" becomes a checkable invariant, and the majority
|
|
21603
|
+
* (51 of 57 registry trees prefer hiding) pays for hiding EXPLICITLY — which is
|
|
21604
|
+
* the right way round for a default that decides whether data disappears.
|
|
21605
|
+
*
|
|
21606
|
+
* The orphans ARE the dataset rather than an edge case, and the cause is
|
|
21607
|
+
* structural: tracker-imported work wires through cycle and project relations,
|
|
21608
|
+
* which are reference-axis edges, never nesting, so the containment edges these
|
|
21609
|
+
* trees traverse do not reach it.
|
|
21610
|
+
*
|
|
21611
|
+
* WHY THIS IS SPEC AND NOT APPLICATION CHASSIS, which the filing author first
|
|
21612
|
+
* concluded and measurement overturned. Running the two dispositions changes
|
|
21613
|
+
* WHICH NODES APPEAR, not where pixels go. Presentation is advisory precisely
|
|
21614
|
+
* because a consumer may ignore it and stay conformant, and a field that
|
|
21615
|
+
* decides membership visibility cannot be ignored safely. Selection-class facts
|
|
21616
|
+
* belong in the spec; that is the line, and the measurement is what located it.
|
|
21617
|
+
*
|
|
21618
|
+
* PRESENTATION STAYS ADVISORY OVERALL. This field does not break that: a
|
|
21619
|
+
* consumer may ignore it and remain conformant, because the default it then
|
|
21620
|
+
* applies is the safe one. That property is exactly what the absent-means-root
|
|
21621
|
+
* cut buys.
|
|
21622
|
+
*/
|
|
21623
|
+
orphan_disposition?: 'root' | 'hide';
|
|
21221
21624
|
}
|
|
21222
21625
|
/** A layer whose membership is produced by a query rather than by placement.
|
|
21223
21626
|
*
|
|
@@ -21239,7 +21642,10 @@ interface UPGViewPresentation {
|
|
|
21239
21642
|
interface UPGQueryDrivenLayer {
|
|
21240
21643
|
/**
|
|
21241
21644
|
* When present, membership is DERIVED: members are produced by running this
|
|
21242
|
-
* query rather than authored by placement.
|
|
21645
|
+
* query rather than authored by placement. The clause list is authoritative and
|
|
21646
|
+
* the named fields are a positive-only projection of it; since 0.34.0 a clause
|
|
21647
|
+
* is a discriminated union on `dimension`, so the `type` axis carries entity
|
|
21648
|
+
* types rather than free strings.
|
|
21243
21649
|
*
|
|
21244
21650
|
* @remarks
|
|
21245
21651
|
* This is the portable statement of what the layer shows. On a composition,
|
|
@@ -21259,8 +21665,18 @@ interface UPGQueryDrivenLayer {
|
|
|
21259
21665
|
*/
|
|
21260
21666
|
member_query?: UPGViewQuery;
|
|
21261
21667
|
/**
|
|
21262
|
-
* Advisory rendering intent for the layer as a whole
|
|
21263
|
-
*
|
|
21668
|
+
* Advisory rendering intent for the layer as a whole: `group_by`, `sort`,
|
|
21669
|
+
* `layout`, `nest_by`, and `orphan_disposition` (0.34.0, absent means
|
|
21670
|
+
* `'root'`). A consumer may ignore it entirely and still be conformant,
|
|
21671
|
+
* because every default it then applies is the safe one.
|
|
21672
|
+
*
|
|
21673
|
+
* @remarks
|
|
21674
|
+
* THE DESCRIPTION LISTS THE FIELDS ON PURPOSE. This property is `object` in the
|
|
21675
|
+
* runtime property registry, so an agent reading `get_entity_schema` gets an
|
|
21676
|
+
* opaque blob and this sentence. For an object-typed property the description IS
|
|
21677
|
+
* the declared shape, which is why `check:editorial` hashes it (E.4, 0.34.0) and
|
|
21678
|
+
* why a field added to `UPGViewPresentation` without a word here would be
|
|
21679
|
+
* invisible to every gate and every agent at once.
|
|
21264
21680
|
*/
|
|
21265
21681
|
presentation?: UPGViewPresentation;
|
|
21266
21682
|
}
|
|
@@ -25918,6 +26334,47 @@ interface UPGHeader {
|
|
|
25918
26334
|
* classify base fields use `UPG_BASE_NODE_FIELDS`, not this.
|
|
25919
26335
|
*/
|
|
25920
26336
|
declare const NODE_KEY_ORDER: string[];
|
|
26337
|
+
/**
|
|
26338
|
+
* Canonical key order for a within-graph edge.
|
|
26339
|
+
*
|
|
26340
|
+
* @remarks
|
|
26341
|
+
* EXPORTED AT 0.34.0 so the subset assertion can be written, exactly as
|
|
26342
|
+
* `NODE_KEY_ORDER` was exported at 0.33.0 and for the same reason. K1 of the
|
|
26343
|
+
* 0.33.0 bundle fixed this class for nodes and left both edge twins as
|
|
26344
|
+
* hand-maintained, unexported, unasserted consts — and the very next release
|
|
26345
|
+
* added a field to `UPGEdge`, which is the regression the node-side assertion
|
|
26346
|
+
* exists to prevent. `canonical-format.test.ts` asserts every declared `UPGEdge`
|
|
26347
|
+
* key appears here. A SUBSET, never equality, for the reason the node comment
|
|
26348
|
+
* gives: an equality check would fail on tolerated keys and push the next author
|
|
26349
|
+
* to delete them.
|
|
26350
|
+
*/
|
|
26351
|
+
declare const EDGE_KEY_ORDER: string[];
|
|
26352
|
+
/**
|
|
26353
|
+
* Canonical key order for a portfolio cross-product edge. The third instance of
|
|
26354
|
+
* the class `NODE_KEY_ORDER` fixed at 0.33.0, exported at 0.34.0 with the same
|
|
26355
|
+
* subset assertion.
|
|
26356
|
+
*
|
|
26357
|
+
* @remarks
|
|
26358
|
+
* NO `provenance` ENTRY, deliberately. 0.34.0 added `provenance?` to `UPGEdge`
|
|
26359
|
+
* and NOT to `UPGCrossEdge`, so an entry here would order a key that cannot be
|
|
26360
|
+
* written. The assertion is the point of touching this const at all: it is the
|
|
26361
|
+
* direction that can regress, and the next field added to `UPGCrossEdge` now
|
|
26362
|
+
* cannot go unordered.
|
|
26363
|
+
*
|
|
26364
|
+
* `properties` WAS MISSING UNTIL 0.34.0, and the new assertion found it on its
|
|
26365
|
+
* first run. It has been declared on `UPGCrossEdge` since 0.10.0 (the parity
|
|
26366
|
+
* assessment a `feature_rivals_competitor_feature` cross-edge carries), and it
|
|
26367
|
+
* fell through to the sorted-tail pass instead: deterministic, so nothing was
|
|
26368
|
+
* corrupt, but positioned alphabetically among unlisted keys rather than in the
|
|
26369
|
+
* slot the shape implies. That is precisely the regression the node twin got a
|
|
26370
|
+
* guard for at 0.33.0, sitting unnoticed in the edge twin for eleven minors.
|
|
26371
|
+
*
|
|
26372
|
+
* Measured before changing it, because a canonical-order edit rewrites bytes:
|
|
26373
|
+
* across all 61 cross-edges in the estate, ZERO carry `properties`. So no file
|
|
26374
|
+
* re-serialises differently and the fix is free today, which it would not have
|
|
26375
|
+
* been after the first parity assessment landed.
|
|
26376
|
+
*/
|
|
26377
|
+
declare const CROSS_EDGE_KEY_ORDER: string[];
|
|
25921
26378
|
/** Element counts for a single-product document, as stamped into `$upg.counts`. */
|
|
25922
26379
|
declare function deriveSingleCounts(doc: UPGDocument): Record<string, number>;
|
|
25923
26380
|
/**
|
|
@@ -26058,7 +26515,7 @@ declare function checkHeaderSealText(text: string): UPGHeaderSealReport;
|
|
|
26058
26515
|
* it stamps the `upg_version` field of every `.upg` file written by the SDK.
|
|
26059
26516
|
* The `check:version-lockstep` gate enforces this at release time.
|
|
26060
26517
|
*/
|
|
26061
|
-
declare const UPG_VERSION: "0.
|
|
26518
|
+
declare const UPG_VERSION: "0.34.0";
|
|
26062
26519
|
/**
|
|
26063
26520
|
* The `.upg` JSON document format version. Written to the `upg_version` field.
|
|
26064
26521
|
* Evolves independently from `UPG_VERSION` (the catalogue version).
|
|
@@ -26182,5 +26639,38 @@ declare const UPG_EDGE_COUNT: number;
|
|
|
26182
26639
|
* gap is the deprecated-alias set.
|
|
26183
26640
|
*/
|
|
26184
26641
|
declare const UPG_META_COUNT: number;
|
|
26642
|
+
/**
|
|
26643
|
+
* How much lifecycle vocabulary the spec defines: the number of DISTINCT
|
|
26644
|
+
* (template, phase) pairs across `UPG_LIFECYCLES`.
|
|
26645
|
+
*
|
|
26646
|
+
* @remarks
|
|
26647
|
+
* WHAT IT COUNTS, and the definition IS the decision. A lifecycle is either
|
|
26648
|
+
* generated from a reusable template (`template_id` set) or hand-authored for one
|
|
26649
|
+
* entity type. Two entity types sharing the `OPERATIONAL` template have not
|
|
26650
|
+
* defined its phases twice, so the pair is keyed on the TEMPLATE where there is
|
|
26651
|
+
* one and on the ENTITY TYPE where there is not.
|
|
26652
|
+
*
|
|
26653
|
+
* WHY NOT THE OTHER TWO CANDIDATES, both of which were live when this was wired:
|
|
26654
|
+
*
|
|
26655
|
+
* 869 — every phase row across all 193 lifecycles. The literal size of the
|
|
26656
|
+
* grammar, and it double-counts a template reused by nine entity types. The
|
|
26657
|
+
* number appears in prose as a claim about how much vocabulary the spec HAS,
|
|
26658
|
+
* which is not what 869 measures.
|
|
26659
|
+
*
|
|
26660
|
+
* 334 — carried in planning documents since 0.32.0 and never computed by
|
|
26661
|
+
* anything. It does not reproduce under either real computation. It was
|
|
26662
|
+
* transcribed forward, which is exactly the failure `check:count-drift` exists
|
|
26663
|
+
* to end, and it is recorded here so nobody restores it.
|
|
26664
|
+
*
|
|
26665
|
+
* WIRED INTO `check:count-drift` AT 0.34.0. The condition was declared met in the
|
|
26666
|
+
* 0.33.0 CHANGELOG and deferred on the ground that adding a check would change
|
|
26667
|
+
* the shape of a release ratified as adding none. That ground is gone. Until now
|
|
26668
|
+
* this was the one figure in the truth line that no check asserted, which is why
|
|
26669
|
+
* it is also the one that drifted.
|
|
26670
|
+
*
|
|
26671
|
+
* Derived, never a literal: the count and any docket or CHANGELOG row quoting it
|
|
26672
|
+
* come from this computation, so two numbers cannot be derived twice.
|
|
26673
|
+
*/
|
|
26674
|
+
declare const UPG_PHASE_COUNT: number;
|
|
26185
26675
|
|
|
26186
|
-
export { type A11yAnnotationProperties, type A11yAuditProperties, type A11yGuidelineProperties, type A11yIssueProperties, type A11yStandardProperties, ACTIVE_WHEN_PROPERTY, 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, CONFIGURATION_QUALIFIER_EDGE_PROPERTY_SCHEMA, CONFIGURATION_VARIANCE_EDGE_PROPERTY_SCHEMA, CONTENT_DEPTH_WARNING_RULES, COVERAGE_ANTI_PATTERNS, type Cadence, type CapabilityProperties, type CapacityPlanProperties, type CaptureProperties, 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 CompositionMember, type CompositionProperties, type Confidence, type Configuration, type ConfigurationAxisKind, type ConfigurationAxisProperties, type ConfigurationDriftFinding, type ConfigurationDriftKind, 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 FrameworkSlotPredicate, type FrameworkSlotPredicateAtom, 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 MetricScore, type MetricSegmentType, type MetricStatisticalFunction, type MilestoneProperties, type MissionProperties, type ModelComparisonProperties, type ModifiedProperty, type MonitorProperties, NODE_KEY_ORDER, 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, PRESENT_UNDER_PROPERTY, PRODUCT_DELIVERY_PLAYBOOK, PROPERTY_MODIFIERS, PROPERTY_MODIFIER_SEMANTICS, PROPERTY_SCALE_MAP, type ParticipantProperties, type PartnerProgramProperties, type PartnerRevenueShareProperties, type PartnerTierProperties, type PartnershipProperties, type PathResolution, 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 ProjectableEdge, type ProjectableNode, type ProjectionResult, type PromptTemplateProperties, type PromptVersionProperties, type ProofPointProperties, type PropertyDefinition, type PropertyModifier, type PropertySchema, type Protocol, type PrototypeProperties, type ProxyConfidence, type ProxyReason, QUALIFIABLE_EDGE_TYPES, 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 RelationalColumn, type RelationalComputedColumn, type RelationalEdgeStep, type RelationalFieldColumn, type RelationalProjectionColumn, type RelationalSurfaceSpec, type RelationshipBenchmark, type RelationshipCheck, type ReleaseProperties, type ReleaseStrategyProperties, type ReportProperties, type ResearchPlanProperties, type ResearchQuestionProperties, type ResearchStudyProperties, type ResolvedStep, 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 UPGExternalLink, 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 UPGQueryDrivenLayer, 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 UPGTimeWindow, 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 UPGViewClause, type UPGViewDimension, type UPGViewEdgeClause, type UPGViewPredicate, type UPGViewPresentation, type UPGViewQuery, 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_BASE_NODE_FIELDS, UPG_BASE_NODE_FIELD_SET, UPG_BASE_NODE_SPECIAL_MERGE_FIELDS, 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, VARIES_BY_EDGE, type ValueObjectProperties, type ValuePropositionProperties, type ValueStreamProperties, type VariantProperties, type VisionProperties, type VulnerabilityProperties, WORKSPACE_ARRANGEMENT_EDGE_PROPERTY_SCHEMA, type WalkMigrationChainResult, type WalkthroughProperties, type WebinarProperties, type WireframeProperties, type WorkflowArtifactProperties, type WorkflowRunProperties, type WorkflowTemplateProperties, type WorkspaceCanvas, type WorkspaceProperties, backfillSlug, buildTypeAliases, canBeChildOf, checkConfigurationDrift, checkHeaderSeal, checkHeaderSealText, checkToEdgeCountSpec, classifyEntityFilter, coerceProductStage, collectSlugsForType, collectTargetEntities, compareVersions, computeBodyChecksum, concernEvaluatedFor, concernFor, concernGatesFor, crossProductScope, deriveCounts, derivePortfolioCounts, deriveSingleCounts, describeTreePattern, edgeCarriesProperties, edgeCountSpecKey, entityFilterKey, enumerateProjections, 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, predicatesProvablyDisjoint, presenceExceptKey, projectGraph, readActiveWhen, readStringArray, relationalCoveredEntityTypes, resolveAllEdges, resolveContainmentEdge, resolveEntityType, resolveLabel, resolveRelationalPath, resolveSlugCollision, resolveTreePatternEdges, ringOrderedDomainIds, rotateSlug, serializeCanonical, validateEdgeProperties, validateProductStageStrict, validateUPGDocument, validateUPGFramework, validationProfileFor, walkMigrationChainToCanonical };
|
|
26676
|
+
export { type A11yAnnotationProperties, type A11yAuditProperties, type A11yGuidelineProperties, type A11yIssueProperties, type A11yStandardProperties, ACTIVE_WHEN_PROPERTY, 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, CONFIGURATION_QUALIFIER_EDGE_PROPERTY_SCHEMA, CONFIGURATION_VARIANCE_EDGE_PROPERTY_SCHEMA, CONTENT_DEPTH_WARNING_RULES, COVERAGE_ANTI_PATTERNS, CROSS_EDGE_KEY_ORDER, type Cadence, type CapabilityProperties, type CapacityPlanProperties, type CaptureProperties, 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 CompositionMember, type CompositionProperties, type Confidence, type Configuration, type ConfigurationAxisKind, type ConfigurationAxisProperties, type ConfigurationDriftFinding, type ConfigurationDriftKind, 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, EDGE_KEY_ORDER, 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 FrameworkSlotPredicate, type FrameworkSlotPredicateAtom, 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 MetricScore, type MetricSegmentType, type MetricStatisticalFunction, type MilestoneProperties, type MissionProperties, type ModelComparisonProperties, type ModifiedProperty, type MonitorProperties, NODE_KEY_ORDER, 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, PRESENT_UNDER_PROPERTY, PRODUCT_DELIVERY_PLAYBOOK, PROPERTY_MODIFIERS, PROPERTY_MODIFIER_SEMANTICS, PROPERTY_SCALE_MAP, type ParticipantProperties, type PartnerProgramProperties, type PartnerRevenueShareProperties, type PartnerTierProperties, type PartnershipProperties, type PathResolution, 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 ProjectableEdge, type ProjectableNode, type ProjectionResult, type PromptTemplateProperties, type PromptVersionProperties, type ProofPointProperties, type PropertyDefinition, type PropertyModifier, type PropertySchema, type Protocol, type PrototypeProperties, type ProxyConfidence, type ProxyReason, QUALIFIABLE_EDGE_TYPES, 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 RelationalColumn, type RelationalComputedColumn, type RelationalEdgeStep, type RelationalFieldColumn, type RelationalProjectionColumn, type RelationalSurfaceSpec, type RelationshipBenchmark, type RelationshipCheck, type ReleaseProperties, type ReleaseStrategyProperties, type ReportProperties, type ResearchPlanProperties, type ResearchQuestionProperties, type ResearchStudyProperties, type ResolvedStep, 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 UPGEdgeProvenance, type UPGEdgeType, type UPGEntityFilterSpec, type UPGEntityType, type UPGEntityTypeMaturity, type UPGEnumScaleDefinition, type UPGEnumScaleValue, type UPGExternalLink, 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 UPGQueryDrivenLayer, 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 UPGTimeWindow, 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 UPGViewClause, type UPGViewDimension, type UPGViewEdgeClause, type UPGViewGenericClause, type UPGViewPredicate, type UPGViewPresentation, type UPGViewQuery, type UPGViewTypeClause, 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_BASE_NODE_FIELDS, UPG_BASE_NODE_FIELD_SET, UPG_BASE_NODE_SPECIAL_MERGE_FIELDS, 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_PHASE_COUNT, UPG_PLAYBOOKS, UPG_POLYMORPHIC_EDGE_FAMILIES, 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, VARIES_BY_EDGE, type ValueObjectProperties, type ValuePropositionProperties, type ValueStreamProperties, type VariantProperties, type VisionProperties, type VulnerabilityProperties, WORKSPACE_ARRANGEMENT_EDGE_PROPERTY_SCHEMA, type WalkMigrationChainResult, type WalkthroughProperties, type WebinarProperties, type WireframeProperties, type WorkflowArtifactProperties, type WorkflowRunProperties, type WorkflowTemplateProperties, type WorkspaceCanvas, type WorkspaceProperties, backfillSlug, buildTypeAliases, canBeChildOf, checkConfigurationDrift, checkHeaderSeal, checkHeaderSealText, checkToEdgeCountSpec, classifyEntityFilter, coerceProductStage, collectSlugsForType, collectTargetEntities, compareVersions, computeBodyChecksum, concernEvaluatedFor, concernFor, concernGatesFor, crossProductScope, deriveCounts, derivePortfolioCounts, deriveSingleCounts, describeTreePattern, edgeCarriesProperties, edgeCountSpecKey, entityFilterKey, enumerateProjections, 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, predicatesProvablyDisjoint, presenceExceptKey, projectGraph, readActiveWhen, readStringArray, relationalCoveredEntityTypes, resolveAllEdges, resolveContainmentEdge, resolveEntityType, resolveLabel, resolveRelationalPath, resolveSlugCollision, resolveTreePatternEdges, ringOrderedDomainIds, rotateSlug, serializeCanonical, validateEdgeProperties, validateProductStageStrict, validateUPGDocument, validateUPGFramework, validationProfileFor, walkMigrationChainToCanonical };
|