yaaw-se 0.3.7 → 0.3.8
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/README.md +6 -2
- package/dist/installer/migrations/index.d.ts +2 -2
- package/dist/installer/migrations/index.js +2 -2
- package/dist/installer/migrations/project/index.js +2 -2
- package/dist/installer/migrations/project/index.js.map +1 -1
- package/dist/installer/migrations/project/v1-to-v2.d.ts +2 -0
- package/dist/installer/migrations/project/v1-to-v2.js +64 -0
- package/dist/installer/migrations/project/v1-to-v2.js.map +1 -0
- package/dist/installer/project-state.js +1 -0
- package/dist/installer/project-state.js.map +1 -1
- package/dist/installer/transaction.js +5 -0
- package/dist/installer/transaction.js.map +1 -1
- package/dist/installer/types.d.ts +5 -0
- package/dist/payload/bootstrap/claude-code.md +1 -1
- package/dist/payload/bootstrap/cline.md +1 -1
- package/dist/payload/bootstrap/codex.md +1 -1
- package/dist/payload/bootstrap/gemini-cli.md +1 -1
- package/dist/payload/integrations/codex/yaaw-runtime.md +1 -1
- package/dist/payload/payload-files.json +146 -111
- package/dist/payload/payload.json +1 -1
- package/dist/payload/skills/yaaw-create-spec/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-create-ticket/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-create-tickets/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-implement/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-orchestrator/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-planner/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-planning-review/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-prd/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-refine-prd/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-repair/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-review/SKILL.md +6 -2
- package/dist/payload/skills/yaaw-revise-prd/SKILL.md +6 -2
- package/dist/payload/yaaw-core/system/core/dispatch-execution.md +16 -53
- package/dist/payload/yaaw-core/system/core/invalidation.md +7 -38
- package/dist/payload/yaaw-core/system/core/io-contract.md +12 -45
- package/dist/payload/yaaw-core/system/core/lifecycle.md +11 -18
- package/dist/payload/yaaw-core/system/core/recovery.md +12 -26
- package/dist/payload/yaaw-core/system/core/routing.md +16 -31
- package/dist/payload/yaaw-core/system/core/state-model.md +7 -27
- package/dist/payload/yaaw-core/system/registries/handoff-policy.json +41 -59
- package/dist/payload/yaaw-core/system/registries/reconciliation-policy.json +17 -0
- package/dist/payload/yaaw-core/system/registries/role-io.json +15 -144
- package/dist/payload/yaaw-core/system/registries/skills.json +108 -12
- package/dist/payload/yaaw-core/system/roles/implementer.md +10 -13
- package/dist/payload/yaaw-core/system/roles/orchestrator.md +12 -17
- package/dist/payload/yaaw-core/system/roles/planner.md +9 -18
- package/dist/payload/yaaw-core/system/roles/reviewer.md +9 -14
- package/dist/payload/yaaw-core/system/schemas/engineering-v1.schema.json +15 -0
- package/dist/payload/yaaw-core/system/schemas/engineering-v2.schema.json +59 -0
- package/dist/payload/yaaw-core/system/schemas/engineering.schema.json +9 -12
- package/dist/payload/yaaw-core/system/schemas/evidence-v3.schema.json +111 -0
- package/dist/payload/yaaw-core/system/schemas/evidence.schema.json +3 -0
- package/dist/payload/yaaw-core/system/schemas/handoff.schema.json +3 -60
- package/dist/payload/yaaw-core/system/schemas/intent.schema.json +63 -8
- package/dist/payload/yaaw-core/system/schemas/observed-state.schema.json +55 -61
- package/dist/payload/yaaw-core/system/schemas/project-state-v1.schema.json +74 -0
- package/dist/payload/yaaw-core/system/schemas/project-state-v2.schema.json +251 -0
- package/dist/payload/yaaw-core/system/schemas/project-state.schema.json +9 -71
- package/dist/payload/yaaw-core/system/templates/engineering-research.md +2 -2
- package/dist/payload/yaaw-core/system/templates/engineering.md +2 -1
- package/dist/payload/yaaw-core/system/templates/evidence.json +2 -1
- package/dist/payload/yaaw-core/system/templates/handoff.json +7 -8
- package/dist/payload/yaaw-core/system/templates/intent.json +4 -3
- package/dist/payload/yaaw-core/system/templates/observed-state.json +6 -13
- package/dist/payload/yaaw-core/system/templates/project-state.json +2 -2
- package/dist/payload/yaaw-core/system/templates/review.md +4 -4
- package/dist/payload/yaaw-core/system/templates/spec.md +2 -2
- package/dist/payload/yaaw-core/system/templates/ticket.md +3 -3
- package/dist/payload/yaaw-core/system/tools/orchestration-engine.mjs +187 -0
- package/dist/payload/yaaw-core/system/tools/orchestration-runtime.mjs +46 -688
- package/dist/payload/yaaw-core/system/workflows/implementation/implement-ticket.md +9 -17
- package/dist/payload/yaaw-core/system/workflows/implementation/repair-ticket.md +7 -12
- package/dist/payload/yaaw-core/system/workflows/implementation/verify-ticket.md +9 -10
- package/dist/payload/yaaw-core/system/workflows/orchestration/reconcile-state.md +10 -13
- package/dist/payload/yaaw-core/system/workflows/orchestration/recover-interruption.md +9 -12
- package/dist/payload/yaaw-core/system/workflows/orchestration/route.md +14 -21
- package/dist/payload/yaaw-core/system/workflows/planning/create-spec.md +3 -0
- package/dist/payload/yaaw-core/system/workflows/planning/create-tickets.md +3 -0
- package/dist/payload/yaaw-core/system/workflows/planning/decision-frontier.md +3 -0
- package/dist/payload/yaaw-core/system/workflows/planning/replan.md +2 -0
- package/package.json +4 -3
|
@@ -2,84 +2,66 @@
|
|
|
2
2
|
"schema": "yaaw.handoff-policy/v1",
|
|
3
3
|
"workflows": {
|
|
4
4
|
"prd.route": {
|
|
5
|
-
"desired_intent": "CONTINUE_PRODUCT",
|
|
6
|
-
"
|
|
7
|
-
"reads": ["product", "state"],
|
|
8
|
-
"writes": ["product"],
|
|
9
|
-
"required_expertise": [],
|
|
10
|
-
"ticket_expertise": false,
|
|
5
|
+
"desired_intent": "CONTINUE_PRODUCT", "active_artifact": "product",
|
|
6
|
+
"reads": ["product","state"], "writes": ["product"], "required_expertise": [], "ticket_expertise": false,
|
|
11
7
|
"expected_output": "Current product intent or an explicit human-input/blocker result.",
|
|
12
|
-
"result_vocabulary": ["READY",
|
|
8
|
+
"result_vocabulary": ["READY","HUMAN_INPUT_REQUIRED","BLOCKED"]
|
|
13
9
|
},
|
|
14
10
|
"planning.route": {
|
|
15
|
-
"desired_intent": "CONTINUE_PLANNING",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"writes": ["engineering", "engineering_research", "spec", "ticket", "project_rule"],
|
|
19
|
-
"required_expertise": [],
|
|
20
|
-
"ticket_expertise": false,
|
|
11
|
+
"desired_intent": "CONTINUE_PLANNING", "active_artifact": "engineering",
|
|
12
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","state"],
|
|
13
|
+
"writes": ["engineering","engineering_research","spec","ticket","project_rule"], "required_expertise": [], "ticket_expertise": false,
|
|
21
14
|
"expected_output": "Current engineering frontier readiness or one typed planning stop/result.",
|
|
22
|
-
"result_vocabulary": ["READY",
|
|
15
|
+
"result_vocabulary": ["READY","HUMAN_INPUT_REQUIRED","REPLAN","BLOCKED"]
|
|
23
16
|
},
|
|
24
17
|
"planning.create-spec": {
|
|
25
|
-
"desired_intent": "CREATE_SPEC",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"writes": ["spec"],
|
|
29
|
-
"required_expertise": [],
|
|
30
|
-
"ticket_expertise": false,
|
|
18
|
+
"desired_intent": "CREATE_SPEC", "active_artifact": "engineering",
|
|
19
|
+
"reads": ["product","engineering","engineering_research","project_rule","repository","state"], "writes": ["spec"],
|
|
20
|
+
"required_expertise": [], "ticket_expertise": false,
|
|
31
21
|
"expected_output": "One accepted specification for the current frontier or a typed prerequisite/stop result.",
|
|
32
|
-
"result_vocabulary": ["SUCCESS",
|
|
22
|
+
"result_vocabulary": ["SUCCESS","PRECONDITION_UNSATISFIED","BLOCKED"]
|
|
33
23
|
},
|
|
34
24
|
"planning.create-tickets": {
|
|
35
|
-
"desired_intent": "CREATE_TICKETS",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"writes": ["ticket"],
|
|
39
|
-
"required_expertise": [],
|
|
40
|
-
"ticket_expertise": false,
|
|
25
|
+
"desired_intent": "CREATE_TICKETS", "active_artifact": "spec",
|
|
26
|
+
"reads": ["product","engineering","engineering_research","spec","project_rule","repository","state"], "writes": ["ticket"],
|
|
27
|
+
"required_expertise": [], "ticket_expertise": false,
|
|
41
28
|
"expected_output": "Dependency-aware executable tickets for the accepted specification or a typed prerequisite/stop result.",
|
|
42
|
-
"result_vocabulary": ["SUCCESS",
|
|
29
|
+
"result_vocabulary": ["SUCCESS","PRECONDITION_UNSATISFIED","BLOCKED"]
|
|
43
30
|
},
|
|
44
31
|
"planning.replan": {
|
|
45
|
-
"desired_intent": "REPLAN",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"writes": ["engineering", "engineering_research", "spec", "ticket", "project_rule"],
|
|
49
|
-
"required_expertise": [],
|
|
50
|
-
"ticket_expertise": true,
|
|
32
|
+
"desired_intent": "REPLAN", "active_artifact": "ticket",
|
|
33
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","state"],
|
|
34
|
+
"writes": ["engineering","engineering_research","spec","ticket","project_rule"], "required_expertise": [], "ticket_expertise": true,
|
|
51
35
|
"expected_output": "Updated engineering contract and downstream admission state for the invalidated work.",
|
|
52
|
-
"result_vocabulary": ["READY",
|
|
36
|
+
"result_vocabulary": ["READY","HUMAN_INPUT_REQUIRED","BLOCKED"]
|
|
53
37
|
},
|
|
54
38
|
"implementation.implement-ticket": {
|
|
55
|
-
"desired_intent": "IMPLEMENT",
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"
|
|
39
|
+
"desired_intent": "IMPLEMENT", "active_artifact": "ticket",
|
|
40
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
41
|
+
"writes": ["application_files","evidence"], "required_expertise": ["changeability"], "ticket_expertise": true,
|
|
42
|
+
"expected_output": "Implementation-start evidence before mutation, bounded implementation, and verification evidence or a typed stop.",
|
|
43
|
+
"result_vocabulary": ["VERIFICATION_PASS","VERIFICATION_FAIL","REPLAN_REQUIRED","PRECONDITION_UNSATISFIED","BLOCKED"]
|
|
44
|
+
},
|
|
45
|
+
"implementation.verify-ticket": {
|
|
46
|
+
"desired_intent": "IMPLEMENT", "active_artifact": "ticket",
|
|
47
|
+
"reads": ["product","engineering","spec","ticket","project_rule","repository","evidence","application_files","state"],
|
|
48
|
+
"writes": ["evidence"], "required_expertise": ["changeability"], "ticket_expertise": true,
|
|
49
|
+
"expected_output": "One immutable v3 implementation_verification evidence record.",
|
|
50
|
+
"result_vocabulary": ["VERIFICATION_PASS","VERIFICATION_FAIL","IMPLEMENTATION_INCOMPLETE","REPLAN_REQUIRED","BLOCKED"]
|
|
63
51
|
},
|
|
64
52
|
"implementation.repair-ticket": {
|
|
65
|
-
"desired_intent": "REPAIR",
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"ticket_expertise": true,
|
|
71
|
-
"expected_output": "Bounded repair plus fresh verification evidence and one legal lifecycle result.",
|
|
72
|
-
"result_vocabulary": ["REVIEW_REQUIRED", "REPLAN_REQUIRED", "BLOCKED"]
|
|
53
|
+
"desired_intent": "REPAIR", "active_artifact": "ticket",
|
|
54
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
55
|
+
"writes": ["application_files","evidence"], "required_expertise": ["changeability"], "ticket_expertise": true,
|
|
56
|
+
"expected_output": "Bounded repair plus fresh verification evidence and one legal typed result.",
|
|
57
|
+
"result_vocabulary": ["VERIFICATION_PASS","VERIFICATION_FAIL","REPLAN_REQUIRED","BLOCKED"]
|
|
73
58
|
},
|
|
74
59
|
"review.review-ticket": {
|
|
75
|
-
"desired_intent": "REVIEW",
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"ticket_expertise": true,
|
|
81
|
-
"expected_output": "One immutable independent review round tied to the current contract and repository basis.",
|
|
82
|
-
"result_vocabulary": ["PASS", "REPAIR", "REPLAN", "BLOCKED"]
|
|
60
|
+
"desired_intent": "REVIEW", "active_artifact": "ticket",
|
|
61
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
62
|
+
"writes": ["review"], "required_expertise": ["testing","changeability"], "ticket_expertise": true,
|
|
63
|
+
"expected_output": "One immutable independent review round tied to the current contract, PASS verification, and repository basis.",
|
|
64
|
+
"result_vocabulary": ["PASS","REPAIR","REPLAN","BLOCKED"]
|
|
83
65
|
}
|
|
84
66
|
}
|
|
85
67
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "yaaw.reconciliation-policy/v1",
|
|
3
|
+
"priority": [
|
|
4
|
+
{"id": "PROJECT_STATE_SCHEMA_MIGRATION_REQUIRED", "priority": 1},
|
|
5
|
+
{"id": "PRODUCT_LEDGER_SYNC", "priority": 2},
|
|
6
|
+
{"id": "PLANNING_LEDGER_SYNC", "priority": 3},
|
|
7
|
+
{"id": "ACTIVE_SPEC_UNADOPTED", "priority": 4},
|
|
8
|
+
{"id": "TICKET_UNREGISTERED", "priority": 5},
|
|
9
|
+
{"id": "CONTRACT_SOURCE_STALE", "priority": 6},
|
|
10
|
+
{"id": "IMPLEMENTATION_STARTED", "priority": 7},
|
|
11
|
+
{"id": "IMPLEMENTATION_VERIFIED", "priority": 8},
|
|
12
|
+
{"id": "REVIEW_RESULT_UNAPPLIED", "priority": 9},
|
|
13
|
+
{"id": "ACCEPTANCE_STALE", "priority": 10},
|
|
14
|
+
{"id": "PROJECT_COMPLETION_SYNC", "priority": 11}
|
|
15
|
+
],
|
|
16
|
+
"one_reconciliation_per_cycle": true
|
|
17
|
+
}
|
|
@@ -2,158 +2,29 @@
|
|
|
2
2
|
"schema": "yaaw.role-io/v1",
|
|
3
3
|
"roles": {
|
|
4
4
|
"prd": {
|
|
5
|
-
"reads": [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
],
|
|
9
|
-
"writes": [
|
|
10
|
-
"product"
|
|
11
|
-
],
|
|
12
|
-
"forbidden_writes": [
|
|
13
|
-
"engineering",
|
|
14
|
-
"engineering_research",
|
|
15
|
-
"spec",
|
|
16
|
-
"ticket",
|
|
17
|
-
"application_files",
|
|
18
|
-
"evidence",
|
|
19
|
-
"review",
|
|
20
|
-
"observed_state",
|
|
21
|
-
"handoff",
|
|
22
|
-
"state",
|
|
23
|
-
"installation_manifest",
|
|
24
|
-
"dispatch_failures"
|
|
25
|
-
]
|
|
5
|
+
"reads": ["product","state"],
|
|
6
|
+
"writes": ["product"],
|
|
7
|
+
"forbidden_writes": ["engineering","engineering_research","spec","ticket","application_files","evidence","review","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
26
8
|
},
|
|
27
9
|
"planner": {
|
|
28
|
-
"reads": [
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"engineering_research",
|
|
32
|
-
"spec",
|
|
33
|
-
"ticket",
|
|
34
|
-
"project_rule",
|
|
35
|
-
"repository"
|
|
36
|
-
],
|
|
37
|
-
"writes": [
|
|
38
|
-
"engineering",
|
|
39
|
-
"engineering_research",
|
|
40
|
-
"spec",
|
|
41
|
-
"ticket",
|
|
42
|
-
"project_rule"
|
|
43
|
-
],
|
|
44
|
-
"forbidden_writes": [
|
|
45
|
-
"product",
|
|
46
|
-
"application_files",
|
|
47
|
-
"evidence",
|
|
48
|
-
"review",
|
|
49
|
-
"observed_state",
|
|
50
|
-
"handoff",
|
|
51
|
-
"state",
|
|
52
|
-
"installation_manifest",
|
|
53
|
-
"dispatch_failures"
|
|
54
|
-
]
|
|
10
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","state"],
|
|
11
|
+
"writes": ["engineering","engineering_research","spec","ticket","project_rule"],
|
|
12
|
+
"forbidden_writes": ["product","application_files","evidence","review","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
55
13
|
},
|
|
56
14
|
"implementer": {
|
|
57
|
-
"reads": [
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"engineering_research",
|
|
61
|
-
"spec",
|
|
62
|
-
"ticket",
|
|
63
|
-
"project_rule",
|
|
64
|
-
"repository",
|
|
65
|
-
"evidence",
|
|
66
|
-
"review",
|
|
67
|
-
"application_files"
|
|
68
|
-
],
|
|
69
|
-
"writes": [
|
|
70
|
-
"application_files",
|
|
71
|
-
"evidence"
|
|
72
|
-
],
|
|
73
|
-
"forbidden_writes": [
|
|
74
|
-
"product",
|
|
75
|
-
"engineering",
|
|
76
|
-
"engineering_research",
|
|
77
|
-
"spec",
|
|
78
|
-
"ticket",
|
|
79
|
-
"project_rule",
|
|
80
|
-
"review",
|
|
81
|
-
"observed_state",
|
|
82
|
-
"handoff",
|
|
83
|
-
"state",
|
|
84
|
-
"installation_manifest",
|
|
85
|
-
"dispatch_failures"
|
|
86
|
-
]
|
|
15
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
16
|
+
"writes": ["application_files","evidence"],
|
|
17
|
+
"forbidden_writes": ["product","engineering","engineering_research","spec","ticket","project_rule","review","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
87
18
|
},
|
|
88
19
|
"reviewer": {
|
|
89
|
-
"reads": [
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
"engineering_research",
|
|
93
|
-
"spec",
|
|
94
|
-
"ticket",
|
|
95
|
-
"project_rule",
|
|
96
|
-
"repository",
|
|
97
|
-
"evidence",
|
|
98
|
-
"review",
|
|
99
|
-
"application_files",
|
|
100
|
-
"state"
|
|
101
|
-
],
|
|
102
|
-
"writes": [
|
|
103
|
-
"review"
|
|
104
|
-
],
|
|
105
|
-
"forbidden_writes": [
|
|
106
|
-
"product",
|
|
107
|
-
"engineering",
|
|
108
|
-
"engineering_research",
|
|
109
|
-
"spec",
|
|
110
|
-
"ticket",
|
|
111
|
-
"project_rule",
|
|
112
|
-
"application_files",
|
|
113
|
-
"evidence",
|
|
114
|
-
"observed_state",
|
|
115
|
-
"handoff",
|
|
116
|
-
"state",
|
|
117
|
-
"installation_manifest",
|
|
118
|
-
"dispatch_failures"
|
|
119
|
-
]
|
|
20
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
21
|
+
"writes": ["review"],
|
|
22
|
+
"forbidden_writes": ["product","engineering","engineering_research","spec","ticket","project_rule","application_files","evidence","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
120
23
|
},
|
|
121
24
|
"orchestrator": {
|
|
122
|
-
"reads": [
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"engineering_research",
|
|
126
|
-
"spec",
|
|
127
|
-
"ticket",
|
|
128
|
-
"project_rule",
|
|
129
|
-
"repository",
|
|
130
|
-
"evidence",
|
|
131
|
-
"review",
|
|
132
|
-
"state",
|
|
133
|
-
"observed_state",
|
|
134
|
-
"handoff",
|
|
135
|
-
"intent",
|
|
136
|
-
"installation_manifest",
|
|
137
|
-
"dispatch_failures"
|
|
138
|
-
],
|
|
139
|
-
"writes": [
|
|
140
|
-
"state",
|
|
141
|
-
"observed_state",
|
|
142
|
-
"handoff",
|
|
143
|
-
"intent",
|
|
144
|
-
"dispatch_failures"
|
|
145
|
-
],
|
|
146
|
-
"forbidden_writes": [
|
|
147
|
-
"product",
|
|
148
|
-
"engineering",
|
|
149
|
-
"engineering_research",
|
|
150
|
-
"spec",
|
|
151
|
-
"project_rule",
|
|
152
|
-
"application_files",
|
|
153
|
-
"evidence",
|
|
154
|
-
"review",
|
|
155
|
-
"installation_manifest"
|
|
156
|
-
]
|
|
25
|
+
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","state","observed_state","handoff","intent","installation_manifest","dispatch_failures"],
|
|
26
|
+
"writes": ["state","observed_state","handoff","intent","dispatch_failures"],
|
|
27
|
+
"forbidden_writes": ["product","engineering","engineering_research","spec","project_rule","application_files","evidence","review","installation_manifest"]
|
|
157
28
|
}
|
|
158
29
|
}
|
|
159
30
|
}
|
|
@@ -1,14 +1,110 @@
|
|
|
1
1
|
{
|
|
2
|
-
"yaaw-orchestrator": {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"yaaw-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
"yaaw-orchestrator": {
|
|
3
|
+
"role": "orchestrator",
|
|
4
|
+
"workflow_id": "orchestration.route",
|
|
5
|
+
"destination_role": "orchestrator",
|
|
6
|
+
"requested_workflow": "orchestration.route",
|
|
7
|
+
"desired_outcome": "CONTINUE",
|
|
8
|
+
"completion_kind": "CONTINUE_UNTIL_STOP",
|
|
9
|
+
"description": "Continue or recover a YAAW project by reconstructing reality and dispatching the next safe workflow."
|
|
10
|
+
},
|
|
11
|
+
"yaaw-prd": {
|
|
12
|
+
"role": "prd",
|
|
13
|
+
"workflow_id": "prd.route",
|
|
14
|
+
"destination_role": "prd",
|
|
15
|
+
"requested_workflow": "prd.route",
|
|
16
|
+
"desired_outcome": "CONTINUE_PRODUCT",
|
|
17
|
+
"completion_kind": "PRODUCT_READY",
|
|
18
|
+
"description": "Create or continue YAAW product definition, challenge material product assumptions, and route clarification or revision work."
|
|
19
|
+
},
|
|
20
|
+
"yaaw-revise-prd": {
|
|
21
|
+
"role": "prd",
|
|
22
|
+
"workflow_id": "prd.revise",
|
|
23
|
+
"destination_role": "prd",
|
|
24
|
+
"requested_workflow": "prd.revise",
|
|
25
|
+
"desired_outcome": "REVISE_PRODUCT",
|
|
26
|
+
"completion_kind": "PRODUCT_REVISION_ADVANCED",
|
|
27
|
+
"description": "Change accepted YAAW product intent and invalidate downstream engineering contracts whose basis became stale."
|
|
28
|
+
},
|
|
29
|
+
"yaaw-refine-prd": {
|
|
30
|
+
"role": "prd",
|
|
31
|
+
"workflow_id": "prd.refine",
|
|
32
|
+
"destination_role": "prd",
|
|
33
|
+
"requested_workflow": "prd.refine",
|
|
34
|
+
"desired_outcome": "REFINE_PRODUCT",
|
|
35
|
+
"completion_kind": "PRODUCT_REFINED",
|
|
36
|
+
"description": "Improve clarity and completeness of a YAAW product artifact without changing accepted product meaning."
|
|
37
|
+
},
|
|
38
|
+
"yaaw-planner": {
|
|
39
|
+
"role": "planner",
|
|
40
|
+
"workflow_id": "planning.route",
|
|
41
|
+
"destination_role": "planner",
|
|
42
|
+
"requested_workflow": "planning.route",
|
|
43
|
+
"desired_outcome": "CONTINUE_PLANNING",
|
|
44
|
+
"completion_kind": "PLANNING_READY",
|
|
45
|
+
"description": "Continue repository-backed YAAW engineering planning, challenge material technical assumptions, and advance decisions, readiness, specifications, or tickets."
|
|
46
|
+
},
|
|
47
|
+
"yaaw-planning-review": {
|
|
48
|
+
"role": "planner",
|
|
49
|
+
"workflow_id": "planning.readiness-review",
|
|
50
|
+
"destination_role": "planner",
|
|
51
|
+
"requested_workflow": "planning.readiness-review",
|
|
52
|
+
"desired_outcome": "PLANNING_REVIEW",
|
|
53
|
+
"completion_kind": "PLANNING_READINESS_DECIDED",
|
|
54
|
+
"description": "Freshly assess whether the current YAAW engineering frontier is ready for implementation without material invention."
|
|
55
|
+
},
|
|
56
|
+
"yaaw-create-spec": {
|
|
57
|
+
"role": "planner",
|
|
58
|
+
"workflow_id": "planning.create-spec",
|
|
59
|
+
"destination_role": "planner",
|
|
60
|
+
"requested_workflow": "planning.create-spec",
|
|
61
|
+
"desired_outcome": "CREATE_SPEC",
|
|
62
|
+
"completion_kind": "CURRENT_SPEC_ACCEPTED",
|
|
63
|
+
"description": "Create the next YAAW specification from an engineering frontier whose readiness is currently PASS."
|
|
64
|
+
},
|
|
65
|
+
"yaaw-create-ticket": {
|
|
66
|
+
"role": "planner",
|
|
67
|
+
"workflow_id": "planning.create-tickets",
|
|
68
|
+
"destination_role": "planner",
|
|
69
|
+
"requested_workflow": "planning.create-tickets",
|
|
70
|
+
"desired_outcome": "CREATE_TICKETS",
|
|
71
|
+
"completion_kind": "CURRENT_TICKETS_REGISTERED",
|
|
72
|
+
"description": "Create bounded YAAW implementation ticket contracts from the current accepted specification."
|
|
73
|
+
},
|
|
74
|
+
"yaaw-create-tickets": {
|
|
75
|
+
"role": "planner",
|
|
76
|
+
"workflow_id": "planning.create-tickets",
|
|
77
|
+
"destination_role": "planner",
|
|
78
|
+
"requested_workflow": "planning.create-tickets",
|
|
79
|
+
"desired_outcome": "CREATE_TICKETS",
|
|
80
|
+
"completion_kind": "CURRENT_TICKETS_REGISTERED",
|
|
81
|
+
"description": "Create dependency-aware bounded YAAW implementation tickets from the current accepted specification."
|
|
82
|
+
},
|
|
83
|
+
"yaaw-implement": {
|
|
84
|
+
"role": "implementer",
|
|
85
|
+
"workflow_id": "implementation.implement-ticket",
|
|
86
|
+
"destination_role": "implementer",
|
|
87
|
+
"requested_workflow": "implementation.implement-ticket",
|
|
88
|
+
"desired_outcome": "IMPLEMENT",
|
|
89
|
+
"completion_kind": "TICKET_REVIEW_REQUIRED",
|
|
90
|
+
"description": "Implement one admitted READY YAAW ticket and produce repository-identity-bound verification evidence."
|
|
91
|
+
},
|
|
92
|
+
"yaaw-repair": {
|
|
93
|
+
"role": "implementer",
|
|
94
|
+
"workflow_id": "implementation.repair-ticket",
|
|
95
|
+
"destination_role": "implementer",
|
|
96
|
+
"requested_workflow": "implementation.repair-ticket",
|
|
97
|
+
"desired_outcome": "REPAIR",
|
|
98
|
+
"completion_kind": "TICKET_REVIEW_REQUIRED",
|
|
99
|
+
"description": "Repair a YAAW ticket in REPAIR_REQUIRED state while preserving its accepted product and engineering contract."
|
|
100
|
+
},
|
|
101
|
+
"yaaw-review": {
|
|
102
|
+
"role": "reviewer",
|
|
103
|
+
"workflow_id": "review.review-ticket",
|
|
104
|
+
"destination_role": "reviewer",
|
|
105
|
+
"requested_workflow": "review.review-ticket",
|
|
106
|
+
"desired_outcome": "REVIEW",
|
|
107
|
+
"completion_kind": "TICKET_REVIEW_APPLIED",
|
|
108
|
+
"description": "Independently review actual YAAW implementation and classify PASS, REPAIR, REPLAN, or BLOCKED against current evidence."
|
|
109
|
+
}
|
|
14
110
|
}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
# Implementer role
|
|
2
2
|
|
|
3
3
|
## Authority
|
|
4
|
-
Own
|
|
4
|
+
Own application changes and implementation evidence for one bounded admitted ticket at a time.
|
|
5
5
|
|
|
6
6
|
## Required behavior
|
|
7
|
-
- Require
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
7
|
+
- Require an exact handoff, repository requirement `IDENTITY`, repository status `READY`, reconciled state read access, and current source revisions.
|
|
8
|
+
- Before the first application mutation, write immutable `yaaw.evidence/v3` `implementation_start` evidence with result `STARTED` and the pre-edit repository identity.
|
|
9
|
+
- Then implement only the admitted scope and apply relevant changeability rules.
|
|
10
|
+
- Run required verification and write a new immutable v3 `implementation_verification` record with explicit `PASS`, `FAIL`, or `BLOCKED`.
|
|
11
|
+
- Never rewrite failed evidence as success.
|
|
12
|
+
- Never write `state.json`. Orchestrator adopts valid start/verification facts through legal transitions.
|
|
13
|
+
- If no READY ticket exists, return `PRECONDITION_UNSATISFIED:NO_READY_TICKET`; do not create tickets or command Planner.
|
|
14
|
+
- Missing material decisions route back to Planner through Orchestrator.
|
|
15
15
|
|
|
16
16
|
## Boundary
|
|
17
|
-
Never self-approve, silently change product/architecture contracts, or implement
|
|
18
|
-
|
|
19
|
-
## Framework boundary
|
|
20
|
-
Package-managed `.yaaw-core/system/**` is never a writable semantic-work surface. If a framework contract is missing, contradictory, or blocks valid work, do not edit YAAW to unblock yourself. Return `FRAMEWORK_INTEGRITY_VIOLATION`, `FRAMEWORK_INTEGRITY_UNKNOWN`, or `FRAMEWORK_CONTRACT_INCONSISTENCY` to Orchestrator with the exact evidence.
|
|
17
|
+
Never self-approve, silently change product/architecture contracts, or implement stale/`REPLAN_REQUIRED` work. A lost context is not permission to restart implementation from scratch.
|
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
# Orchestrator role
|
|
2
2
|
|
|
3
3
|
## Authority
|
|
4
|
-
Own continuity, evidence-backed reconciliation, invalidation coordination, and next-workflow dispatch.
|
|
4
|
+
Own continuity, evidence-backed reconciliation, invalidation coordination, public-intent continuation, and next-workflow dispatch. Orchestrator is the only physical writer of `.yaaw-core/project/state.json`; durable semantic facts from the owning roles authorize its mutations.
|
|
5
5
|
|
|
6
6
|
## Boot sequence
|
|
7
|
-
1. Resolve the
|
|
8
|
-
2.
|
|
9
|
-
3. Consume
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- `TERMINAL`/`BLOCKED` -> stop with that result;
|
|
14
|
-
- `DISPATCH_READY` -> use the persisted handoff exactly as produced.
|
|
15
|
-
4. Do not independently recalculate worktree digests, grep for alternate artifact locations, replay routing precedence, or hand-serialize `observed-state.json`/`handoff.json`.
|
|
16
|
-
5. Dispatch exactly one canonical workflow using `.yaaw-core/system/workflows/orchestration/dispatch.md`. The host adapter resolves the configured authority execution profile; Orchestrator never invents or substitutes provider/model settings.
|
|
17
|
-
6. Permit a change of execution mechanism only through the host adapter and only when the adapter establishes execution-profile equivalence or authoritative per-dimension correction under the configured policy.
|
|
18
|
-
7. After any worker completion, failure, interruption, or lost response, return to deterministic preparation before selecting another semantic workflow. For Implementer/Reviewer execution failures, update or reset the replaceable dispatch-failure ledger only after confirming durable progress and the current handoff basis. A pre-execution host isolation/profile stop never increments that ledger.
|
|
19
|
-
8. Apply any configured host capability fallback only through `orchestration.dispatch`; preserve the exact semantic role/handoff and require the adapter to preserve the configured fallback profile.
|
|
20
|
-
9. Repeat until a real stop condition.
|
|
7
|
+
1. Resolve the workspace root through `.yaaw-core/system/core/execution-context.md`.
|
|
8
|
+
2. For a public skill, invoke `orchestration-runtime.mjs --invoke-skill <skill>`; otherwise prepare with `--workspace <root>`.
|
|
9
|
+
3. Consume exactly one typed result. `RECONCILE_REQUIRED` applies exactly one reconciliation, then observation repeats.
|
|
10
|
+
4. Dispatch exactly one semantic handoff only after framework health, reconciliation, source-current validation, repository policy, and intent prerequisites pass.
|
|
11
|
+
5. After worker success, failure, interruption, or lost response, throw away worker text as authority and observe durable reality again.
|
|
12
|
+
6. Continue until intent completion, human input, typed blocker/framework stop, or project `COMPLETE`.
|
|
21
13
|
|
|
22
14
|
## Boundary
|
|
23
|
-
The Orchestrator is a traffic controller, not a super-agent. It
|
|
15
|
+
The Orchestrator is a traffic controller, not a super-agent. It must not author product decisions, architecture, implementation, research conclusions, or acceptance. Framework integrity is a fail-closed execution precondition. The Orchestrator never creates, edits, deletes, or weakens package-managed `.yaaw-core/system/**` content to unblock work; installer repair is the only supported framework mutation path.
|
|
24
16
|
|
|
25
|
-
|
|
17
|
+
Worker output does not update lifecycle state directly. Workers write durable semantic facts. Orchestrator observes those facts and records only legal lifecycle changes.
|
|
18
|
+
|
|
19
|
+
## Execution-profile boundary
|
|
20
|
+
The Orchestrator routes the execution profile selected by the host adapter but never invents or substitutes provider/model settings. It has no authority to choose arbitrary models or reasoning levels.
|
|
@@ -1,25 +1,16 @@
|
|
|
1
1
|
# Planner role
|
|
2
2
|
|
|
3
3
|
## Authority
|
|
4
|
-
Own engineering understanding, architecture decisions,
|
|
4
|
+
Own engineering understanding, architecture decisions, admitted engineering research, specifications, ticket contracts, readiness, frontier decomposition, and the durable `scope_status` judgment within accepted product intent.
|
|
5
5
|
|
|
6
6
|
## Required behavior
|
|
7
|
-
-
|
|
8
|
-
- Establish repository evidence before questioning
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
- Apply `.yaaw-core/system/rules/research-admission.md` before web/vendor research or host expertise. An installed host skill is never architectural evidence by itself.
|
|
15
|
-
- Persist material blocking research as `RSH-*`; research findings do not automatically become `ENG-*` decisions.
|
|
16
|
-
- Apply `.yaaw-core/system/rules/changeability.md` when shaping engineering decisions, specifications, and ticket boundaries.
|
|
17
|
-
- Create specs/tickets only after frontier readiness passes.
|
|
18
|
-
- Replan explicitly when later evidence invalidates a contract; preserve superseded history.
|
|
19
|
-
- Never reopen settled `ENG-*` decisions without new evidence or explicit request.
|
|
7
|
+
- Read the reconciled project state when lifecycle status affects planning; never write it.
|
|
8
|
+
- Establish repository evidence before questioning and apply `.yaaw-core/system/rules/assumption-challenge.md` to engineering assumptions.
|
|
9
|
+
- Maintain `engineering.md`, durable `ENG-*` decisions, current frontier, readiness, and `scope_status: UNKNOWN | OPEN | COMPLETE`.
|
|
10
|
+
- Set `COMPLETE` only when durable product/planning evidence proves no accepted product scope remains after the current frontier; otherwise use `OPEN` or `UNKNOWN`.
|
|
11
|
+
- Apply research admission and changeability rules; create specs/tickets only after readiness passes.
|
|
12
|
+
- Replan explicitly when later evidence invalidates a contract, preserving superseded history.
|
|
13
|
+
- Resolve routine reversible implementation decisions internally unless materially consequential.
|
|
20
14
|
|
|
21
15
|
## Boundary
|
|
22
|
-
Never invent product intent. Product gaps return to PRD/human authority. Planner does not accept implementation on behalf of Reviewer
|
|
23
|
-
|
|
24
|
-
## Framework boundary
|
|
25
|
-
Package-managed `.yaaw-core/system/**` is never a writable semantic-work surface. If a framework contract is missing, contradictory, or blocks valid work, do not edit YAAW to unblock yourself. Return `FRAMEWORK_INTEGRITY_VIOLATION`, `FRAMEWORK_INTEGRITY_UNKNOWN`, or `FRAMEWORK_CONTRACT_INCONSISTENCY` to Orchestrator with the exact evidence.
|
|
16
|
+
Never invent product intent. Product gaps return to PRD/human authority. Planner does not accept implementation on behalf of Reviewer and never writes `state.json`.
|
|
@@ -4,22 +4,17 @@
|
|
|
4
4
|
Own independent acceptance judgment and `PASS`, `REPAIR`, `REPLAN`, or `BLOCKED` classification.
|
|
5
5
|
|
|
6
6
|
## Required behavior
|
|
7
|
-
- Require repository
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- Record immutable review rounds and concrete findings.
|
|
14
|
-
- Report the result to Orchestrator; Reviewer never privately commands Implementer or Planner.
|
|
7
|
+
- Require repository `IDENTITY`, repository status `READY`, reconciled state read access, current source revisions, and current v3 PASS verification evidence.
|
|
8
|
+
- Inspect actual repository state rather than Implementer summaries.
|
|
9
|
+
- Tie the immutable review round to exact ticket/spec revisions, repository identity, and the PASS verification evidence ID.
|
|
10
|
+
- Apply changeability rules to concrete engineering impact, not style preference.
|
|
11
|
+
- Write only the immutable review artifact; never write `state.json`.
|
|
12
|
+
- Report the typed result to Orchestrator, which validates and adopts it.
|
|
15
13
|
|
|
16
14
|
## Classification
|
|
17
15
|
- `PASS`: current contract satisfied with adequate fresh evidence.
|
|
18
|
-
- `REPAIR`:
|
|
19
|
-
- `REPLAN`: contract/architecture
|
|
16
|
+
- `REPAIR`: bounded implementation defect; contract remains valid.
|
|
17
|
+
- `REPLAN`: contract/architecture materially invalid or insufficient.
|
|
20
18
|
- `BLOCKED`: acceptance cannot be determined because required evidence is unavailable.
|
|
21
19
|
|
|
22
|
-
Reviewer does not author implementation while acting as Reviewer.
|
|
23
|
-
|
|
24
|
-
## Framework boundary
|
|
25
|
-
Package-managed `.yaaw-core/system/**` is never a writable semantic-work surface. If a framework contract is missing, contradictory, or blocks valid work, do not edit YAAW to unblock yourself. Return `FRAMEWORK_INTEGRITY_VIOLATION`, `FRAMEWORK_INTEGRITY_UNKNOWN`, or `FRAMEWORK_CONTRACT_INCONSISTENCY` to Orchestrator with the exact evidence.
|
|
20
|
+
Reviewer does not author implementation while acting as Reviewer.
|