codex-orchestrator 2.0.8 → 2.0.10
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/CHANGELOG.md +19 -0
- package/README.md +6 -4
- package/dist/src/v2/adapters/gh-issue-adapter.js +9 -3
- package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -1
- package/dist/src/v2/checked-change.d.ts +1 -1
- package/dist/src/v2/checked-change.d.ts.map +1 -1
- package/dist/src/v2/checked-change.js +2 -3
- package/dist/src/v2/checked-change.js.map +1 -1
- package/dist/src/v2/review-feedback.d.ts +1 -0
- package/dist/src/v2/review-feedback.d.ts.map +1 -1
- package/dist/src/v2/review-feedback.js +1 -1
- package/dist/src/v2/review-feedback.js.map +1 -1
- package/dist/src/v2/run-issue.d.ts +6 -2
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +251 -51
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/run-store.d.ts +17 -1
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +39 -1
- package/dist/src/v2/run-store.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +1 -0
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +11 -3
- package/dist/src/v2/runtime.js.map +1 -1
- package/dist/src/v2/workflow-assets.d.ts.map +1 -1
- package/dist/src/v2/workflow-assets.js +5 -4
- package/dist/src/v2/workflow-assets.js.map +1 -1
- package/docs/deep-dive.md +3 -3
- package/internal-workflow/docs/agents/contract-test-ledger.md +1 -0
- package/internal-workflow/evals/coding-skill-evals.json +276 -28
- package/internal-workflow/manifest.json +1 -1
- package/internal-workflow/operations/qualification-repair/SKILL.md +17 -0
- package/internal-workflow/skills/implementation-spec-maker/SKILL.md +3 -0
- package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +1 -0
- package/internal-workflow/skills/implementation-spec-review/SKILL.md +2 -0
- package/internal-workflow/skills/implementation-spec-review/evals/evals.json +24 -0
- package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +9 -5
- package/internal-workflow/skills/small-task-implementer/SKILL.md +11 -3
- package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +2 -2
- package/package.json +1 -1
|
@@ -6,79 +6,327 @@
|
|
|
6
6
|
"id": "route-feature-tdd",
|
|
7
7
|
"prompt": "Implement a behavior-changing feature in this repository.",
|
|
8
8
|
"expected": ["read local evidence", "activate tdd before behavior edits", "run affected validation"],
|
|
9
|
-
"forbidden": ["invent repository commands", "create planning artifacts without an execution gap"]
|
|
9
|
+
"forbidden": ["invent repository commands", "create planning artifacts without an execution gap"],
|
|
10
|
+
"execution": {
|
|
11
|
+
"level": "trigger",
|
|
12
|
+
"fixture": "routing/behavior-change",
|
|
13
|
+
"sandbox": "read-only",
|
|
14
|
+
"trials": 2,
|
|
15
|
+
"should_trigger": ["code-review", "tdd"],
|
|
16
|
+
"should_not_trigger": ["implementation-spec-maker", "small-task-implementer", "tickets-orchestrator"],
|
|
17
|
+
"assertions": [{"kind": "route_equals", "value": "direct-medium"}],
|
|
18
|
+
"ablation_skill": "tdd"
|
|
19
|
+
}
|
|
10
20
|
},
|
|
11
21
|
{
|
|
12
22
|
"id": "route-diagnosis-only",
|
|
13
|
-
"prompt": "Explain the root cause and do not fix it yet.",
|
|
23
|
+
"prompt": "Explain the confirmed root cause documented in this repository and do not fix it yet.",
|
|
14
24
|
"expected": ["use bug-root-cause-explainer", "cite concrete evidence", "stop before edits"],
|
|
15
|
-
"forbidden": ["edit files", "present an inference as proven"]
|
|
25
|
+
"forbidden": ["edit files", "present an inference as proven"],
|
|
26
|
+
"execution": {
|
|
27
|
+
"level": "behavior",
|
|
28
|
+
"fixture": "behavior/diagnosis-only",
|
|
29
|
+
"sandbox": "workspace-write",
|
|
30
|
+
"trials": 2,
|
|
31
|
+
"should_trigger": ["bug-root-cause-explainer"],
|
|
32
|
+
"should_not_trigger": ["code-debugger", "diagnosing-bugs"],
|
|
33
|
+
"assertions": [
|
|
34
|
+
{"kind": "route_equals", "value": "diagnosis-only"},
|
|
35
|
+
{"kind": "tree_unchanged"}
|
|
36
|
+
],
|
|
37
|
+
"ablation_skill": "bug-root-cause-explainer"
|
|
38
|
+
}
|
|
16
39
|
},
|
|
17
40
|
{
|
|
18
41
|
"id": "route-flaky-bug",
|
|
19
|
-
"prompt": "Debug
|
|
42
|
+
"prompt": "Debug the intermittent failure described by this repository; its cause is not confirmed.",
|
|
20
43
|
"expected": ["use diagnosing-bugs", "improve reproduction or signal before repair"],
|
|
21
|
-
"forbidden": ["jump directly to a fix"]
|
|
44
|
+
"forbidden": ["jump directly to a fix"],
|
|
45
|
+
"execution": {
|
|
46
|
+
"level": "trigger",
|
|
47
|
+
"fixture": "routing/flaky-bug",
|
|
48
|
+
"sandbox": "read-only",
|
|
49
|
+
"trials": 2,
|
|
50
|
+
"should_trigger": ["diagnosing-bugs"],
|
|
51
|
+
"should_not_trigger": ["bug-root-cause-explainer", "code-debugger"],
|
|
52
|
+
"assertions": [{"kind": "route_equals", "value": "diagnose-first"}],
|
|
53
|
+
"ablation_skill": "diagnosing-bugs"
|
|
54
|
+
}
|
|
22
55
|
},
|
|
23
56
|
{
|
|
24
57
|
"id": "profile-medium-default",
|
|
25
|
-
"prompt": "Implement
|
|
58
|
+
"prompt": "Implement the settled stateful API and persistence feature described in this repository.",
|
|
26
59
|
"expected": ["select medium", "implement directly when authority and proof are clear"],
|
|
27
|
-
"forbidden": ["select high from statefulness or file count", "manufacture a PRD, tickets, or spec"]
|
|
60
|
+
"forbidden": ["select high from statefulness or file count", "manufacture a PRD, tickets, or spec"],
|
|
61
|
+
"execution": {
|
|
62
|
+
"level": "trigger",
|
|
63
|
+
"fixture": "routing/direct-medium",
|
|
64
|
+
"sandbox": "read-only",
|
|
65
|
+
"trials": 2,
|
|
66
|
+
"should_trigger": ["tdd"],
|
|
67
|
+
"should_not_trigger": ["implementation-spec-maker", "tickets-orchestrator"],
|
|
68
|
+
"assertions": [{"kind": "route_equals", "value": "direct-medium"}]
|
|
69
|
+
}
|
|
28
70
|
},
|
|
29
71
|
{
|
|
30
72
|
"id": "profile-high-threshold",
|
|
31
|
-
"prompt": "Classify
|
|
73
|
+
"prompt": "Classify the ordinary refactor and the irreversible data-loss scenario documented in this repository.",
|
|
32
74
|
"expected": ["keep the broad ordinary refactor medium", "select high only for material consequence plus uncertainty"],
|
|
33
|
-
"forbidden": ["accumulate generic risk labels into high"]
|
|
75
|
+
"forbidden": ["accumulate generic risk labels into high"],
|
|
76
|
+
"execution": {
|
|
77
|
+
"level": "trigger",
|
|
78
|
+
"fixture": "routing/profile-classification",
|
|
79
|
+
"sandbox": "read-only",
|
|
80
|
+
"trials": 2,
|
|
81
|
+
"should_trigger": [],
|
|
82
|
+
"should_not_trigger": ["implementation-spec-maker", "tickets-orchestrator"],
|
|
83
|
+
"assertions": [{"kind": "route_equals", "value": "profile-classification"}]
|
|
84
|
+
}
|
|
34
85
|
},
|
|
35
86
|
{
|
|
36
87
|
"id": "planning-does-not-deliver",
|
|
37
|
-
"prompt": "Use wayfinder to resolve the decision frontier and publish the resulting tickets.",
|
|
88
|
+
"prompt": "Use wayfinder to resolve the documented decision frontier and publish the resulting tickets, then stop before delivery.",
|
|
38
89
|
"expected": ["stop after the planning package", "require separate delivery authorization"],
|
|
39
|
-
"forbidden": ["start implementation from publication or labels"]
|
|
90
|
+
"forbidden": ["start implementation from publication or labels"],
|
|
91
|
+
"execution": {
|
|
92
|
+
"level": "trigger",
|
|
93
|
+
"fixture": "routing/planning",
|
|
94
|
+
"sandbox": "read-only",
|
|
95
|
+
"trials": 2,
|
|
96
|
+
"should_trigger": ["to-tickets", "wayfinder"],
|
|
97
|
+
"should_not_trigger": ["spec-implementer", "tickets-orchestrator"],
|
|
98
|
+
"assertions": [{"kind": "route_equals", "value": "planning-only"}],
|
|
99
|
+
"ablation_skill": "wayfinder"
|
|
100
|
+
}
|
|
40
101
|
},
|
|
41
102
|
{
|
|
42
103
|
"id": "spec-only-for-gap",
|
|
43
|
-
"prompt": "Choose the route for
|
|
44
|
-
"expected": ["
|
|
45
|
-
"forbidden": ["
|
|
104
|
+
"prompt": "Choose the route for the implementation request whose unresolved execution contract is documented in this repository.",
|
|
105
|
+
"expected": ["use implementation-spec-maker for the unresolved execution delta"],
|
|
106
|
+
"forbidden": ["start implementation before the contract is resolved", "create a ticket graph"],
|
|
107
|
+
"execution": {
|
|
108
|
+
"level": "trigger",
|
|
109
|
+
"fixture": "routing/spec-gap",
|
|
110
|
+
"sandbox": "read-only",
|
|
111
|
+
"trials": 2,
|
|
112
|
+
"should_trigger": ["implementation-spec-maker"],
|
|
113
|
+
"should_not_trigger": ["spec-implementer", "tickets-orchestrator"],
|
|
114
|
+
"assertions": [{"kind": "route_equals", "value": "spec-gap"}],
|
|
115
|
+
"ablation_skill": "implementation-spec-maker"
|
|
116
|
+
}
|
|
46
117
|
},
|
|
47
118
|
{
|
|
48
119
|
"id": "ticket-direct-vs-graph",
|
|
49
|
-
"prompt": "Choose delivery for
|
|
120
|
+
"prompt": "Choose delivery for the approved dependency graph documented in this repository, while preserving the direct route for its separate deterministic single-ticket example.",
|
|
50
121
|
"expected": ["allow direct execution for the single ticket", "use tickets-orchestrator for the graph"],
|
|
51
|
-
"forbidden": ["manufacture a wave-level spec"]
|
|
122
|
+
"forbidden": ["manufacture a wave-level spec"],
|
|
123
|
+
"execution": {
|
|
124
|
+
"level": "trigger",
|
|
125
|
+
"fixture": "routing/ticket-graph",
|
|
126
|
+
"sandbox": "read-only",
|
|
127
|
+
"trials": 2,
|
|
128
|
+
"should_trigger": ["tickets-orchestrator"],
|
|
129
|
+
"should_not_trigger": ["implementation-spec-maker"],
|
|
130
|
+
"assertions": [{"kind": "route_equals", "value": "ticket-graph"}],
|
|
131
|
+
"ablation_skill": "tickets-orchestrator"
|
|
132
|
+
}
|
|
52
133
|
},
|
|
53
134
|
{
|
|
54
135
|
"id": "review-topology",
|
|
55
|
-
"prompt": "
|
|
56
|
-
"expected": ["
|
|
57
|
-
"forbidden": ["root self-review", "
|
|
136
|
+
"prompt": "Run the final review for the ordinary medium change documented in this repository.",
|
|
137
|
+
"expected": ["launch one reviewer_standard", "keep correctness and standards in one bounded Full review"],
|
|
138
|
+
"forbidden": ["root self-review", "launch reviewer_deep for ordinary medium"],
|
|
139
|
+
"execution": {
|
|
140
|
+
"level": "behavior",
|
|
141
|
+
"fixture": "behavior/review",
|
|
142
|
+
"sandbox": "workspace-write",
|
|
143
|
+
"trials": 2,
|
|
144
|
+
"should_trigger": ["code-review"],
|
|
145
|
+
"should_not_trigger": ["implementation-spec-review"],
|
|
146
|
+
"assertions": [
|
|
147
|
+
{"kind": "route_equals", "value": "review-topology"},
|
|
148
|
+
{"kind": "event_present", "event": "subagent_launch", "value": "reviewer_standard"},
|
|
149
|
+
{"kind": "event_absent", "event": "subagent_launch", "value": "reviewer_deep"},
|
|
150
|
+
{"kind": "tree_unchanged"}
|
|
151
|
+
]
|
|
152
|
+
}
|
|
58
153
|
},
|
|
59
154
|
{
|
|
60
155
|
"id": "review-closure-bounded",
|
|
61
|
-
"prompt": "
|
|
62
|
-
"expected": ["
|
|
63
|
-
"forbidden": ["restart broad Full review", "launch a separate cleanup gate"]
|
|
156
|
+
"prompt": "Execute the already-authorized Closure for the repaired shared-contract defect documented in this repository.",
|
|
157
|
+
"expected": ["launch the recorded reviewer_standard lineage for affected Closure", "leave the already-repaired tree unchanged"],
|
|
158
|
+
"forbidden": ["restart broad Full review", "launch reviewer_deep or a separate cleanup gate"],
|
|
159
|
+
"execution": {
|
|
160
|
+
"level": "behavior",
|
|
161
|
+
"fixture": "behavior/review-closure",
|
|
162
|
+
"sandbox": "workspace-write",
|
|
163
|
+
"trials": 2,
|
|
164
|
+
"should_trigger": ["code-review"],
|
|
165
|
+
"should_not_trigger": ["implementation-spec-review"],
|
|
166
|
+
"assertions": [
|
|
167
|
+
{"kind": "route_equals", "value": "review-closure"},
|
|
168
|
+
{"kind": "event_present", "event": "subagent_launch", "value": "reviewer_standard:closure"},
|
|
169
|
+
{"kind": "event_absent", "event": "subagent_launch", "value": "reviewer_deep"},
|
|
170
|
+
{"kind": "tree_unchanged"}
|
|
171
|
+
]
|
|
172
|
+
}
|
|
64
173
|
},
|
|
65
174
|
{
|
|
66
175
|
"id": "ledger-needs-material-missed-failure",
|
|
67
|
-
"prompt": "Choose proof for
|
|
176
|
+
"prompt": "Choose proof for the ordinary DTO edit documented in this repository; its targeted caller test covers the only realistic failure.",
|
|
68
177
|
"expected": ["use targeted proof without a contract ledger"],
|
|
69
|
-
"forbidden": ["create a ledger from the DTO category alone"]
|
|
178
|
+
"forbidden": ["create a ledger from the DTO category alone"],
|
|
179
|
+
"execution": {
|
|
180
|
+
"level": "trigger",
|
|
181
|
+
"fixture": "routing/ledger",
|
|
182
|
+
"sandbox": "read-only",
|
|
183
|
+
"trials": 2,
|
|
184
|
+
"should_trigger": ["tdd"],
|
|
185
|
+
"should_not_trigger": ["implementation-spec-maker"],
|
|
186
|
+
"assertions": [{"kind": "route_equals", "value": "targeted-proof"}]
|
|
187
|
+
}
|
|
70
188
|
},
|
|
71
189
|
{
|
|
72
190
|
"id": "ledger-protects-retry-contract",
|
|
73
|
-
"prompt": "Change retry behavior where a happy-path test could miss duplicate
|
|
191
|
+
"prompt": "Change the payment retry behavior documented in this repository, where a happy-path test could miss duplicate side effects.",
|
|
74
192
|
"expected": ["create a contract ledger", "name duplicate payment as the missed failure"],
|
|
75
|
-
"forbidden": ["rely on the happy path alone"]
|
|
193
|
+
"forbidden": ["rely on the happy path alone"],
|
|
194
|
+
"execution": {
|
|
195
|
+
"level": "trigger",
|
|
196
|
+
"fixture": "routing/ledger",
|
|
197
|
+
"sandbox": "read-only",
|
|
198
|
+
"trials": 2,
|
|
199
|
+
"should_trigger": ["tdd"],
|
|
200
|
+
"should_not_trigger": ["implementation-spec-maker"],
|
|
201
|
+
"assertions": [{"kind": "route_equals", "value": "contract-ledger"}]
|
|
202
|
+
}
|
|
76
203
|
},
|
|
77
204
|
{
|
|
78
205
|
"id": "direct-medium-no-extra-route",
|
|
79
|
-
"prompt": "Implement
|
|
206
|
+
"prompt": "Implement the clear medium feature documented in this repository; behavior, ownership, and affected proof are settled.",
|
|
80
207
|
"expected": ["implement directly"],
|
|
81
|
-
"forbidden": ["create tickets, a spec, or orchestration from file count, statefulness, or generic risk"]
|
|
208
|
+
"forbidden": ["create tickets, a spec, or orchestration from file count, statefulness, or generic risk"],
|
|
209
|
+
"execution": {
|
|
210
|
+
"level": "behavior",
|
|
211
|
+
"fixture": "behavior/direct-medium",
|
|
212
|
+
"sandbox": "workspace-write",
|
|
213
|
+
"trials": 2,
|
|
214
|
+
"should_trigger": ["code-review", "tdd"],
|
|
215
|
+
"should_not_trigger": ["implementation-spec-maker", "small-task-implementer", "tickets-orchestrator"],
|
|
216
|
+
"assertions": [
|
|
217
|
+
{"kind": "route_equals", "value": "direct-medium"},
|
|
218
|
+
{"kind": "command_exit", "argv": ["python3", "-m", "unittest", "tests.test_store"], "exit_code": 0, "boundary": false},
|
|
219
|
+
{"kind": "path_absent", "path": "PLAN.md"},
|
|
220
|
+
{"kind": "path_absent", "path": "docs/implementation-specs"},
|
|
221
|
+
{"kind": "event_present", "event": "file_write", "value": "store.py"}
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"id": "route-copy-config",
|
|
227
|
+
"prompt": "Apply the exact copy and configuration-only update documented in this repository.",
|
|
228
|
+
"expected": ["use the small-task route", "run affected validation without manufacturing RED"],
|
|
229
|
+
"forbidden": ["activate tdd", "create an implementation spec"],
|
|
230
|
+
"execution": {
|
|
231
|
+
"level": "trigger",
|
|
232
|
+
"fixture": "routing/nonbehavior",
|
|
233
|
+
"sandbox": "read-only",
|
|
234
|
+
"trials": 2,
|
|
235
|
+
"should_trigger": ["small-task-implementer"],
|
|
236
|
+
"should_not_trigger": ["implementation-spec-maker", "tdd"],
|
|
237
|
+
"assertions": [{"kind": "route_equals", "value": "direct-simple"}],
|
|
238
|
+
"ablation_skill": "small-task-implementer"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"id": "route-bounded-fix",
|
|
243
|
+
"prompt": "Implement the confirmed bounded bug fix documented in this repository through its existing public test seam.",
|
|
244
|
+
"expected": ["activate tdd", "use code-debugger", "run affected validation"],
|
|
245
|
+
"forbidden": ["restart open-ended diagnosis", "create an implementation spec"],
|
|
246
|
+
"execution": {
|
|
247
|
+
"level": "behavior",
|
|
248
|
+
"fixture": "behavior/tdd-red",
|
|
249
|
+
"sandbox": "workspace-write",
|
|
250
|
+
"trials": 2,
|
|
251
|
+
"should_trigger": ["code-debugger", "tdd"],
|
|
252
|
+
"should_not_trigger": ["diagnosing-bugs", "implementation-spec-maker"],
|
|
253
|
+
"assertions": [
|
|
254
|
+
{"kind": "route_equals", "value": "bounded-fix"},
|
|
255
|
+
{"kind": "file_contains", "path": ".eval/red.json", "text": "\"status\": \"red\""},
|
|
256
|
+
{"kind": "command_exit", "argv": ["python3", "verify_tdd.py"], "exit_code": 0, "boundary": false},
|
|
257
|
+
{"kind": "event_present", "event": "file_write", "value": "calculator.py"},
|
|
258
|
+
{"kind": "event_order", "before": {"event": "skill_read", "value": "tdd"}, "after": {"event": "file_write", "value": "calculator.py"}},
|
|
259
|
+
{"kind": "path_absent", "path": "PLAN.md"}
|
|
260
|
+
],
|
|
261
|
+
"ablation_skill": "code-debugger"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"id": "route-commit-only",
|
|
266
|
+
"prompt": "Commit only the already validated scoped changes described in this repository and stop without pushing.",
|
|
267
|
+
"expected": ["use commit", "stage only intended paths", "stop after the local commit"],
|
|
268
|
+
"forbidden": ["push", "open a pull request", "start another implementation workflow"],
|
|
269
|
+
"execution": {
|
|
270
|
+
"level": "behavior",
|
|
271
|
+
"fixture": "behavior/commit-only",
|
|
272
|
+
"sandbox": "workspace-write",
|
|
273
|
+
"trials": 2,
|
|
274
|
+
"should_trigger": ["commit"],
|
|
275
|
+
"should_not_trigger": ["code-review", "tickets-orchestrator"],
|
|
276
|
+
"assertions": [
|
|
277
|
+
{"kind": "route_equals", "value": "commit-only"},
|
|
278
|
+
{"kind": "command_exit", "argv": ["python3", "verify_commit.py"], "exit_code": 0, "boundary": true},
|
|
279
|
+
{"kind": "event_present", "event": "git_commit", "value": "commit"},
|
|
280
|
+
{"kind": "event_absent", "event": "git_push", "value": "origin"},
|
|
281
|
+
{"kind": "tree_unchanged"}
|
|
282
|
+
],
|
|
283
|
+
"ablation_skill": "commit"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"id": "route-evidence-answers",
|
|
288
|
+
"prompt": "Implement the tiny change using the exact target, expected value, and validation command already documented in this repository.",
|
|
289
|
+
"expected": ["use repository evidence", "continue without an obvious clarification question"],
|
|
290
|
+
"forbidden": ["ask for details already present", "create planning artifacts"],
|
|
291
|
+
"execution": {
|
|
292
|
+
"level": "trigger",
|
|
293
|
+
"fixture": "routing/evidence-first",
|
|
294
|
+
"sandbox": "read-only",
|
|
295
|
+
"trials": 2,
|
|
296
|
+
"should_trigger": ["small-task-implementer"],
|
|
297
|
+
"should_not_trigger": ["implementation-spec-maker", "wayfinder"],
|
|
298
|
+
"assertions": [{"kind": "route_equals", "value": "evidence-first"}]
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"id": "route-invented-defaults",
|
|
303
|
+
"prompt": "Prepare the implementation route for the configurable lookback and cooldown requirement documented in this repository.",
|
|
304
|
+
"expected": ["identify the missing authority values", "use implementation-spec-maker and block the unresolved decision"],
|
|
305
|
+
"forbidden": ["invent defaults", "start implementation"],
|
|
306
|
+
"execution": {
|
|
307
|
+
"level": "trigger",
|
|
308
|
+
"fixture": "routing/authority-gap",
|
|
309
|
+
"sandbox": "read-only",
|
|
310
|
+
"trials": 2,
|
|
311
|
+
"should_trigger": ["implementation-spec-maker"],
|
|
312
|
+
"should_not_trigger": ["small-task-implementer", "spec-implementer"],
|
|
313
|
+
"assertions": [{"kind": "route_equals", "value": "authority-blocked"}]
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"id": "route-preserve-existing",
|
|
318
|
+
"prompt": "Prepare an implementation spec for the request documented in this repository, preserving behavior that repository evidence proves already exists.",
|
|
319
|
+
"expected": ["classify existing behavior as preserve plus regression proof", "scope only the remaining delta"],
|
|
320
|
+
"forbidden": ["plan a second implementation", "ignore current code evidence"],
|
|
321
|
+
"execution": {
|
|
322
|
+
"level": "trigger",
|
|
323
|
+
"fixture": "routing/preserve-existing",
|
|
324
|
+
"sandbox": "read-only",
|
|
325
|
+
"trials": 2,
|
|
326
|
+
"should_trigger": ["implementation-spec-maker"],
|
|
327
|
+
"should_not_trigger": ["code-debugger", "tdd"],
|
|
328
|
+
"assertions": [{"kind": "route_equals", "value": "preserve-existing"}]
|
|
329
|
+
}
|
|
82
330
|
}
|
|
83
331
|
]
|
|
84
332
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"evals":{"shared/coding-skill-evals":{"owner":null,"path":"evals/coding-skill-evals.json"},"skill/implementation-spec-review":{"owner":"implementation-spec-review","path":"skills/implementation-spec-review/evals/evals.json"},"skill/spec-implementer":{"owner":"spec-implementer","path":"skills/spec-implementer/evals/evals.json"},"skill/tdd":{"owner":"tdd","path":"skills/tdd/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"a37c59676bcb8b938a7c82bce8a6ea5becf58ba367866d2712cd469391aea931","size":1603},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"958f4e7c7177c062b2a24fb7db2287be2cfa6e5281f2d156f7eb67b6cb3a0741","size":6434},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/contract-test-ledger.md","sha256":"22b7b7fe4aeb54d863fb779990292d75214c0f811686baa58242e82d88f8186e","size":4200},{"mode":420,"path":"docs/agents/review-gates.md","sha256":"5ca48066b263cf869549c383814cfbdbbad711e5c247a8253bc2996d8fdec496","size":1857},{"mode":420,"path":"docs/agents/review-protocol.md","sha256":"9af5b44c545d76f3a048de424a4ccc78aa7e018bd193e4e5a787b2cef47af071","size":4086},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"b6ade11865a46a5a28d4823c1b70318453f4d350cfc62d2969aa06d73c47be4b","size":4321},{"mode":420,"path":"evals/coding-skill-evals.json","sha256":"4fac745d7986be76f6798064f4cd917e0bc8191add4bf7658877e40193ea8f11","size":4471},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/ambiguity-review/SKILL.md","sha256":"20371f30015afef12a2b9dd608d21cc93a93f011873927f7a64e29b36a4fcf99","size":427},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"c415e4383dd7ddeb4b371a0a141a39c4296d95222b26ca3fcc51a34704e10f25","size":1246},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"6f0c9b900d252d9a833d7fdac6868d84900787debf2964e22ffbf86851af45d2","size":1461},{"mode":420,"path":"operations/spec-author/SKILL.md","sha256":"5170f275bd7bc346578028d74d5814a5edd36ccd90d0615c4d5e3d6b6f8af049","size":627},{"mode":420,"path":"operations/spec-review/SKILL.md","sha256":"6cb7b8ea245faa2587ebde07ebe3d364eff41d18d5464ccd2749cf2b9b49f701","size":653},{"mode":420,"path":"operations/triage/SKILL.md","sha256":"39e8301b90a59795dc2b93917d4674c22dc3e4380f011a54ade1de4c7cdc18ae","size":647},{"mode":420,"path":"profiles/analyst_deep.toml","sha256":"06335e3a13b07ef3d7deb9b546a6dad5d765edfa6dbf21c1c4d516e843a4352f","size":380},{"mode":420,"path":"profiles/implementer_standard.toml","sha256":"4074f45ea6fb615382de7ddf04e4ab824185e01932290b95764ff63a3711824e","size":750},{"mode":420,"path":"profiles/proof_agent.toml","sha256":"2fbaf1145a11cb5c574bf1ed7333187d284ed0c3c3d6260c628f82057b8b04e7","size":446},{"mode":420,"path":"profiles/reviewer_deep.toml","sha256":"15ef121b641265a85d0647c46f6dd93d4a9abd8c09bcc746c41e4ca6b4c9af41","size":648},{"mode":420,"path":"profiles/reviewer_standard.toml","sha256":"0a26b24f98b7e8d0ec049cb6fbe623d5da838b2fe71b5accd59bf364a9c97e5c","size":585},{"mode":420,"path":"schemas/ambiguity-review-v1.json","sha256":"48d946ad8e91bd1908d8993ef631b1701ad3cd7a79f34368a07942d7774afeff","size":524},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"b11b266e0a7e0aa19eaf90ebf2b5c33f3bc7263e9c697cbf206e9865084e3439","size":2555},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"a1b580dad03af9be74d895d38a2f6aa9398b6d772c944dc398dac5aca0630d2e","size":1573},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"199155f5bd272e9caf78f151fc6663c18005a0971d874d946bfa431a3ee8eeab","size":21990},{"mode":420,"path":"schemas/spec-author-v1.json","sha256":"49f945362d1184ad628584b91fbbe75323d13bafa4ca3876093387a9fca06214","size":420},{"mode":420,"path":"schemas/spec-review-v1.json","sha256":"fe9fdd389bcb4c3b7d19609184caf3af4b89e7c1d1e71a7ba0c55c72c5d5562d","size":1386},{"mode":420,"path":"schemas/triage-route-v1.json","sha256":"3ca7ed29237f42e12567797d145d90dd4f1f48fa1e81a7da67434c19747753d8","size":5894},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"6f2d85dfebfd47b2ec7ede95f2e02417b3f0ad860d333360b040d31e3c609525","size":1777},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b62fea63f53f79a8978df81608a7c1f48fa9f06084fba8382904a8f8c8dff9bc","size":2940},{"mode":420,"path":"skills/acceptance-proof/references/browser.md","sha256":"ceefa4fd7db475b6162368511c2742b6d9c6af58d48e7d5d8a773ed5cc3938c4","size":2281},{"mode":420,"path":"skills/acceptance-proof/references/ios.md","sha256":"ae18be2632e1f7c3aa0810a1bafafc7760c807b30b1269408825aa14c224d493","size":2486},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/agent-auto/SKILL.md","sha256":"450c28f7a712f881cdf9f3e48555a47022b46f79df875bac35843a1c15135451","size":1415},{"mode":420,"path":"skills/agent-auto/agents/openai.yaml","sha256":"79a70421300891e3130fc7535c4aa37e01931ff353fbd7b83262c6fcf2032b71","size":266},{"mode":420,"path":"skills/code-debugger/SKILL.md","sha256":"914cf2a1a9971d5d932954b908fbf3fcfea040d46b4d612c2e7932979256bb88","size":7692},{"mode":420,"path":"skills/code-debugger/agents/openai.yaml","sha256":"8dd2f301bee632585371bd6f62dbdcdec95201f553392515342da5d0fc563305","size":322},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"ccfdbd832a9415db5f833741351a3954e25d1685c94f06344490bdc5307bc164","size":16455},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"c2697212427a5e119d9127e2f9000594e6c2eb7696e7a40604da7149c79ce478","size":278},{"mode":420,"path":"skills/code-review/references/bug-classes.md","sha256":"1f8648af9914cbd7553d045915f959df0f3b50a88e97c3beefeb955342e7b12d","size":4062},{"mode":420,"path":"skills/code-review/references/cleanup-lens.md","sha256":"6406350bf8ff00f9d2de2d5a8871aa1a9ab0efa33dcc35453eeebe9c96623e69","size":2846},{"mode":420,"path":"skills/code-review/references/framework-lenses.md","sha256":"ca9e7cb09f32f729cec5522e8ff7c7dcc43f76ef986e701e9c0a226514912cd8","size":1820},{"mode":420,"path":"skills/code-review/references/targeted-recipes.md","sha256":"921b422958c97e606637d3fa2d2628239d9176f0316c7e45bbc55b20a22fe3c1","size":2564},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"9a3457d4f12e3810041def93456a0c020df0842200737bf7ecaf06471991c16c","size":9097},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"eca84840bc193ce63cc7aad93d9e7b5f2541739b7bf682e5fa9eded3a8060787","size":262},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/implementation-spec-maker/SKILL.md","sha256":"c18d79268855823df381cb12adef767a780854a3ae43d0f53f878422ac62762a","size":9023},{"mode":420,"path":"skills/implementation-spec-maker/agents/openai.yaml","sha256":"5e9988125a4b69ec62ddfdb141793bebf8e117188d3c9c841031a0020b6d0b8e","size":421},{"mode":420,"path":"skills/implementation-spec-maker/references/source-modes.md","sha256":"471f0f58668b414438effbf91398022327fcbd43f40cc0801080994fe02bda3b","size":1920},{"mode":420,"path":"skills/implementation-spec-maker/references/spec-template.md","sha256":"0ba380125eb2e0c114aed6b0f064ac2643edf75bb78c10de72b741776edee6ff","size":5319},{"mode":420,"path":"skills/implementation-spec-review/SKILL.md","sha256":"473a38a52ebf393e95130ecd1c2d56141b210312e74b5590e1f9cfc3150b0362","size":6590},{"mode":420,"path":"skills/implementation-spec-review/agents/openai.yaml","sha256":"600f9cc4e4f42596e3bf48601a508ddf055efcc396478d5e339d024973f4fb05","size":277},{"mode":420,"path":"skills/implementation-spec-review/evals/evals.json","sha256":"4e41f607c84c04a6817b54854def0a2674c34381075ec6f55f435ca7b8e50efa","size":3499},{"mode":420,"path":"skills/implementation-spec-review/references/review-loop.md","sha256":"24de0b6fd7d08a8e95785534d3ca9626cc51be2434875821cc65ed9b8166a072","size":5553},{"mode":420,"path":"skills/small-task-implementer/SKILL.md","sha256":"6b81bf9d85b2f6c8253099cfe766f67cad312e3eb38b014ed2bedb007df467fc","size":4279},{"mode":420,"path":"skills/small-task-implementer/agents/openai.yaml","sha256":"81569b6dfd97de60b53f092528140a5e5043f9adcc9262debff7bc912e278958","size":261},{"mode":420,"path":"skills/spec-implementer/SKILL.md","sha256":"70f65edddebc788a21dbb5bc6cb8f60a297e0364c8e4754f3ba80cbf1ba210a0","size":5538},{"mode":420,"path":"skills/spec-implementer/agents/openai.yaml","sha256":"84ef664ae3538e264fe6746917f081d34eac0738dc28764ddf27d7a448b3615d","size":341},{"mode":420,"path":"skills/spec-implementer/evals/evals.json","sha256":"23d73ddd6e2205b601a36cd07a7dd5ee228ae587d5b9cc5adab9b0993a312ba8","size":1361},{"mode":420,"path":"skills/spec-implementer/references/review-loop.md","sha256":"6f6c088daf1c4fcb9811583ddfdfb9d0357e924fba8a6ef1662faa4b533f499f","size":4713},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"ed184bb3f12b527c3dd25d3c4cdecbbe549ae5c5781ecb52929435524836eeec","size":4200},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"cc49a11a2c08733862d1a406123cda7a050d4a70fa92a4b3ec37f318694b1581","size":301},{"mode":420,"path":"skills/tdd/evals/evals.json","sha256":"8c16ca88cdd4556c803e267dfd8ea82fab11aae7ae9959277bab8bab6f093031","size":692},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"e26596e305ce4c56ee4c31f166a4eb37ce289ac6ef0ce4c7aadfa41ce0bf8191","size":519},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"b05bcb10cfa43c7053abba2984c80c486afc10ef9ab180689427f56c86068fe6","size":362},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/triage/AGENT-BRIEF.md","sha256":"053cd013e1c2c9275111aa6e4b5a12e9838f8d6cd888e8ca0ccaaac576fd74df","size":7070},{"mode":420,"path":"skills/triage/OUT-OF-SCOPE.md","sha256":"8ed8cf27833444060c81b3961a83c0e3d8e6cf2fcb2ddf6f8b07c6655cbb0d85","size":4282},{"mode":420,"path":"skills/triage/SKILL.md","sha256":"5c7c84189fd5146ec1ae55a5669c74372ed7bce588fa7b8523417aa55b312a2e","size":8273},{"mode":420,"path":"skills/triage/agents/openai.yaml","sha256":"466bc430f95132bc6b28d077d50865d4b1fd9218307582343c35b0baf66d7894","size":283}],"generationHash":"719f268113fa52ceec24309adf467503114c58ed5688e643a1833aafbf26cc73","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/proof_agent.toml","schemas/proof-report-v1.json","skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"id":"acceptance-proof","outputSchema":"schemas/proof-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"proof-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"proof_agent","resources":[],"sourceSkill":"acceptance-proof"},"ambiguity-review":{"dependencySkills":[],"entry":"operations/ambiguity-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/ambiguity-review/SKILL.md","profiles/reviewer_deep.toml","schemas/ambiguity-review-v1.json"],"id":"ambiguity-review","outputSchema":"schemas/ambiguity-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md"],"sourceSkill":null},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md","operations/code-review/SKILL.md","profiles/reviewer_standard.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"id":"code-review","outputSchema":"schemas/code-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["code-debugger","diagnosing-bugs","small-task-implementer","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"id":"implementation","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer_standard","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md"],"sourceSkill":"agent-auto"},"spec-author":{"dependencySkills":[],"entry":"operations/spec-author/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","operations/spec-author/SKILL.md","profiles/implementer_standard.toml","schemas/spec-author-v1.json","skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"id":"spec-author","outputSchema":"schemas/spec-author-v1.json","policy":{"approvalCeiling":"never","cwdClass":"target-state","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"spec-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["target-state"]},"profile":"implementer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md"],"sourceSkill":"implementation-spec-maker"},"spec-review":{"dependencySkills":[],"entry":"operations/spec-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md","operations/spec-review/SKILL.md","profiles/reviewer_deep.toml","schemas/spec-review-v1.json","skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"id":"spec-review","outputSchema":"schemas/spec-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md"],"sourceSkill":"implementation-spec-review"},"triage":{"dependencySkills":[],"entry":"operations/triage/SKILL.md","files":["docs/agents/coding-skill-routing.md","operations/triage/SKILL.md","profiles/analyst_deep.toml","schemas/triage-route-v1.json","skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"id":"triage","outputSchema":"schemas/triage-route-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"analyst_deep","resources":["docs/agents/coding-skill-routing.md"],"sourceSkill":"triage"}},"profiles":{"analyst_deep":"profiles/analyst_deep.toml","implementer_standard":"profiles/implementer_standard.toml","proof_agent":"profiles/proof_agent.toml","reviewer_deep":"profiles/reviewer_deep.toml","reviewer_standard":"profiles/reviewer_standard.toml"},"skills":{"acceptance-proof":{"entry":"skills/acceptance-proof/SKILL.md","files":["skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"agent-auto":{"entry":"skills/agent-auto/SKILL.md","files":["skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml"],"metadata":"skills/agent-auto/agents/openai.yaml"},"code-debugger":{"entry":"skills/code-debugger/SKILL.md","files":["skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml"],"metadata":"skills/code-debugger/agents/openai.yaml"},"code-review":{"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"entry":"skills/diagnosing-bugs/SKILL.md","files":["skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"implementation-spec-maker":{"entry":"skills/implementation-spec-maker/SKILL.md","files":["skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"metadata":"skills/implementation-spec-maker/agents/openai.yaml"},"implementation-spec-review":{"entry":"skills/implementation-spec-review/SKILL.md","files":["skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"metadata":"skills/implementation-spec-review/agents/openai.yaml"},"small-task-implementer":{"entry":"skills/small-task-implementer/SKILL.md","files":["skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml"],"metadata":"skills/small-task-implementer/agents/openai.yaml"},"spec-implementer":{"entry":"skills/spec-implementer/SKILL.md","files":["skills/spec-implementer/SKILL.md","skills/spec-implementer/agents/openai.yaml","skills/spec-implementer/references/review-loop.md"],"metadata":"skills/spec-implementer/agents/openai.yaml"},"tdd":{"entry":"skills/tdd/SKILL.md","files":["skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/tdd/agents/openai.yaml"},"triage":{"entry":"skills/triage/SKILL.md","files":["skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"metadata":"skills/triage/agents/openai.yaml"}},"sourceFingerprint":"3347dc6e7b34280c8216a5ba71228441dadbd4ea7d79a20b9aef411c5fb95159","version":2}
|
|
1
|
+
{"evals":{"shared/coding-skill-evals":{"owner":null,"path":"evals/coding-skill-evals.json"},"skill/implementation-spec-review":{"owner":"implementation-spec-review","path":"skills/implementation-spec-review/evals/evals.json"},"skill/spec-implementer":{"owner":"spec-implementer","path":"skills/spec-implementer/evals/evals.json"},"skill/tdd":{"owner":"tdd","path":"skills/tdd/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"a37c59676bcb8b938a7c82bce8a6ea5becf58ba367866d2712cd469391aea931","size":1603},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"958f4e7c7177c062b2a24fb7db2287be2cfa6e5281f2d156f7eb67b6cb3a0741","size":6434},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/contract-test-ledger.md","sha256":"37424d9dac94f143c0485efc81c85be3806551149c33b4ea9a5e1db2305f0031","size":4424},{"mode":420,"path":"docs/agents/review-gates.md","sha256":"5ca48066b263cf869549c383814cfbdbbad711e5c247a8253bc2996d8fdec496","size":1857},{"mode":420,"path":"docs/agents/review-protocol.md","sha256":"9af5b44c545d76f3a048de424a4ccc78aa7e018bd193e4e5a787b2cef47af071","size":4086},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"b6ade11865a46a5a28d4823c1b70318453f4d350cfc62d2969aa06d73c47be4b","size":4321},{"mode":420,"path":"evals/coding-skill-evals.json","sha256":"bb3e931893013c3db7e8a2a30a3f7b84e7a359441605d8c66629f5bcc27089c0","size":15853},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/ambiguity-review/SKILL.md","sha256":"20371f30015afef12a2b9dd608d21cc93a93f011873927f7a64e29b36a4fcf99","size":427},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"c415e4383dd7ddeb4b371a0a141a39c4296d95222b26ca3fcc51a34704e10f25","size":1246},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"6f0c9b900d252d9a833d7fdac6868d84900787debf2964e22ffbf86851af45d2","size":1461},{"mode":420,"path":"operations/qualification-repair/SKILL.md","sha256":"b038a0ff20d9cdbb0dbdfc80f72c9d5bd7dd08f07021f97c91176e2d03900680","size":955},{"mode":420,"path":"operations/spec-author/SKILL.md","sha256":"5170f275bd7bc346578028d74d5814a5edd36ccd90d0615c4d5e3d6b6f8af049","size":627},{"mode":420,"path":"operations/spec-review/SKILL.md","sha256":"6cb7b8ea245faa2587ebde07ebe3d364eff41d18d5464ccd2749cf2b9b49f701","size":653},{"mode":420,"path":"operations/triage/SKILL.md","sha256":"39e8301b90a59795dc2b93917d4674c22dc3e4380f011a54ade1de4c7cdc18ae","size":647},{"mode":420,"path":"profiles/analyst_deep.toml","sha256":"06335e3a13b07ef3d7deb9b546a6dad5d765edfa6dbf21c1c4d516e843a4352f","size":380},{"mode":420,"path":"profiles/implementer_standard.toml","sha256":"4074f45ea6fb615382de7ddf04e4ab824185e01932290b95764ff63a3711824e","size":750},{"mode":420,"path":"profiles/proof_agent.toml","sha256":"2fbaf1145a11cb5c574bf1ed7333187d284ed0c3c3d6260c628f82057b8b04e7","size":446},{"mode":420,"path":"profiles/reviewer_deep.toml","sha256":"15ef121b641265a85d0647c46f6dd93d4a9abd8c09bcc746c41e4ca6b4c9af41","size":648},{"mode":420,"path":"profiles/reviewer_standard.toml","sha256":"0a26b24f98b7e8d0ec049cb6fbe623d5da838b2fe71b5accd59bf364a9c97e5c","size":585},{"mode":420,"path":"schemas/ambiguity-review-v1.json","sha256":"48d946ad8e91bd1908d8993ef631b1701ad3cd7a79f34368a07942d7774afeff","size":524},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"b11b266e0a7e0aa19eaf90ebf2b5c33f3bc7263e9c697cbf206e9865084e3439","size":2555},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"a1b580dad03af9be74d895d38a2f6aa9398b6d772c944dc398dac5aca0630d2e","size":1573},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"199155f5bd272e9caf78f151fc6663c18005a0971d874d946bfa431a3ee8eeab","size":21990},{"mode":420,"path":"schemas/spec-author-v1.json","sha256":"49f945362d1184ad628584b91fbbe75323d13bafa4ca3876093387a9fca06214","size":420},{"mode":420,"path":"schemas/spec-review-v1.json","sha256":"fe9fdd389bcb4c3b7d19609184caf3af4b89e7c1d1e71a7ba0c55c72c5d5562d","size":1386},{"mode":420,"path":"schemas/triage-route-v1.json","sha256":"3ca7ed29237f42e12567797d145d90dd4f1f48fa1e81a7da67434c19747753d8","size":5894},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"6f2d85dfebfd47b2ec7ede95f2e02417b3f0ad860d333360b040d31e3c609525","size":1777},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b62fea63f53f79a8978df81608a7c1f48fa9f06084fba8382904a8f8c8dff9bc","size":2940},{"mode":420,"path":"skills/acceptance-proof/references/browser.md","sha256":"ceefa4fd7db475b6162368511c2742b6d9c6af58d48e7d5d8a773ed5cc3938c4","size":2281},{"mode":420,"path":"skills/acceptance-proof/references/ios.md","sha256":"ae18be2632e1f7c3aa0810a1bafafc7760c807b30b1269408825aa14c224d493","size":2486},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/agent-auto/SKILL.md","sha256":"450c28f7a712f881cdf9f3e48555a47022b46f79df875bac35843a1c15135451","size":1415},{"mode":420,"path":"skills/agent-auto/agents/openai.yaml","sha256":"79a70421300891e3130fc7535c4aa37e01931ff353fbd7b83262c6fcf2032b71","size":266},{"mode":420,"path":"skills/code-debugger/SKILL.md","sha256":"914cf2a1a9971d5d932954b908fbf3fcfea040d46b4d612c2e7932979256bb88","size":7692},{"mode":420,"path":"skills/code-debugger/agents/openai.yaml","sha256":"8dd2f301bee632585371bd6f62dbdcdec95201f553392515342da5d0fc563305","size":322},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"ccfdbd832a9415db5f833741351a3954e25d1685c94f06344490bdc5307bc164","size":16455},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"c2697212427a5e119d9127e2f9000594e6c2eb7696e7a40604da7149c79ce478","size":278},{"mode":420,"path":"skills/code-review/references/bug-classes.md","sha256":"1f8648af9914cbd7553d045915f959df0f3b50a88e97c3beefeb955342e7b12d","size":4062},{"mode":420,"path":"skills/code-review/references/cleanup-lens.md","sha256":"6406350bf8ff00f9d2de2d5a8871aa1a9ab0efa33dcc35453eeebe9c96623e69","size":2846},{"mode":420,"path":"skills/code-review/references/framework-lenses.md","sha256":"ca9e7cb09f32f729cec5522e8ff7c7dcc43f76ef986e701e9c0a226514912cd8","size":1820},{"mode":420,"path":"skills/code-review/references/targeted-recipes.md","sha256":"921b422958c97e606637d3fa2d2628239d9176f0316c7e45bbc55b20a22fe3c1","size":2564},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"9a3457d4f12e3810041def93456a0c020df0842200737bf7ecaf06471991c16c","size":9097},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"eca84840bc193ce63cc7aad93d9e7b5f2541739b7bf682e5fa9eded3a8060787","size":262},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/implementation-spec-maker/SKILL.md","sha256":"8148a41ad05e4a2c42a79ec4d056f635e2f21cff0bb1676995a507fd9dce2ead","size":9783},{"mode":420,"path":"skills/implementation-spec-maker/agents/openai.yaml","sha256":"5e9988125a4b69ec62ddfdb141793bebf8e117188d3c9c841031a0020b6d0b8e","size":421},{"mode":420,"path":"skills/implementation-spec-maker/references/source-modes.md","sha256":"e110ae155809d79b7ee3d1c84b121d015222822f4b0f6d74beff3d28f9639d17","size":2145},{"mode":420,"path":"skills/implementation-spec-maker/references/spec-template.md","sha256":"0ba380125eb2e0c114aed6b0f064ac2643edf75bb78c10de72b741776edee6ff","size":5319},{"mode":420,"path":"skills/implementation-spec-review/SKILL.md","sha256":"333ff2e71a6400afbc5a617483067c7d42972788880266d2b5746697dba4714a","size":7152},{"mode":420,"path":"skills/implementation-spec-review/agents/openai.yaml","sha256":"600f9cc4e4f42596e3bf48601a508ddf055efcc396478d5e339d024973f4fb05","size":277},{"mode":420,"path":"skills/implementation-spec-review/evals/evals.json","sha256":"eedf8e60e6eb03e8266f15e88ea099b0709a3e8323133499ecaf7ec3c3efa10c","size":5360},{"mode":420,"path":"skills/implementation-spec-review/references/review-loop.md","sha256":"914e8adf57a1ea400a217e10658aae2fcb79aa198e2653d93406636705988867","size":5829},{"mode":420,"path":"skills/small-task-implementer/SKILL.md","sha256":"a246daa00f5d6c2f20b661f689562627d611738961480c884ec944f8ce46f56f","size":4755},{"mode":420,"path":"skills/small-task-implementer/agents/openai.yaml","sha256":"948c51d9f8026732d3c78f3f590e48ecdd924a9c25fafa72aaeaf20f873cf17a","size":329},{"mode":420,"path":"skills/spec-implementer/SKILL.md","sha256":"70f65edddebc788a21dbb5bc6cb8f60a297e0364c8e4754f3ba80cbf1ba210a0","size":5538},{"mode":420,"path":"skills/spec-implementer/agents/openai.yaml","sha256":"84ef664ae3538e264fe6746917f081d34eac0738dc28764ddf27d7a448b3615d","size":341},{"mode":420,"path":"skills/spec-implementer/evals/evals.json","sha256":"23d73ddd6e2205b601a36cd07a7dd5ee228ae587d5b9cc5adab9b0993a312ba8","size":1361},{"mode":420,"path":"skills/spec-implementer/references/review-loop.md","sha256":"6f6c088daf1c4fcb9811583ddfdfb9d0357e924fba8a6ef1662faa4b533f499f","size":4713},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"ed184bb3f12b527c3dd25d3c4cdecbbe549ae5c5781ecb52929435524836eeec","size":4200},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"cc49a11a2c08733862d1a406123cda7a050d4a70fa92a4b3ec37f318694b1581","size":301},{"mode":420,"path":"skills/tdd/evals/evals.json","sha256":"8c16ca88cdd4556c803e267dfd8ea82fab11aae7ae9959277bab8bab6f093031","size":692},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"e26596e305ce4c56ee4c31f166a4eb37ce289ac6ef0ce4c7aadfa41ce0bf8191","size":519},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"b05bcb10cfa43c7053abba2984c80c486afc10ef9ab180689427f56c86068fe6","size":362},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/triage/AGENT-BRIEF.md","sha256":"053cd013e1c2c9275111aa6e4b5a12e9838f8d6cd888e8ca0ccaaac576fd74df","size":7070},{"mode":420,"path":"skills/triage/OUT-OF-SCOPE.md","sha256":"8ed8cf27833444060c81b3961a83c0e3d8e6cf2fcb2ddf6f8b07c6655cbb0d85","size":4282},{"mode":420,"path":"skills/triage/SKILL.md","sha256":"5c7c84189fd5146ec1ae55a5669c74372ed7bce588fa7b8523417aa55b312a2e","size":8273},{"mode":420,"path":"skills/triage/agents/openai.yaml","sha256":"466bc430f95132bc6b28d077d50865d4b1fd9218307582343c35b0baf66d7894","size":283}],"generationHash":"feb68ce74452af9f32e15452a62b0b21f2bef2b3edeeefd44349a09965ebacce","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/proof_agent.toml","schemas/proof-report-v1.json","skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"id":"acceptance-proof","outputSchema":"schemas/proof-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"proof-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"proof_agent","resources":[],"sourceSkill":"acceptance-proof"},"ambiguity-review":{"dependencySkills":[],"entry":"operations/ambiguity-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/ambiguity-review/SKILL.md","profiles/reviewer_deep.toml","schemas/ambiguity-review-v1.json"],"id":"ambiguity-review","outputSchema":"schemas/ambiguity-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md"],"sourceSkill":null},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md","operations/code-review/SKILL.md","profiles/reviewer_standard.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"id":"code-review","outputSchema":"schemas/code-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["code-debugger","diagnosing-bugs","small-task-implementer","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"id":"implementation","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer_standard","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md"],"sourceSkill":"agent-auto"},"qualification-repair":{"dependencySkills":["code-debugger","diagnosing-bugs","tdd"],"entry":"operations/qualification-repair/SKILL.md","files":["operations/qualification-repair/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"id":"qualification-repair","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer_standard","resources":[],"sourceSkill":null},"spec-author":{"dependencySkills":[],"entry":"operations/spec-author/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","operations/spec-author/SKILL.md","profiles/implementer_standard.toml","schemas/spec-author-v1.json","skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"id":"spec-author","outputSchema":"schemas/spec-author-v1.json","policy":{"approvalCeiling":"never","cwdClass":"target-state","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"spec-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["target-state"]},"profile":"implementer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md"],"sourceSkill":"implementation-spec-maker"},"spec-review":{"dependencySkills":[],"entry":"operations/spec-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md","operations/spec-review/SKILL.md","profiles/reviewer_deep.toml","schemas/spec-review-v1.json","skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"id":"spec-review","outputSchema":"schemas/spec-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md"],"sourceSkill":"implementation-spec-review"},"triage":{"dependencySkills":[],"entry":"operations/triage/SKILL.md","files":["docs/agents/coding-skill-routing.md","operations/triage/SKILL.md","profiles/analyst_deep.toml","schemas/triage-route-v1.json","skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"id":"triage","outputSchema":"schemas/triage-route-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"analyst_deep","resources":["docs/agents/coding-skill-routing.md"],"sourceSkill":"triage"}},"profiles":{"analyst_deep":"profiles/analyst_deep.toml","implementer_standard":"profiles/implementer_standard.toml","proof_agent":"profiles/proof_agent.toml","reviewer_deep":"profiles/reviewer_deep.toml","reviewer_standard":"profiles/reviewer_standard.toml"},"skills":{"acceptance-proof":{"entry":"skills/acceptance-proof/SKILL.md","files":["skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"agent-auto":{"entry":"skills/agent-auto/SKILL.md","files":["skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml"],"metadata":"skills/agent-auto/agents/openai.yaml"},"code-debugger":{"entry":"skills/code-debugger/SKILL.md","files":["skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml"],"metadata":"skills/code-debugger/agents/openai.yaml"},"code-review":{"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"entry":"skills/diagnosing-bugs/SKILL.md","files":["skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"implementation-spec-maker":{"entry":"skills/implementation-spec-maker/SKILL.md","files":["skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"metadata":"skills/implementation-spec-maker/agents/openai.yaml"},"implementation-spec-review":{"entry":"skills/implementation-spec-review/SKILL.md","files":["skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"metadata":"skills/implementation-spec-review/agents/openai.yaml"},"small-task-implementer":{"entry":"skills/small-task-implementer/SKILL.md","files":["skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml"],"metadata":"skills/small-task-implementer/agents/openai.yaml"},"spec-implementer":{"entry":"skills/spec-implementer/SKILL.md","files":["skills/spec-implementer/SKILL.md","skills/spec-implementer/agents/openai.yaml","skills/spec-implementer/references/review-loop.md"],"metadata":"skills/spec-implementer/agents/openai.yaml"},"tdd":{"entry":"skills/tdd/SKILL.md","files":["skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/tdd/agents/openai.yaml"},"triage":{"entry":"skills/triage/SKILL.md","files":["skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"metadata":"skills/triage/agents/openai.yaml"}},"sourceFingerprint":"fc49eacf79ee9e499d497bbd816f380178c5957f0ee1f1e98a189b120bf22713","version":2}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Qualification Repair Operation
|
|
2
|
+
|
|
3
|
+
Repair only the scoped check failures supplied by the Runner. This operation
|
|
4
|
+
does not authorize implementation of the issue acceptance criteria. Use the
|
|
5
|
+
smallest relevant debugging or TDD workflow needed to make the supplied checks
|
|
6
|
+
pass, and do not broaden validation beyond those commands.
|
|
7
|
+
|
|
8
|
+
Use [Code Debugger](../../skills/code-debugger/SKILL.md) for a confirmed check
|
|
9
|
+
failure, [Diagnosing Bugs](../../skills/diagnosing-bugs/SKILL.md) only when its
|
|
10
|
+
cause is unclear, and [TDD](../../skills/tdd/SKILL.md) only when the repair
|
|
11
|
+
changes observable behavior.
|
|
12
|
+
|
|
13
|
+
The Runner owns issue implementation, review, final checks, commits,
|
|
14
|
+
publication, retries, and external state. Never commit, push, publish, mutate
|
|
15
|
+
GitHub, or expose credentials. In the final report, `changedFiles` is the
|
|
16
|
+
complete current worktree change set, including changes that existed before
|
|
17
|
+
this attempt. Return only `schemas/implementation-report-v1.json`.
|
|
@@ -19,6 +19,7 @@ Create or revise an execution-ready specification for a downstream coding agent.
|
|
|
19
19
|
|
|
20
20
|
1. Read the source authority, applicable repository instructions, and only the evidence needed to confirm targets, commands, contracts, consumers, fixtures, and validation.
|
|
21
21
|
2. Build a transient evidence-backed scope delta with three facts per material requirement: approved behavior, current capability/owner/seam, and the smallest remaining implementation delta. Pass it in the reviewer capsule; persist it in the spec only when an executor needs it.
|
|
22
|
+
For a revision or conflicting authority, also compare the prior and current observable claim, mechanism/owner, source of truth, evidence unit/cardinality, and blocked/failure meaning. Any authority-driven change invalidates reused review coverage for that requirement; replacing a bad proof to match an unchanged reviewed claim does not.
|
|
22
23
|
3. Treat behavior already present as `preserve + regression proof`, not new implementation. Stop with a blocked spec when an unresolved product value, copy decision, policy, or ownership choice changes the implementation; never manufacture a working default to keep drafting.
|
|
23
24
|
4. Reuse valid Evidence Maps and `$research` artifacts. Refresh only claims invalidated by changed files, versions, dates, contracts, or conflicts.
|
|
24
25
|
5. Read the relevant section of [source modes](references/source-modes.md). Stop or mark the spec blocked when its source-specific requirements are not satisfied.
|
|
@@ -29,6 +30,8 @@ Create or revise an execution-ready specification for a downstream coding agent.
|
|
|
29
30
|
resolved through the review loop owned by `$implementation-spec-review`.
|
|
30
31
|
- `expected_repositories`: exact positive integer from approved scope.
|
|
31
32
|
|
|
33
|
+
Before drafting, run a proof-compatibility check for each material outcome: the named proof must be able to observe the exact claim, at the required cardinality, and must not pass while that claim is false. Split platform, provider, tenant, region, or mode proofs whenever their mechanism, source of truth, granularity, timing/redaction, or failure semantics differ; reuse one proof only with evidence of equivalence.
|
|
34
|
+
|
|
32
35
|
Do not infer one classification from another. For ticket work, `direct` returns
|
|
33
36
|
to `$tdd`, `compact spec` requests compact mode, and `standard spec` asks the
|
|
34
37
|
maker to choose the smallest deterministic shape. Start a standard ticket in
|
|
@@ -25,6 +25,7 @@ Read the section matching the active source. Apply the common source-authority a
|
|
|
25
25
|
## Revision
|
|
26
26
|
|
|
27
27
|
- Reconcile the entire existing spec against new authority and current repository evidence.
|
|
28
|
+
- Treat a changed claim, mechanism/owner, source of truth, evidence unit/cardinality, or blocked/failure meaning as a semantic change; invalidate the affected approval coverage instead of translating it into broader wording.
|
|
28
29
|
- Preserve still-valid completed `[x]` items exactly.
|
|
29
30
|
- Reopen invalid completed items to `[ ]` and add a short `Revision Note:` with evidence.
|
|
30
31
|
- Never silently delete progress or defect history.
|
|
@@ -77,6 +77,8 @@ Scale depth to the profile and inspect only applicable lenses:
|
|
|
77
77
|
- **Completion:** another agent can tell what to do, what proves success, when
|
|
78
78
|
to stop, and what remains blocked.
|
|
79
79
|
|
|
80
|
+
Before accepting the supplied scope delta, independently recover each material claim from the raw authority and compare its mechanism/owner, source of truth, evidence unit/cardinality, and blocked/failure meaning. Report compressed or missing decisions. Challenge each material proof with: can this source observe the exact claim, and can the gate pass while the claim is false? Shared proofs across platforms, providers, tenants, regions, or modes require evidenced equivalence in mechanism, truth source, granularity, timing/redaction, and failure semantics.
|
|
81
|
+
|
|
80
82
|
## Proportional Expectations
|
|
81
83
|
|
|
82
84
|
Approve a compact spec when targets, ordered work, observable proof, and stop
|
|
@@ -49,6 +49,30 @@
|
|
|
49
49
|
"prompt": "A consolidated repair changes only wording and one existing validation command while preserving scope, owners, public contracts, and mandatory-lens coverage.",
|
|
50
50
|
"expected": ["use coordinator verification for ordinary findings", "reuse valid Full coverage"],
|
|
51
51
|
"forbidden": ["launch Closure for ordinary findings", "launch a fresh Full because the revision changed"]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "artifact-authority-compression",
|
|
55
|
+
"prompt": "Raw authority replaces a per-item provider mechanism with aggregate reporting, but the revised spec calls it only privacy-preserving processing and keeps per-item timestamp proof.",
|
|
56
|
+
"expected": ["recover the concrete authority change", "reject the incompatible proof cardinality", "require a fresh Full"],
|
|
57
|
+
"forbidden": ["trust the compressed scope delta", "approve a per-item proof for an aggregate claim"]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "artifact-variant-false-symmetry",
|
|
61
|
+
"prompt": "Two platforms share one product goal but use different mechanisms, sources of truth, reporting delays, and redaction rules; the spec gives them one identical exit gate.",
|
|
62
|
+
"expected": ["split the variant proof contracts unless equivalence is evidenced", "test whether each source can observe its exact claim"],
|
|
63
|
+
"forbidden": ["approve symmetry from the shared product goal"]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "artifact-closure-semantic-change",
|
|
67
|
+
"prompt": "During Closure a repair changes the source of truth and proof from individual records to an aggregate report while leaving the implementation owner unchanged.",
|
|
68
|
+
"expected": ["invalidate affected coverage", "start a fresh Full for the semantic change"],
|
|
69
|
+
"forbidden": ["verify only the old defect", "treat unchanged code ownership as sufficient"]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "artifact-proof-only-repair",
|
|
73
|
+
"prompt": "Full review finds aggregate proof for an unchanged per-item claim; the repair substitutes an existing compatible per-item proof without changing authority, claim, owner, or source of truth.",
|
|
74
|
+
"expected": ["reuse valid Full coverage", "verify the affected proof through coordinator verification or normal Closure triggers"],
|
|
75
|
+
"forbidden": ["start a fresh Full for the proof correction"]
|
|
52
76
|
}
|
|
53
77
|
]
|
|
54
78
|
}
|