@1aboveio/skills 0.18.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/package.json +1 -1
- package/runtime/skills/distribution/generated/recipes.json +43 -23
- package/runtime/skills/engineering/engineering-runtime/scripts/workflow-coherence.mjs +1 -1
- package/runtime/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +23 -1
- package/skills/engineering/engineering-runtime/coherence/workflow.json +65 -15
- package/skills/engineering/engineering-runtime/scripts/workflow-coherence.mjs +1 -1
- package/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +23 -1
- package/skills/engineering/resolve-issues/SKILL.md +1 -1
- package/skills/engineering/resolve-issues/generated/workflow-repair-policy.json +55 -11
- package/skills/engineering/resolve-issues/scripts/run-state.mjs +4 -4
- package/skills/engineering/resolve-release/references/related-skills.md +1 -0
- package/skills/engineering/rush-issues/LICENSE +3 -0
- package/skills/engineering/rush-issues/SKILL.md +179 -0
- package/skills/engineering/rush-issues/agents/openai.yaml +9 -0
- package/skills/engineering/rush-issues/evals/evals.json +65 -0
- package/skills/engineering/rush-issues/references/canary.md +45 -0
- package/skills/engineering/rush-issues/references/cicd.md +37 -0
- package/skills/engineering/rush-issues/references/combine.md +51 -0
- package/skills/engineering/rush-issues/references/expire.md +55 -0
- package/skills/engineering/rush-issues/references/exploration.md +53 -0
- package/skills/engineering/rush-issues/references/implementation.md +66 -0
- package/skills/engineering/rush-issues/references/preflight.md +31 -0
- package/skills/engineering/rush-issues/references/profiling.md +78 -0
- package/skills/engineering/rush-issues/references/review.md +48 -0
- package/skills/engineering/rush-issues/references/shared-modules.md +66 -0
- package/skills/engineering/rush-issues/references/task-plan.md +110 -0
- package/skills/engineering/rush-issues/scripts/discover-models.mjs +9 -0
- package/skills/engineering/rush-issues/scripts/model-catalog.mjs +9 -0
- package/skills/engineering/rush-issues/scripts/preflight-models.mjs +466 -0
- package/skills/engineering/rush-release/LICENSE +3 -0
- package/skills/engineering/rush-release/SKILL.md +99 -0
- package/skills/engineering/rush-release/agents/openai.yaml +8 -0
- package/skills/engineering/rush-release/evals/evals.json +44 -0
- package/skills/engineering/rush-release/references/candidate.md +30 -0
- package/skills/engineering/rush-release/references/cut.md +66 -0
- package/skills/engineering/rush-release/references/preflight.md +47 -0
- package/skills/engineering/rush-release/references/publish.md +100 -0
- package/skills/engineering/rush-release/scripts/apply.mjs +185 -0
- package/skills/engineering/rush-release/scripts/green-head.mjs +231 -0
- package/skills/engineering/rush-release/scripts/plan.mjs +264 -0
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
"id": "first-party",
|
|
238
238
|
"type": "first-party",
|
|
239
239
|
"package": "@1aboveio/skills",
|
|
240
|
-
"version": "0.
|
|
240
|
+
"version": "0.19.0"
|
|
241
241
|
}
|
|
242
242
|
},
|
|
243
243
|
{
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
"id": "first-party",
|
|
249
249
|
"type": "first-party",
|
|
250
250
|
"package": "@1aboveio/skills",
|
|
251
|
-
"version": "0.
|
|
251
|
+
"version": "0.19.0"
|
|
252
252
|
}
|
|
253
253
|
},
|
|
254
254
|
{
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
"id": "first-party",
|
|
260
260
|
"type": "first-party",
|
|
261
261
|
"package": "@1aboveio/skills",
|
|
262
|
-
"version": "0.
|
|
262
|
+
"version": "0.19.0"
|
|
263
263
|
}
|
|
264
264
|
},
|
|
265
265
|
{
|
|
@@ -270,7 +270,18 @@
|
|
|
270
270
|
"id": "first-party",
|
|
271
271
|
"type": "first-party",
|
|
272
272
|
"package": "@1aboveio/skills",
|
|
273
|
-
"version": "0.
|
|
273
|
+
"version": "0.19.0"
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"installName": "rush-issues",
|
|
278
|
+
"ownership": "owned",
|
|
279
|
+
"sourcePath": "skills/engineering/rush-issues",
|
|
280
|
+
"expectedSource": {
|
|
281
|
+
"id": "first-party",
|
|
282
|
+
"type": "first-party",
|
|
283
|
+
"package": "@1aboveio/skills",
|
|
284
|
+
"version": "0.19.0"
|
|
274
285
|
}
|
|
275
286
|
},
|
|
276
287
|
{
|
|
@@ -281,7 +292,18 @@
|
|
|
281
292
|
"id": "first-party",
|
|
282
293
|
"type": "first-party",
|
|
283
294
|
"package": "@1aboveio/skills",
|
|
284
|
-
"version": "0.
|
|
295
|
+
"version": "0.19.0"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"installName": "rush-release",
|
|
300
|
+
"ownership": "owned",
|
|
301
|
+
"sourcePath": "skills/engineering/rush-release",
|
|
302
|
+
"expectedSource": {
|
|
303
|
+
"id": "first-party",
|
|
304
|
+
"type": "first-party",
|
|
305
|
+
"package": "@1aboveio/skills",
|
|
306
|
+
"version": "0.19.0"
|
|
285
307
|
}
|
|
286
308
|
},
|
|
287
309
|
{
|
|
@@ -292,7 +314,7 @@
|
|
|
292
314
|
"id": "first-party",
|
|
293
315
|
"type": "first-party",
|
|
294
316
|
"package": "@1aboveio/skills",
|
|
295
|
-
"version": "0.
|
|
317
|
+
"version": "0.19.0"
|
|
296
318
|
}
|
|
297
319
|
},
|
|
298
320
|
{
|
|
@@ -303,7 +325,7 @@
|
|
|
303
325
|
"id": "first-party",
|
|
304
326
|
"type": "first-party",
|
|
305
327
|
"package": "@1aboveio/skills",
|
|
306
|
-
"version": "0.
|
|
328
|
+
"version": "0.19.0"
|
|
307
329
|
}
|
|
308
330
|
},
|
|
309
331
|
{
|
|
@@ -314,7 +336,7 @@
|
|
|
314
336
|
"id": "first-party",
|
|
315
337
|
"type": "first-party",
|
|
316
338
|
"package": "@1aboveio/skills",
|
|
317
|
-
"version": "0.
|
|
339
|
+
"version": "0.19.0"
|
|
318
340
|
}
|
|
319
341
|
},
|
|
320
342
|
{
|
|
@@ -325,11 +347,23 @@
|
|
|
325
347
|
"id": "first-party",
|
|
326
348
|
"type": "first-party",
|
|
327
349
|
"package": "@1aboveio/skills",
|
|
328
|
-
"version": "0.
|
|
350
|
+
"version": "0.19.0"
|
|
329
351
|
}
|
|
330
352
|
}
|
|
331
353
|
],
|
|
332
354
|
"dependencyClosures": [
|
|
355
|
+
{
|
|
356
|
+
"invokedSkill": "rush-issues",
|
|
357
|
+
"members": [
|
|
358
|
+
"code-review",
|
|
359
|
+
"harness-runtime",
|
|
360
|
+
"e2e-test",
|
|
361
|
+
"rush-issues",
|
|
362
|
+
"smoke",
|
|
363
|
+
"engineering-runtime"
|
|
364
|
+
],
|
|
365
|
+
"generatedIdentities": []
|
|
366
|
+
},
|
|
333
367
|
{
|
|
334
368
|
"invokedSkill": "resolve-issues",
|
|
335
369
|
"members": [
|
|
@@ -350,6 +384,14 @@
|
|
|
350
384
|
}
|
|
351
385
|
]
|
|
352
386
|
},
|
|
387
|
+
{
|
|
388
|
+
"invokedSkill": "rush-release",
|
|
389
|
+
"members": [
|
|
390
|
+
"rush-release",
|
|
391
|
+
"engineering-runtime"
|
|
392
|
+
],
|
|
393
|
+
"generatedIdentities": []
|
|
394
|
+
},
|
|
353
395
|
{
|
|
354
396
|
"invokedSkill": "resolve-release",
|
|
355
397
|
"members": [
|
|
@@ -426,14 +468,16 @@
|
|
|
426
468
|
"sourceId": "first-party",
|
|
427
469
|
"sourceType": "first-party",
|
|
428
470
|
"package": "@1aboveio/skills",
|
|
429
|
-
"version": "0.
|
|
471
|
+
"version": "0.19.0",
|
|
430
472
|
"installPath": null,
|
|
431
473
|
"members": [
|
|
432
474
|
"harness-runtime",
|
|
433
475
|
"e2e-test",
|
|
434
476
|
"ensure-coverage",
|
|
435
477
|
"implement-and-pr",
|
|
478
|
+
"rush-issues",
|
|
436
479
|
"resolve-issues",
|
|
480
|
+
"rush-release",
|
|
437
481
|
"resolve-release",
|
|
438
482
|
"review-pr",
|
|
439
483
|
"smoke",
|
|
@@ -442,7 +486,7 @@
|
|
|
442
486
|
"commands": [
|
|
443
487
|
{
|
|
444
488
|
"transport": "npm",
|
|
445
|
-
"command": "npx @1aboveio/skills@0.
|
|
489
|
+
"command": "npx @1aboveio/skills@0.19.0 install --group engineering-workflow --yes"
|
|
446
490
|
}
|
|
447
491
|
],
|
|
448
492
|
"onFailure": {
|
|
@@ -3412,7 +3412,7 @@ export const WORKFLOW_PREFLIGHT_COMMANDS = Object.freeze([
|
|
|
3412
3412
|
|
|
3413
3413
|
const WORKFLOW_VERIFIER_URL = new URL('../../engineering-runtime/scripts/workflow-coherence.mjs', import.meta.url)
|
|
3414
3414
|
const WORKFLOW_FALLBACK_POLICY_URL = new URL('../generated/workflow-repair-policy.json', import.meta.url)
|
|
3415
|
-
export const WORKFLOW_TRUSTED_FALLBACK_POLICY_SHA256 = '
|
|
3415
|
+
export const WORKFLOW_TRUSTED_FALLBACK_POLICY_SHA256 = '27d1fb2d0bdf9ca37933dff2f0e1863d95f9f147baecbbce9dd3553a4c71a915'
|
|
3416
3416
|
const WORKFLOW_REPAIR_RECIPE_REFERENCE = Object.freeze({
|
|
3417
3417
|
id: 'engineering-workflow-dependency-first',
|
|
3418
3418
|
generatedFrom: 'skills/distribution/generated/recipes.json',
|
|
@@ -3461,10 +3461,10 @@ const WORKFLOW_MATT_MEMBERS = Object.freeze([
|
|
|
3461
3461
|
'prototype', 'research', 'resolving-merge-conflicts', 'setup-matt-pocock-skills', 'tdd',
|
|
3462
3462
|
'to-spec', 'to-tickets', 'triage', 'wayfinder',
|
|
3463
3463
|
])
|
|
3464
|
-
// Dependency first, then the
|
|
3464
|
+
// Dependency first, then the ten owned members, in the census order the generator emits.
|
|
3465
3465
|
const WORKFLOW_FIRST_PARTY_MEMBERS = Object.freeze([
|
|
3466
|
-
'harness-runtime', 'e2e-test', 'ensure-coverage', 'implement-and-pr', 'resolve-issues',
|
|
3467
|
-
'resolve-release', 'review-pr', 'smoke', 'engineering-runtime',
|
|
3466
|
+
'harness-runtime', 'e2e-test', 'ensure-coverage', 'implement-and-pr', 'rush-issues', 'resolve-issues',
|
|
3467
|
+
'rush-release', 'resolve-release', 'review-pr', 'smoke', 'engineering-runtime',
|
|
3468
3468
|
])
|
|
3469
3469
|
const WORKFLOW_RECIPE_FIELDS = Object.freeze(['id', 'generatedFrom', 'groupId', 'lifecycle', 'renderTarget', 'stopOnFailure', 'steps'])
|
|
3470
3470
|
const WORKFLOW_COMMAND_FIELDS = Object.freeze(['transport', 'command'])
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
[SKILL.md](../SKILL.md) routes the phases; this file is the seam with every other skill — who
|
|
4
4
|
produces this lane's input, who owns the gates it runs, and where a failure goes.
|
|
5
5
|
|
|
6
|
+
- `rush-release` — the explicit GitHub Flow cut from green `main` (changelog + tag + Cloud Build/npm watch). It does not assemble, promote, or shift traffic; this lane still owns those.
|
|
6
7
|
- `resolve-issues` — the **upstream** producer; its handoff is this skill's input. For an epic that is one integration-verified deliverable per [component](../../resolve-issues/references/integration-gate.md), each a combined PR whose tip step 1 re-verifies (principle 2) rather than re-merges.
|
|
7
8
|
- `review-pr` — twice: **step 1** on the combined integration diff, **step 2** in promotion mode (fast-forward + release-readiness checklist).
|
|
8
9
|
- `smoke` — the **exposure gate**: step 4a against the 0%-traffic candidate under read-only **`prod-preview`**, step 4b against the live service under **`prod-active`** (principle 4). The named [Validation Profile](../../smoke/references/manifest.md#validation-profiles-the-profiles-registry) owns the mutation policy, so both production profiles are mechanically read-only. Also the engine behind the SHA-keyed verdict recorder the candidate pin reads (principle 11).
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rush-issues
|
|
3
|
+
description: "Slash/explicit-only (/rush-issues). Drive an issue, epic, or complete feature spec to one PR on one branch: model/target preflight, task map, shared exploration, up to 4 isolated implementers, combination, one independent code-review, then CI/queue/merge. Do not auto-select. Use for fast whole-spec delivery, including high-risk implementation work; risk changes model and validation depth, never the workflow. Retries and 30-minute task expiry trigger diagnosis and continuation. NOT for release work (rush-release or resolve-release)."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
dependencies:
|
|
6
|
+
- code-review
|
|
7
|
+
- smoke
|
|
8
|
+
- harness-runtime
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Rush issues
|
|
12
|
+
|
|
13
|
+
Deliver the **entire spec in one PR on one branch**. Act as a thin scheduler:
|
|
14
|
+
coordinate depth-1 subagents and local programs; do not implement product code
|
|
15
|
+
in the orchestrator.
|
|
16
|
+
|
|
17
|
+
**Operating bounds:** 30 minutes per task attempt · 2 retries before diagnosis ·
|
|
18
|
+
in-flight cap 4 · exactly one combined PR.
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
preflight (models + target only) -> task plan (show user)
|
|
22
|
+
-> exploration (shared findings)
|
|
23
|
+
-> continuously schedule runnable units, at most 4 in flight:
|
|
24
|
+
isolated implement -> validate -> self-review -> fix/re-validate as needed
|
|
25
|
+
-> combine every unit on one PR branch -> validate
|
|
26
|
+
-> data warehouse only: staged read-only canary on exact HEAD
|
|
27
|
+
-> open one PR
|
|
28
|
+
-> one independent code-review -> fix/re-validate/re-review as needed
|
|
29
|
+
-> watch CI -> fix/re-validate -> enqueue/merge
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
This file is the workflow and index. Read the linked procedure immediately
|
|
33
|
+
before its stage; do not invent an unlinked substitute.
|
|
34
|
+
|
|
35
|
+
| Stage / concern | Procedure |
|
|
36
|
+
|---|---|
|
|
37
|
+
| Model and target preflight | [references/preflight.md](references/preflight.md) |
|
|
38
|
+
| Task map and run setup | [references/task-plan.md](references/task-plan.md) |
|
|
39
|
+
| Shared exploration | [references/exploration.md](references/exploration.md) |
|
|
40
|
+
| Isolated implementation loop | [references/implementation.md](references/implementation.md) |
|
|
41
|
+
| Combine to one PR | [references/combine.md](references/combine.md) |
|
|
42
|
+
| Staged read-only warehouse canary | [references/canary.md](references/canary.md) |
|
|
43
|
+
| Independent factual review | [references/review.md](references/review.md) |
|
|
44
|
+
| CI, queue, and merge | [references/cicd.md](references/cicd.md) |
|
|
45
|
+
| Expiry, diagnosis, and continuation | [references/expire.md](references/expire.md) |
|
|
46
|
+
| Live task plan | [references/task-plan.md](references/task-plan.md) |
|
|
47
|
+
| Performance profiling | [references/profiling.md](references/profiling.md) |
|
|
48
|
+
| Model catalog and leaf skills | [references/shared-modules.md](references/shared-modules.md) |
|
|
49
|
+
|
|
50
|
+
## Run invariants
|
|
51
|
+
|
|
52
|
+
- The PR branch contains every unit in the task map. Do not open a partial PR
|
|
53
|
+
and describe a reduced subset as the spec.
|
|
54
|
+
- Never route a unit or run to another implementation workflow because it is
|
|
55
|
+
high-risk, large, or difficult. Keep the entire spec in Rush and apply the
|
|
56
|
+
repository's hazard guidance through model choice, implementation, tests,
|
|
57
|
+
review, and CI.
|
|
58
|
+
- Prefer an isolated run branch + Git workspace. Every implementation unit owns
|
|
59
|
+
a separate branch + Git workspace until it is combined or handed back.
|
|
60
|
+
- Schedule runnable units continuously and in parallel, with at most 4 active
|
|
61
|
+
implementation workers. Preserve declared blocking dependencies.
|
|
62
|
+
- A retry counter reaching 2 or a task attempt reaching 30 minutes causes
|
|
63
|
+
expiry -> diagnosis -> revised plan -> continuation. Expiry alone is not a
|
|
64
|
+
terminal unit outcome and does not remove scope.
|
|
65
|
+
- A human/external blocker may stop the run. Mark the unit `blocked`, preserve
|
|
66
|
+
its workspace, and hand back without claiming a whole-spec PR.
|
|
67
|
+
- Never open per-unit PRs. Open exactly one PR, after all units are combined and
|
|
68
|
+
the combined HEAD validates.
|
|
69
|
+
- When the run changes executable data-warehouse behavior or its data contract,
|
|
70
|
+
do not enter review until a staged read-only canary succeeds on the exact
|
|
71
|
+
combined HEAD. Any later code or configuration commit invalidates that
|
|
72
|
+
canary and requires validation plus a fresh canary on the new HEAD.
|
|
73
|
+
- Review facts independently. Producer summaries, claims, logs, and evidence
|
|
74
|
+
may locate work but cannot establish correctness for the reviewer.
|
|
75
|
+
- Do not manufacture review evidence collateral. Keep only the stage result,
|
|
76
|
+
commands actually run, findings, task-plan transitions, and profiling events.
|
|
77
|
+
- Persist each task-plan transition and profiling event under one monotonically
|
|
78
|
+
increasing plan revision, then render the user board from that persisted
|
|
79
|
+
revision. Displayed counters must never outrun or lag stored state.
|
|
80
|
+
|
|
81
|
+
## Stage contracts
|
|
82
|
+
|
|
83
|
+
Every subagent brief includes:
|
|
84
|
+
|
|
85
|
+
- original spec/unit source and acceptance criteria
|
|
86
|
+
- absolute run workspace and unit workspace (when applicable)
|
|
87
|
+
- absolute shared exploration findings path
|
|
88
|
+
- model id + effort and required read-back
|
|
89
|
+
- absolute skill path only when the stage explicitly invokes a leaf skill
|
|
90
|
+
- required outcome and validation obligations, without prescribing an
|
|
91
|
+
implementation workflow, development methodology, or producer evidence format
|
|
92
|
+
- proof-of-execution result path or structured return contract
|
|
93
|
+
- 30-minute task-attempt deadline
|
|
94
|
+
|
|
95
|
+
No readable result means the stage did not complete. A dead spawn is diagnosed
|
|
96
|
+
and resumed in the same preserved workspace; it is never replaced by a success
|
|
97
|
+
claim.
|
|
98
|
+
|
|
99
|
+
## Workflow
|
|
100
|
+
|
|
101
|
+
### 1. Preflight
|
|
102
|
+
|
|
103
|
+
Select models and confirm the non-production target branch. Those are the only
|
|
104
|
+
preflight decisions. Use the shared preflight module and model-catalog fast
|
|
105
|
+
path: explorer is a balanced-coder that prefers `gpt-5.6-terra@high`; reviewer
|
|
106
|
+
is a distinct deep-reasoner that prefers `gpt-5.5@high` when available. Risk
|
|
107
|
+
may recommend a stronger operating point, but never changes the workflow.
|
|
108
|
+
|
|
109
|
+
### 2. Build and show the task plan
|
|
110
|
+
|
|
111
|
+
Create the isolated run branch/workspace, decompose the entire spec into
|
|
112
|
+
implementable units, record blocking dependencies and shared surfaces, create
|
|
113
|
+
the run state/profiling paths, and show the complete plan before any heavy
|
|
114
|
+
spawn. Hazardous units stay in the plan with their required safety checks.
|
|
115
|
+
|
|
116
|
+
### 3. Exploration
|
|
117
|
+
|
|
118
|
+
Spawn one explorer. It reads every requirement, the codebase, named external
|
|
119
|
+
documents, ADRs, and other context, then writes shared findings available to
|
|
120
|
+
all implementers. It writes no product code.
|
|
121
|
+
|
|
122
|
+
### 4. Implement every unit
|
|
123
|
+
|
|
124
|
+
Give each unit its own branch/workspace and one implementer with the original
|
|
125
|
+
unit context plus shared findings. State the required outcome and validation
|
|
126
|
+
obligations, then let the active harness choose how to implement them. The
|
|
127
|
+
implementer changes code, validates the result, self-reviews the net diff,
|
|
128
|
+
fixes findings, and re-validates. Refill free worker slots immediately while
|
|
129
|
+
respecting blocking dependencies.
|
|
130
|
+
|
|
131
|
+
### 5. Combine and open one PR
|
|
132
|
+
|
|
133
|
+
After every unit succeeds, combine all unit branches onto the isolated run
|
|
134
|
+
branch, resolve integration conflicts, and validate the combined HEAD. For a
|
|
135
|
+
data-warehouse run, execute the staged read-only canary on that exact HEAD
|
|
136
|
+
after validation and before review. Open one PR against the confirmed target
|
|
137
|
+
branch. If any unit or required canary remains blocked, do not open or describe
|
|
138
|
+
a partial PR as completion of the spec.
|
|
139
|
+
|
|
140
|
+
### 6. Independent review
|
|
141
|
+
|
|
142
|
+
Spawn one reviewer on the combined HEAD using the `code-review` skill. It reads
|
|
143
|
+
the original spec and repository standards, computes its own diff fixed point,
|
|
144
|
+
inspects the implementation, and runs checks needed to verify findings. It does
|
|
145
|
+
not accept producer evidence as proof. Fix blocking findings on the combined
|
|
146
|
+
branch, validate, rerun the warehouse canary when required, then run a fresh
|
|
147
|
+
review until successful; after 2 failed fix/review cycles, diagnose and continue
|
|
148
|
+
with a revised approach.
|
|
149
|
+
|
|
150
|
+
### 7. CICD
|
|
151
|
+
|
|
152
|
+
Watch CI on the exact combined HEAD. Diagnose a failure and fix it on the same
|
|
153
|
+
PR branch. A code/config change creates a new HEAD and invalidates the prior
|
|
154
|
+
review and any warehouse canary: run relevant local validation, rerun the
|
|
155
|
+
staged read-only canary when required, return to a fresh independent review of
|
|
156
|
+
that HEAD, then push/watch again. A provider rerun with no HEAD change does not
|
|
157
|
+
invalidate review or canary. Inspect live queue configuration before
|
|
158
|
+
enqueueing; use the owning queue skill when installed. Enqueue/merge only when
|
|
159
|
+
the exact HEAD is reviewed, green, and carries its required canary. After 2
|
|
160
|
+
failed cycles or a 30-minute watch attempt, diagnose and continue rather than
|
|
161
|
+
silently abandoning the run.
|
|
162
|
+
|
|
163
|
+
## Task plan and profiling
|
|
164
|
+
|
|
165
|
+
The task map is the live source of truth. Display it after run setup, every
|
|
166
|
+
stage transition, worker/retry/diagnosis event, PR HEAD change, and about
|
|
167
|
+
every 5 minutes during long work. Apply a transition, append its profiling
|
|
168
|
+
event with the same `planRevision`, persist both, then render that exact plan
|
|
169
|
+
revision. Profiling distinguishes wall time, effective LLM/program activity,
|
|
170
|
+
and external wait.
|
|
171
|
+
|
|
172
|
+
## Done
|
|
173
|
+
|
|
174
|
+
Success means one PR containing the entire mapped spec is independently
|
|
175
|
+
reviewed, green on its exact HEAD, canary-verified when it changes warehouse
|
|
176
|
+
behavior, and merged when authorized (or handed back merge-ready in supervised
|
|
177
|
+
mode). Final handoff includes the plan, PR URL/SHA, validation, canary when
|
|
178
|
+
required, and review results, retries/diagnoses, wall/effective/wait timings,
|
|
179
|
+
profiling path, and exploration path.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Rush Issues"
|
|
3
|
+
short_description: "Slash/explicit-only fast delivery: complete spec to one PR"
|
|
4
|
+
|
|
5
|
+
policy:
|
|
6
|
+
# Codex counterpart to SKILL.md disable-model-invocation: true
|
|
7
|
+
# (Claude Code / Pi). Keeps $rush-issues / explicit invoke; blocks
|
|
8
|
+
# description-based auto-selection.
|
|
9
|
+
allow_implicit_invocation: false
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "rush-issues",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Dry-run only: do not modify Git, spawn workers, open a PR, or contact a provider. Plan a rush run for epic #2400 against main with six routine units: #2401 API parser, #2402 CLI adapter (depends on #2401), #2403 docs, #2404 unit tests, #2405 smoke journey, #2406 migration notes. Show the first user-visible task plan and the concrete explorer/implement/combine/review/CICD briefs and state transitions you would use. All six units are required by the original spec. Available models include openai/gpt-5.6-terra@high and openai/gpt-5.5@high.",
|
|
7
|
+
"expected_output": "A dry-run artifact that displays the complete task map before heavy work, uses shared exploration, schedules at most four isolated unit workspaces while respecting #2402's dependency, combines all six units into one PR, performs independent factual review, and records 30-minute/retry/profiling behavior.",
|
|
8
|
+
"files": [],
|
|
9
|
+
"expectations": [
|
|
10
|
+
"Displays a task plan containing all six units before exploration or implementation.",
|
|
11
|
+
"Records #2402 as blocked on #2401 and schedules runnable work continuously with at most four active workers.",
|
|
12
|
+
"Assigns every implementation unit its own branch and isolated Git workspace.",
|
|
13
|
+
"Uses one shared exploration pack and selects gpt-5.6-terra@high for exploration and a distinct gpt-5.5@high reviewer when available.",
|
|
14
|
+
"Combines only after all six mapped units succeed and opens exactly one whole-spec PR.",
|
|
15
|
+
"Runs one independent code-review stage that establishes facts independently of producer claims.",
|
|
16
|
+
"States the two-retry and 30-minute diagnosis/resume behavior and profiles wall, effective, and wait time."
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": 2,
|
|
21
|
+
"prompt": "Dry-run only: do not modify Git, spawn workers, open a PR, or contact a provider. Simulate a rush run with required units A, B, and C. B and C succeed. A fails validation twice and its current task reaches 30 minutes. Later, after all units are implemented, the producer's PR body claims every test is green, but an independently run test reveals a real defect. Show exact task-plan transitions, whether/when combination is allowed, the review/fix loop, and CICD handling if the first two CI fix attempts also fail.",
|
|
22
|
+
"expected_output": "A dry-run artifact where A expires into diagnosis and resumes in its preserved workspace, B/C do not become a partial PR, combination waits for A, review establishes facts independently rather than trusting producer evidence, every changed HEAD is validated and freshly reviewed, and two failed CI cycles trigger diagnosis and continuation.",
|
|
23
|
+
"files": [],
|
|
24
|
+
"expectations": [
|
|
25
|
+
"Transitions A's expired attempt to diagnosing after two failures or 30 minutes while preserving A's workspace and branch.",
|
|
26
|
+
"Records a changed hypothesis or plan before resetting the local retry counter and resuming A.",
|
|
27
|
+
"Does not combine B and C into a partial PR; combination waits until A, B, and C all succeed.",
|
|
28
|
+
"Treats producer test claims as untrusted and uses the independent reviewer’s own test result as the fact.",
|
|
29
|
+
"Fixes the review defect on the combined branch, validates the fix, and performs a fresh review of the new HEAD.",
|
|
30
|
+
"After two failed CI fix cycles, diagnoses and continues on the same PR branch rather than abandoning or reducing scope.",
|
|
31
|
+
"Invalidates the prior review after any code-changing CI fix and obtains a fresh independent review of the new HEAD before enqueue or merge.",
|
|
32
|
+
"Uses one planRevision for each persisted task-plan transition, profiling event, and displayed board so counters and HEAD cannot disagree.",
|
|
33
|
+
"Shows task-plan checkpoints and profiling for retries, diagnosis, wall/effective activity, and external wait."
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": 3,
|
|
38
|
+
"prompt": "Dry-run only: do not modify Git, spawn workers, open a PR, or contact a provider. Plan a rush run for a high-risk money migration epic against main. Show preflight, task planning, implementation, combination, review, and CICD. The work must remain one whole-spec PR even though repository hazard guidance classifies every unit high-risk.",
|
|
39
|
+
"expected_output": "A dry-run artifact whose preflight asks only for model choice and target branch through the shared preflight module, retains every high-risk unit in Rush, applies deeper model/testing/review obligations, uses sandbox-compatible Git workspaces, and produces one combined PR without redirecting to another workflow.",
|
|
40
|
+
"files": [],
|
|
41
|
+
"expectations": [
|
|
42
|
+
"Uses the shared preflight module for only model choice and target-branch confirmation.",
|
|
43
|
+
"Does not redirect to resolve-issues or remove high-risk units from the Rush task map.",
|
|
44
|
+
"Uses risk only to strengthen model selection, implementation, validation, and review depth.",
|
|
45
|
+
"Keeps the entire high-risk epic within the one-branch, one-PR Rush workflow.",
|
|
46
|
+
"For sandboxed Git-mutating Pi workers, uses a self-contained clone workspace rather than a linked worktree whose Git metadata is outside the sandbox."
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": 4,
|
|
51
|
+
"prompt": "Dry-run only: do not modify Git, submit a cluster job, spawn workers, open a PR, or contact a provider. Plan a rush run for an epic that changes a PySpark warehouse transformation, partition schema, and backfill watermark. The repository exposes its production entry point with --validate-only and a staging cluster using read-only credentials. Show the ordering from combined validation through review and what happens if a review or CI fix changes HEAD.",
|
|
52
|
+
"expected_output": "A dry-run artifact that classifies the run as warehouse-canary required, validates the combined branch, runs the real entry point in staged read-only validate-only mode on that exact HEAD before review, proves zero publication side effects, and invalidates/repeats the canary after every code or configuration HEAD change.",
|
|
53
|
+
"files": [],
|
|
54
|
+
"expectations": [
|
|
55
|
+
"Records warehouseCanaryRequired and a concrete classification reason in the task plan.",
|
|
56
|
+
"Runs the staged read-only canary after combined tests/validation and before independent review.",
|
|
57
|
+
"Binds the canary command or artifact and durable result to the exact combined 40-character HEAD.",
|
|
58
|
+
"Uses the real production entry point, staging/canary execution surface, bounded source scope, read-only credentials, and --validate-only.",
|
|
59
|
+
"Requires explicit publication skip, zero output records/bytes, and no table commit, checkpoint, watermark, offset, scheduler, or other state mutation.",
|
|
60
|
+
"Blocks instead of waiving the stage if read-only execution cannot be proven.",
|
|
61
|
+
"Invalidates the prior canary result after any code/configuration commit and reruns validation plus canary before review, enqueue, or merge."
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Staged read-only data-warehouse canary
|
|
2
|
+
|
|
3
|
+
Run this stage after combined validation and before independent review when the
|
|
4
|
+
run changes executable warehouse behavior or its data contract. Examples
|
|
5
|
+
include Spark/SQL/ETL transformations, schemas, keys, partitions, watermarks,
|
|
6
|
+
checkpoints, backfills, or publication/writer behavior. A task that merely
|
|
7
|
+
reads application data or edits warehouse documentation does not activate this
|
|
8
|
+
stage. Record the classification and reason in the task plan.
|
|
9
|
+
|
|
10
|
+
## Exact-HEAD contract
|
|
11
|
+
|
|
12
|
+
1. Resolve and record the combined branch's exact 40-character `headSha` after
|
|
13
|
+
tests and validation pass.
|
|
14
|
+
2. Use the repository's real entry point and staging/canary execution surface
|
|
15
|
+
with read-only credentials. Bind any built artifact or submitted job to that
|
|
16
|
+
exact SHA.
|
|
17
|
+
3. Use a bounded representative source snapshot/scope and the repository's
|
|
18
|
+
validate-only or dry-run guard. The guard must sit before every writer; a
|
|
19
|
+
mode that skips the transformation under test is not a canary.
|
|
20
|
+
4. Prove the run created no table/object output, transaction or table-format
|
|
21
|
+
commit, checkpoint, watermark, consumed offset, scheduler-state change, or
|
|
22
|
+
other publication side effect. For Spark, require zero output records and
|
|
23
|
+
bytes plus an explicit publication skip.
|
|
24
|
+
5. Record the command, non-secret target, source snapshot/scope, exact SHA,
|
|
25
|
+
start/end time, validation readings, logs, and zero-write observation in a
|
|
26
|
+
durable result.
|
|
27
|
+
|
|
28
|
+
Do not run a write-enabled canary, infer safety from a command name, or replace
|
|
29
|
+
the staged execution with local tests. If no repository-supported mode can
|
|
30
|
+
prove read-only execution, mark the canary blocked and hand back the missing
|
|
31
|
+
guard, credentials, environment, or authorization. Do not waive it as
|
|
32
|
+
not-applicable after the run has been classified as warehouse-canary required.
|
|
33
|
+
|
|
34
|
+
## Failure and invalidation
|
|
35
|
+
|
|
36
|
+
A failed canary returns the combined branch to the fix loop. Diagnose the
|
|
37
|
+
observed failure, change the code or execution plan, rerun relevant local tests
|
|
38
|
+
and validation, then run a fresh canary. Two failed validate/canary cycles or a
|
|
39
|
+
30-minute attempt follows [expire.md](expire.md).
|
|
40
|
+
|
|
41
|
+
Any code or configuration commit invalidates the prior canary result, even when
|
|
42
|
+
the change looks unrelated. A provider rerun or evidence read with no HEAD
|
|
43
|
+
change may keep the result. When `warehouseCanaryRequired` is true, review, CI
|
|
44
|
+
delivery, enqueue, and merge require a successful canary result for the current
|
|
45
|
+
exact HEAD.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# CI, queue, and merge
|
|
2
|
+
|
|
3
|
+
Operate only on the single combined PR branch after independent review
|
|
4
|
+
succeeds.
|
|
5
|
+
|
|
6
|
+
## Procedure
|
|
7
|
+
|
|
8
|
+
1. Push the reviewed HEAD and watch required CI checks for that exact SHA.
|
|
9
|
+
2. On failure, read the actual job logs and reproduce the failing command where
|
|
10
|
+
practical. Diagnose before editing.
|
|
11
|
+
3. Fix on the same PR branch and run relevant local lint/build/test/smoke.
|
|
12
|
+
4. If the fix changes HEAD, clear `reviewedHead`, mark review and the prior
|
|
13
|
+
canary result stale, rerun [canary.md](canary.md) when required, and return
|
|
14
|
+
to [review.md](review.md) for a fresh independent review of the new HEAD.
|
|
15
|
+
Only after that succeeds may the new reviewed HEAD be pushed/watched. A
|
|
16
|
+
provider rerun with no commit keeps the existing review and canary valid.
|
|
17
|
+
5. Before enqueueing, assert `reviewedHead == headSha`; when
|
|
18
|
+
`warehouseCanaryRequired` is true, require a successful canary result naming
|
|
19
|
+
that exact SHA. Require CI green for the SHA and inspect live queue
|
|
20
|
+
configuration/protections. If Mergify is involved, load the `mergify` skill
|
|
21
|
+
and use its queue status/watcher procedure rather than a generic PR-check
|
|
22
|
+
poll.
|
|
23
|
+
6. In `autonomous` mode, enqueue and watch through merge when authorized. In
|
|
24
|
+
`supervised` mode, hand back the exact green reviewed HEAD as merge-ready and
|
|
25
|
+
do not approve/merge on the human's behalf.
|
|
26
|
+
|
|
27
|
+
## Expiry behavior
|
|
28
|
+
|
|
29
|
+
Two failed fix/review/watch cycles or a 30-minute bounded watch expires the
|
|
30
|
+
attempt. Follow [expire.md](expire.md): preserve the branch and logs, diagnose
|
|
31
|
+
the failure or pending provider state, update the plan, and continue with a
|
|
32
|
+
fresh bounded attempt. A pending queue after 30 minutes is wait diagnosis, not
|
|
33
|
+
a reason to change code.
|
|
34
|
+
|
|
35
|
+
If diagnosis proves an external or human blocker, mark CICD `blocked` and hand
|
|
36
|
+
back the PR URL, exact HEAD, checks/queue state, and required next action. Never
|
|
37
|
+
report merge success until the provider reports the exact PR merged.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Combine to one PR
|
|
2
|
+
|
|
3
|
+
Combine only after every mapped unit has succeeded. The run branch and PR must
|
|
4
|
+
carry the entire mapped spec.
|
|
5
|
+
|
|
6
|
+
## Inputs
|
|
7
|
+
|
|
8
|
+
- live task plan with every unit `succeeded`
|
|
9
|
+
- every unit branch and exact succeeded SHA
|
|
10
|
+
- isolated run branch/workspace from task-plan initialization
|
|
11
|
+
- original spec and shared exploration findings
|
|
12
|
+
- confirmed `targetBranch`
|
|
13
|
+
|
|
14
|
+
## Procedure
|
|
15
|
+
|
|
16
|
+
1. Fetch `origin/<targetBranch>` and confirm the run branch has the intended
|
|
17
|
+
fixed point. Do not destroy unpublished run-branch work.
|
|
18
|
+
2. Merge or cherry-pick every unit branch in dependency order. Prefer a history
|
|
19
|
+
that preserves each unit id and SHA.
|
|
20
|
+
3. Resolve conflicts in the run worktree. For non-trivial conflicts, spawn a
|
|
21
|
+
focused integration fix task with the same 30-minute attempt deadline.
|
|
22
|
+
4. Run relevant lint, build, tests, and smoke on the combined HEAD. A check may
|
|
23
|
+
be `not-applicable` only with a concrete reason recorded on the plan.
|
|
24
|
+
5. If `warehouseCanaryRequired` is true, follow [canary.md](canary.md) after
|
|
25
|
+
validation and run a staged read-only canary on this exact combined HEAD.
|
|
26
|
+
Do not proceed unless it succeeds and its result names that exact HEAD.
|
|
27
|
+
6. Open exactly one PR against `targetBranch`. Include the original spec,
|
|
28
|
+
included unit ids and SHAs, validation results, and shared findings path.
|
|
29
|
+
Include the canary result for a data-warehouse run.
|
|
30
|
+
7. Record the PR URL and combined HEAD on the task plan, then enter independent
|
|
31
|
+
review.
|
|
32
|
+
|
|
33
|
+
## Whole-spec boundary
|
|
34
|
+
|
|
35
|
+
- Never open per-unit PRs.
|
|
36
|
+
- Never omit an expired or blocked unit and redefine the remainder as the
|
|
37
|
+
completed spec.
|
|
38
|
+
- If a unit is diagnosing, continue it before combination.
|
|
39
|
+
- If a unit is blocked on a human or external prerequisite, preserve all
|
|
40
|
+
workspaces and hand back the blocked plan. Do not open a partial PR claiming
|
|
41
|
+
the spec is implemented.
|
|
42
|
+
- If integration exposes missing work, add or reopen units on the same plan,
|
|
43
|
+
complete them in isolated workspaces, then retry combination.
|
|
44
|
+
|
|
45
|
+
## Completion
|
|
46
|
+
|
|
47
|
+
Exactly one PR exists for the run; its HEAD includes every mapped unit; combined
|
|
48
|
+
validation is green; any required warehouse canary is green on that exact HEAD;
|
|
49
|
+
and the task plan records the PR, HEAD, unit SHAs, and commands run. The PR is
|
|
50
|
+
not review-ready on producer claims alone: the next stage establishes facts
|
|
51
|
+
independently.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Expiry, diagnosis, and continuation
|
|
2
|
+
|
|
3
|
+
Expiry prevents blind repetition. It is a checkpoint, not permission to drop a
|
|
4
|
+
unit from the spec.
|
|
5
|
+
|
|
6
|
+
## Limits
|
|
7
|
+
|
|
8
|
+
| Scope | Expiry condition |
|
|
9
|
+
|---|---|
|
|
10
|
+
| Implement / validate / self-review | 2 failed fix cycles without success |
|
|
11
|
+
| Staged read-only warehouse canary | 2 failed validate -> canary cycles without success |
|
|
12
|
+
| Independent review | 2 failed fix -> validate -> review cycles without success |
|
|
13
|
+
| CICD | 2 failed diagnose -> fix -> validate -> push/watch cycles without success |
|
|
14
|
+
| Any subagent task or bounded stage attempt | 30 minutes wall time |
|
|
15
|
+
|
|
16
|
+
Do not start retry 3 unchanged. A spawn death with no result does not prove a
|
|
17
|
+
work failure, but it still requires a short diagnosis before resuming in the
|
|
18
|
+
same workspace.
|
|
19
|
+
|
|
20
|
+
Reason codes: `retry-implement`, `retry-canary`, `retry-review`, `retry-cicd`,
|
|
21
|
+
`timeout-task`, `spawn-death`, `combine-conflict`, `external-blocker`,
|
|
22
|
+
`human-decision`.
|
|
23
|
+
|
|
24
|
+
## Diagnose
|
|
25
|
+
|
|
26
|
+
When an attempt expires:
|
|
27
|
+
|
|
28
|
+
1. Stop the live task and preserve its branch/workspace and logs.
|
|
29
|
+
2. Mark the attempt `expired` and the unit/fleet row `diagnosing`; free its
|
|
30
|
+
worker slot while diagnosis runs.
|
|
31
|
+
3. Inspect current code, actual command output, failing tests/checks, task
|
|
32
|
+
boundaries, dependencies, and the prior two hypotheses. Do not accept the
|
|
33
|
+
failed worker's explanation without reproducing the relevant fact.
|
|
34
|
+
4. Record a diagnosis: observed failure, root-cause hypothesis, what changes in
|
|
35
|
+
the plan/brief/validation, and the next bounded attempt.
|
|
36
|
+
5. Continue from the preserved workspace. Reset the local retry counter only
|
|
37
|
+
after the plan materially changes; retain cumulative retry/diagnosis counts.
|
|
38
|
+
|
|
39
|
+
Useful diagnosis outcomes:
|
|
40
|
+
|
|
41
|
+
- **Approach change:** revise the brief or implementation strategy and resume.
|
|
42
|
+
- **Further decomposition:** replace one oversized unit with smaller units that
|
|
43
|
+
still cover the same spec, then schedule them normally.
|
|
44
|
+
- **Dependency correction:** add/fix a blocking edge and resume when runnable.
|
|
45
|
+
- **Flake/infrastructure:** prove the classification, adjust the execution
|
|
46
|
+
method, and resume without changing product behavior to appease a flake.
|
|
47
|
+
- **Human/external blocker:** mark `blocked`, preserve work, and hand back the
|
|
48
|
+
exact decision or prerequisite needed. Do not continue to combine a subset.
|
|
49
|
+
|
|
50
|
+
## Fleet stages
|
|
51
|
+
|
|
52
|
+
Exploration, combination, review, and CICD use the same expiry loop. A
|
|
53
|
+
30-minute CI/queue watch may expire because the provider is still pending;
|
|
54
|
+
record the wait diagnosis and start a fresh bounded watch. Only a factually
|
|
55
|
+
blocked state ends the run, and it ends without a whole-spec completion claim.
|