@unified-product-graph/core 0.20.1 → 0.21.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 +295 -573
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -14
- package/dist/index.d.ts +2 -14
- package/dist/index.js +295 -573
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4097,37 +4097,6 @@ var PRODUCT_LIFECYCLE = {
|
|
|
4097
4097
|
}
|
|
4098
4098
|
]
|
|
4099
4099
|
};
|
|
4100
|
-
var RESEARCH_STUDY_LIFECYCLE = {
|
|
4101
|
-
entity_type: "research_study",
|
|
4102
|
-
initial_phase: "planned",
|
|
4103
|
-
terminal_phases: ["complete"],
|
|
4104
|
-
phases: [
|
|
4105
|
-
{
|
|
4106
|
-
id: "planned",
|
|
4107
|
-
label: "Planned",
|
|
4108
|
-
description: "The study has been scoped and scheduled. Research questions are defined, method is chosen, participants have not yet been recruited or sessions started.",
|
|
4109
|
-
transitions_to: ["in_progress"]
|
|
4110
|
-
},
|
|
4111
|
-
{
|
|
4112
|
-
id: "in_progress",
|
|
4113
|
-
label: "In Progress",
|
|
4114
|
-
description: "Research sessions are actively running. Participants are being interviewed, observed, or surveyed. Data is being collected.",
|
|
4115
|
-
transitions_to: ["analysing"]
|
|
4116
|
-
},
|
|
4117
|
-
{
|
|
4118
|
-
id: "analysing",
|
|
4119
|
-
label: "Analysing",
|
|
4120
|
-
description: "Data collection is complete. The team is reviewing recordings, notes, and responses to identify patterns and insights.",
|
|
4121
|
-
transitions_to: ["complete"]
|
|
4122
|
-
},
|
|
4123
|
-
{
|
|
4124
|
-
id: "complete",
|
|
4125
|
-
label: "Complete",
|
|
4126
|
-
description: "Analysis is done. Insights have been captured and shared. The study is a historical record.",
|
|
4127
|
-
transitions_to: []
|
|
4128
|
-
}
|
|
4129
|
-
]
|
|
4130
|
-
};
|
|
4131
4100
|
var NEED_LIFECYCLE = {
|
|
4132
4101
|
entity_type: "need",
|
|
4133
4102
|
initial_phase: "raw",
|
|
@@ -4209,74 +4178,6 @@ var SOLUTION_LIFECYCLE = {
|
|
|
4209
4178
|
}
|
|
4210
4179
|
]
|
|
4211
4180
|
};
|
|
4212
|
-
var HYPOTHESIS_CLAIM_LIFECYCLE = {
|
|
4213
|
-
entity_type: "hypothesis",
|
|
4214
|
-
initial_phase: "drafted",
|
|
4215
|
-
terminal_phases: ["validated", "invalidated", "archived"],
|
|
4216
|
-
phases: [
|
|
4217
|
-
{
|
|
4218
|
-
id: "drafted",
|
|
4219
|
-
label: "Drafted",
|
|
4220
|
-
description: "The claim is being written. We_believe / will_result_in / we_know_when may not yet be complete. Not yet committed for testing.",
|
|
4221
|
-
transitions_to: ["active", "archived"]
|
|
4222
|
-
},
|
|
4223
|
-
{
|
|
4224
|
-
id: "active",
|
|
4225
|
-
label: "Active",
|
|
4226
|
-
description: "The claim is committed and being tested. Experiments may be running; evidence may be accruing via supports/refutes edges. current_confidence updates as evidence weight shifts.",
|
|
4227
|
-
transitions_to: ["validated", "invalidated", "archived"]
|
|
4228
|
-
},
|
|
4229
|
-
{
|
|
4230
|
-
id: "validated",
|
|
4231
|
-
label: "Validated",
|
|
4232
|
-
description: "Evidence sufficiently supports the claim. The belief held. Reopens to `active` if new evidence materially changes the picture.",
|
|
4233
|
-
transitions_to: ["active"]
|
|
4234
|
-
},
|
|
4235
|
-
{
|
|
4236
|
-
id: "invalidated",
|
|
4237
|
-
label: "Invalidated",
|
|
4238
|
-
description: "Evidence sufficiently refutes the claim. The belief did not hold. Reopens to `active` if new evidence materially changes the picture.",
|
|
4239
|
-
transitions_to: ["active"]
|
|
4240
|
-
},
|
|
4241
|
-
{
|
|
4242
|
-
id: "archived",
|
|
4243
|
-
label: "Archived",
|
|
4244
|
-
description: "Set aside without resolution: superseded by a new claim, deprioritised, or no longer relevant. Reopens to `active` if revisited.",
|
|
4245
|
-
transitions_to: ["active"]
|
|
4246
|
-
}
|
|
4247
|
-
]
|
|
4248
|
-
};
|
|
4249
|
-
var EXPERIMENT_LIFECYCLE = {
|
|
4250
|
-
entity_type: "experiment",
|
|
4251
|
-
initial_phase: "planned",
|
|
4252
|
-
terminal_phases: ["done"],
|
|
4253
|
-
phases: [
|
|
4254
|
-
{
|
|
4255
|
-
id: "planned",
|
|
4256
|
-
label: "Planned",
|
|
4257
|
-
description: "The experiment has been designed. Method, sample size, success criteria, and timeline are defined. It has not started yet.",
|
|
4258
|
-
transitions_to: ["running"]
|
|
4259
|
-
},
|
|
4260
|
-
{
|
|
4261
|
-
id: "running",
|
|
4262
|
-
label: "Running",
|
|
4263
|
-
description: "The experiment is live and collecting data. Traffic is being split, interviews are being conducted, or surveys are being distributed.",
|
|
4264
|
-
transitions_to: ["analysing"]
|
|
4265
|
-
},
|
|
4266
|
-
{
|
|
4267
|
-
id: "analysing",
|
|
4268
|
-
label: "Analysing",
|
|
4269
|
-
description: "Data collection is complete. The team is reviewing results, running statistical analysis, and deriving conclusions.",
|
|
4270
|
-
transitions_to: ["done"]
|
|
4271
|
-
},
|
|
4272
|
-
{
|
|
4273
|
-
id: "done",
|
|
4274
|
-
label: "Done",
|
|
4275
|
-
description: "The experiment is concluded. Learnings have been captured. The experiment is a historical record.",
|
|
4276
|
-
transitions_to: []
|
|
4277
|
-
}
|
|
4278
|
-
]
|
|
4279
|
-
};
|
|
4280
4181
|
var EXPERIMENT_PLAN_LIFECYCLE = {
|
|
4281
4182
|
entity_type: "experiment_plan",
|
|
4282
4183
|
initial_phase: "drafted",
|
|
@@ -4308,31 +4209,6 @@ var EXPERIMENT_PLAN_LIFECYCLE = {
|
|
|
4308
4209
|
}
|
|
4309
4210
|
]
|
|
4310
4211
|
};
|
|
4311
|
-
var EXPERIMENT_RUN_LIFECYCLE = {
|
|
4312
|
-
entity_type: "experiment_run",
|
|
4313
|
-
initial_phase: "in_progress",
|
|
4314
|
-
terminal_phases: ["complete", "aborted"],
|
|
4315
|
-
phases: [
|
|
4316
|
-
{
|
|
4317
|
-
id: "in_progress",
|
|
4318
|
-
label: "In Progress",
|
|
4319
|
-
description: "The run is actively collecting data. Traffic is being split, interviews are happening, or surveys are out. Outcome and disposition are not yet recorded.",
|
|
4320
|
-
transitions_to: ["complete", "aborted"]
|
|
4321
|
-
},
|
|
4322
|
-
{
|
|
4323
|
-
id: "complete",
|
|
4324
|
-
label: "Complete",
|
|
4325
|
-
description: "Data collection finished and a disposition was recorded (confirmed, disconfirmed, or inconclusive). Learnings captured; outcome edges (validates, produced_insight, informed_decision) wired to downstream entities.",
|
|
4326
|
-
transitions_to: []
|
|
4327
|
-
},
|
|
4328
|
-
{
|
|
4329
|
-
id: "aborted",
|
|
4330
|
-
label: "Aborted",
|
|
4331
|
-
description: "Terminated early without a valid finding: infrastructure failure, exposure threshold not met, or the underlying plan was withdrawn. No disposition recorded.",
|
|
4332
|
-
transitions_to: []
|
|
4333
|
-
}
|
|
4334
|
-
]
|
|
4335
|
-
};
|
|
4336
4212
|
var RESEARCH_PLAN_LIFECYCLE = {
|
|
4337
4213
|
entity_type: "research_plan",
|
|
4338
4214
|
initial_phase: "draft",
|
|
@@ -4500,31 +4376,6 @@ var USER_ADVISORY_BOARD_LIFECYCLE = {
|
|
|
4500
4376
|
}
|
|
4501
4377
|
]
|
|
4502
4378
|
};
|
|
4503
|
-
var DESIGN_SPRINT_LIFECYCLE = {
|
|
4504
|
-
entity_type: "design_sprint",
|
|
4505
|
-
initial_phase: "planning",
|
|
4506
|
-
terminal_phases: ["completed"],
|
|
4507
|
-
phases: [
|
|
4508
|
-
{
|
|
4509
|
-
id: "planning",
|
|
4510
|
-
label: "Planning",
|
|
4511
|
-
description: "The sprint challenge has been defined. Participants are identified. Space and materials are being arranged.",
|
|
4512
|
-
transitions_to: ["in_progress"]
|
|
4513
|
-
},
|
|
4514
|
-
{
|
|
4515
|
-
id: "in_progress",
|
|
4516
|
-
label: "In Progress",
|
|
4517
|
-
description: "The sprint is running. The team is moving through understand, sketch, decide, prototype, and test phases.",
|
|
4518
|
-
transitions_to: ["completed"]
|
|
4519
|
-
},
|
|
4520
|
-
{
|
|
4521
|
-
id: "completed",
|
|
4522
|
-
label: "Completed",
|
|
4523
|
-
description: "The sprint has concluded. Decisions and prototypes have been captured. Learnings inform next steps.",
|
|
4524
|
-
transitions_to: []
|
|
4525
|
-
}
|
|
4526
|
-
]
|
|
4527
|
-
};
|
|
4528
4379
|
var OBJECTIVE_LIFECYCLE = {
|
|
4529
4380
|
entity_type: "objective",
|
|
4530
4381
|
initial_phase: "draft",
|
|
@@ -4674,37 +4525,6 @@ var STRATEGIC_PILLAR_LIFECYCLE = {
|
|
|
4674
4525
|
}
|
|
4675
4526
|
]
|
|
4676
4527
|
};
|
|
4677
|
-
var ASSUMPTION_LIFECYCLE = {
|
|
4678
|
-
entity_type: "assumption",
|
|
4679
|
-
initial_phase: "untested",
|
|
4680
|
-
terminal_phases: ["validated", "invalidated"],
|
|
4681
|
-
phases: [
|
|
4682
|
-
{
|
|
4683
|
-
id: "untested",
|
|
4684
|
-
label: "Untested",
|
|
4685
|
-
description: "Stated and acknowledged, awaiting systematic test. Some strategic assumptions stay untested by design.",
|
|
4686
|
-
transitions_to: ["testing"]
|
|
4687
|
-
},
|
|
4688
|
-
{
|
|
4689
|
-
id: "testing",
|
|
4690
|
-
label: "Testing",
|
|
4691
|
-
description: "An experiment or research activity is underway to test this assumption. Evidence is being gathered.",
|
|
4692
|
-
transitions_to: ["validated", "invalidated"]
|
|
4693
|
-
},
|
|
4694
|
-
{
|
|
4695
|
-
id: "validated",
|
|
4696
|
-
label: "Validated",
|
|
4697
|
-
description: "Evidence supports the assumption. The belief has been confirmed. Decisions resting on it are on firmer ground.",
|
|
4698
|
-
transitions_to: []
|
|
4699
|
-
},
|
|
4700
|
-
{
|
|
4701
|
-
id: "invalidated",
|
|
4702
|
-
label: "Invalidated",
|
|
4703
|
-
description: "Evidence contradicts the assumption. Decisions or plans that rested on it should be revisited.",
|
|
4704
|
-
transitions_to: []
|
|
4705
|
-
}
|
|
4706
|
-
]
|
|
4707
|
-
};
|
|
4708
4528
|
var STRATEGIC_QUESTION_LIFECYCLE = {
|
|
4709
4529
|
entity_type: "strategic_question",
|
|
4710
4530
|
initial_phase: "open",
|
|
@@ -4813,31 +4633,6 @@ var FEATURE_LIFECYCLE = {
|
|
|
4813
4633
|
}
|
|
4814
4634
|
]
|
|
4815
4635
|
};
|
|
4816
|
-
var EPIC_LIFECYCLE = {
|
|
4817
|
-
entity_type: "epic",
|
|
4818
|
-
initial_phase: "todo",
|
|
4819
|
-
terminal_phases: ["done"],
|
|
4820
|
-
phases: [
|
|
4821
|
-
{
|
|
4822
|
-
id: "todo",
|
|
4823
|
-
label: "To Do",
|
|
4824
|
-
description: "The epic has been defined and scoped but work has not started. It is in the backlog.",
|
|
4825
|
-
transitions_to: ["in_progress"]
|
|
4826
|
-
},
|
|
4827
|
-
{
|
|
4828
|
-
id: "in_progress",
|
|
4829
|
-
label: "In Progress",
|
|
4830
|
-
description: "Work on the epic is underway. Stories are being pulled into sprints.",
|
|
4831
|
-
transitions_to: ["done"]
|
|
4832
|
-
},
|
|
4833
|
-
{
|
|
4834
|
-
id: "done",
|
|
4835
|
-
label: "Done",
|
|
4836
|
-
description: "All stories in the epic have been completed and the epic goal has been achieved.",
|
|
4837
|
-
transitions_to: []
|
|
4838
|
-
}
|
|
4839
|
-
]
|
|
4840
|
-
};
|
|
4841
4636
|
var RELEASE_LIFECYCLE = {
|
|
4842
4637
|
entity_type: "release",
|
|
4843
4638
|
initial_phase: "planned",
|
|
@@ -4863,74 +4658,6 @@ var RELEASE_LIFECYCLE = {
|
|
|
4863
4658
|
}
|
|
4864
4659
|
]
|
|
4865
4660
|
};
|
|
4866
|
-
var TASK_LIFECYCLE = {
|
|
4867
|
-
entity_type: "task",
|
|
4868
|
-
initial_phase: "todo",
|
|
4869
|
-
terminal_phases: ["done"],
|
|
4870
|
-
phases: [
|
|
4871
|
-
{
|
|
4872
|
-
id: "todo",
|
|
4873
|
-
label: "To Do",
|
|
4874
|
-
description: "The task is defined and ready to be picked up.",
|
|
4875
|
-
transitions_to: ["in_progress"]
|
|
4876
|
-
},
|
|
4877
|
-
{
|
|
4878
|
-
id: "in_progress",
|
|
4879
|
-
label: "In Progress",
|
|
4880
|
-
description: "A team member is actively working on this task.",
|
|
4881
|
-
transitions_to: ["in_review", "done"]
|
|
4882
|
-
},
|
|
4883
|
-
{
|
|
4884
|
-
id: "in_review",
|
|
4885
|
-
label: "In Review",
|
|
4886
|
-
description: "Work is complete and awaiting review, approval, or verification.",
|
|
4887
|
-
transitions_to: ["in_progress", "done"]
|
|
4888
|
-
},
|
|
4889
|
-
{
|
|
4890
|
-
id: "done",
|
|
4891
|
-
label: "Done",
|
|
4892
|
-
description: "The task is complete and verified.",
|
|
4893
|
-
transitions_to: []
|
|
4894
|
-
}
|
|
4895
|
-
]
|
|
4896
|
-
};
|
|
4897
|
-
var BUG_LIFECYCLE = {
|
|
4898
|
-
entity_type: "bug",
|
|
4899
|
-
initial_phase: "open",
|
|
4900
|
-
terminal_phases: ["verified", "wont_fix"],
|
|
4901
|
-
phases: [
|
|
4902
|
-
{
|
|
4903
|
-
id: "open",
|
|
4904
|
-
label: "Open",
|
|
4905
|
-
description: "The bug has been reported but not yet triaged or assigned.",
|
|
4906
|
-
transitions_to: ["in_progress", "wont_fix"]
|
|
4907
|
-
},
|
|
4908
|
-
{
|
|
4909
|
-
id: "in_progress",
|
|
4910
|
-
label: "In Progress",
|
|
4911
|
-
description: "A developer is investigating and/or fixing the bug.",
|
|
4912
|
-
transitions_to: ["fixed", "wont_fix"]
|
|
4913
|
-
},
|
|
4914
|
-
{
|
|
4915
|
-
id: "fixed",
|
|
4916
|
-
label: "Fixed",
|
|
4917
|
-
description: "A fix has been implemented and merged. Awaiting verification in the target environment.",
|
|
4918
|
-
transitions_to: ["verified", "open"]
|
|
4919
|
-
},
|
|
4920
|
-
{
|
|
4921
|
-
id: "verified",
|
|
4922
|
-
label: "Verified",
|
|
4923
|
-
description: "The fix has been confirmed to resolve the bug in the target environment.",
|
|
4924
|
-
transitions_to: []
|
|
4925
|
-
},
|
|
4926
|
-
{
|
|
4927
|
-
id: "wont_fix",
|
|
4928
|
-
label: "Won't Fix",
|
|
4929
|
-
description: "Declined: by design, too costly relative to impact, or superseded by other work.",
|
|
4930
|
-
transitions_to: []
|
|
4931
|
-
}
|
|
4932
|
-
]
|
|
4933
|
-
};
|
|
4934
4661
|
var ROADMAP_ITEM_LIFECYCLE = {
|
|
4935
4662
|
entity_type: "roadmap_item",
|
|
4936
4663
|
initial_phase: "planned",
|
|
@@ -5073,37 +4800,6 @@ var DESIGN_CONCEPT_LIFECYCLE = {
|
|
|
5073
4800
|
}
|
|
5074
4801
|
]
|
|
5075
4802
|
};
|
|
5076
|
-
var PROTOTYPE_LIFECYCLE = {
|
|
5077
|
-
entity_type: "prototype",
|
|
5078
|
-
initial_phase: "untested",
|
|
5079
|
-
terminal_phases: ["passed", "failed"],
|
|
5080
|
-
phases: [
|
|
5081
|
-
{
|
|
5082
|
-
id: "untested",
|
|
5083
|
-
label: "Untested",
|
|
5084
|
-
description: "The prototype has been built but has not yet been put in front of users.",
|
|
5085
|
-
transitions_to: ["testing"]
|
|
5086
|
-
},
|
|
5087
|
-
{
|
|
5088
|
-
id: "testing",
|
|
5089
|
-
label: "Testing",
|
|
5090
|
-
description: "The prototype is being tested with users. Sessions are underway.",
|
|
5091
|
-
transitions_to: ["passed", "failed"]
|
|
5092
|
-
},
|
|
5093
|
-
{
|
|
5094
|
-
id: "passed",
|
|
5095
|
-
label: "Passed",
|
|
5096
|
-
description: "Testing confirmed the design concept works for users. It is ready to inform detailed design or development.",
|
|
5097
|
-
transitions_to: []
|
|
5098
|
-
},
|
|
5099
|
-
{
|
|
5100
|
-
id: "failed",
|
|
5101
|
-
label: "Failed",
|
|
5102
|
-
description: "Testing revealed significant usability or concept problems. Learnings will inform a new design direction.",
|
|
5103
|
-
transitions_to: []
|
|
5104
|
-
}
|
|
5105
|
-
]
|
|
5106
|
-
};
|
|
5107
4803
|
var BRAND_IDENTITY_LIFECYCLE = {
|
|
5108
4804
|
entity_type: "brand_identity",
|
|
5109
4805
|
initial_phase: "exploratory",
|
|
@@ -5129,6 +4825,43 @@ var BRAND_IDENTITY_LIFECYCLE = {
|
|
|
5129
4825
|
}
|
|
5130
4826
|
]
|
|
5131
4827
|
};
|
|
4828
|
+
var SCREEN_LIFECYCLE = {
|
|
4829
|
+
entity_type: "screen",
|
|
4830
|
+
initial_phase: "draft",
|
|
4831
|
+
terminal_phases: ["deprecated"],
|
|
4832
|
+
phases: [
|
|
4833
|
+
{
|
|
4834
|
+
id: "draft",
|
|
4835
|
+
label: "Draft",
|
|
4836
|
+
description: "The screen is a rough idea: named and scoped, but not yet worked in a design tool.",
|
|
4837
|
+
transitions_to: ["in_design"]
|
|
4838
|
+
},
|
|
4839
|
+
{
|
|
4840
|
+
id: "in_design",
|
|
4841
|
+
label: "In Design",
|
|
4842
|
+
description: "The screen is being designed: wireframes, mockups, or prototypes are in progress. May fall back to `draft` if the approach is rethought from scratch.",
|
|
4843
|
+
transitions_to: ["built", "draft"]
|
|
4844
|
+
},
|
|
4845
|
+
{
|
|
4846
|
+
id: "built",
|
|
4847
|
+
label: "Built",
|
|
4848
|
+
description: "The screen has been implemented in code. It exists in a build but is not yet live for users. May return to `in_design` if implementation surfaces a design gap.",
|
|
4849
|
+
transitions_to: ["shipped", "in_design"]
|
|
4850
|
+
},
|
|
4851
|
+
{
|
|
4852
|
+
id: "shipped",
|
|
4853
|
+
label: "Shipped",
|
|
4854
|
+
description: "The screen is live in production and reachable by users.",
|
|
4855
|
+
transitions_to: ["deprecated"]
|
|
4856
|
+
},
|
|
4857
|
+
{
|
|
4858
|
+
id: "deprecated",
|
|
4859
|
+
label: "Deprecated",
|
|
4860
|
+
description: "The screen has been retired. It is no longer reachable, or is being phased out in favour of a replacement.",
|
|
4861
|
+
transitions_to: []
|
|
4862
|
+
}
|
|
4863
|
+
]
|
|
4864
|
+
};
|
|
5132
4865
|
var SERVICE_LIFECYCLE = {
|
|
5133
4866
|
entity_type: "service",
|
|
5134
4867
|
initial_phase: "development",
|
|
@@ -5210,43 +4943,6 @@ var FEATURE_FLAG_LIFECYCLE = {
|
|
|
5210
4943
|
}
|
|
5211
4944
|
]
|
|
5212
4945
|
};
|
|
5213
|
-
var TECHNICAL_DEBT_ITEM_LIFECYCLE = {
|
|
5214
|
-
entity_type: "technical_debt_item",
|
|
5215
|
-
initial_phase: "identified",
|
|
5216
|
-
terminal_phases: ["resolved", "accepted"],
|
|
5217
|
-
phases: [
|
|
5218
|
-
{
|
|
5219
|
-
id: "identified",
|
|
5220
|
-
label: "Identified",
|
|
5221
|
-
description: "The debt has been recognised and documented. It has not yet been triaged for action.",
|
|
5222
|
-
transitions_to: ["acknowledged", "accepted"]
|
|
5223
|
-
},
|
|
5224
|
-
{
|
|
5225
|
-
id: "acknowledged",
|
|
5226
|
-
label: "Acknowledged",
|
|
5227
|
-
description: "The team agrees the debt exists and has assessed its severity. A decision on when to address it is pending.",
|
|
5228
|
-
transitions_to: ["in_progress", "accepted"]
|
|
5229
|
-
},
|
|
5230
|
-
{
|
|
5231
|
-
id: "in_progress",
|
|
5232
|
-
label: "In Progress",
|
|
5233
|
-
description: "Work is underway to address and remediate the debt.",
|
|
5234
|
-
transitions_to: ["resolved"]
|
|
5235
|
-
},
|
|
5236
|
-
{
|
|
5237
|
-
id: "resolved",
|
|
5238
|
-
label: "Resolved",
|
|
5239
|
-
description: "The debt has been addressed. The code or system has been improved.",
|
|
5240
|
-
transitions_to: []
|
|
5241
|
-
},
|
|
5242
|
-
{
|
|
5243
|
-
id: "accepted",
|
|
5244
|
-
label: "Accepted",
|
|
5245
|
-
description: "A conscious decision to live with the debt. Remediation cost outweighs current value.",
|
|
5246
|
-
transitions_to: []
|
|
5247
|
-
}
|
|
5248
|
-
]
|
|
5249
|
-
};
|
|
5250
4946
|
var INVESTIGATION_LIFECYCLE = {
|
|
5251
4947
|
entity_type: "investigation",
|
|
5252
4948
|
initial_phase: "open",
|
|
@@ -5377,49 +5073,6 @@ var INCIDENT_LIFECYCLE = {
|
|
|
5377
5073
|
}
|
|
5378
5074
|
]
|
|
5379
5075
|
};
|
|
5380
|
-
var VULNERABILITY_LIFECYCLE = {
|
|
5381
|
-
entity_type: "vulnerability",
|
|
5382
|
-
initial_phase: "open",
|
|
5383
|
-
terminal_phases: ["resolved", "accepted"],
|
|
5384
|
-
phases: [
|
|
5385
|
-
{
|
|
5386
|
-
id: "open",
|
|
5387
|
-
label: "Open",
|
|
5388
|
-
description: "The vulnerability has been identified. It has not yet been assessed for severity or assigned for remediation.",
|
|
5389
|
-
transitions_to: ["triaged"]
|
|
5390
|
-
},
|
|
5391
|
-
{
|
|
5392
|
-
id: "triaged",
|
|
5393
|
-
label: "Triaged",
|
|
5394
|
-
description: "The vulnerability has been assessed. CVSS score assigned. Priority and ownership determined.",
|
|
5395
|
-
transitions_to: ["in_progress", "accepted"]
|
|
5396
|
-
},
|
|
5397
|
-
{
|
|
5398
|
-
id: "in_progress",
|
|
5399
|
-
label: "In Progress",
|
|
5400
|
-
description: "Remediation work is actively underway. A fix is being developed or a compensating control is being implemented.",
|
|
5401
|
-
transitions_to: ["mitigated", "resolved"]
|
|
5402
|
-
},
|
|
5403
|
-
{
|
|
5404
|
-
id: "mitigated",
|
|
5405
|
-
label: "Mitigated",
|
|
5406
|
-
description: "A compensating control is in place. Immediate risk is reduced but the root vulnerability has not been patched.",
|
|
5407
|
-
transitions_to: ["resolved", "accepted"]
|
|
5408
|
-
},
|
|
5409
|
-
{
|
|
5410
|
-
id: "resolved",
|
|
5411
|
-
label: "Resolved",
|
|
5412
|
-
description: "The vulnerability has been fully remediated. The underlying issue is patched or eliminated.",
|
|
5413
|
-
transitions_to: []
|
|
5414
|
-
},
|
|
5415
|
-
{
|
|
5416
|
-
id: "accepted",
|
|
5417
|
-
label: "Accepted",
|
|
5418
|
-
description: "Formally acknowledged by the security team. Remediation is parked: low severity, compensating controls, or cost/benefit analysis.",
|
|
5419
|
-
transitions_to: []
|
|
5420
|
-
}
|
|
5421
|
-
]
|
|
5422
|
-
};
|
|
5423
5076
|
var SECURITY_CONTROL_LIFECYCLE = {
|
|
5424
5077
|
entity_type: "security_control",
|
|
5425
5078
|
initial_phase: "planned",
|
|
@@ -5451,49 +5104,6 @@ var SECURITY_CONTROL_LIFECYCLE = {
|
|
|
5451
5104
|
}
|
|
5452
5105
|
]
|
|
5453
5106
|
};
|
|
5454
|
-
var A11Y_ISSUE_LIFECYCLE = {
|
|
5455
|
-
entity_type: "a11y_issue",
|
|
5456
|
-
initial_phase: "open",
|
|
5457
|
-
terminal_phases: ["verified", "accepted"],
|
|
5458
|
-
phases: [
|
|
5459
|
-
{
|
|
5460
|
-
id: "open",
|
|
5461
|
-
label: "Open",
|
|
5462
|
-
description: "The accessibility issue has been identified. It has not yet been triaged for severity or assigned for remediation.",
|
|
5463
|
-
transitions_to: ["triaged"]
|
|
5464
|
-
},
|
|
5465
|
-
{
|
|
5466
|
-
id: "triaged",
|
|
5467
|
-
label: "Triaged",
|
|
5468
|
-
description: "The issue has been assessed for severity and mapped to the affected WCAG criterion. Priority has been assigned.",
|
|
5469
|
-
transitions_to: ["in_progress", "accepted"]
|
|
5470
|
-
},
|
|
5471
|
-
{
|
|
5472
|
-
id: "in_progress",
|
|
5473
|
-
label: "In Progress",
|
|
5474
|
-
description: "A developer or designer is actively working to fix the accessibility issue.",
|
|
5475
|
-
transitions_to: ["fixed"]
|
|
5476
|
-
},
|
|
5477
|
-
{
|
|
5478
|
-
id: "fixed",
|
|
5479
|
-
label: "Fixed",
|
|
5480
|
-
description: "The fix has been implemented. Awaiting verification with assistive technology.",
|
|
5481
|
-
transitions_to: ["verified", "in_progress"]
|
|
5482
|
-
},
|
|
5483
|
-
{
|
|
5484
|
-
id: "verified",
|
|
5485
|
-
label: "Verified",
|
|
5486
|
-
description: "The fix has been confirmed to resolve the accessibility barrier using appropriate assistive technology.",
|
|
5487
|
-
transitions_to: []
|
|
5488
|
-
},
|
|
5489
|
-
{
|
|
5490
|
-
id: "accepted",
|
|
5491
|
-
label: "Accepted",
|
|
5492
|
-
description: "The team has formally acknowledged this issue and made a documented decision not to fix it at this time.",
|
|
5493
|
-
transitions_to: []
|
|
5494
|
-
}
|
|
5495
|
-
]
|
|
5496
|
-
};
|
|
5497
5107
|
var DATA_PIPELINE_LIFECYCLE = {
|
|
5498
5108
|
entity_type: "data_pipeline",
|
|
5499
5109
|
initial_phase: "building",
|
|
@@ -5568,37 +5178,6 @@ var AI_MODEL_LIFECYCLE = {
|
|
|
5568
5178
|
}
|
|
5569
5179
|
]
|
|
5570
5180
|
};
|
|
5571
|
-
var EVAL_RUN_LIFECYCLE = {
|
|
5572
|
-
entity_type: "eval_run",
|
|
5573
|
-
initial_phase: "planned",
|
|
5574
|
-
terminal_phases: ["complete", "failed"],
|
|
5575
|
-
phases: [
|
|
5576
|
-
{
|
|
5577
|
-
id: "planned",
|
|
5578
|
-
label: "Planned",
|
|
5579
|
-
description: "The run has been queued. It has not yet started executing.",
|
|
5580
|
-
transitions_to: ["running"]
|
|
5581
|
-
},
|
|
5582
|
-
{
|
|
5583
|
-
id: "running",
|
|
5584
|
-
label: "Running",
|
|
5585
|
-
description: "Actively executing. Prompts are being sent and responses scored.",
|
|
5586
|
-
transitions_to: ["complete", "failed"]
|
|
5587
|
-
},
|
|
5588
|
-
{
|
|
5589
|
-
id: "complete",
|
|
5590
|
-
label: "Complete",
|
|
5591
|
-
description: "The run finished successfully. Scores and results are available.",
|
|
5592
|
-
transitions_to: []
|
|
5593
|
-
},
|
|
5594
|
-
{
|
|
5595
|
-
id: "failed",
|
|
5596
|
-
label: "Failed",
|
|
5597
|
-
description: "Failed to complete: API error, timeout, or infrastructure failure. Create a new run to retry.",
|
|
5598
|
-
transitions_to: []
|
|
5599
|
-
}
|
|
5600
|
-
]
|
|
5601
|
-
};
|
|
5602
5181
|
var WORKFLOW_RUN_LIFECYCLE = {
|
|
5603
5182
|
entity_type: "workflow_run",
|
|
5604
5183
|
initial_phase: "pending",
|
|
@@ -5835,29 +5414,6 @@ var TEST_PLAN_LIFECYCLE = {
|
|
|
5835
5414
|
{ id: "cancelled", label: "Cancelled", description: "Plan was abandoned mid-flight: assumption changed, priorities shifted, or the underlying code went away.", transitions_to: [] }
|
|
5836
5415
|
]
|
|
5837
5416
|
};
|
|
5838
|
-
var FEASIBILITY_STUDY_LIFECYCLE = {
|
|
5839
|
-
entity_type: "feasibility_study",
|
|
5840
|
-
initial_phase: "scoped",
|
|
5841
|
-
terminal_phases: ["concluded", "abandoned"],
|
|
5842
|
-
phases: [
|
|
5843
|
-
{ id: "scoped", label: "Scoped", description: "Study has been framed: questions, methods, and budget are agreed.", transitions_to: ["analysing", "abandoned"] },
|
|
5844
|
-
{ id: "analysing", label: "Analysing", description: "Active analysis. Data is being gathered and synthesised.", transitions_to: ["concluded", "abandoned"] },
|
|
5845
|
-
{ id: "concluded", label: "Concluded", description: "Study reached a conclusion. Findings inform a go/no-go decision.", transitions_to: [] },
|
|
5846
|
-
{ id: "abandoned", label: "Abandoned", description: "Study was stopped before reaching a conclusion. Captured for the record.", transitions_to: [] }
|
|
5847
|
-
]
|
|
5848
|
-
};
|
|
5849
|
-
var AI_EXPERIMENT_LIFECYCLE = {
|
|
5850
|
-
entity_type: "ai_experiment",
|
|
5851
|
-
initial_phase: "planned",
|
|
5852
|
-
terminal_phases: ["completed", "abandoned"],
|
|
5853
|
-
phases: [
|
|
5854
|
-
{ id: "planned", label: "Planned", description: "Experiment has been designed but is not yet running.", transitions_to: ["running", "abandoned"] },
|
|
5855
|
-
{ id: "running", label: "Running", description: "Experiment is actively executing: model is being trained, evaluated, or compared.", transitions_to: ["analysed", "abandoned"] },
|
|
5856
|
-
{ id: "analysed", label: "Analysed", description: "Run is finished and results are being reviewed.", transitions_to: ["completed", "abandoned"] },
|
|
5857
|
-
{ id: "completed", label: "Completed", description: "Findings captured. Linked learnings drive downstream decisions.", transitions_to: [] },
|
|
5858
|
-
{ id: "abandoned", label: "Abandoned", description: "Experiment was stopped before producing usable findings.", transitions_to: [] }
|
|
5859
|
-
]
|
|
5860
|
-
};
|
|
5861
5417
|
var AI_DATASET_LIFECYCLE = {
|
|
5862
5418
|
entity_type: "ai_dataset",
|
|
5863
5419
|
initial_phase: "collecting",
|
|
@@ -5880,17 +5436,6 @@ var AI_GUARDRAIL_LIFECYCLE = {
|
|
|
5880
5436
|
{ id: "removed", label: "Removed", description: "Guardrail is no longer enforced. May reopen to active if reinstated.", transitions_to: ["active"] }
|
|
5881
5437
|
]
|
|
5882
5438
|
};
|
|
5883
|
-
var HALLUCINATION_REPORT_LIFECYCLE = {
|
|
5884
|
-
entity_type: "hallucination_report",
|
|
5885
|
-
initial_phase: "reported",
|
|
5886
|
-
terminal_phases: ["resolved", "accepted"],
|
|
5887
|
-
phases: [
|
|
5888
|
-
{ id: "reported", label: "Reported", description: "A hallucination has been observed and logged. Not yet investigated.", transitions_to: ["investigating"] },
|
|
5889
|
-
{ id: "investigating", label: "Investigating", description: "Active investigation: root cause analysis, reproduction, scope.", transitions_to: ["resolved", "accepted"] },
|
|
5890
|
-
{ id: "resolved", label: "Resolved", description: "A fix has shipped. Future occurrences should not happen.", transitions_to: ["investigating"] },
|
|
5891
|
-
{ id: "accepted", label: "Accepted", description: "Known limitation that will not be fixed in this iteration. Documented for users.", transitions_to: ["investigating"] }
|
|
5892
|
-
]
|
|
5893
|
-
};
|
|
5894
5439
|
var MODEL_COMPARISON_LIFECYCLE = {
|
|
5895
5440
|
entity_type: "model_comparison",
|
|
5896
5441
|
initial_phase: "planned",
|
|
@@ -5936,17 +5481,6 @@ var BUSINESS_MODEL_LIFECYCLE = {
|
|
|
5936
5481
|
{ id: "pivoted", label: "Pivoted", description: "Model became something structurally different. Captured as a milestone before the new model takes over.", transitions_to: [] }
|
|
5937
5482
|
]
|
|
5938
5483
|
};
|
|
5939
|
-
var VALUE_PROPOSITION_LIFECYCLE = {
|
|
5940
|
-
entity_type: "value_proposition",
|
|
5941
|
-
initial_phase: "drafted",
|
|
5942
|
-
terminal_phases: ["validated", "invalidated"],
|
|
5943
|
-
phases: [
|
|
5944
|
-
{ id: "drafted", label: "Drafted", description: "Statement of value has been articulated. Not yet tested.", transitions_to: ["testing", "invalidated"] },
|
|
5945
|
-
{ id: "testing", label: "Testing", description: "Statement is being tested against the target audience.", transitions_to: ["validated", "invalidated"] },
|
|
5946
|
-
{ id: "validated", label: "Validated", description: "Audience response confirms the value resonates. Forms the messaging foundation.", transitions_to: ["testing"] },
|
|
5947
|
-
{ id: "invalidated", label: "Invalidated", description: "Statement did not resonate. May reopen to drafted for a rewrite.", transitions_to: ["drafted"] }
|
|
5948
|
-
]
|
|
5949
|
-
};
|
|
5950
5484
|
var REVENUE_STREAM_LIFECYCLE = {
|
|
5951
5485
|
entity_type: "revenue_stream",
|
|
5952
5486
|
initial_phase: "proposed",
|
|
@@ -5958,29 +5492,6 @@ var REVENUE_STREAM_LIFECYCLE = {
|
|
|
5958
5492
|
{ id: "sunset", label: "Sunset", description: "Stream is being wound down. May reopen to piloting if revived.", transitions_to: ["piloting"] }
|
|
5959
5493
|
]
|
|
5960
5494
|
};
|
|
5961
|
-
var SUPPORT_TICKET_LIFECYCLE = {
|
|
5962
|
-
entity_type: "support_ticket",
|
|
5963
|
-
initial_phase: "opened",
|
|
5964
|
-
terminal_phases: ["resolved", "closed"],
|
|
5965
|
-
phases: [
|
|
5966
|
-
{ id: "opened", label: "Opened", description: "Ticket has been filed. Not yet looked at.", transitions_to: ["triaged"] },
|
|
5967
|
-
{ id: "triaged", label: "Triaged", description: "Ticket has been categorised, prioritised, and assigned. Ready for work.", transitions_to: ["in_progress"] },
|
|
5968
|
-
{ id: "in_progress", label: "In Progress", description: "Support is actively working on the ticket.", transitions_to: ["resolved", "triaged"] },
|
|
5969
|
-
{ id: "resolved", label: "Resolved", description: "Support believes the issue is fixed. Awaiting customer confirmation.", transitions_to: ["in_progress", "closed"] },
|
|
5970
|
-
{ id: "closed", label: "Closed", description: "Customer has confirmed. Ticket is fully done.", transitions_to: [] }
|
|
5971
|
-
]
|
|
5972
|
-
};
|
|
5973
|
-
var CUSTOMER_FEEDBACK_LIFECYCLE = {
|
|
5974
|
-
entity_type: "customer_feedback",
|
|
5975
|
-
initial_phase: "received",
|
|
5976
|
-
terminal_phases: ["actioned", "acknowledged"],
|
|
5977
|
-
phases: [
|
|
5978
|
-
{ id: "received", label: "Received", description: "Feedback has been captured. Not yet processed.", transitions_to: ["triaged"] },
|
|
5979
|
-
{ id: "triaged", label: "Triaged", description: "Feedback has been categorised and routed. Decision on action is pending.", transitions_to: ["actioned", "acknowledged"] },
|
|
5980
|
-
{ id: "actioned", label: "Actioned", description: "Feedback drove a change (a feature, a process, a doc update). Captured for the record.", transitions_to: [] },
|
|
5981
|
-
{ id: "acknowledged", label: "Acknowledged", description: "Feedback was read and considered but will not drive a change. Customer has been thanked.", transitions_to: [] }
|
|
5982
|
-
]
|
|
5983
|
-
};
|
|
5984
5495
|
var CUSTOMER_HEALTH_SCORE_LIFECYCLE = {
|
|
5985
5496
|
entity_type: "customer_health_score",
|
|
5986
5497
|
initial_phase: "monitoring",
|
|
@@ -6184,6 +5695,43 @@ var SALES_DEAL_TEMPLATE = {
|
|
|
6184
5695
|
{ id: "closed_lost", label: "Closed Lost", description: "Deal did not close. A re-engaged prospect becomes a new `deal` rather than reviving this one.", transitions_to: [] }
|
|
6185
5696
|
]
|
|
6186
5697
|
};
|
|
5698
|
+
var VALIDATION_TEMPLATE = {
|
|
5699
|
+
template_id: "VALIDATION",
|
|
5700
|
+
initial_phase: "untested",
|
|
5701
|
+
terminal_phases: ["validated", "invalidated", "archived"],
|
|
5702
|
+
phases: [
|
|
5703
|
+
{ id: "untested", label: "Untested", description: "Articulated but not yet examined against evidence.", transitions_to: ["testing"] },
|
|
5704
|
+
{ id: "testing", label: "Testing", description: "Actively gathering evidence for or against the claim.", transitions_to: ["validated", "invalidated"] },
|
|
5705
|
+
{ id: "validated", label: "Validated", description: "Evidence supports the claim. Treated as true until contradicted.", transitions_to: ["archived"] },
|
|
5706
|
+
{ id: "invalidated", label: "Invalidated", description: "Evidence contradicts the claim. May re-test if new evidence appears.", transitions_to: ["archived", "testing"] },
|
|
5707
|
+
{ id: "archived", label: "Archived", description: "Settled and retained for provenance. No longer active.", transitions_to: [] }
|
|
5708
|
+
]
|
|
5709
|
+
};
|
|
5710
|
+
var INCIDENT_TEMPLATE = {
|
|
5711
|
+
template_id: "INCIDENT",
|
|
5712
|
+
initial_phase: "open",
|
|
5713
|
+
terminal_phases: ["resolved", "closed", "wont_fix"],
|
|
5714
|
+
phases: [
|
|
5715
|
+
{ id: "open", label: "Open", description: "Surfaced and logged. Not yet triaged.", transitions_to: ["triaged"] },
|
|
5716
|
+
{ id: "triaged", label: "Triaged", description: "Assessed for severity and ownership. Routed for work or dispositioned.", transitions_to: ["in_progress", "resolved", "wont_fix"] },
|
|
5717
|
+
{ id: "in_progress", label: "In Progress", description: "Actively being worked toward a fix.", transitions_to: ["resolved", "wont_fix"] },
|
|
5718
|
+
{ id: "resolved", label: "Resolved", description: "Addressed and verified. May reopen to `triaged` on regression.", transitions_to: ["closed", "triaged"] },
|
|
5719
|
+
{ id: "closed", label: "Closed", description: "Administratively closed (duplicate, withdrawn, or no longer relevant).", transitions_to: [] },
|
|
5720
|
+
{ id: "wont_fix", label: "Won't Fix", description: "Triaged as not to be actioned. Reason should be documented.", transitions_to: [] }
|
|
5721
|
+
]
|
|
5722
|
+
};
|
|
5723
|
+
var STUDY_TEMPLATE = {
|
|
5724
|
+
template_id: "STUDY",
|
|
5725
|
+
initial_phase: "planned",
|
|
5726
|
+
terminal_phases: ["complete", "abandoned"],
|
|
5727
|
+
phases: [
|
|
5728
|
+
{ id: "planned", label: "Planned", description: "Scoped and scheduled. Not yet started.", transitions_to: ["running"] },
|
|
5729
|
+
{ id: "running", label: "Running", description: "Actively executing: collecting data or running the protocol.", transitions_to: ["analysing", "abandoned"] },
|
|
5730
|
+
{ id: "analysing", label: "Analysing", description: "Execution done; results are being analysed and written up.", transitions_to: ["complete", "abandoned"] },
|
|
5731
|
+
{ id: "complete", label: "Complete", description: "Analysed and concluded. Findings captured.", transitions_to: [] },
|
|
5732
|
+
{ id: "abandoned", label: "Abandoned", description: "Stopped before completion (killed, timed out, or superseded).", transitions_to: [] }
|
|
5733
|
+
]
|
|
5734
|
+
};
|
|
6187
5735
|
var TEMPLATE_LIFECYCLES = [
|
|
6188
5736
|
// Publishing lifecycle
|
|
6189
5737
|
fromTemplate("content_piece", PUBLISHING_TEMPLATE),
|
|
@@ -6283,10 +5831,11 @@ var TEMPLATE_LIFECYCLES = [
|
|
|
6283
5831
|
fromTemplate("access_policy", APPROVAL_TEMPLATE),
|
|
6284
5832
|
fromTemplate("privacy_policy", APPROVAL_TEMPLATE),
|
|
6285
5833
|
// ── Phase C: MATURITY (alpha / beta / ga / deprecated) ──────────────────────
|
|
5834
|
+
// screen removed (UPG-690 Q3, 0.21.0): hand-authored SCREEN_LIFECYCLE below —
|
|
5835
|
+
// the build-pipeline IS the real lifecycle, MATURITY was the mis-fit.
|
|
6286
5836
|
fromTemplate("design_system", MATURITY_TEMPLATE),
|
|
6287
5837
|
fromTemplate("design_component", MATURITY_TEMPLATE),
|
|
6288
5838
|
fromTemplate("design_pattern", MATURITY_TEMPLATE),
|
|
6289
|
-
fromTemplate("screen", MATURITY_TEMPLATE),
|
|
6290
5839
|
fromTemplate("brand_logo", MATURITY_TEMPLATE),
|
|
6291
5840
|
fromTemplate("certification", MATURITY_TEMPLATE),
|
|
6292
5841
|
fromTemplate("data_source", MATURITY_TEMPLATE),
|
|
@@ -6296,12 +5845,44 @@ var TEMPLATE_LIFECYCLES = [
|
|
|
6296
5845
|
fromTemplate("agent_task", WORK_ITEM_TEMPLATE),
|
|
6297
5846
|
fromTemplate("agent_skill", WORK_ITEM_TEMPLATE),
|
|
6298
5847
|
fromTemplate("agent_hook", WORK_ITEM_TEMPLATE),
|
|
5848
|
+
// UPG-690 (0.21.0): task (exact match) + epic (todo→in_progress→done ⊆ WORK_ITEM,
|
|
5849
|
+
// in_review becomes available — non-breaking widening) folded off hand-authored.
|
|
5850
|
+
fromTemplate("task", WORK_ITEM_TEMPLATE),
|
|
5851
|
+
fromTemplate("epic", WORK_ITEM_TEMPLATE),
|
|
6299
5852
|
// ── Phase B: RISK_ITEM (identified → assessed → mitigated/accepted/closed) ──
|
|
6300
5853
|
fromTemplate("threat", RISK_ITEM_TEMPLATE),
|
|
6301
5854
|
fromTemplate("risk", RISK_ITEM_TEMPLATE),
|
|
6302
5855
|
fromTemplate("compliance_requirement", RISK_ITEM_TEMPLATE),
|
|
6303
5856
|
// ── Phase B: SALES_DEAL (qualified → proposal → negotiation → won/lost) ─────
|
|
6304
|
-
fromTemplate("deal", SALES_DEAL_TEMPLATE)
|
|
5857
|
+
fromTemplate("deal", SALES_DEAL_TEMPLATE),
|
|
5858
|
+
// ── STUDY (planned → running → analysing → complete / abandoned) ───────────
|
|
5859
|
+
// UPG-690 (0.21.0): time-boxed investigations folded off bespoke singletons.
|
|
5860
|
+
// `model_comparison` stays bespoke — its publish/archive tail is a weak fit.
|
|
5861
|
+
fromTemplate("experiment", STUDY_TEMPLATE),
|
|
5862
|
+
fromTemplate("experiment_run", STUDY_TEMPLATE),
|
|
5863
|
+
fromTemplate("research_study", STUDY_TEMPLATE),
|
|
5864
|
+
fromTemplate("design_sprint", STUDY_TEMPLATE),
|
|
5865
|
+
fromTemplate("feasibility_study", STUDY_TEMPLATE),
|
|
5866
|
+
fromTemplate("ai_experiment", STUDY_TEMPLATE),
|
|
5867
|
+
fromTemplate("eval_run", STUDY_TEMPLATE),
|
|
5868
|
+
// ── VALIDATION (untested → testing → validated / invalidated → archived) ───
|
|
5869
|
+
// UPG-690 (0.21.0): claims-tested-to-a-verdict folded off bespoke singletons.
|
|
5870
|
+
// `business_model` stays bespoke — its `pivoted` terminal is a strategic
|
|
5871
|
+
// outcome, not a verdict.
|
|
5872
|
+
fromTemplate("assumption", VALIDATION_TEMPLATE),
|
|
5873
|
+
fromTemplate("prototype", VALIDATION_TEMPLATE),
|
|
5874
|
+
fromTemplate("value_proposition", VALIDATION_TEMPLATE),
|
|
5875
|
+
fromTemplate("hypothesis", VALIDATION_TEMPLATE),
|
|
5876
|
+
// ── INCIDENT (open → triaged → in_progress → resolved / closed / wont_fix) ─
|
|
5877
|
+
// UPG-690 (0.21.0): triage-to-resolution defect/ticket family folded off
|
|
5878
|
+
// bespoke singletons. `incident` stays bespoke (richer SRE flow).
|
|
5879
|
+
fromTemplate("support_ticket", INCIDENT_TEMPLATE),
|
|
5880
|
+
fromTemplate("bug", INCIDENT_TEMPLATE),
|
|
5881
|
+
fromTemplate("a11y_issue", INCIDENT_TEMPLATE),
|
|
5882
|
+
fromTemplate("vulnerability", INCIDENT_TEMPLATE),
|
|
5883
|
+
fromTemplate("hallucination_report", INCIDENT_TEMPLATE),
|
|
5884
|
+
fromTemplate("technical_debt_item", INCIDENT_TEMPLATE),
|
|
5885
|
+
fromTemplate("customer_feedback", INCIDENT_TEMPLATE)
|
|
6305
5886
|
];
|
|
6306
5887
|
var FRAMEWORK_EXERCISE_LIFECYCLE = {
|
|
6307
5888
|
entity_type: "framework_exercise",
|
|
@@ -6375,21 +5956,15 @@ var UPG_LIFECYCLES = [
|
|
|
6375
5956
|
// Foundations (0.9.12)
|
|
6376
5957
|
SPECIFICATION_LIFECYCLE,
|
|
6377
5958
|
// Discovery & Validation
|
|
6378
|
-
RESEARCH_STUDY_LIFECYCLE,
|
|
6379
5959
|
NEED_LIFECYCLE,
|
|
6380
5960
|
OPPORTUNITY_LIFECYCLE,
|
|
6381
5961
|
SOLUTION_LIFECYCLE,
|
|
6382
|
-
HYPOTHESIS_CLAIM_LIFECYCLE,
|
|
6383
|
-
// canonical 'hypothesis' lifecycle. The pre-v0.2.8 legacy binding (untested → testing → resolved) was removed in 0.13.0 Wave 1 (UPG-685 T0.3): it was a dead second binding for the same entity_type, always shadowed by this one, and the legacy-status remap lives in UPG_*_MIGRATIONS, not a live lifecycle.
|
|
6384
|
-
EXPERIMENT_LIFECYCLE,
|
|
6385
5962
|
EXPERIMENT_PLAN_LIFECYCLE,
|
|
6386
|
-
EXPERIMENT_RUN_LIFECYCLE,
|
|
6387
5963
|
RESEARCH_PLAN_LIFECYCLE,
|
|
6388
5964
|
FEEDBACK_PROGRAM_LIFECYCLE,
|
|
6389
5965
|
FEATURE_REQUEST_LIFECYCLE,
|
|
6390
5966
|
BETA_PROGRAM_LIFECYCLE,
|
|
6391
5967
|
USER_ADVISORY_BOARD_LIFECYCLE,
|
|
6392
|
-
DESIGN_SPRINT_LIFECYCLE,
|
|
6393
5968
|
// Strategy & Product Specification
|
|
6394
5969
|
OUTCOME_LIFECYCLE,
|
|
6395
5970
|
VISION_LIFECYCLE,
|
|
@@ -6400,39 +5975,31 @@ var UPG_LIFECYCLES = [
|
|
|
6400
5975
|
STRATEGIC_THEME_LIFECYCLE,
|
|
6401
5976
|
INITIATIVE_LIFECYCLE,
|
|
6402
5977
|
STRATEGIC_PILLAR_LIFECYCLE,
|
|
6403
|
-
ASSUMPTION_LIFECYCLE,
|
|
6404
5978
|
STRATEGIC_QUESTION_LIFECYCLE,
|
|
6405
5979
|
FEATURE_AREA_LIFECYCLE,
|
|
6406
5980
|
FEATURE_LIFECYCLE,
|
|
6407
|
-
EPIC_LIFECYCLE,
|
|
6408
5981
|
// user_story is lifecycle-free (declared in UPG_LIFECYCLE_FREE_TYPES below).
|
|
6409
|
-
// story_task lifecycle removed v0.4.0; collapsed into task
|
|
6410
|
-
//
|
|
5982
|
+
// story_task lifecycle removed v0.4.0; collapsed into task. task + epic are
|
|
5983
|
+
// now WORK_ITEM-template-derived (UPG-690, 0.21.0) — see TEMPLATE_LIFECYCLES.
|
|
6411
5984
|
RELEASE_LIFECYCLE,
|
|
6412
|
-
TASK_LIFECYCLE,
|
|
6413
|
-
BUG_LIFECYCLE,
|
|
6414
5985
|
ROADMAP_ITEM_LIFECYCLE,
|
|
6415
5986
|
PLANNING_CYCLE_LIFECYCLE,
|
|
6416
5987
|
IP_ASSET_LIFECYCLE,
|
|
6417
5988
|
CONTRACT_LIFECYCLE,
|
|
6418
5989
|
DESIGN_CONCEPT_LIFECYCLE,
|
|
6419
|
-
PROTOTYPE_LIFECYCLE,
|
|
6420
5990
|
BRAND_IDENTITY_LIFECYCLE,
|
|
5991
|
+
SCREEN_LIFECYCLE,
|
|
6421
5992
|
// Engineering & Operations
|
|
6422
5993
|
SERVICE_LIFECYCLE,
|
|
6423
5994
|
DEPLOYMENT_LIFECYCLE,
|
|
6424
5995
|
FEATURE_FLAG_LIFECYCLE,
|
|
6425
|
-
TECHNICAL_DEBT_ITEM_LIFECYCLE,
|
|
6426
5996
|
INVESTIGATION_LIFECYCLE,
|
|
6427
5997
|
EXTERNAL_API_LIFECYCLE,
|
|
6428
5998
|
DATABASE_SCHEMA_LIFECYCLE,
|
|
6429
5999
|
INCIDENT_LIFECYCLE,
|
|
6430
|
-
VULNERABILITY_LIFECYCLE,
|
|
6431
6000
|
SECURITY_CONTROL_LIFECYCLE,
|
|
6432
|
-
A11Y_ISSUE_LIFECYCLE,
|
|
6433
6001
|
DATA_PIPELINE_LIFECYCLE,
|
|
6434
6002
|
AI_MODEL_LIFECYCLE,
|
|
6435
|
-
EVAL_RUN_LIFECYCLE,
|
|
6436
6003
|
WORKFLOW_RUN_LIFECYCLE,
|
|
6437
6004
|
AGENT_DEFINITION_LIFECYCLE,
|
|
6438
6005
|
AGENT_SESSION_LIFECYCLE,
|
|
@@ -6445,22 +6012,16 @@ var UPG_LIFECYCLES = [
|
|
|
6445
6012
|
RESEARCH_QUESTION_LIFECYCLE,
|
|
6446
6013
|
INTERVIEW_GUIDE_LIFECYCLE,
|
|
6447
6014
|
TEST_PLAN_LIFECYCLE,
|
|
6448
|
-
FEASIBILITY_STUDY_LIFECYCLE,
|
|
6449
6015
|
// AI workflow
|
|
6450
|
-
AI_EXPERIMENT_LIFECYCLE,
|
|
6451
6016
|
AI_DATASET_LIFECYCLE,
|
|
6452
6017
|
AI_GUARDRAIL_LIFECYCLE,
|
|
6453
|
-
HALLUCINATION_REPORT_LIFECYCLE,
|
|
6454
6018
|
MODEL_COMPARISON_LIFECYCLE,
|
|
6455
6019
|
PROMPT_VERSION_LIFECYCLE,
|
|
6456
6020
|
EVAL_BENCHMARK_LIFECYCLE,
|
|
6457
6021
|
// Business Model
|
|
6458
6022
|
BUSINESS_MODEL_LIFECYCLE,
|
|
6459
|
-
VALUE_PROPOSITION_LIFECYCLE,
|
|
6460
6023
|
REVENUE_STREAM_LIFECYCLE,
|
|
6461
6024
|
// Customer Success
|
|
6462
|
-
SUPPORT_TICKET_LIFECYCLE,
|
|
6463
|
-
CUSTOMER_FEEDBACK_LIFECYCLE,
|
|
6464
6025
|
CUSTOMER_HEALTH_SCORE_LIFECYCLE,
|
|
6465
6026
|
PLAYBOOK_LIFECYCLE,
|
|
6466
6027
|
// Team & Organisation
|
|
@@ -7574,6 +7135,64 @@ function getDeprecatedTypes() {
|
|
|
7574
7135
|
return deprecated;
|
|
7575
7136
|
}
|
|
7576
7137
|
var UPG_PROPERTY_MIGRATIONS = {
|
|
7138
|
+
// ── v0.21.0: UPG-690 D.1 — collapse residual *_status shadows into status ────
|
|
7139
|
+
//
|
|
7140
|
+
// Six `*_status` enum properties that re-encode their entity's own lifecycle
|
|
7141
|
+
// phases (the residual Pattern-D shadows not caught by the 0.15.0 sweep, now
|
|
7142
|
+
// that the entities sit on shared templates). Each is removed; the authored
|
|
7143
|
+
// value LIFTS to UPGBaseNode.status, remapping where the property vocabulary
|
|
7144
|
+
// diverged from the (template) lifecycle. `security_policy.policy_status` was
|
|
7145
|
+
// deliberately EXCLUDED (Captain 2026-07-04): its active/under_review/retired
|
|
7146
|
+
// values are an operational-status axis distinct from its APPROVAL lifecycle
|
|
7147
|
+
// (active != approved) — a distinct-axis keeper, not a shadow.
|
|
7148
|
+
"0.21.0": [
|
|
7149
|
+
{
|
|
7150
|
+
kind: "lift_property_to_top_level",
|
|
7151
|
+
type: "brand_identity",
|
|
7152
|
+
from_property: "brand_stage",
|
|
7153
|
+
to: "status",
|
|
7154
|
+
reason: "UPG-690 D.1: brand_stage (exploratory/defined/mature) is an exact shadow of the brand_identity lifecycle. Removed in 0.21.0; lifts to status verbatim."
|
|
7155
|
+
},
|
|
7156
|
+
{
|
|
7157
|
+
kind: "lift_property_to_top_level",
|
|
7158
|
+
type: "deliverable",
|
|
7159
|
+
from_property: "deliverable_status",
|
|
7160
|
+
to: "status",
|
|
7161
|
+
value_map: { not_started: "todo", accepted: "done", rejected: "done" },
|
|
7162
|
+
reason: "UPG-690 D.1: deliverable_status re-encoded the deliverable WORK_ITEM lifecycle. Removed in 0.21.0; lifts to status with not_started -> todo, accepted/rejected -> done."
|
|
7163
|
+
},
|
|
7164
|
+
{
|
|
7165
|
+
kind: "lift_property_to_top_level",
|
|
7166
|
+
type: "press_release",
|
|
7167
|
+
from_property: "pr_status",
|
|
7168
|
+
to: "status",
|
|
7169
|
+
value_map: { in_review: "review", distributed: "published" },
|
|
7170
|
+
reason: "UPG-690 D.1: pr_status re-encoded the press_release PUBLISHING lifecycle. Removed in 0.21.0; lifts to status with in_review -> review, distributed -> published."
|
|
7171
|
+
},
|
|
7172
|
+
{
|
|
7173
|
+
kind: "lift_property_to_top_level",
|
|
7174
|
+
type: "program",
|
|
7175
|
+
from_property: "program_status",
|
|
7176
|
+
to: "status",
|
|
7177
|
+
value_map: { on_hold: "paused", cancelled: "sunset" },
|
|
7178
|
+
reason: "UPG-690 D.1: program_status re-encoded the program OPERATIONAL lifecycle. Removed in 0.21.0; lifts to status with on_hold -> paused, cancelled -> sunset."
|
|
7179
|
+
},
|
|
7180
|
+
{
|
|
7181
|
+
kind: "lift_property_to_top_level",
|
|
7182
|
+
type: "project",
|
|
7183
|
+
from_property: "project_status",
|
|
7184
|
+
to: "status",
|
|
7185
|
+
value_map: { on_hold: "paused", cancelled: "sunset" },
|
|
7186
|
+
reason: "UPG-690 D.1: project_status re-encoded the project OPERATIONAL lifecycle. Removed in 0.21.0; lifts to status with on_hold -> paused, cancelled -> sunset."
|
|
7187
|
+
},
|
|
7188
|
+
{
|
|
7189
|
+
kind: "lift_property_to_top_level",
|
|
7190
|
+
type: "screen",
|
|
7191
|
+
from_property: "screen_status",
|
|
7192
|
+
to: "status",
|
|
7193
|
+
reason: "UPG-690 D.3/Q3: screen flips from MATURITY to a hand-authored build-pipeline lifecycle (draft/in_design/built/shipped/deprecated); screen_status already carried those exact values. Removed in 0.21.0; lifts to status verbatim."
|
|
7194
|
+
}
|
|
7195
|
+
],
|
|
7577
7196
|
// ── v0.16.0: Pattern G — open-standard data boundary (UPG-691) ───────────────
|
|
7578
7197
|
//
|
|
7579
7198
|
// The portable graph holds modeling knowledge, not PII, registry filings,
|
|
@@ -9998,19 +9617,7 @@ var UPG_STATUS_MIGRATIONS = {
|
|
|
9998
9617
|
retired: "deprecated"
|
|
9999
9618
|
},
|
|
10000
9619
|
// ── Discovery & Validation ───────────────────────────────────────────────
|
|
10001
|
-
hypothesis
|
|
10002
|
-
// Lifecycle: [drafted, active, validated, invalidated, archived]
|
|
10003
|
-
// Legacy pre-v0.2.8 vocabulary mapped via UPG_PROPERTY_MIGRATIONS for
|
|
10004
|
-
// property→top-level lifts, but raw top-level legacy values surface
|
|
10005
|
-
// when authors set `status: untested` directly without going through
|
|
10006
|
-
// the property bag.
|
|
10007
|
-
untested: "drafted",
|
|
10008
|
-
testing: "active",
|
|
10009
|
-
proposed: "drafted",
|
|
10010
|
-
deferred: "archived",
|
|
10011
|
-
resolved: "active"
|
|
10012
|
-
// ambiguous: prefer active until evidence settles
|
|
10013
|
-
},
|
|
9620
|
+
// (hypothesis moved to the VALIDATION template fold section below, 0.21.0)
|
|
10014
9621
|
opportunity: {
|
|
10015
9622
|
// Lifecycle: [identified, validated, deferred] (no terminal phases)
|
|
10016
9623
|
// Common authoring leftovers from pre-canonical Lean Canvas
|
|
@@ -10062,7 +9669,118 @@ var UPG_STATUS_MIGRATIONS = {
|
|
|
10062
9669
|
archived: "sunset",
|
|
10063
9670
|
retired: "sunset"
|
|
10064
9671
|
},
|
|
10065
|
-
// ──
|
|
9672
|
+
// ── VALIDATION template fold (UPG-690, 0.21.0) ───────────────────────────
|
|
9673
|
+
// Bespoke claim vocabularies remapped onto VALIDATION
|
|
9674
|
+
// [untested, testing, validated, invalidated, archived].
|
|
9675
|
+
// `assumption` already matches (untested, testing, validated, invalidated) —
|
|
9676
|
+
// no migration entry needed.
|
|
9677
|
+
prototype: {
|
|
9678
|
+
// was [untested, testing, passed, failed]
|
|
9679
|
+
passed: "validated",
|
|
9680
|
+
failed: "invalidated"
|
|
9681
|
+
},
|
|
9682
|
+
value_proposition: {
|
|
9683
|
+
// was [drafted, testing, validated, invalidated]
|
|
9684
|
+
drafted: "untested"
|
|
9685
|
+
},
|
|
9686
|
+
hypothesis: {
|
|
9687
|
+
// was [drafted, active, validated, invalidated, archived] (HYPOTHESIS_CLAIM
|
|
9688
|
+
// const, re-homed to entity_type 'hypothesis' at v0.4.0). The legacy
|
|
9689
|
+
// pre-v0.2.8 [untested, testing, resolved] mapping already lived here; it is
|
|
9690
|
+
// now consistent with the VALIDATION spine.
|
|
9691
|
+
drafted: "untested",
|
|
9692
|
+
active: "testing",
|
|
9693
|
+
// pre-v0.2.8 legacy values (kept from the prior hypothesis migration):
|
|
9694
|
+
proposed: "untested",
|
|
9695
|
+
deferred: "archived",
|
|
9696
|
+
resolved: "validated"
|
|
9697
|
+
// ambiguous historically; prefer validated on resolve
|
|
9698
|
+
},
|
|
9699
|
+
// ── STUDY template fold (UPG-690, 0.21.0) ────────────────────────────────
|
|
9700
|
+
// Bespoke run/study vocabularies remapped onto STUDY
|
|
9701
|
+
// [planned, running, analysing, complete, abandoned].
|
|
9702
|
+
experiment: {
|
|
9703
|
+
// was [planned, running, analysing, done]
|
|
9704
|
+
done: "complete"
|
|
9705
|
+
},
|
|
9706
|
+
experiment_run: {
|
|
9707
|
+
// was [in_progress, complete, aborted]
|
|
9708
|
+
in_progress: "running",
|
|
9709
|
+
aborted: "abandoned"
|
|
9710
|
+
},
|
|
9711
|
+
research_study: {
|
|
9712
|
+
// was [planned, in_progress, analysing, complete]
|
|
9713
|
+
in_progress: "running"
|
|
9714
|
+
},
|
|
9715
|
+
design_sprint: {
|
|
9716
|
+
// was [planning, in_progress, completed]
|
|
9717
|
+
planning: "planned",
|
|
9718
|
+
in_progress: "running",
|
|
9719
|
+
completed: "complete"
|
|
9720
|
+
},
|
|
9721
|
+
feasibility_study: {
|
|
9722
|
+
// was [scoped, analysing, concluded, abandoned]
|
|
9723
|
+
scoped: "planned",
|
|
9724
|
+
concluded: "complete"
|
|
9725
|
+
},
|
|
9726
|
+
ai_experiment: {
|
|
9727
|
+
// was [planned, running, analysed, completed, abandoned]
|
|
9728
|
+
analysed: "analysing",
|
|
9729
|
+
completed: "complete"
|
|
9730
|
+
},
|
|
9731
|
+
eval_run: {
|
|
9732
|
+
// was [planned, running, complete, failed]. `failed` = the run did not
|
|
9733
|
+
// finish cleanly (errored / killed) → abandoned. A completed run whose
|
|
9734
|
+
// result was negative stays `complete` (the verdict lives elsewhere).
|
|
9735
|
+
failed: "abandoned"
|
|
9736
|
+
},
|
|
9737
|
+
// ── INCIDENT template fold (UPG-690, 0.21.0) ─────────────────────────────
|
|
9738
|
+
// Bespoke triage vocabularies remapped onto INCIDENT
|
|
9739
|
+
// [open, triaged, in_progress, resolved, closed, wont_fix]. `incident` itself
|
|
9740
|
+
// is NOT folded (stays bespoke; see the DevOps entry below).
|
|
9741
|
+
support_ticket: {
|
|
9742
|
+
// was [opened, triaged, in_progress, resolved, closed]
|
|
9743
|
+
opened: "open"
|
|
9744
|
+
},
|
|
9745
|
+
bug: {
|
|
9746
|
+
// was [open, in_progress, fixed, verified, wont_fix]
|
|
9747
|
+
fixed: "in_progress",
|
|
9748
|
+
// fixed-but-not-verified is still work in progress
|
|
9749
|
+
verified: "resolved"
|
|
9750
|
+
},
|
|
9751
|
+
a11y_issue: {
|
|
9752
|
+
// was [open, triaged, in_progress, fixed, verified, accepted]
|
|
9753
|
+
fixed: "in_progress",
|
|
9754
|
+
verified: "resolved",
|
|
9755
|
+
accepted: "resolved"
|
|
9756
|
+
// verified-and-accepted == resolved
|
|
9757
|
+
},
|
|
9758
|
+
vulnerability: {
|
|
9759
|
+
// was [open, triaged, in_progress, mitigated, resolved, accepted]
|
|
9760
|
+
mitigated: "in_progress",
|
|
9761
|
+
// mitigation applied, not yet fully resolved
|
|
9762
|
+
accepted: "resolved"
|
|
9763
|
+
},
|
|
9764
|
+
hallucination_report: {
|
|
9765
|
+
// was [reported, investigating, resolved, accepted]
|
|
9766
|
+
reported: "open",
|
|
9767
|
+
investigating: "in_progress",
|
|
9768
|
+
accepted: "resolved"
|
|
9769
|
+
},
|
|
9770
|
+
technical_debt_item: {
|
|
9771
|
+
// was [identified, acknowledged, in_progress, resolved, accepted]
|
|
9772
|
+
identified: "open",
|
|
9773
|
+
acknowledged: "triaged",
|
|
9774
|
+
accepted: "resolved"
|
|
9775
|
+
},
|
|
9776
|
+
customer_feedback: {
|
|
9777
|
+
// was [received, triaged, actioned, acknowledged]
|
|
9778
|
+
received: "open",
|
|
9779
|
+
actioned: "resolved",
|
|
9780
|
+
acknowledged: "closed"
|
|
9781
|
+
// noted with no action == administratively closed
|
|
9782
|
+
},
|
|
9783
|
+
// ── DevOps: incident (stays bespoke — richer SRE flow, not folded) ────────
|
|
10066
9784
|
incident: {
|
|
10067
9785
|
// Lifecycle: [detected, triaged, contained, resolved, mitigated]
|
|
10068
9786
|
open: "detected",
|
|
@@ -10071,6 +9789,16 @@ var UPG_STATUS_MIGRATIONS = {
|
|
|
10071
9789
|
in_progress: "triaged",
|
|
10072
9790
|
closed: "resolved",
|
|
10073
9791
|
fixed: "resolved"
|
|
9792
|
+
},
|
|
9793
|
+
// ── UX/Design: screen (UPG-690 Q3/D.3, 0.21.0) — MATURITY → build-pipeline
|
|
9794
|
+
// flip. Old lifecycle [alpha, beta, ga, deprecated]; new SCREEN_LIFECYCLE
|
|
9795
|
+
// [draft, in_design, built, shipped, deprecated]. `deprecated` IS canonical
|
|
9796
|
+
// in both (no rewrite needed); omitted per the no-identity-entries doctrine
|
|
9797
|
+
// (see status-migrations.test.ts).
|
|
9798
|
+
screen: {
|
|
9799
|
+
alpha: "built",
|
|
9800
|
+
beta: "shipped",
|
|
9801
|
+
ga: "shipped"
|
|
10074
9802
|
}
|
|
10075
9803
|
};
|
|
10076
9804
|
function migrateStatusValue(entityType, currentStatus) {
|
|
@@ -10530,7 +10258,6 @@ var UPG_PROPERTY_SCHEMA = {
|
|
|
10530
10258
|
personality_traits: { type: "string[]", description: 'Core personality traits of the brand (e.g. "bold", "approachable", "innovative")' },
|
|
10531
10259
|
tagline: { type: "string", description: 'Brand tagline or slogan (e.g. "Just Do It", "Think Different")' },
|
|
10532
10260
|
mission_statement: { type: "string", description: "Mission statement: what the brand exists to do." },
|
|
10533
|
-
brand_stage: { type: "string", enum: ["exploratory", "defined", "mature"], description: "Current lifecycle stage of the brand" },
|
|
10534
10261
|
brand_values: { type: "string[]", description: 'Core brand values. The principles the brand stands for. @example ["innovation", "transparency", "sustainability"]' },
|
|
10535
10262
|
brand_story: { type: "string", description: "Brand origin story or narrative. Free-form text, may be multiple paragraphs." },
|
|
10536
10263
|
target_audience_description: { type: "string", description: 'Target audience description. Who the brand speaks to. @example "Solo founders and small product teams building their first product."' },
|
|
@@ -11051,7 +10778,6 @@ var UPG_PROPERTY_SCHEMA = {
|
|
|
11051
10778
|
deliverable: {
|
|
11052
10779
|
deliverable_type: { type: "string", enum: ["document", "prototype", "release", "design", "report", "other"], description: "Kind of deliverable (UPG-579 Option B)." },
|
|
11053
10780
|
due_date: { type: "string", description: "Due date for the deliverable (ISO format)" },
|
|
11054
|
-
deliverable_status: { type: "string", enum: ["not_started", "in_progress", "in_review", "accepted", "rejected"], description: "Current progress status" },
|
|
11055
10781
|
acceptance_criteria: { type: "string", description: "Criteria that must be met for the deliverable to be accepted" }
|
|
11056
10782
|
},
|
|
11057
10783
|
// DemandGenProgramProperties: DemandGenProgram entity.
|
|
@@ -12392,8 +12118,7 @@ var UPG_PROPERTY_SCHEMA = {
|
|
|
12392
12118
|
press_release: {
|
|
12393
12119
|
pr_type: { type: "string", enum: ["product_launch", "partnership", "funding", "milestone", "other"], description: "Category of the press release" },
|
|
12394
12120
|
publish_date: { type: "string", description: "Date the release was or will be published (ISO format)" },
|
|
12395
|
-
outlets: { type: "string[]", description: "Media outlets targeted for distribution" }
|
|
12396
|
-
pr_status: { type: "string", enum: ["draft", "in_review", "distributed", "published"], description: "Current status of the press release" }
|
|
12121
|
+
outlets: { type: "string[]", description: "Media outlets targeted for distribution" }
|
|
12397
12122
|
},
|
|
12398
12123
|
// PricingStrategyProperties: Pricing strategy.
|
|
12399
12124
|
pricing_strategy: {
|
|
@@ -12438,14 +12163,12 @@ var UPG_PROPERTY_SCHEMA = {
|
|
|
12438
12163
|
},
|
|
12439
12164
|
// ProgramProperties: Program.
|
|
12440
12165
|
program: {
|
|
12441
|
-
program_status: { type: "string", enum: ["planning", "active", "on_hold", "completed", "cancelled"], description: "Current status of the program" },
|
|
12442
12166
|
start_date: { type: "string", description: "Program start date (ISO format)" },
|
|
12443
12167
|
end_date: { type: "string", description: "Program end date (ISO format)" },
|
|
12444
12168
|
budget: { type: "number", description: "Total budget allocated to the program" }
|
|
12445
12169
|
},
|
|
12446
12170
|
// ProjectProperties: Project.
|
|
12447
12171
|
project: {
|
|
12448
|
-
project_status: { type: "string", enum: ["planning", "active", "on_hold", "completed", "cancelled"], description: "Current status of the project" },
|
|
12449
12172
|
start_date: { type: "string", description: "Project start date (ISO format)" },
|
|
12450
12173
|
end_date: { type: "string", description: "Project end date (ISO format)" },
|
|
12451
12174
|
methodology: { type: "string", enum: ["agile", "waterfall", "kanban", "hybrid"], description: "Development methodology used" }
|
|
@@ -12715,7 +12438,6 @@ var UPG_PROPERTY_SCHEMA = {
|
|
|
12715
12438
|
route: { type: "string", description: 'Application route. @example "/dashboard", "/settings/billing"' },
|
|
12716
12439
|
viewport: { type: "string", enum: ["mobile", "tablet", "desktop", "tv", "watch", "responsive"], description: "Primary target viewport" },
|
|
12717
12440
|
access_level: { type: "string", enum: ["public", "authenticated", "admin", "internal"], description: "Reach" },
|
|
12718
|
-
screen_status: { type: "string", enum: ["draft", "in_design", "built", "shipped", "deprecated"], description: "Build pipeline stage" },
|
|
12719
12441
|
purpose: { type: "string", description: "One-line purpose" }
|
|
12720
12442
|
},
|
|
12721
12443
|
// ScreenStateProperties: Specific state of a screen.
|
|
@@ -29919,7 +29641,7 @@ function isCanonical(text) {
|
|
|
29919
29641
|
}
|
|
29920
29642
|
|
|
29921
29643
|
// src/index.ts
|
|
29922
|
-
var UPG_VERSION = "0.
|
|
29644
|
+
var UPG_VERSION = "0.21.0";
|
|
29923
29645
|
var UPG_FORMAT_VERSION = "0.4.0";
|
|
29924
29646
|
var MARKDOWN_FORMAT_VERSION = "0.1";
|
|
29925
29647
|
var UPG_TYPES = getTypes();
|