@jiggai/recipes 0.4.19 → 0.4.21
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/docs/WORKFLOW_FIXES_2026-03-13.md +23 -0
- package/index.ts +130 -29
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/recipes/default/business-team.md +28 -28
- package/recipes/default/customer-support-team.md +26 -26
- package/recipes/default/development-team.md +46 -46
- package/recipes/default/marketing-team.md +87 -99
- package/recipes/default/product-team.md +28 -28
- package/recipes/default/research-team.md +26 -26
- package/recipes/default/social-team.md +44 -44
- package/recipes/default/workflow-runner-addon.md +3 -3
- package/recipes/default/writing-team.md +26 -26
- package/src/lib/workflows/workflow-queue.ts +116 -85
- package/src/lib/workflows/workflow-runner.ts +110 -123
- package/src/lib/workspace.ts +20 -0
|
@@ -96,7 +96,7 @@ cronJobs:
|
|
|
96
96
|
- id: workflow-runner-loop
|
|
97
97
|
name: "Workflow runner loop (runs queue)"
|
|
98
98
|
# 6-field cron with seconds; runs every 15s
|
|
99
|
-
schedule: "*/
|
|
99
|
+
schedule: "*/5 * * * *"
|
|
100
100
|
timezone: "UTC"
|
|
101
101
|
agentId: "{{teamId}}-workflow-runner"
|
|
102
102
|
message: |
|
|
@@ -109,7 +109,7 @@ cronJobs:
|
|
|
109
109
|
Command:
|
|
110
110
|
openclaw recipes workflows runner-tick --team-id {{teamId}} --concurrency 2 --lease-seconds 45
|
|
111
111
|
|
|
112
|
-
enabledByDefault:
|
|
112
|
+
enabledByDefault: false
|
|
113
113
|
|
|
114
114
|
- id: pr-watcher
|
|
115
115
|
name: "PR watcher (ticket-linked)"
|
|
@@ -241,12 +241,12 @@ templates:
|
|
|
241
241
|
|
|
242
242
|
## Where to write things
|
|
243
243
|
- Ticket = source of truth for a unit of work.
|
|
244
|
-
-
|
|
245
|
-
-
|
|
244
|
+
- `../notes/plan.md` + `../shared-context/priorities.md` are **lead-curated**.
|
|
245
|
+
- `../notes/status.md` is **append-only** and updated after each work session (3–5 bullets).
|
|
246
246
|
|
|
247
247
|
## Outputs / artifacts
|
|
248
248
|
- Role-level raw output (append-only): `roles/<role>/agent-outputs/`
|
|
249
|
-
- Team-level raw output (append-only, optional):
|
|
249
|
+
- Team-level raw output (append-only, optional): `../shared-context/agent-outputs/`
|
|
250
250
|
|
|
251
251
|
Guardrail: do **not** create or rely on `roles/<role>/shared-context/**`.
|
|
252
252
|
|
|
@@ -255,7 +255,7 @@ templates:
|
|
|
255
255
|
- **No-op unless explicit queued work exists** for that role (ticket assigned/owned by role, or workflow run nodes assigned to the role agentId).
|
|
256
256
|
- If work happens, write back in this order:
|
|
257
257
|
1) Update the relevant ticket(s) (source of truth).
|
|
258
|
-
2) Append 1–3 bullets to
|
|
258
|
+
2) Append 1–3 bullets to `../notes/status.md` (team roll-up).
|
|
259
259
|
3) Write raw logs/artifacts under `roles/<role>/agent-outputs/` and reference them from the ticket.
|
|
260
260
|
- Team memory JSONL policy:
|
|
261
261
|
- Non-lead roles must **not** write directly to `shared-context/memory/pinned.jsonl`.
|
|
@@ -266,7 +266,7 @@ templates:
|
|
|
266
266
|
After meaningful work:
|
|
267
267
|
1) Update the ticket with what changed + how to verify + rollback.
|
|
268
268
|
2) Add a dated note in the ticket `## Comments`.
|
|
269
|
-
3) Append 3–5 bullets to
|
|
269
|
+
3) Append 3–5 bullets to `../notes/status.md`.
|
|
270
270
|
4) Append logs/output to `roles/<role>/agent-outputs/`.
|
|
271
271
|
|
|
272
272
|
tickets: |
|
|
@@ -374,16 +374,16 @@ templates:
|
|
|
374
374
|
- `roles/<role>/memory/YYYY-MM-DD.md` (daily log)
|
|
375
375
|
|
|
376
376
|
## Plan vs status (team coordination)
|
|
377
|
-
-
|
|
378
|
-
-
|
|
377
|
+
- `../notes/plan.md` + `../shared-context/priorities.md` are lead-curated
|
|
378
|
+
- `../notes/status.md` is append-only roll-up (everyone appends)
|
|
379
379
|
|
|
380
380
|
## Outputs / artifacts
|
|
381
381
|
- `roles/<role>/agent-outputs/` (append-only)
|
|
382
|
-
-
|
|
382
|
+
- `../shared-context/agent-outputs/` (team-level, read/write from role via `../`)
|
|
383
383
|
|
|
384
384
|
## Role work loop contract (safe-idle)
|
|
385
385
|
- No-op unless explicit queued work exists for the role.
|
|
386
|
-
- If work happens, write back in order: ticket →
|
|
386
|
+
- If work happens, write back in order: ticket → `../notes/status.md` → `roles/<role>/agent-outputs/`.
|
|
387
387
|
|
|
388
388
|
sharedContext.priorities: |
|
|
389
389
|
# Priorities (lead-curated)
|
|
@@ -440,7 +440,7 @@ templates:
|
|
|
440
440
|
|
|
441
441
|
lane_from_rel() {
|
|
442
442
|
# expects work/<lane>/<file>.md
|
|
443
|
-
echo "$1" | sed -E 's#^work/([^/]+)
|
|
443
|
+
echo "$1" | sed -E 's#^work/([^/]+)/.*$#\\1#'
|
|
444
444
|
}
|
|
445
445
|
|
|
446
446
|
field_from_md() {
|
|
@@ -578,7 +578,7 @@ templates:
|
|
|
578
578
|
|
|
579
579
|
lane_from_rel() {
|
|
580
580
|
# expects work/<lane>/<file>.md
|
|
581
|
-
echo "$1" | sed -E 's#^work/([^/]+)
|
|
581
|
+
echo "$1" | sed -E 's#^work/([^/]+)/.*$#\\1#'
|
|
582
582
|
}
|
|
583
583
|
|
|
584
584
|
field_from_md() {
|
|
@@ -728,7 +728,7 @@ templates:
|
|
|
728
728
|
|
|
729
729
|
lane_from_rel() {
|
|
730
730
|
# expects work/<lane>/<file>.md
|
|
731
|
-
echo "$1" | sed -E 's#^work/([^/]+)
|
|
731
|
+
echo "$1" | sed -E 's#^work/([^/]+)/.*$#\\1#'
|
|
732
732
|
}
|
|
733
733
|
|
|
734
734
|
field_from_md() {
|
|
@@ -863,7 +863,7 @@ templates:
|
|
|
863
863
|
|
|
864
864
|
lane_from_rel() {
|
|
865
865
|
# expects work/<lane>/<file>.md
|
|
866
|
-
echo "$1" | sed -E 's#^work/([^/]+)
|
|
866
|
+
echo "$1" | sed -E 's#^work/([^/]+)/.*$#\\1#'
|
|
867
867
|
}
|
|
868
868
|
|
|
869
869
|
field_from_md() {
|
|
@@ -1001,9 +1001,9 @@ templates:
|
|
|
1001
1001
|
- `memory/YYYY-MM-DD.md` (today; create if missing)
|
|
1002
1002
|
|
|
1003
1003
|
2) Read (team context):
|
|
1004
|
-
-
|
|
1005
|
-
-
|
|
1006
|
-
-
|
|
1004
|
+
- `../notes/plan.md`
|
|
1005
|
+
- `../notes/status.md`
|
|
1006
|
+
- `../shared-context/priorities.md`
|
|
1007
1007
|
- the relevant ticket(s)
|
|
1008
1008
|
|
|
1009
1009
|
Optional (team knowledge memory, Kitchen UI):
|
|
@@ -1013,16 +1013,16 @@ templates:
|
|
|
1013
1013
|
After you act:
|
|
1014
1014
|
1) Write back:
|
|
1015
1015
|
- Update tickets with decisions/assignments.
|
|
1016
|
-
- Keep
|
|
1016
|
+
- Keep `../notes/status.md` current (3–5 bullets per active ticket).
|
|
1017
1017
|
|
|
1018
1018
|
## Curator model
|
|
1019
1019
|
|
|
1020
1020
|
You are the curator of:
|
|
1021
|
-
-
|
|
1022
|
-
-
|
|
1021
|
+
- `../notes/plan.md`
|
|
1022
|
+
- `../shared-context/priorities.md`
|
|
1023
1023
|
|
|
1024
1024
|
Everyone else should append to:
|
|
1025
|
-
-
|
|
1025
|
+
- `../shared-context/agent-outputs/` (append-only)
|
|
1026
1026
|
- `shared-context/feedback/`
|
|
1027
1027
|
|
|
1028
1028
|
Your job is to periodically distill those inputs into the curated files.
|
|
@@ -1037,8 +1037,8 @@ templates:
|
|
|
1037
1037
|
- `work/in-progress/` — tickets currently being executed
|
|
1038
1038
|
- `work/testing/` — tickets awaiting QA verification
|
|
1039
1039
|
- `work/done/` — completed tickets + completion notes
|
|
1040
|
-
-
|
|
1041
|
-
-
|
|
1040
|
+
- `../notes/plan.md` — current plan / priorities (curated)
|
|
1041
|
+
- `../notes/status.md` — current status snapshot
|
|
1042
1042
|
- `shared-context/` — shared context + append-only outputs
|
|
1043
1043
|
|
|
1044
1044
|
### Ticket numbering (critical)
|
|
@@ -1055,8 +1055,8 @@ templates:
|
|
|
1055
1055
|
|
|
1056
1056
|
### Your responsibilities
|
|
1057
1057
|
- For every new request in `inbox/`, create a normalized ticket in `work/backlog/`.
|
|
1058
|
-
- Curate
|
|
1059
|
-
- Keep
|
|
1058
|
+
- Curate `../notes/plan.md` and `../shared-context/priorities.md`.
|
|
1059
|
+
- Keep `../notes/status.md` updated.
|
|
1060
1060
|
- When work is ready for QA, move the ticket to `work/testing/` and assign it to the tester.
|
|
1061
1061
|
- When QA passes a ticket, QA will keep it in `work/testing/` but set `Owner: lead` (ready-for-pr).
|
|
1062
1062
|
- As lead, create the PR **only** for testing-lane tickets with `Owner: lead` + `QA: PASS` evidence.
|
|
@@ -1089,9 +1089,9 @@ templates:
|
|
|
1089
1089
|
- `memory/YYYY-MM-DD.md` (today; create if missing)
|
|
1090
1090
|
|
|
1091
1091
|
2) Read (team context):
|
|
1092
|
-
-
|
|
1093
|
-
-
|
|
1094
|
-
-
|
|
1092
|
+
- `../notes/plan.md`
|
|
1093
|
+
- `../notes/status.md`
|
|
1094
|
+
- `../shared-context/priorities.md`
|
|
1095
1095
|
- the current ticket you’re working on
|
|
1096
1096
|
|
|
1097
1097
|
Optional (team knowledge memory, Kitchen UI):
|
|
@@ -1105,11 +1105,11 @@ templates:
|
|
|
1105
1105
|
After you finish a work session (even if not done):
|
|
1106
1106
|
1) Write back:
|
|
1107
1107
|
- Update the ticket with what you did and what’s next.
|
|
1108
|
-
- Add **3–5 bullets** to
|
|
1109
|
-
- Append detailed output to
|
|
1108
|
+
- Add **3–5 bullets** to `../notes/status.md` (what changed / what’s blocked).
|
|
1109
|
+
- Append detailed output to `../shared-context/agent-outputs/` (append-only).
|
|
1110
1110
|
|
|
1111
1111
|
Curator model:
|
|
1112
|
-
- Lead curates
|
|
1112
|
+
- Lead curates `../notes/plan.md` and `../shared-context/priorities.md`.
|
|
1113
1113
|
- You should NOT edit curated files; propose changes via `agent-outputs/`.
|
|
1114
1114
|
|
|
1115
1115
|
## How you work (pull system)
|
|
@@ -1156,9 +1156,9 @@ templates:
|
|
|
1156
1156
|
- `memory/YYYY-MM-DD.md` (today; create if missing)
|
|
1157
1157
|
|
|
1158
1158
|
2) Read (team context):
|
|
1159
|
-
-
|
|
1160
|
-
-
|
|
1161
|
-
-
|
|
1159
|
+
- `../notes/plan.md`
|
|
1160
|
+
- `../notes/status.md`
|
|
1161
|
+
- `../shared-context/priorities.md`
|
|
1162
1162
|
- the current ticket you’re working on
|
|
1163
1163
|
|
|
1164
1164
|
Optional (team knowledge memory, Kitchen UI):
|
|
@@ -1168,11 +1168,11 @@ templates:
|
|
|
1168
1168
|
After you finish a work session:
|
|
1169
1169
|
1) Write back:
|
|
1170
1170
|
- Update the ticket with what you did + verification steps.
|
|
1171
|
-
- Add **3–5 bullets** to
|
|
1172
|
-
- Append detailed output/logs to
|
|
1171
|
+
- Add **3–5 bullets** to `../notes/status.md`.
|
|
1172
|
+
- Append detailed output/logs to `../shared-context/agent-outputs/` (append-only).
|
|
1173
1173
|
|
|
1174
1174
|
Curator model:
|
|
1175
|
-
- Lead curates
|
|
1175
|
+
- Lead curates `../notes/plan.md` and `../shared-context/priorities.md`.
|
|
1176
1176
|
- You should NOT edit curated files; propose changes via `agent-outputs/`.
|
|
1177
1177
|
|
|
1178
1178
|
## How you work (pull system)
|
|
@@ -1251,7 +1251,7 @@ templates:
|
|
|
1251
1251
|
## Startup (read)
|
|
1252
1252
|
- `MEMORY.md`
|
|
1253
1253
|
- `memory/YYYY-MM-DD.md` (today; create if missing)
|
|
1254
|
-
-
|
|
1254
|
+
- `../notes/status.md` (for current known issues)
|
|
1255
1255
|
|
|
1256
1256
|
Optional:
|
|
1257
1257
|
- `shared-context/memory/pinned.jsonl`
|
|
@@ -1266,7 +1266,7 @@ templates:
|
|
|
1266
1266
|
## How to operate
|
|
1267
1267
|
- Prefer the CLI runner tick:
|
|
1268
1268
|
`openclaw recipes workflows runner-tick --team-id {{teamId}} --concurrency 2 --lease-seconds 45`
|
|
1269
|
-
- If anything looks wrong (schema mismatch, repeated failures), STOP and write a note to notes/status.md
|
|
1269
|
+
- If anything looks wrong (schema mismatch, repeated failures), STOP and write a note to `../notes/status.md`.
|
|
1270
1270
|
|
|
1271
1271
|
workflow-runner.tools: |
|
|
1272
1272
|
# TOOLS.md
|
|
@@ -1311,9 +1311,9 @@ templates:
|
|
|
1311
1311
|
- `memory/YYYY-MM-DD.md` (today; create if missing)
|
|
1312
1312
|
|
|
1313
1313
|
2) Read (team context):
|
|
1314
|
-
-
|
|
1315
|
-
-
|
|
1316
|
-
-
|
|
1314
|
+
- `../notes/plan.md`
|
|
1315
|
+
- `../notes/status.md`
|
|
1316
|
+
- `../shared-context/priorities.md`
|
|
1317
1317
|
- the ticket under test
|
|
1318
1318
|
|
|
1319
1319
|
Optional (team knowledge memory, Kitchen UI):
|
|
@@ -1323,11 +1323,11 @@ templates:
|
|
|
1323
1323
|
After each verification pass:
|
|
1324
1324
|
1) Write back:
|
|
1325
1325
|
- Add a short verification note to the ticket (pass/fail + evidence).
|
|
1326
|
-
- Add **3–5 bullets** to
|
|
1327
|
-
- Append detailed findings to
|
|
1326
|
+
- Add **3–5 bullets** to `../notes/status.md` (what’s verified / what’s blocked).
|
|
1327
|
+
- Append detailed findings to `../shared-context/feedback/` or `../shared-context/agent-outputs/`.
|
|
1328
1328
|
|
|
1329
1329
|
Curator model:
|
|
1330
|
-
- Lead curates
|
|
1330
|
+
- Lead curates `../notes/plan.md` and `../shared-context/priorities.md`.
|
|
1331
1331
|
- You should NOT edit curated files; propose changes via feedback/outputs.
|
|
1332
1332
|
|
|
1333
1333
|
## How you work
|