@tiic-tech/openworkflow 0.1.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/LICENSE +21 -0
- package/README.md +37 -0
- package/dist/adapters/codex/src/doctorCodexAdapter.d.ts +6 -0
- package/dist/adapters/codex/src/doctorCodexAdapter.js +124 -0
- package/dist/adapters/codex/src/doctorCodexAdapter.js.map +1 -0
- package/dist/adapters/codex/src/generateAgents.d.ts +2 -0
- package/dist/adapters/codex/src/generateAgents.js +40 -0
- package/dist/adapters/codex/src/generateAgents.js.map +1 -0
- package/dist/adapters/codex/src/generateCodexAdapter.d.ts +9 -0
- package/dist/adapters/codex/src/generateCodexAdapter.js +59 -0
- package/dist/adapters/codex/src/generateCodexAdapter.js.map +1 -0
- package/dist/adapters/codex/src/generateCommands.d.ts +6 -0
- package/dist/adapters/codex/src/generateCommands.js +205 -0
- package/dist/adapters/codex/src/generateCommands.js.map +1 -0
- package/dist/adapters/codex/src/generateSkills.d.ts +7 -0
- package/dist/adapters/codex/src/generateSkills.js +60 -0
- package/dist/adapters/codex/src/generateSkills.js.map +1 -0
- package/dist/adapters/codex/src/generatedFiles.d.ts +4 -0
- package/dist/adapters/codex/src/generatedFiles.js +67 -0
- package/dist/adapters/codex/src/generatedFiles.js.map +1 -0
- package/dist/adapters/codex/src/manifest.d.ts +4 -0
- package/dist/adapters/codex/src/manifest.js +40 -0
- package/dist/adapters/codex/src/manifest.js.map +1 -0
- package/dist/adapters/codex/src/templates.d.ts +7 -0
- package/dist/adapters/codex/src/templates.js +6 -0
- package/dist/adapters/codex/src/templates.js.map +1 -0
- package/dist/cli/src/args.d.ts +8 -0
- package/dist/cli/src/args.js +34 -0
- package/dist/cli/src/args.js.map +1 -0
- package/dist/cli/src/commands/doctor.d.ts +1 -0
- package/dist/cli/src/commands/doctor.js +26 -0
- package/dist/cli/src/commands/doctor.js.map +1 -0
- package/dist/cli/src/commands/init.d.ts +1 -0
- package/dist/cli/src/commands/init.js +52 -0
- package/dist/cli/src/commands/init.js.map +1 -0
- package/dist/cli/src/commands/shared.d.ts +4 -0
- package/dist/cli/src/commands/shared.js +19 -0
- package/dist/cli/src/commands/shared.js.map +1 -0
- package/dist/cli/src/commands/sync.d.ts +1 -0
- package/dist/cli/src/commands/sync.js +27 -0
- package/dist/cli/src/commands/sync.js.map +1 -0
- package/dist/cli/src/commands/validate.d.ts +1 -0
- package/dist/cli/src/commands/validate.js +17 -0
- package/dist/cli/src/commands/validate.js.map +1 -0
- package/dist/cli/src/dev/validateRepositoryContractsCli.d.ts +2 -0
- package/dist/cli/src/dev/validateRepositoryContractsCli.js +37 -0
- package/dist/cli/src/dev/validateRepositoryContractsCli.js.map +1 -0
- package/dist/cli/src/dev/verifyRuntimeSurface.d.ts +2 -0
- package/dist/cli/src/dev/verifyRuntimeSurface.js +344 -0
- package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -0
- package/dist/cli/src/dev/verifyWorkflowE2E.d.ts +2 -0
- package/dist/cli/src/dev/verifyWorkflowE2E.js +366 -0
- package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -0
- package/dist/cli/src/index.d.ts +2 -0
- package/dist/cli/src/index.js +51 -0
- package/dist/cli/src/index.js.map +1 -0
- package/dist/core/src/artifacts/registry.d.ts +53 -0
- package/dist/core/src/artifacts/registry.js +483 -0
- package/dist/core/src/artifacts/registry.js.map +1 -0
- package/dist/core/src/commands/registry.d.ts +36 -0
- package/dist/core/src/commands/registry.js +539 -0
- package/dist/core/src/commands/registry.js.map +1 -0
- package/dist/core/src/contracts/index.d.ts +23 -0
- package/dist/core/src/contracts/index.js +16 -0
- package/dist/core/src/contracts/index.js.map +1 -0
- package/dist/core/src/contracts/yaml.d.ts +2 -0
- package/dist/core/src/contracts/yaml.js +12 -0
- package/dist/core/src/contracts/yaml.js.map +1 -0
- package/dist/core/src/contracts.d.ts +23 -0
- package/dist/core/src/contracts.js +15 -0
- package/dist/core/src/contracts.js.map +1 -0
- package/dist/core/src/fs/index.d.ts +4 -0
- package/dist/core/src/fs/index.js +28 -0
- package/dist/core/src/fs/index.js.map +1 -0
- package/dist/core/src/fs.d.ts +4 -0
- package/dist/core/src/fs.js +28 -0
- package/dist/core/src/fs.js.map +1 -0
- package/dist/core/src/initOpenWorkflow.d.ts +7 -0
- package/dist/core/src/initOpenWorkflow.js +220 -0
- package/dist/core/src/initOpenWorkflow.js.map +1 -0
- package/dist/core/src/validateOpenWorkflow.d.ts +5 -0
- package/dist/core/src/validateOpenWorkflow.js +145 -0
- package/dist/core/src/validateOpenWorkflow.js.map +1 -0
- package/dist/core/src/validators/validateOpenWorkflow.d.ts +5 -0
- package/dist/core/src/validators/validateOpenWorkflow.js +551 -0
- package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -0
- package/dist/core/src/validators/validateRepositoryContracts.d.ts +2 -0
- package/dist/core/src/validators/validateRepositoryContracts.js +827 -0
- package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -0
- package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/initOpenWorkflow.js +182 -0
- package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -0
- package/dist/core/src/yaml.d.ts +2 -0
- package/dist/core/src/yaml.js +12 -0
- package/dist/core/src/yaml.js.map +1 -0
- package/package.json +55 -0
- package/references/artifact-authoring-templates.md +78 -0
- package/references/audit-first-discovery-loop.md +85 -0
- package/references/contract-graph.md +129 -0
- package/references/discovery-artifact-contracts.md +155 -0
- package/references/engineering-skill-reference-research.md +204 -0
- package/references/npm-cli-architecture.md +63 -0
- package/references/runtime-command-surface.md +169 -0
- package/schemas/artifact-contracts.schema.json +130 -0
- package/schemas/change.schema.json +71 -0
- package/schemas/contract-graph.schema.json +80 -0
- package/schemas/decision-record.schema.json +92 -0
- package/schemas/disclosure-levels.schema.json +66 -0
- package/schemas/openworkflow-contract.schema.json +88 -0
- package/schemas/product-design.schema.json +356 -0
- package/schemas/prototype-evidence.schema.json +325 -0
- package/schemas/prototype.schema.json +149 -0
- package/schemas/validation-target.schema.json +127 -0
- package/schemas/validation.schema.json +123 -0
- package/schemas/vision-session.schema.json +78 -0
- package/schemas/work-items.schema.json +87 -0
- package/schemas/workflow-index.schema.json +70 -0
- package/skills/build-prototype/SKILL.md +87 -0
- package/skills/build-prototype/agents/openai.yaml +4 -0
- package/skills/build-prototype/references/prototype-protocol.md +56 -0
- package/skills/build-prototype/scripts/init_prototype.py +260 -0
- package/skills/build-team/SKILL.md +292 -0
- package/skills/build-team/agents/openai.yaml +4 -0
- package/skills/build-team/references/runtime-schema.md +275 -0
- package/skills/build-team/references/team-protocol.md +244 -0
- package/skills/build-team/scripts/init_team_runtime.py +431 -0
- package/skills/build-validation/SKILL.md +81 -0
- package/skills/build-validation/agents/openai.yaml +4 -0
- package/skills/build-validation/references/validation-protocol.md +51 -0
- package/skills/build-validation/scripts/init_validation.py +194 -0
- package/skills/build-workflow/SKILL.md +65 -0
- package/skills/build-workflow/agents/openai.yaml +4 -0
- package/skills/build-workflow/references/workflow-layout.md +57 -0
- package/skills/build-workflow/scripts/init_workflow.py +423 -0
- package/skills/run-team/SKILL.md +93 -0
- package/skills/run-team/agents/openai.yaml +4 -0
- package/skills/run-team/references/delegation-and-agent-lifecycle.md +78 -0
- package/skills/run-team/references/run-loop.md +73 -0
- package/skills/run-team/references/runtime-audit.md +56 -0
- package/skills/run-team/references/scope-selection.md +64 -0
- package/skills/run-team/scripts/audit_team_runtime.py +173 -0
- package/skills/run-team/scripts/init_next_scope.py +304 -0
- package/templates/README.md +5 -0
- package/templates/codex/README.md +4 -0
- package/templates/openworkflow/README.md +4 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openworkflow.local/schemas/artifact-contracts.schema.json",
|
|
4
|
+
"title": "OpenWorkflow Artifact Contracts Index",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"contract_id",
|
|
9
|
+
"contract_type",
|
|
10
|
+
"title",
|
|
11
|
+
"status",
|
|
12
|
+
"source_of_truth",
|
|
13
|
+
"artifacts"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schema_version": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"contract_id": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"contract_type": {
|
|
23
|
+
"const": "workflow"
|
|
24
|
+
},
|
|
25
|
+
"title": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
},
|
|
28
|
+
"status": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"source_of_truth": {
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
"artifacts": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"items": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"required": [
|
|
39
|
+
"artifact_type",
|
|
40
|
+
"contract_type",
|
|
41
|
+
"command",
|
|
42
|
+
"source_of_truth_path",
|
|
43
|
+
"template_path",
|
|
44
|
+
"required_keys"
|
|
45
|
+
],
|
|
46
|
+
"properties": {
|
|
47
|
+
"artifact_type": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"contract_type": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"command": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
},
|
|
56
|
+
"source_of_truth_path": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"template_path": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"read_policy": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"required": [
|
|
65
|
+
"load_by_default",
|
|
66
|
+
"agent_read_order",
|
|
67
|
+
"max_yaml_lines",
|
|
68
|
+
"max_note_lines",
|
|
69
|
+
"raw_evidence"
|
|
70
|
+
],
|
|
71
|
+
"properties": {
|
|
72
|
+
"load_by_default": {
|
|
73
|
+
"type": "boolean"
|
|
74
|
+
},
|
|
75
|
+
"agent_read_order": {
|
|
76
|
+
"type": "integer"
|
|
77
|
+
},
|
|
78
|
+
"max_yaml_lines": {
|
|
79
|
+
"type": "integer"
|
|
80
|
+
},
|
|
81
|
+
"max_note_lines": {
|
|
82
|
+
"type": "integer"
|
|
83
|
+
},
|
|
84
|
+
"raw_evidence": {
|
|
85
|
+
"type": "string"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"additionalProperties": true
|
|
89
|
+
},
|
|
90
|
+
"active_pointer": {
|
|
91
|
+
"type": "object",
|
|
92
|
+
"required": [
|
|
93
|
+
"index_path",
|
|
94
|
+
"pointer_key",
|
|
95
|
+
"collection_key",
|
|
96
|
+
"id_key",
|
|
97
|
+
"path_key"
|
|
98
|
+
],
|
|
99
|
+
"properties": {
|
|
100
|
+
"index_path": {
|
|
101
|
+
"type": "string"
|
|
102
|
+
},
|
|
103
|
+
"pointer_key": {
|
|
104
|
+
"type": "string"
|
|
105
|
+
},
|
|
106
|
+
"collection_key": {
|
|
107
|
+
"type": "string"
|
|
108
|
+
},
|
|
109
|
+
"id_key": {
|
|
110
|
+
"type": "string"
|
|
111
|
+
},
|
|
112
|
+
"path_key": {
|
|
113
|
+
"type": "string"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"additionalProperties": true
|
|
117
|
+
},
|
|
118
|
+
"required_keys": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": {
|
|
121
|
+
"type": "string"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"additionalProperties": true
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"additionalProperties": true
|
|
130
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openworkflow.local/schemas/change.schema.json",
|
|
4
|
+
"title": "OpenWorkflow Change Contract",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"contract_id",
|
|
9
|
+
"contract_type",
|
|
10
|
+
"title",
|
|
11
|
+
"status",
|
|
12
|
+
"problem",
|
|
13
|
+
"goals",
|
|
14
|
+
"non_goals",
|
|
15
|
+
"affected_paths",
|
|
16
|
+
"acceptance",
|
|
17
|
+
"validation"
|
|
18
|
+
],
|
|
19
|
+
"properties": {
|
|
20
|
+
"schema_version": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"contract_id": {
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"contract_type": {
|
|
27
|
+
"const": "change"
|
|
28
|
+
},
|
|
29
|
+
"title": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
"status": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"problem": {
|
|
36
|
+
"type": "string"
|
|
37
|
+
},
|
|
38
|
+
"goals": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"non_goals": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": {
|
|
47
|
+
"type": "string"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"affected_paths": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"acceptance": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"items": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"validation": {
|
|
63
|
+
"type": "array",
|
|
64
|
+
"items": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"additionalProperties": true
|
|
70
|
+
}
|
|
71
|
+
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openworkflow.local/schemas/contract-graph.schema.json",
|
|
4
|
+
"title": "OpenWorkflow Contract Graph",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"contract_id",
|
|
9
|
+
"contract_type",
|
|
10
|
+
"title",
|
|
11
|
+
"status",
|
|
12
|
+
"nodes",
|
|
13
|
+
"edges"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schema_version": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"contract_id": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"contract_type": {
|
|
23
|
+
"const": "workflow"
|
|
24
|
+
},
|
|
25
|
+
"title": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
},
|
|
28
|
+
"status": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"nodes": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"required": [
|
|
36
|
+
"contract_id",
|
|
37
|
+
"contract_type",
|
|
38
|
+
"path"
|
|
39
|
+
],
|
|
40
|
+
"properties": {
|
|
41
|
+
"contract_id": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"contract_type": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
},
|
|
47
|
+
"path": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"additionalProperties": true
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"edges": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"items": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"required": [
|
|
59
|
+
"from",
|
|
60
|
+
"to",
|
|
61
|
+
"relation"
|
|
62
|
+
],
|
|
63
|
+
"properties": {
|
|
64
|
+
"from": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
"to": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
},
|
|
70
|
+
"relation": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"additionalProperties": true
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"additionalProperties": true
|
|
79
|
+
}
|
|
80
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openworkflow.local/schemas/decision-record.schema.json",
|
|
4
|
+
"title": "OpenWorkflow Decision Record Artifact",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"contract_id",
|
|
9
|
+
"contract_type",
|
|
10
|
+
"artifact_type",
|
|
11
|
+
"title",
|
|
12
|
+
"status",
|
|
13
|
+
"reviewed_evidence",
|
|
14
|
+
"outcome",
|
|
15
|
+
"rationale",
|
|
16
|
+
"accepted_scope",
|
|
17
|
+
"rejected_scope",
|
|
18
|
+
"revision_scope",
|
|
19
|
+
"next_command",
|
|
20
|
+
"follow_up_questions"
|
|
21
|
+
],
|
|
22
|
+
"properties": {
|
|
23
|
+
"schema_version": {
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"contract_id": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
},
|
|
29
|
+
"contract_type": {
|
|
30
|
+
"const": "decision"
|
|
31
|
+
},
|
|
32
|
+
"artifact_type": {
|
|
33
|
+
"const": "decision_record"
|
|
34
|
+
},
|
|
35
|
+
"title": {
|
|
36
|
+
"type": "string"
|
|
37
|
+
},
|
|
38
|
+
"status": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"reviewed_evidence": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"outcome": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"enum": [
|
|
50
|
+
"continue",
|
|
51
|
+
"revise",
|
|
52
|
+
"pivot",
|
|
53
|
+
"stop",
|
|
54
|
+
"needs_more_evidence"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"rationale": {
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
"accepted_scope": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"rejected_scope": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"items": {
|
|
69
|
+
"type": "string"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"revision_scope": {
|
|
73
|
+
"type": "array",
|
|
74
|
+
"items": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"next_command": {
|
|
79
|
+
"type": [
|
|
80
|
+
"string",
|
|
81
|
+
"null"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"follow_up_questions": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"items": {
|
|
87
|
+
"type": "string"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"additionalProperties": true
|
|
92
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openworkflow.local/schemas/disclosure-levels.schema.json",
|
|
4
|
+
"title": "OpenWorkflow Disclosure Levels",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"contract_id",
|
|
9
|
+
"contract_type",
|
|
10
|
+
"title",
|
|
11
|
+
"status",
|
|
12
|
+
"levels"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"schema_version": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"contract_id": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"contract_type": {
|
|
22
|
+
"const": "workflow"
|
|
23
|
+
},
|
|
24
|
+
"title": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"status": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"levels": {
|
|
31
|
+
"type": "array",
|
|
32
|
+
"items": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"required": [
|
|
35
|
+
"level",
|
|
36
|
+
"name",
|
|
37
|
+
"default_for_agents",
|
|
38
|
+
"purpose",
|
|
39
|
+
"examples"
|
|
40
|
+
],
|
|
41
|
+
"properties": {
|
|
42
|
+
"level": {
|
|
43
|
+
"type": "integer"
|
|
44
|
+
},
|
|
45
|
+
"name": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
"default_for_agents": {
|
|
49
|
+
"type": "boolean"
|
|
50
|
+
},
|
|
51
|
+
"purpose": {
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
"examples": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"items": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"additionalProperties": true
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"additionalProperties": true
|
|
66
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openworkflow.local/schemas/openworkflow-contract.schema.json",
|
|
4
|
+
"title": "OpenWorkflow Common Contract",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"contract_id",
|
|
9
|
+
"contract_type",
|
|
10
|
+
"title",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"schema_version": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"pattern": "^0\\.1\\.0$"
|
|
17
|
+
},
|
|
18
|
+
"contract_id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-z_]+:[A-Za-z0-9_.-]+$"
|
|
21
|
+
},
|
|
22
|
+
"contract_type": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"enum": [
|
|
25
|
+
"workflow",
|
|
26
|
+
"context",
|
|
27
|
+
"vision",
|
|
28
|
+
"design",
|
|
29
|
+
"decision",
|
|
30
|
+
"spec",
|
|
31
|
+
"validation",
|
|
32
|
+
"prototype",
|
|
33
|
+
"change",
|
|
34
|
+
"work_items",
|
|
35
|
+
"team",
|
|
36
|
+
"runtime"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"artifact_type": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"enum": [
|
|
42
|
+
"vision_session",
|
|
43
|
+
"validation_target",
|
|
44
|
+
"prototype_evidence",
|
|
45
|
+
"decision_record",
|
|
46
|
+
"product_design"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"title": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"minLength": 1
|
|
52
|
+
},
|
|
53
|
+
"status": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"enum": [
|
|
56
|
+
"draft",
|
|
57
|
+
"active",
|
|
58
|
+
"superseded",
|
|
59
|
+
"archived"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
"source_artifacts": {
|
|
63
|
+
"type": "array",
|
|
64
|
+
"items": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"depends_on": {
|
|
69
|
+
"type": "array",
|
|
70
|
+
"items": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"produces": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"items": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"updated_at": {
|
|
81
|
+
"type": [
|
|
82
|
+
"string",
|
|
83
|
+
"null"
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"additionalProperties": true
|
|
88
|
+
}
|