katalyst-forge 4.0.0__tar.gz → 4.1.0__tar.gz
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.
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/.gitignore +5 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/PKG-INFO +2 -2
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/pyproject.toml +2 -2
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/bundle.py +2 -2
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/relationships.py +25 -0
- katalyst_forge-4.1.0/src/katalyst_forge/wings/delivery.py +310 -0
- katalyst_forge-4.0.0/src/katalyst_forge/wings/delivery.py +0 -160
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/__init__.py +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/py.typed +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/_base.yaml.j2 +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/layer.yaml.j2 +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/project.yaml.j2 +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/stack.yaml.j2 +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/system.yaml.j2 +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/team.yaml.j2 +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/team_member.yaml.j2 +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/.dockerignore +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/.env.example +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/README.md +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/base/Dockerfile +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/docker-compose.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/env-template/Dockerfile +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/env-template/docker-compose.override.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/env-template/environment.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/app-docker/layer.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/README.md +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/composite/terraform/main.tf +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/composite/terraform/outputs.tf +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/composite/terraform/variables.tf +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/env-template/environment.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/env-template/terragrunt.hcl +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/global/iac/context.hcl +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/global/iac/dev.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/global/iac/prod.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/global/iac/staging.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/layer.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/iac-terragrunt/version.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/README.md +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/base/app/argocd-application.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/base/kustomization.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/base/namespace.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/environment-template/argocd-application.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/environment-template/kustomization.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/environment-template/patch-argocd-application.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-argocd/layer.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/README.md +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/base/deployment.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/base/kustomization.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/base/namespace.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/base/service.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/environment-template/kustomization.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/environment-template/patch-deployment.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/global/k8s/base/kustomization.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/global/k8s/base/namespace.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/global/k8s/kustomization.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/scaffolds/k8s-kustomize/layer.yaml +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/wings/__init__.py +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/wings/agentic.py +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/wings/design.py +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/wings/org.py +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/wings/pipeline.py +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/wings/practices.py +0 -0
- {katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/wings/system.py +0 -0
|
@@ -95,6 +95,11 @@ Thumbs.db
|
|
|
95
95
|
# Browser/Playwright state files
|
|
96
96
|
browser-state-*.json
|
|
97
97
|
|
|
98
|
+
# Agent harness scratch (run exhaust, never the design bundle)
|
|
99
|
+
.opencode/sessions/
|
|
100
|
+
.opencode/analysis/
|
|
101
|
+
.opencode/package-lock.json
|
|
102
|
+
|
|
98
103
|
# Build artifacts
|
|
99
104
|
site/
|
|
100
105
|
stack-tests/cucumber-report/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: katalyst-forge
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.1.0
|
|
4
4
|
Summary: The Forge bundle — 31 node-type definitions for software delivery taxonomy
|
|
5
5
|
Author: eSimplicity
|
|
6
6
|
License: Proprietary
|
|
7
7
|
Requires-Python: >=3.12
|
|
8
|
-
Requires-Dist: katalyst-engine<5,>=4.
|
|
8
|
+
Requires-Dist: katalyst-engine<5,>=4.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "katalyst-forge"
|
|
3
|
-
version = "4.
|
|
3
|
+
version = "4.1.0"
|
|
4
4
|
description = "The Forge bundle — 31 node-type definitions for software delivery taxonomy"
|
|
5
5
|
license = { text = "Proprietary" }
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -8,7 +8,7 @@ authors = [
|
|
|
8
8
|
{ name = "eSimplicity" }
|
|
9
9
|
]
|
|
10
10
|
dependencies = [
|
|
11
|
-
"katalyst-engine>=4.
|
|
11
|
+
"katalyst-engine>=4.1,<5",
|
|
12
12
|
]
|
|
13
13
|
|
|
14
14
|
[project.entry-points."katalyst_engine.bundles"]
|
|
@@ -11,7 +11,7 @@ Wing modules:
|
|
|
11
11
|
- ``wings/org.py`` — organization, program, project, team, team_member, role
|
|
12
12
|
- ``wings/practices.py`` — practice_area, competency, skill, tool
|
|
13
13
|
- ``wings/design.py`` — business_domain_model, user_type, user_need, design_spec, adr, nfr, specification, assertion
|
|
14
|
-
- ``wings/delivery.py`` — work_item, change_entry
|
|
14
|
+
- ``wings/delivery.py`` — work_item, change_entry, agent_run
|
|
15
15
|
- ``wings/pipeline.py`` — cicd_stage
|
|
16
16
|
- ``wings/pipeline.py`` — cicd_stage, cicd_job_template, cicd_workflow_template
|
|
17
17
|
- ``wings/agentic.py`` — agent, agent_skill
|
|
@@ -92,7 +92,7 @@ class ForgeBundle:
|
|
|
92
92
|
version=Version(major=4, minor=0),
|
|
93
93
|
provided_kinds=ALL_KINDS,
|
|
94
94
|
wing_names=ALL_WING_NAMES,
|
|
95
|
-
description="Forge taxonomy —
|
|
95
|
+
description="Forge taxonomy — 30 node types for modeling software delivery organizations",
|
|
96
96
|
)
|
|
97
97
|
|
|
98
98
|
def node_definitions(self) -> list[NodeDefinition]:
|
|
@@ -236,6 +236,29 @@ REFERENCES_ROAD_ITEM_REL = RelationshipDefinition(
|
|
|
236
236
|
cardinality=Cardinality.MANY_TO_ONE,
|
|
237
237
|
)
|
|
238
238
|
|
|
239
|
+
REFERENCES_WORK_ITEM_REL = RelationshipDefinition(
|
|
240
|
+
identity=_rel_id("references_work_item"),
|
|
241
|
+
describes_kind="references_work_item",
|
|
242
|
+
description="Change entry references a work item",
|
|
243
|
+
wing="workflow",
|
|
244
|
+
display_order=440,
|
|
245
|
+
cardinality=Cardinality.MANY_TO_ONE,
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
TRACES_TO_REL = RelationshipDefinition(
|
|
249
|
+
identity=_rel_id("traces_to"),
|
|
250
|
+
describes_kind="traces_to",
|
|
251
|
+
description=(
|
|
252
|
+
"Work item traces to a design-wing artifact it implements, addresses, or "
|
|
253
|
+
"satisfies (capability, user_need, nfr, adr, design_spec, specification). "
|
|
254
|
+
"The target kind is carried by the source field reference, so adding a new "
|
|
255
|
+
"traceable target kind is a one-line field addition, not a new edge type."
|
|
256
|
+
),
|
|
257
|
+
wing="workflow",
|
|
258
|
+
display_order=450,
|
|
259
|
+
cardinality=Cardinality.MANY_TO_MANY,
|
|
260
|
+
)
|
|
261
|
+
|
|
239
262
|
# ── Pipeline wing ────────────────────────────────────────────────────
|
|
240
263
|
|
|
241
264
|
STAGE_DEPENDS_ON_REL = RelationshipDefinition(
|
|
@@ -287,6 +310,8 @@ ALL_RELATIONSHIP_DEFINITIONS: list[RelationshipDefinition] = [
|
|
|
287
310
|
BLOCKED_BY_REL,
|
|
288
311
|
SUPERSEDED_BY_REL,
|
|
289
312
|
REFERENCES_ROAD_ITEM_REL,
|
|
313
|
+
REFERENCES_WORK_ITEM_REL,
|
|
314
|
+
TRACES_TO_REL,
|
|
290
315
|
# pipeline
|
|
291
316
|
STAGE_DEPENDS_ON_REL,
|
|
292
317
|
BELONGS_TO_STAGE_REL,
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"""Delivery wing — work_item, change_entry."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from katalyst_engine.core.identity import Identity
|
|
6
|
+
from katalyst_engine.schema.definition import (
|
|
7
|
+
FieldRef,
|
|
8
|
+
FieldSpec,
|
|
9
|
+
NodeDefinition,
|
|
10
|
+
ParentRule,
|
|
11
|
+
WingDefinition,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
WORK_ITEM: NodeDefinition = NodeDefinition(
|
|
15
|
+
identity=Identity(kind="node_definition", name="work_item"),
|
|
16
|
+
describes_kind="work_item",
|
|
17
|
+
wing="delivery",
|
|
18
|
+
display_order=370,
|
|
19
|
+
directory_name="work_items",
|
|
20
|
+
is_root=True,
|
|
21
|
+
is_leaf=False,
|
|
22
|
+
is_extension=False,
|
|
23
|
+
clonable=False,
|
|
24
|
+
display_label="Work Item",
|
|
25
|
+
display_label_plural="Work Items",
|
|
26
|
+
extends_kinds=(),
|
|
27
|
+
parent_rules=(),
|
|
28
|
+
fields=(
|
|
29
|
+
FieldSpec(
|
|
30
|
+
name="title",
|
|
31
|
+
field_type="string",
|
|
32
|
+
required=False,
|
|
33
|
+
description="",
|
|
34
|
+
),
|
|
35
|
+
FieldSpec(
|
|
36
|
+
name="status",
|
|
37
|
+
field_type="string",
|
|
38
|
+
required=False,
|
|
39
|
+
description="",
|
|
40
|
+
allowed_values=(
|
|
41
|
+
"idea",
|
|
42
|
+
"proposed",
|
|
43
|
+
"accepted",
|
|
44
|
+
"planned",
|
|
45
|
+
"in_progress",
|
|
46
|
+
"blocked",
|
|
47
|
+
"delivered",
|
|
48
|
+
"validated",
|
|
49
|
+
"released",
|
|
50
|
+
"retired",
|
|
51
|
+
),
|
|
52
|
+
),
|
|
53
|
+
FieldSpec(
|
|
54
|
+
name="phase",
|
|
55
|
+
field_type="integer",
|
|
56
|
+
required=False,
|
|
57
|
+
description="Implementation phase (0-3)",
|
|
58
|
+
),
|
|
59
|
+
FieldSpec(
|
|
60
|
+
name="priority",
|
|
61
|
+
field_type="string",
|
|
62
|
+
required=False,
|
|
63
|
+
description="",
|
|
64
|
+
),
|
|
65
|
+
FieldSpec(
|
|
66
|
+
name="started",
|
|
67
|
+
field_type="string",
|
|
68
|
+
required=False,
|
|
69
|
+
description="ISO 8601 start date",
|
|
70
|
+
),
|
|
71
|
+
FieldSpec(
|
|
72
|
+
name="completed",
|
|
73
|
+
field_type="string",
|
|
74
|
+
required=False,
|
|
75
|
+
description="ISO 8601 completion date",
|
|
76
|
+
),
|
|
77
|
+
FieldSpec(
|
|
78
|
+
name="blocked_by",
|
|
79
|
+
field_type="list",
|
|
80
|
+
required=False,
|
|
81
|
+
description="",
|
|
82
|
+
),
|
|
83
|
+
FieldSpec(
|
|
84
|
+
name="blocks",
|
|
85
|
+
field_type="list",
|
|
86
|
+
required=False,
|
|
87
|
+
description="",
|
|
88
|
+
),
|
|
89
|
+
FieldSpec(
|
|
90
|
+
name="capabilities",
|
|
91
|
+
field_type="list",
|
|
92
|
+
required=False,
|
|
93
|
+
description="Capabilities this work item implements",
|
|
94
|
+
),
|
|
95
|
+
FieldSpec(
|
|
96
|
+
name="user_needs",
|
|
97
|
+
field_type="list",
|
|
98
|
+
required=False,
|
|
99
|
+
description="User needs this work item addresses",
|
|
100
|
+
),
|
|
101
|
+
FieldSpec(
|
|
102
|
+
name="nfrs",
|
|
103
|
+
field_type="list",
|
|
104
|
+
required=False,
|
|
105
|
+
description="NFRs this work item satisfies",
|
|
106
|
+
),
|
|
107
|
+
FieldSpec(
|
|
108
|
+
name="adrs",
|
|
109
|
+
field_type="list",
|
|
110
|
+
required=False,
|
|
111
|
+
description="ADRs this work item implements",
|
|
112
|
+
),
|
|
113
|
+
FieldSpec(
|
|
114
|
+
name="design_specs",
|
|
115
|
+
field_type="list",
|
|
116
|
+
required=False,
|
|
117
|
+
description="Design specs this work item realizes",
|
|
118
|
+
),
|
|
119
|
+
FieldSpec(
|
|
120
|
+
name="specifications",
|
|
121
|
+
field_type="list",
|
|
122
|
+
required=False,
|
|
123
|
+
description="Specifications this work item fulfills",
|
|
124
|
+
),
|
|
125
|
+
),
|
|
126
|
+
cross_references=(
|
|
127
|
+
FieldRef(
|
|
128
|
+
field_name="blocked_by",
|
|
129
|
+
target_kind="work_item",
|
|
130
|
+
rel_type="BLOCKED_BY",
|
|
131
|
+
),
|
|
132
|
+
FieldRef(
|
|
133
|
+
field_name="blocks",
|
|
134
|
+
target_kind="work_item",
|
|
135
|
+
rel_type="BLOCKS",
|
|
136
|
+
),
|
|
137
|
+
FieldRef(
|
|
138
|
+
field_name="capabilities",
|
|
139
|
+
target_kind="capability",
|
|
140
|
+
rel_type="TRACES_TO",
|
|
141
|
+
),
|
|
142
|
+
FieldRef(
|
|
143
|
+
field_name="user_needs",
|
|
144
|
+
target_kind="user_need",
|
|
145
|
+
rel_type="TRACES_TO",
|
|
146
|
+
),
|
|
147
|
+
FieldRef(
|
|
148
|
+
field_name="nfrs",
|
|
149
|
+
target_kind="nfr",
|
|
150
|
+
rel_type="TRACES_TO",
|
|
151
|
+
),
|
|
152
|
+
FieldRef(
|
|
153
|
+
field_name="adrs",
|
|
154
|
+
target_kind="adr",
|
|
155
|
+
rel_type="TRACES_TO",
|
|
156
|
+
),
|
|
157
|
+
FieldRef(
|
|
158
|
+
field_name="design_specs",
|
|
159
|
+
target_kind="design_spec",
|
|
160
|
+
rel_type="TRACES_TO",
|
|
161
|
+
),
|
|
162
|
+
FieldRef(
|
|
163
|
+
field_name="specifications",
|
|
164
|
+
target_kind="specification",
|
|
165
|
+
rel_type="TRACES_TO",
|
|
166
|
+
),
|
|
167
|
+
),
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
CHANGE_ENTRY: NodeDefinition = NodeDefinition(
|
|
171
|
+
identity=Identity(kind="node_definition", name="change_entry"),
|
|
172
|
+
describes_kind="change_entry",
|
|
173
|
+
wing="delivery",
|
|
174
|
+
display_order=395,
|
|
175
|
+
directory_name="change_entries",
|
|
176
|
+
is_root=False,
|
|
177
|
+
is_leaf=True,
|
|
178
|
+
is_extension=False,
|
|
179
|
+
clonable=False,
|
|
180
|
+
display_label="Change Entry",
|
|
181
|
+
display_label_plural="Change Entries",
|
|
182
|
+
extends_kinds=(),
|
|
183
|
+
parent_rules=(
|
|
184
|
+
ParentRule(
|
|
185
|
+
child_kind="change_entry",
|
|
186
|
+
allowed_parent_kinds=frozenset({"work_item"}),
|
|
187
|
+
required=False,
|
|
188
|
+
),
|
|
189
|
+
),
|
|
190
|
+
fields=(
|
|
191
|
+
FieldSpec(
|
|
192
|
+
name="title",
|
|
193
|
+
field_type="string",
|
|
194
|
+
required=False,
|
|
195
|
+
description="",
|
|
196
|
+
),
|
|
197
|
+
FieldSpec(
|
|
198
|
+
name="work_item_id",
|
|
199
|
+
field_type="string",
|
|
200
|
+
required=False,
|
|
201
|
+
description="Reference to the parent work item",
|
|
202
|
+
),
|
|
203
|
+
FieldSpec(
|
|
204
|
+
name="road_id",
|
|
205
|
+
field_type="string",
|
|
206
|
+
required=False,
|
|
207
|
+
description="DEPRECATED alias of work_item_id",
|
|
208
|
+
),
|
|
209
|
+
FieldSpec(
|
|
210
|
+
name="date",
|
|
211
|
+
field_type="string",
|
|
212
|
+
required=False,
|
|
213
|
+
description="ISO 8601 date",
|
|
214
|
+
),
|
|
215
|
+
FieldSpec(
|
|
216
|
+
name="version",
|
|
217
|
+
field_type="string",
|
|
218
|
+
required=False,
|
|
219
|
+
description="",
|
|
220
|
+
),
|
|
221
|
+
FieldSpec(
|
|
222
|
+
name="categories",
|
|
223
|
+
field_type="list",
|
|
224
|
+
required=False,
|
|
225
|
+
description="",
|
|
226
|
+
),
|
|
227
|
+
),
|
|
228
|
+
cross_references=(
|
|
229
|
+
FieldRef(
|
|
230
|
+
field_name="work_item_id",
|
|
231
|
+
target_kind="work_item",
|
|
232
|
+
rel_type="REFERENCES_WORK_ITEM",
|
|
233
|
+
),
|
|
234
|
+
FieldRef(
|
|
235
|
+
field_name="road_id",
|
|
236
|
+
target_kind="work_item",
|
|
237
|
+
rel_type="REFERENCES_ROAD_ITEM",
|
|
238
|
+
),
|
|
239
|
+
),
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
AGENT_RUN: NodeDefinition = NodeDefinition(
|
|
243
|
+
identity=Identity(kind="node_definition", name="agent_run"),
|
|
244
|
+
describes_kind="agent_run",
|
|
245
|
+
wing="delivery",
|
|
246
|
+
display_order=398,
|
|
247
|
+
directory_name="agent_runs",
|
|
248
|
+
is_root=False,
|
|
249
|
+
is_leaf=True,
|
|
250
|
+
is_extension=False,
|
|
251
|
+
clonable=False,
|
|
252
|
+
display_label="Agent Run",
|
|
253
|
+
display_label_plural="Agent Runs",
|
|
254
|
+
extends_kinds=(),
|
|
255
|
+
parent_rules=(
|
|
256
|
+
ParentRule(
|
|
257
|
+
child_kind="agent_run",
|
|
258
|
+
allowed_parent_kinds=frozenset({"work_item"}),
|
|
259
|
+
required=False,
|
|
260
|
+
),
|
|
261
|
+
),
|
|
262
|
+
fields=(
|
|
263
|
+
FieldSpec(
|
|
264
|
+
name="stages",
|
|
265
|
+
field_type="list",
|
|
266
|
+
required=False,
|
|
267
|
+
description="Ordered per-stage telemetry: stage, agent, gate, started, ended, model, tokens, retries (identifiers and counts only)",
|
|
268
|
+
),
|
|
269
|
+
FieldSpec(
|
|
270
|
+
name="totals",
|
|
271
|
+
field_type="list",
|
|
272
|
+
required=False,
|
|
273
|
+
description="Run-level totals (e.g. total tokens, total retries)",
|
|
274
|
+
),
|
|
275
|
+
FieldSpec(
|
|
276
|
+
name="entered_status",
|
|
277
|
+
field_type="string",
|
|
278
|
+
required=False,
|
|
279
|
+
description="work_item status when the run started",
|
|
280
|
+
),
|
|
281
|
+
FieldSpec(
|
|
282
|
+
name="exited_status",
|
|
283
|
+
field_type="string",
|
|
284
|
+
required=False,
|
|
285
|
+
description="work_item status when the run ended",
|
|
286
|
+
),
|
|
287
|
+
FieldSpec(
|
|
288
|
+
name="started",
|
|
289
|
+
field_type="string",
|
|
290
|
+
required=False,
|
|
291
|
+
description="ISO 8601 run start timestamp",
|
|
292
|
+
),
|
|
293
|
+
FieldSpec(
|
|
294
|
+
name="ended",
|
|
295
|
+
field_type="string",
|
|
296
|
+
required=False,
|
|
297
|
+
description="ISO 8601 run end timestamp",
|
|
298
|
+
),
|
|
299
|
+
),
|
|
300
|
+
cross_references=(),
|
|
301
|
+
)
|
|
302
|
+
|
|
303
|
+
DELIVERY_WING: WingDefinition = WingDefinition(
|
|
304
|
+
identity=Identity(kind="wing_definition", name="delivery"),
|
|
305
|
+
describes_kind="delivery",
|
|
306
|
+
display_name="Delivery",
|
|
307
|
+
member_kinds=("work_item", "change_entry", "agent_run"),
|
|
308
|
+
)
|
|
309
|
+
|
|
310
|
+
DELIVERY_WING_NODES = [WORK_ITEM, CHANGE_ENTRY, AGENT_RUN]
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
"""Delivery wing — work_item, change_entry."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
from katalyst_engine.core.identity import Identity
|
|
6
|
-
from katalyst_engine.schema.definition import (
|
|
7
|
-
FieldRef,
|
|
8
|
-
FieldSpec,
|
|
9
|
-
NodeDefinition,
|
|
10
|
-
ParentRule,
|
|
11
|
-
WingDefinition,
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
WORK_ITEM: NodeDefinition = NodeDefinition(
|
|
15
|
-
identity=Identity(kind="node_definition", name="work_item"),
|
|
16
|
-
describes_kind="work_item",
|
|
17
|
-
wing="delivery",
|
|
18
|
-
display_order=370,
|
|
19
|
-
directory_name="work_items",
|
|
20
|
-
is_root=True,
|
|
21
|
-
is_leaf=False,
|
|
22
|
-
is_extension=False,
|
|
23
|
-
clonable=False,
|
|
24
|
-
display_label="Work Item",
|
|
25
|
-
display_label_plural="Work Items",
|
|
26
|
-
extends_kinds=(),
|
|
27
|
-
parent_rules=(),
|
|
28
|
-
fields=(
|
|
29
|
-
FieldSpec(
|
|
30
|
-
name="title",
|
|
31
|
-
field_type="string",
|
|
32
|
-
required=False,
|
|
33
|
-
description="",
|
|
34
|
-
),
|
|
35
|
-
FieldSpec(
|
|
36
|
-
name="status",
|
|
37
|
-
field_type="string",
|
|
38
|
-
required=False,
|
|
39
|
-
description="",
|
|
40
|
-
),
|
|
41
|
-
FieldSpec(
|
|
42
|
-
name="phase",
|
|
43
|
-
field_type="integer",
|
|
44
|
-
required=False,
|
|
45
|
-
description="Implementation phase (0-3)",
|
|
46
|
-
),
|
|
47
|
-
FieldSpec(
|
|
48
|
-
name="priority",
|
|
49
|
-
field_type="string",
|
|
50
|
-
required=False,
|
|
51
|
-
description="",
|
|
52
|
-
),
|
|
53
|
-
FieldSpec(
|
|
54
|
-
name="started",
|
|
55
|
-
field_type="string",
|
|
56
|
-
required=False,
|
|
57
|
-
description="ISO 8601 start date",
|
|
58
|
-
),
|
|
59
|
-
FieldSpec(
|
|
60
|
-
name="completed",
|
|
61
|
-
field_type="string",
|
|
62
|
-
required=False,
|
|
63
|
-
description="ISO 8601 completion date",
|
|
64
|
-
),
|
|
65
|
-
FieldSpec(
|
|
66
|
-
name="blocked_by",
|
|
67
|
-
field_type="list",
|
|
68
|
-
required=False,
|
|
69
|
-
description="",
|
|
70
|
-
),
|
|
71
|
-
FieldSpec(
|
|
72
|
-
name="blocks",
|
|
73
|
-
field_type="list",
|
|
74
|
-
required=False,
|
|
75
|
-
description="",
|
|
76
|
-
),
|
|
77
|
-
),
|
|
78
|
-
cross_references=(
|
|
79
|
-
FieldRef(
|
|
80
|
-
field_name="blocked_by",
|
|
81
|
-
target_kind="work_item",
|
|
82
|
-
rel_type="BLOCKED_BY",
|
|
83
|
-
),
|
|
84
|
-
FieldRef(
|
|
85
|
-
field_name="blocks",
|
|
86
|
-
target_kind="work_item",
|
|
87
|
-
rel_type="BLOCKS",
|
|
88
|
-
),
|
|
89
|
-
),
|
|
90
|
-
)
|
|
91
|
-
|
|
92
|
-
CHANGE_ENTRY: NodeDefinition = NodeDefinition(
|
|
93
|
-
identity=Identity(kind="node_definition", name="change_entry"),
|
|
94
|
-
describes_kind="change_entry",
|
|
95
|
-
wing="delivery",
|
|
96
|
-
display_order=395,
|
|
97
|
-
directory_name="change_entries",
|
|
98
|
-
is_root=False,
|
|
99
|
-
is_leaf=True,
|
|
100
|
-
is_extension=False,
|
|
101
|
-
clonable=False,
|
|
102
|
-
display_label="Change Entry",
|
|
103
|
-
display_label_plural="Change Entries",
|
|
104
|
-
extends_kinds=(),
|
|
105
|
-
parent_rules=(
|
|
106
|
-
ParentRule(
|
|
107
|
-
child_kind="change_entry",
|
|
108
|
-
allowed_parent_kinds=frozenset({"road_item"}),
|
|
109
|
-
required=False,
|
|
110
|
-
),
|
|
111
|
-
),
|
|
112
|
-
fields=(
|
|
113
|
-
FieldSpec(
|
|
114
|
-
name="title",
|
|
115
|
-
field_type="string",
|
|
116
|
-
required=False,
|
|
117
|
-
description="",
|
|
118
|
-
),
|
|
119
|
-
FieldSpec(
|
|
120
|
-
name="road_id",
|
|
121
|
-
field_type="string",
|
|
122
|
-
required=False,
|
|
123
|
-
description="Reference to the parent road item",
|
|
124
|
-
),
|
|
125
|
-
FieldSpec(
|
|
126
|
-
name="date",
|
|
127
|
-
field_type="string",
|
|
128
|
-
required=False,
|
|
129
|
-
description="ISO 8601 date",
|
|
130
|
-
),
|
|
131
|
-
FieldSpec(
|
|
132
|
-
name="version",
|
|
133
|
-
field_type="string",
|
|
134
|
-
required=False,
|
|
135
|
-
description="",
|
|
136
|
-
),
|
|
137
|
-
FieldSpec(
|
|
138
|
-
name="categories",
|
|
139
|
-
field_type="list",
|
|
140
|
-
required=False,
|
|
141
|
-
description="",
|
|
142
|
-
),
|
|
143
|
-
),
|
|
144
|
-
cross_references=(
|
|
145
|
-
FieldRef(
|
|
146
|
-
field_name="road_id",
|
|
147
|
-
target_kind="road_item",
|
|
148
|
-
rel_type="REFERENCES_ROAD_ITEM",
|
|
149
|
-
),
|
|
150
|
-
),
|
|
151
|
-
)
|
|
152
|
-
|
|
153
|
-
DELIVERY_WING: WingDefinition = WingDefinition(
|
|
154
|
-
identity=Identity(kind="wing_definition", name="delivery"),
|
|
155
|
-
describes_kind="delivery",
|
|
156
|
-
display_name="Delivery",
|
|
157
|
-
member_kinds=("work_item", "change_entry"),
|
|
158
|
-
)
|
|
159
|
-
|
|
160
|
-
DELIVERY_WING_NODES = [WORK_ITEM, CHANGE_ENTRY]
|
|
File without changes
|
|
File without changes
|
{katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/_base.yaml.j2
RENAMED
|
File without changes
|
{katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/layer.yaml.j2
RENAMED
|
File without changes
|
{katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/project.yaml.j2
RENAMED
|
File without changes
|
{katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/stack.yaml.j2
RENAMED
|
File without changes
|
{katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/system.yaml.j2
RENAMED
|
File without changes
|
{katalyst_forge-4.0.0 → katalyst_forge-4.1.0}/src/katalyst_forge/templates/creation/team.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|