@unified-product-graph/core 0.14.1 → 0.15.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.cjs CHANGED
@@ -7615,6 +7615,118 @@ function getDeprecatedTypes() {
7615
7615
  return deprecated;
7616
7616
  }
7617
7617
  var UPG_PROPERTY_MIGRATIONS = {
7618
+ // ── v0.15.0: Pattern D — collapse *_status shadows into the lifecycle ─────────
7619
+ //
7620
+ // 14 `*_status` enum properties whose values ARE the entity's own lifecycle
7621
+ // phase set (UPG-689 Pattern D, the T1.1 guardrail set). They re-encoded the
7622
+ // lifecycle as a property, shadowing the base-node `status` field that the
7623
+ // lifecycle already drives. Each property is removed and any authored value
7624
+ // LIFTS to `UPGBaseNode.status` (same convention as 0.9.14 kr_status). Two
7625
+ // diverge in vocabulary from their own lifecycle and remap on lift:
7626
+ // - marketing_channel.channel_status: deprecated -> sunset
7627
+ // - security_audit.audit_status: scheduled -> planning, in_progress -> active
7628
+ "0.15.0": [
7629
+ {
7630
+ kind: "lift_property_to_top_level",
7631
+ type: "agent_definition",
7632
+ from_property: "agent_status",
7633
+ to: "status",
7634
+ reason: "UPG-689 Pattern D: agent_status duplicated the agent_definition lifecycle (testing/active/disabled). Removed in 0.15.0; the authored value lifts to UPGBaseNode.status."
7635
+ },
7636
+ {
7637
+ kind: "lift_property_to_top_level",
7638
+ type: "data_pipeline",
7639
+ from_property: "pipeline_status",
7640
+ to: "status",
7641
+ reason: "UPG-689 Pattern D: pipeline_status duplicated the data_pipeline lifecycle (active/paused/failed/deprecated). Removed in 0.15.0; lifts to status."
7642
+ },
7643
+ {
7644
+ kind: "lift_property_to_top_level",
7645
+ type: "database_schema",
7646
+ from_property: "migration_status",
7647
+ to: "status",
7648
+ reason: "UPG-689 Pattern D: migration_status duplicated the database_schema lifecycle (current/pending/failed). Removed in 0.15.0; lifts to status."
7649
+ },
7650
+ {
7651
+ kind: "lift_property_to_top_level",
7652
+ type: "deployment",
7653
+ from_property: "deploy_status",
7654
+ to: "status",
7655
+ reason: "UPG-689 Pattern D: deploy_status duplicated the deployment lifecycle (rolling/success/failure). Removed in 0.15.0; lifts to status."
7656
+ },
7657
+ {
7658
+ kind: "lift_property_to_top_level",
7659
+ type: "external_api",
7660
+ from_property: "api_status",
7661
+ to: "status",
7662
+ reason: "UPG-689 Pattern D: api_status duplicated the external_api lifecycle (beta/active/deprecated/unavailable). Removed in 0.15.0; lifts to status."
7663
+ },
7664
+ {
7665
+ kind: "lift_property_to_top_level",
7666
+ type: "feature_area",
7667
+ from_property: "area_status",
7668
+ to: "status",
7669
+ reason: "UPG-689 Pattern D: area_status duplicated the feature_area lifecycle (planned/active/deprecated). Removed in 0.15.0; lifts to status."
7670
+ },
7671
+ {
7672
+ kind: "lift_property_to_top_level",
7673
+ type: "feature_flag",
7674
+ from_property: "flag_status",
7675
+ to: "status",
7676
+ reason: "UPG-689 Pattern D: flag_status duplicated the feature_flag lifecycle (off/rollout/on). Removed in 0.15.0; lifts to status."
7677
+ },
7678
+ {
7679
+ kind: "lift_property_to_top_level",
7680
+ type: "objective",
7681
+ from_property: "objective_status",
7682
+ to: "status",
7683
+ reason: "UPG-689 Pattern D: objective_status duplicated the objective lifecycle (active/achieved/deferred). Removed in 0.15.0; lifts to status."
7684
+ },
7685
+ {
7686
+ kind: "lift_property_to_top_level",
7687
+ type: "outcome",
7688
+ from_property: "outcome_status",
7689
+ to: "status",
7690
+ reason: "UPG-689 Pattern D: outcome_status duplicated the outcome lifecycle (identified/measuring/achieved/abandoned). Removed in 0.15.0; lifts to status."
7691
+ },
7692
+ {
7693
+ kind: "lift_property_to_top_level",
7694
+ type: "prototype",
7695
+ from_property: "test_status",
7696
+ to: "status",
7697
+ reason: "UPG-689 Pattern D: test_status duplicated the prototype lifecycle (untested/testing/passed/failed). Removed in 0.15.0; lifts to status."
7698
+ },
7699
+ {
7700
+ kind: "lift_property_to_top_level",
7701
+ type: "review_gate",
7702
+ from_property: "gate_status",
7703
+ to: "status",
7704
+ reason: "UPG-689 Pattern D: gate_status duplicated the review_gate lifecycle (pending/approved/rejected/bypassed). Removed in 0.15.0; lifts to status."
7705
+ },
7706
+ {
7707
+ kind: "lift_property_to_top_level",
7708
+ type: "roadmap_item",
7709
+ from_property: "item_status",
7710
+ to: "status",
7711
+ reason: "UPG-689 Pattern D: item_status duplicated the roadmap_item lifecycle (planned/in_progress/shipped/deferred). Removed in 0.15.0; lifts to status."
7712
+ },
7713
+ {
7714
+ kind: "lift_property_to_top_level",
7715
+ type: "marketing_channel",
7716
+ from_property: "channel_status",
7717
+ to: "status",
7718
+ value_map: { deprecated: "sunset" },
7719
+ reason: "UPG-689 Pattern D: channel_status (active/paused/deprecated) re-encoded the marketing_channel lifecycle (planning/active/paused/completed/sunset). Removed in 0.15.0; lifts to status with deprecated -> sunset."
7720
+ },
7721
+ {
7722
+ kind: "lift_property_to_top_level",
7723
+ type: "security_audit",
7724
+ from_property: "audit_status",
7725
+ to: "status",
7726
+ value_map: { scheduled: "planning", in_progress: "active" },
7727
+ reason: "UPG-689 Pattern D: audit_status (scheduled/in_progress/completed) re-encoded the security_audit lifecycle (planning/active/paused/completed/sunset). Removed in 0.15.0; lifts to status with scheduled -> planning, in_progress -> active."
7728
+ }
7729
+ ],
7618
7730
  // ── v0.14.0: Pattern E — remove deprecated/ghost properties (UPG-574) ────────
7619
7731
  //
7620
7732
  // Properties marked deprecated (some "Removed in 0.9.1") that were never
@@ -10140,7 +10252,6 @@ var UPG_PROPERTY_SCHEMA = {
10140
10252
  max_execution_time_seconds: { type: "number", description: "Hard timeout for agent execution in seconds" },
10141
10253
  allow_code_execution: { type: "boolean", description: "Whether the agent can execute generated code" },
10142
10254
  multimodal: { type: "boolean", description: "Whether the agent can process images and other media" },
10143
- agent_status: { type: "string", enum: ["active", "disabled", "testing"], description: "Operational status of this agent definition" },
10144
10255
  version: { type: "string", description: 'Version label for this agent definition (e.g. "1.4.2")' }
10145
10256
  },
10146
10257
  // AgentHookProperties: Agent hook.
@@ -10841,7 +10952,6 @@ var UPG_PROPERTY_SCHEMA = {
10841
10952
  },
10842
10953
  // DataPipelineProperties: DataPipeline entity.
10843
10954
  data_pipeline: {
10844
- pipeline_status: { type: "string", enum: ["active", "paused", "failed", "deprecated"], description: "Operational status of the pipeline" },
10845
10955
  schedule: { type: "string", description: "Cron or scheduling expression" },
10846
10956
  avg_runtime: { type: "string", description: "Average wall-clock runtime per execution" },
10847
10957
  orchestrator: { type: "string", description: 'Orchestration tool (e.g. "Airflow", "Dagster", "dbt Cloud")' },
@@ -10876,7 +10986,6 @@ var UPG_PROPERTY_SCHEMA = {
10876
10986
  database_schema: {
10877
10987
  db_type: { type: "string", enum: ["postgres", "mysql", "mongodb", "redis", "other"], description: "Engine" },
10878
10988
  schema_version: { type: "string", description: "Current schema version" },
10879
- migration_status: { type: "string", enum: ["current", "pending", "failed"], description: "Pending-migration status" },
10880
10989
  owner: { type: "string", description: "Owning person or team responsible for design and migrations. Promote to a `node_owned_by_team` edge if ownership must be queryable." },
10881
10990
  table_count: { type: "number", description: "Tables or collections in this schema. Useful for migration scope estimation.", modifier: "derived" }
10882
10991
  },
@@ -10931,7 +11040,6 @@ var UPG_PROPERTY_SCHEMA = {
10931
11040
  deployment: {
10932
11041
  environment: { type: "string", enum: ["dev", "staging", "prod"], description: "Target environment" },
10933
11042
  timestamp: { type: "string", description: "ISO timestamp" },
10934
- deploy_status: { type: "string", enum: ["success", "failure", "rolling"], description: "Current status" },
10935
11043
  sha: { type: "string", description: "Git SHA of the deployed commit" },
10936
11044
  duration_seconds: { type: "number", description: "Wall-clock duration in seconds. Tracks deployment speed trends." },
10937
11045
  deployer: { type: "string", description: "Triggering person or system. Promote to a `node_owned_by_person` edge if ownership must be queryable." }
@@ -11259,8 +11367,7 @@ var UPG_PROPERTY_SCHEMA = {
11259
11367
  provider: { type: "string", description: "Provider" },
11260
11368
  base_url: { type: "string", description: "Base URL" },
11261
11369
  auth_type: { type: "string", enum: ["api_key", "oauth2", "jwt", "basic", "none"], description: "Authentication method" },
11262
- rate_limits: { type: "string", description: "Rate limit description" },
11263
- api_status: { type: "string", enum: ["active", "deprecated", "beta", "unavailable"], description: "Availability" }
11370
+ rate_limits: { type: "string", description: "Rate limit description" }
11264
11371
  },
11265
11372
  // FeasibilityStudyProperties: FeasibilityStudy entity.
11266
11373
  feasibility_study: {
@@ -11294,13 +11401,11 @@ var UPG_PROPERTY_SCHEMA = {
11294
11401
  feature_count: { type: "number", description: "Approximate feature count under this area. Snapshot; `feature_area_contains_feature` edges are the source of truth.", modifier: "derived" },
11295
11402
  owner: { type: "string", description: "Area owner (handle or email). Promote to a `node_owned_by_team` edge if ownership must be queryable." },
11296
11403
  priority: { type: "string", enum: ["urgent", "high", "medium", "low", "none"], description: "Importance to the product overall" },
11297
- maturity: { type: "string", enum: ["nascent", "growing", "mature", "legacy"], description: "Maturity. `nascent` = newly-formed grouping. `mature` = established surface. `legacy` = being phased out for a successor." },
11298
- area_status: { type: "string", enum: ["active", "planned", "deprecated"], description: "Status in the product structure" }
11404
+ maturity: { type: "string", enum: ["nascent", "growing", "mature", "legacy"], description: "Maturity. `nascent` = newly-formed grouping. `mature` = established surface. `legacy` = being phased out for a successor." }
11299
11405
  },
11300
11406
  // FeatureFlagProperties: Feature flag.
11301
11407
  feature_flag: {
11302
11408
  key: { type: "string", description: 'Required. Stable flag key used in code (e.g. "new-checkout-flow").' },
11303
- flag_status: { type: "string", enum: ["on", "off", "rollout"], description: "Activation state. `on` = enabled for all. `off` = disabled for all. `rollout` = partial via targeting_rules." },
11304
11409
  rollout_pct: { type: "number", description: "Percentage enabled (0\u2013100). Meaningful when `flag_status === 'rollout'`.", modifier: "snapshot" },
11305
11410
  targeting_rules: { type: "string", description: "Human-readable targeting rules. Full rule evaluation happens in the flag service." },
11306
11411
  owner: { type: "string", description: "Owning person or team responsible for the flag's lifecycle. Promote to a `node_owned_by_person` edge if ownership must be queryable." },
@@ -11907,8 +12012,7 @@ var UPG_PROPERTY_SCHEMA = {
11907
12012
  marketing_channel: {
11908
12013
  channel_type: { type: "string", enum: ["social", "email", "seo", "sem", "content", "events", "other"], description: "Category of marketing channel" },
11909
12014
  monthly_budget: { type: "number", description: "Monthly spend allocated to this channel", modifier: "snapshot" },
11910
- roi: { type: "number", description: "Return on investment ratio" },
11911
- channel_status: { type: "string", enum: ["active", "paused", "deprecated"], description: "Operational status of the channel" }
12015
+ roi: { type: "number", description: "Return on investment ratio" }
11912
12016
  },
11913
12017
  // MarketingStrategyProperties: Marketing strategy.
11914
12018
  marketing_strategy: {
@@ -12066,7 +12170,6 @@ var UPG_PROPERTY_SCHEMA = {
12066
12170
  // ObjectiveProperties: A high-level strategic goal. The O in OKR.
12067
12171
  objective: {
12068
12172
  timeframe: { type: "string", description: 'Planning timeframe (e.g. "Q1 2026", "H1 2026")' },
12069
- objective_status: { type: "string", enum: ["active", "achieved", "deferred"], description: "Current status" },
12070
12173
  progress: { type: "number", description: "Overall progress (0\u2013100)" }
12071
12174
  },
12072
12175
  // ObservationProperties: Discrete observation captured during research. Absorbed from the deprecated Highlight entity.
@@ -12115,8 +12218,7 @@ var UPG_PROPERTY_SCHEMA = {
12115
12218
  normalized: { type: "number", description: "Normalized 0-1 value for cross-tool comparison (optional)." }
12116
12219
  },
12117
12220
  required: ["value", "label"]
12118
- },
12119
- outcome_status: { type: "string", enum: ["identified", "measuring", "achieved", "abandoned"], description: "Current lifecycle phase, mirroring the `outcome` lifecycle in `grammar/lifecycles.ts` (UPG-579 Option B): `identified` -> `measuring` -> `achieved` | `abandoned`." }
12221
+ }
12120
12222
  },
12121
12223
  // ParticipantProperties: Research participant.
12122
12224
  participant: {
@@ -12328,7 +12430,6 @@ var UPG_PROPERTY_SCHEMA = {
12328
12430
  // PrototypeProperties: Prototype.
12329
12431
  prototype: {
12330
12432
  fidelity: { type: "string", enum: ["low", "medium", "high"], description: "Detail level" },
12331
- test_status: { type: "string", enum: ["untested", "testing", "passed", "failed"], description: "User-test status" },
12332
12433
  tool: { type: "string", description: "Authoring tool" }
12333
12434
  },
12334
12435
  // QaSessionProperties: QA session.
@@ -12458,8 +12559,7 @@ var UPG_PROPERTY_SCHEMA = {
12458
12559
  // ReviewGateProperties: Review gate.
12459
12560
  review_gate: {
12460
12561
  gate_type: { type: "string", enum: ["human_review", "automated_check", "approval"], description: "Kind of review required at this gate" },
12461
- required_approvers: { type: "string[]", description: "People or roles that must approve. Promote to `node_owned_by_person` edges (one per name) if ownership must be queryable." },
12462
- gate_status: { type: "string", enum: ["pending", "approved", "rejected", "bypassed"], description: "Current approval status of the gate" }
12562
+ required_approvers: { type: "string[]", description: "People or roles that must approve. Promote to `node_owned_by_person` edges (one per name) if ownership must be queryable." }
12463
12563
  },
12464
12564
  // RiskProperties: Risk.
12465
12565
  risk: {
@@ -12504,7 +12604,6 @@ var UPG_PROPERTY_SCHEMA = {
12504
12604
  roadmap_item: {
12505
12605
  quarter: { type: "string", description: 'Planning quarter (e.g. "Q2 2026"). Pair with `start_date`/`target_date` for precise scheduling.' },
12506
12606
  priority: { type: "string", enum: ["urgent", "high", "medium", "low", "none"], description: "Importance against other items" },
12507
- item_status: { type: "string", enum: ["planned", "in_progress", "shipped", "deferred"], description: "Status. `deferred` = explicitly pushed to a later period." },
12508
12607
  confidence: {
12509
12608
  type: "assessment",
12510
12609
  scale_id: "confidence_5",
@@ -12584,7 +12683,6 @@ var UPG_PROPERTY_SCHEMA = {
12584
12683
  // SecurityAuditProperties: Security audit.
12585
12684
  security_audit: {
12586
12685
  audit_scope: { type: "string", description: "Systems or processes covered by the audit" },
12587
- audit_status: { type: "string", enum: ["scheduled", "in_progress", "completed"], description: "Current progress of the audit" },
12588
12686
  findings_count: { type: "number", description: "Total number of findings", modifier: "derived" },
12589
12687
  critical_findings: { type: "number", description: "Number of critical-severity findings" }
12590
12688
  },
@@ -29517,7 +29615,7 @@ function isCanonical(text) {
29517
29615
  }
29518
29616
 
29519
29617
  // src/index.ts
29520
- var UPG_VERSION = "0.14.1";
29618
+ var UPG_VERSION = "0.15.0";
29521
29619
  var UPG_FORMAT_VERSION = "0.4.0";
29522
29620
  var MARKDOWN_FORMAT_VERSION = "0.1";
29523
29621
  var UPG_TYPES = getTypes();