@llblab/pi-actors 0.12.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/AGENTS.md +72 -0
- package/BACKLOG.md +38 -0
- package/CHANGELOG.md +179 -0
- package/README.md +338 -0
- package/docs/README.md +21 -0
- package/docs/actor-messages.md +149 -0
- package/docs/async-runs.md +335 -0
- package/docs/command-templates.md +424 -0
- package/docs/component-recipes.md +148 -0
- package/docs/recipe-library.md +176 -0
- package/docs/task-first-recipes.md +233 -0
- package/docs/template-recipes.md +285 -0
- package/docs/tool-registry.md +142 -0
- package/index.ts +198 -0
- package/lib/actor-messages.ts +120 -0
- package/lib/async-runs.ts +688 -0
- package/lib/command-templates.ts +795 -0
- package/lib/config.ts +266 -0
- package/lib/execution.ts +720 -0
- package/lib/file-state.ts +24 -0
- package/lib/identity.ts +29 -0
- package/lib/observability.ts +525 -0
- package/lib/output.ts +123 -0
- package/lib/paths.ts +35 -0
- package/lib/prompts.ts +75 -0
- package/lib/recipe-references.ts +586 -0
- package/lib/registry.ts +302 -0
- package/lib/runtime.ts +101 -0
- package/lib/schema.ts +402 -0
- package/lib/temp.ts +44 -0
- package/lib/tools.ts +651 -0
- package/package.json +52 -0
- package/recipes/music-player.json +25 -0
- package/recipes/pipeline-architect-coordinator.json +88 -0
- package/recipes/pipeline-artifact-report.json +52 -0
- package/recipes/pipeline-artifact-write.json +66 -0
- package/recipes/pipeline-async-run-ops.json +67 -0
- package/recipes/pipeline-checkpoint-continuation.json +57 -0
- package/recipes/pipeline-development-tasking.json +73 -0
- package/recipes/pipeline-docs-maintenance.json +72 -0
- package/recipes/pipeline-media-library.json +51 -0
- package/recipes/pipeline-quorum-review.json +72 -0
- package/recipes/pipeline-release-readiness.json +83 -0
- package/recipes/pipeline-repo-health.json +81 -0
- package/recipes/pipeline-research-synthesis.json +87 -0
- package/recipes/pipeline-review-readiness.json +49 -0
- package/recipes/subagent-artifact.json +26 -0
- package/recipes/subagent-checkpoint.json +27 -0
- package/recipes/subagent-conflict-report.json +25 -0
- package/recipes/subagent-contradiction-map.json +26 -0
- package/recipes/subagent-critic.json +28 -0
- package/recipes/subagent-evidence-map.json +26 -0
- package/recipes/subagent-followup.json +27 -0
- package/recipes/subagent-judge.json +26 -0
- package/recipes/subagent-merge.json +26 -0
- package/recipes/subagent-message.json +29 -0
- package/recipes/subagent-normalize.json +24 -0
- package/recipes/subagent-plan.json +26 -0
- package/recipes/subagent-prompt.json +22 -0
- package/recipes/subagent-quorum.json +41 -0
- package/recipes/subagent-review-coordinator.json +107 -0
- package/recipes/subagent-review.json +30 -0
- package/recipes/subagent-task-card.json +28 -0
- package/recipes/subagent-tools.json +17 -0
- package/recipes/subagent-verify.json +27 -0
- package/recipes/subagents-prompts.json +32 -0
- package/recipes/utility-actor-message.json +24 -0
- package/recipes/utility-artifact-manifest.json +17 -0
- package/recipes/utility-artifact-write.json +17 -0
- package/recipes/utility-changelog-head.json +12 -0
- package/recipes/utility-changelog-section.json +14 -0
- package/recipes/utility-git-log.json +12 -0
- package/recipes/utility-git-status.json +10 -0
- package/recipes/utility-jsonl-tail.json +11 -0
- package/recipes/utility-markdown-index.json +15 -0
- package/recipes/utility-package-summary.json +12 -0
- package/recipes/utility-playlist-build.json +18 -0
- package/recipes/utility-playlist-scan.json +12 -0
- package/recipes/utility-run-state-files.json +14 -0
- package/recipes/utility-run-summary.json +12 -0
- package/recipes/utility-validate-recipe.json +14 -0
- package/recipes/utility-validation-wrapper.json +14 -0
- package/scripts/async-runner.mjs +170 -0
- package/scripts/music-player.mjs +637 -0
- package/scripts/recipe-utils.mjs +273 -0
- package/scripts/validate-recipe.mjs +89 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# Recipe Library
|
|
2
|
+
|
|
3
|
+
The root `recipes/` directory is the packaged standard actor recipe library for pi-actors. These recipes are reusable building blocks, not automatically installed operator policy. Copy or reference them from local tool registrations when the operator wants a durable callable tool.
|
|
4
|
+
|
|
5
|
+
Helper scripts that belong to library recipes live in root `scripts/`. The music player standard uses the executable Node.js wrapper only: `scripts/music-player.mjs`.
|
|
6
|
+
|
|
7
|
+
## Layout
|
|
8
|
+
|
|
9
|
+
- `recipes/subagent-*.json`: Atomic subagent components such as prompt launchers, reviewers, critics, planners, verifiers, mergers, checkpoints, follow-ups, judges, and normalizers.
|
|
10
|
+
- `recipes/pipeline-*.json`: Higher-level composed recipes built from component imports.
|
|
11
|
+
- `recipes/music-player.json`: Async local music player recipe backed by `scripts/music-player.mjs`.
|
|
12
|
+
- `recipes/utility-*.json`: Small operator utility recipes that are not subagent coordinators.
|
|
13
|
+
|
|
14
|
+
## Install Locally
|
|
15
|
+
|
|
16
|
+
Recipes can be copied into the user recipe root:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
mkdir -p ~/.pi/agent/recipes
|
|
20
|
+
cp <repo>/recipes/*.json ~/.pi/agent/recipes/
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Or a registered tool can point directly at a recipe path when that is more convenient.
|
|
24
|
+
|
|
25
|
+
## Async Subagent Components
|
|
26
|
+
|
|
27
|
+
Core subagent recipes:
|
|
28
|
+
|
|
29
|
+
- `recipes/subagent-prompt.json`: Start one prompt-driven subagent.
|
|
30
|
+
- `recipes/subagent-tools.json`: Start a subagent with an explicit tool allowlist.
|
|
31
|
+
- `recipes/subagents-prompts.json`: Run prompt fanout with one imported subagent component.
|
|
32
|
+
- `recipes/subagent-review.json`: Evidence-grounded review lens.
|
|
33
|
+
- `recipes/subagent-critic.json`: Assumption and failure-mode critique.
|
|
34
|
+
- `recipes/subagent-plan.json`: Bounded plan slices and validation gates.
|
|
35
|
+
- `recipes/subagent-evidence-map.json`: Evidence and confidence map.
|
|
36
|
+
- `recipes/subagent-contradiction-map.json`: Contradiction and missing-evidence map.
|
|
37
|
+
- `recipes/subagent-verify.json`: Claim verification.
|
|
38
|
+
- `recipes/subagent-merge.json`: Consensus/risk-first synthesis.
|
|
39
|
+
- `recipes/subagent-normalize.json`: Stable output shaping.
|
|
40
|
+
- `recipes/subagent-artifact.json`: Durable artifact-shaped output for a target path. It prepares content and write guidance; it does not write files unless the caller deliberately grants write tools or uses a deterministic writer.
|
|
41
|
+
- `recipes/subagent-message.json`: Prompted actor-message-envelope-shaped coordinator message record with envelope-aligned args.
|
|
42
|
+
- `recipes/subagent-quorum.json`: Same prompt across a model pool.
|
|
43
|
+
- `recipes/subagent-task-card.json`: Bounded implementation task card.
|
|
44
|
+
- `recipes/subagent-conflict-report.json`: Integrator-oriented conflict report.
|
|
45
|
+
- `recipes/subagent-checkpoint.json`: Coordinator checkpoint artifact.
|
|
46
|
+
- `recipes/subagent-followup.json`: Same-context or degraded continuation.
|
|
47
|
+
- `recipes/subagent-judge.json`: Post-merge/report quality judge.
|
|
48
|
+
|
|
49
|
+
Most atoms expose policy knobs such as `model`, `thinking`, `tools`, `output_format`, `evidence_policy`, `risk_policy`, source policy, continuity policy, handoff format, or model pools. Interactive async atoms also declare mailbox metadata for their basic control, completion, and domain-result message surface. Higher-level recipes pass these knobs through instead of hard-coding local policy.
|
|
50
|
+
|
|
51
|
+
Register one atom:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
register_tool name=subagent_prompt \
|
|
55
|
+
description="Start an async no-tools pi subagent" \
|
|
56
|
+
template="subagent-prompt.json"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Start it:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
subagent_prompt prompt="Review docs/async-runs.md for unclear wording." run_id=docs-review
|
|
63
|
+
inspect target=run:docs-review view=status
|
|
64
|
+
inspect target=run:docs-review view=tail
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Composed Pipelines
|
|
68
|
+
|
|
69
|
+
Pipeline recipes demonstrate second-order composition:
|
|
70
|
+
|
|
71
|
+
- `recipes/subagent-review-coordinator.json`: Lens reviewers → verifier → merger → judge → normalizer.
|
|
72
|
+
- `recipes/pipeline-release-readiness.json`: Task-first release cell: changelog section → validation → release review → artifact report.
|
|
73
|
+
- `recipes/pipeline-repo-health.json`: Task-first repository-health cell: git status/log → docs index → validation → normalized artifact report.
|
|
74
|
+
- `recipes/pipeline-async-run-ops.json`: Task-first async-run operations cell: run summary → event tail → normalized operations report → artifact report.
|
|
75
|
+
- `recipes/pipeline-review-readiness.json`: Release/readiness gate over selected lenses.
|
|
76
|
+
- `recipes/pipeline-quorum-review.json`: Quorum vote shape → merge → judge → normalize.
|
|
77
|
+
- `recipes/pipeline-architect-coordinator.json`: Architecture lens fanout → critique → verification → synthesis → next slice.
|
|
78
|
+
- `recipes/pipeline-research-synthesis.json`: Plan → evidence map → contradiction map → verification → synthesis.
|
|
79
|
+
- `recipes/pipeline-checkpoint-continuation.json`: Checkpoint → follow-up → normalized handoff.
|
|
80
|
+
- `recipes/pipeline-development-tasking.json`: Plan → task card → critique → integrator handoff.
|
|
81
|
+
- `recipes/pipeline-docs-maintenance.json`: Docs index → documentation review → maintenance plan → artifact report.
|
|
82
|
+
- `recipes/pipeline-media-library.json`: Playlist build → media-library artifact report.
|
|
83
|
+
- `recipes/pipeline-artifact-report.json`: Normalize → artifact-shaped output → actor-message-shaped record. This pipeline prepares a candidate artifact and emits `artifact.prepared`/`artifact.blocked`; the `artifact_path` is a target path, not a guarantee that the file was written.
|
|
84
|
+
- `recipes/pipeline-artifact-write.json`: Normalize → artifact-shaped output → deterministic artifact write → actor-message-shaped record. Use only when the caller explicitly wants filesystem writes; `write_mode` is `create`, `overwrite`, or `append`.
|
|
85
|
+
|
|
86
|
+
These are examples of library composition, not a workflow DSL. Pipeline recipes declare mailbox metadata for their high-level completion, artifact, and control message surface. The recipe layer owns imports and saved defaults; command templates own execution shape; async runs own lifecycle.
|
|
87
|
+
|
|
88
|
+
## Utility Recipes
|
|
89
|
+
|
|
90
|
+
Utility recipes cover local operator workflows that do not need subagents:
|
|
91
|
+
|
|
92
|
+
- `recipes/utility-markdown-index.json`: List Markdown files in a directory as input for README/docs index maintenance.
|
|
93
|
+
- `recipes/utility-jsonl-tail.json`: Tail a JSONL/event log with a configurable line count.
|
|
94
|
+
- `recipes/utility-validation-wrapper.json`: Run a caller-supplied validation command in a scoped directory with a bounded timeout.
|
|
95
|
+
- `recipes/utility-git-status.json`: Read concise branch/worktree state for a repo.
|
|
96
|
+
- `recipes/utility-git-log.json`: Read recent decorated commit history for a repo.
|
|
97
|
+
- `recipes/utility-run-state-files.json`: List run-state files such as `run.json` under an async run state root.
|
|
98
|
+
- `recipes/utility-changelog-head.json`: Read the top slice of a changelog for release summary prep.
|
|
99
|
+
- `recipes/utility-playlist-scan.json`: List local media files as playlist-building input.
|
|
100
|
+
- `recipes/utility-run-summary.json`: Use `scripts/recipe-utils.mjs` to summarize async run state files as JSON.
|
|
101
|
+
- `recipes/utility-playlist-build.json`: Use `scripts/recipe-utils.mjs` to build a filtered playlist listing as newline paths, M3U, or inline `|`-separated source.
|
|
102
|
+
- `recipes/utility-changelog-section.json`: Use `scripts/recipe-utils.mjs` to extract one changelog release section.
|
|
103
|
+
- `recipes/utility-artifact-manifest.json`: Use `scripts/recipe-utils.mjs` to emit a machine-readable JSON manifest for an artifact path.
|
|
104
|
+
- `recipes/utility-artifact-write.json`: Deterministically write prepared artifact content from stdin to `artifact_path` with explicit `create`, `overwrite`, or `append` mode.
|
|
105
|
+
- `recipes/utility-actor-message.json`: Deterministically wrap stdin as a validated addressed actor-message envelope with the same public names as the envelope: `to`, `from`, `type`, `summary`, `body`, optional `correlation_id`/`reply_to`, and `metadata`.
|
|
106
|
+
- `recipes/utility-package-summary.json`: Use `scripts/recipe-utils.mjs` to emit bounded package metadata such as name, version, files, scripts, and dependency counts.
|
|
107
|
+
- `recipes/utility-validate-recipe.json`: Use `scripts/validate-recipe.mjs` to validate one template recipe file, or all packaged recipes in a directory with `all: true`.
|
|
108
|
+
|
|
109
|
+
These recipes are intentionally small. Register them only for trusted local commands and prefer narrow scopes. The helper-backed utilities share `scripts/recipe-utils.mjs` so repeated parsing/listing logic stays out of recipe strings.
|
|
110
|
+
|
|
111
|
+
## Music Player
|
|
112
|
+
|
|
113
|
+
Files:
|
|
114
|
+
|
|
115
|
+
- `recipes/music-player.json`
|
|
116
|
+
- `scripts/music-player.mjs`
|
|
117
|
+
|
|
118
|
+
Purpose: start a local or URL audio source as an async run so the agent can continue working while playback runs in the background. The running script exposes one run-local mailbox/FIFO, so addressed `message` calls can control playback without a second recipe.
|
|
119
|
+
|
|
120
|
+
Requirements: Linux, macOS, or WSL with `mkfifo`, Node.js, and one of `mpv`, `ffplay`, `cvlc`, or SoX `play`. Native Windows is not supported because the wrapper uses a Unix FIFO and Unix signals.
|
|
121
|
+
|
|
122
|
+
The required `source` arg accepts:
|
|
123
|
+
|
|
124
|
+
- A single local file or URL.
|
|
125
|
+
- A directory containing audio files; the wrapper scans `.mp3`, `.ogg`, `.wav`, `.flac`, and `.m4a` files.
|
|
126
|
+
- An `.m3u`, `.m3u8`, or `.txt` playlist file.
|
|
127
|
+
- A `|`-separated inline list of local files or URLs.
|
|
128
|
+
|
|
129
|
+
Install locally:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
mkdir -p ~/.pi/agent/recipes
|
|
133
|
+
cp <repo>/recipes/music-player.json ~/.pi/agent/recipes/music-player.json
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Register playback:
|
|
137
|
+
|
|
138
|
+
```text
|
|
139
|
+
register_tool name=music_player \
|
|
140
|
+
description="Start async music player playback through the Node.js wrapper" \
|
|
141
|
+
template="music-player.json" \
|
|
142
|
+
args="source:string,loop:bool=true,volume:int=70,player:enum(auto,mpv,ffplay,cvlc,play)=auto"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Start playback:
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
music_player source="~/Music" volume=55 run_id=music
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Control it through addressed actor messages. This is the canonical reactive pattern for long-lived recipes: the run emits actor messages upward, and the coordinator sends explicit commands downward instead of polling on a timer.
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
message to=run:music type=player.pause body=pause
|
|
155
|
+
message to=run:music type=player.play body=play
|
|
156
|
+
message to=run:music type=player.next body=next
|
|
157
|
+
message to=run:music type=player.previous body=previous
|
|
158
|
+
message to=run:music type=player.stop body=stop
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Use `inspect target=run:music view=status` only when an event or operator decision requires inspection.
|
|
162
|
+
|
|
163
|
+
The wrapper also accepts control commands directly when a caller already has the run state dir:
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
scripts/music-player.mjs next ~/.pi/agent/tmp/pi-actors/runs/music
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Message body is currently adapted to one newline-delimited command written to `<run state dir>/control.fifo`. The script writes `status.txt`, `player.json`, and track-change actor messages in `outbox.jsonl` in the same state dir. Track-change messages stay diagnostic by default; interactive recipes should define a small command vocabulary for addressed messages, emit semantic actor messages for decision points, and let the coordinator react to messages rather than sleep-polling state.
|
|
170
|
+
|
|
171
|
+
## Safety Notes
|
|
172
|
+
|
|
173
|
+
- Only play trusted local files or URLs.
|
|
174
|
+
- Volume is clamped to `0..100` by the wrapper.
|
|
175
|
+
- Prefer a stable `run_id` such as `music` when the operator expects to control the run by name.
|
|
176
|
+
- Use `message type=runtime.kill` only when graceful cancellation fails.
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# Task-First Recipe Design
|
|
2
|
+
|
|
3
|
+
Task-first recipe design starts from a high-level operator or coordinator task, then derives the component cells, utility recipes, helper scripts, and runtime semantics needed to make that task reusable.
|
|
4
|
+
|
|
5
|
+
This complements atom-first growth. Atom-first asks: "What small capability can we expose?" Task-first asks: "What complete work pattern should an agent/operator be able to invoke, and which atoms must exist to support it?"
|
|
6
|
+
|
|
7
|
+
## Method
|
|
8
|
+
|
|
9
|
+
For each high-level recipe candidate:
|
|
10
|
+
|
|
11
|
+
1. Name the task in operator language.
|
|
12
|
+
2. Define the trigger and expected output artifact.
|
|
13
|
+
3. Sketch the recipe pipeline at the highest useful abstraction.
|
|
14
|
+
4. Identify missing component cells.
|
|
15
|
+
5. Decide which cells are subagent components, local utilities, or helper-backed transforms.
|
|
16
|
+
6. Keep domain policy knobs public: models, tools, paths, evidence/risk policy, output shape, mailbox contract, and validation gates.
|
|
17
|
+
7. Add only the next smallest recipe/helper slice that validates the design.
|
|
18
|
+
|
|
19
|
+
## High-Level Recipe Cells
|
|
20
|
+
|
|
21
|
+
### Release Readiness Cell
|
|
22
|
+
|
|
23
|
+
Purpose: decide whether a repo/package is ready for release.
|
|
24
|
+
|
|
25
|
+
Pipeline:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
scope snapshot → changelog/package check → release lens reviews → risk verifier → readiness report → release checklist artifact
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Likely needed cells:
|
|
32
|
+
|
|
33
|
+
- package metadata reader
|
|
34
|
+
- changelog section extractor
|
|
35
|
+
- package contents summarizer
|
|
36
|
+
- validation command wrapper
|
|
37
|
+
- release-risk reviewer
|
|
38
|
+
- readiness merger/judge
|
|
39
|
+
- release checklist artifact writer
|
|
40
|
+
|
|
41
|
+
Existing seeds:
|
|
42
|
+
|
|
43
|
+
- `utility-changelog-section`
|
|
44
|
+
- `utility-package-summary`
|
|
45
|
+
- `utility-validation-wrapper`
|
|
46
|
+
- `pipeline-review-readiness`
|
|
47
|
+
- `subagent-judge`
|
|
48
|
+
- `subagent-artifact`
|
|
49
|
+
|
|
50
|
+
Implemented seed:
|
|
51
|
+
|
|
52
|
+
- `pipeline-release-readiness`: changelog section → validation wrapper → release review coordinator → artifact report.
|
|
53
|
+
|
|
54
|
+
### Repository Health Cell
|
|
55
|
+
|
|
56
|
+
Purpose: summarize repo state for the next coordinator turn or release prep.
|
|
57
|
+
|
|
58
|
+
Pipeline:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
git status/log → package/docs/backlog snapshot → validation summary → health report → next action recommendation
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Likely needed cells:
|
|
65
|
+
|
|
66
|
+
- git status/log utility
|
|
67
|
+
- package version reader
|
|
68
|
+
- backlog open/blocked extractor
|
|
69
|
+
- docs index checker
|
|
70
|
+
- validation summary normalizer
|
|
71
|
+
- next-action recommender
|
|
72
|
+
|
|
73
|
+
Existing seeds:
|
|
74
|
+
|
|
75
|
+
- `utility-markdown-index`
|
|
76
|
+
- `utility-validation-wrapper`
|
|
77
|
+
- `subagent-normalize`
|
|
78
|
+
- `subagent-plan`
|
|
79
|
+
|
|
80
|
+
Implemented seed:
|
|
81
|
+
|
|
82
|
+
- `pipeline-repo-health`: git status/log → docs index → validation wrapper → normalized artifact report.
|
|
83
|
+
|
|
84
|
+
### Async Run Operations Cell
|
|
85
|
+
|
|
86
|
+
Purpose: inspect, summarize, and decide actions for local async runs.
|
|
87
|
+
|
|
88
|
+
Pipeline:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
run-state summary → event tail → stale/active classification → recommended action → optional stop/control message
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Likely needed cells:
|
|
95
|
+
|
|
96
|
+
- run summary helper
|
|
97
|
+
- JSONL event tailer
|
|
98
|
+
- stale-run classifier
|
|
99
|
+
- control-message recommender
|
|
100
|
+
- run report artifact
|
|
101
|
+
|
|
102
|
+
Existing seeds:
|
|
103
|
+
|
|
104
|
+
- `utility-run-summary`
|
|
105
|
+
- `utility-jsonl-tail`
|
|
106
|
+
- `subagent-message`
|
|
107
|
+
- `pipeline-artifact-report`
|
|
108
|
+
|
|
109
|
+
Implemented seed:
|
|
110
|
+
|
|
111
|
+
- `pipeline-async-run-ops`: run summary → event tail → normalized operations report → artifact report.
|
|
112
|
+
|
|
113
|
+
### Research Brief Cell
|
|
114
|
+
|
|
115
|
+
Purpose: turn a question and source set into a bounded evidence-backed brief.
|
|
116
|
+
|
|
117
|
+
Pipeline:
|
|
118
|
+
|
|
119
|
+
```text
|
|
120
|
+
question framing → evidence map → contradiction map → claim verification → synthesis → evidence gaps → next evidence slice
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Likely needed cells:
|
|
124
|
+
|
|
125
|
+
- question framer
|
|
126
|
+
- source inventory utility
|
|
127
|
+
- evidence mapper
|
|
128
|
+
- contradiction mapper
|
|
129
|
+
- verifier
|
|
130
|
+
- synthesis merger
|
|
131
|
+
- limitations normalizer
|
|
132
|
+
|
|
133
|
+
Existing seeds:
|
|
134
|
+
|
|
135
|
+
- `pipeline-research-synthesis`
|
|
136
|
+
- `subagent-evidence-map`
|
|
137
|
+
- `subagent-contradiction-map`
|
|
138
|
+
- `subagent-verify`
|
|
139
|
+
|
|
140
|
+
### Implementation Tasking Cell
|
|
141
|
+
|
|
142
|
+
Purpose: prepare bounded work for one or more implementation agents.
|
|
143
|
+
|
|
144
|
+
Pipeline:
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
goal → mutation zones → task cards → validation gates → conflict risks → integrator handoff
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Likely needed cells:
|
|
151
|
+
|
|
152
|
+
- mutation-zone planner
|
|
153
|
+
- task-card generator
|
|
154
|
+
- ownership/conflict checker
|
|
155
|
+
- validation-gate normalizer
|
|
156
|
+
- integrator handoff artifact
|
|
157
|
+
|
|
158
|
+
Existing seeds:
|
|
159
|
+
|
|
160
|
+
- `pipeline-development-tasking`
|
|
161
|
+
- `subagent-task-card`
|
|
162
|
+
- `subagent-conflict-report`
|
|
163
|
+
|
|
164
|
+
### Documentation Maintenance Cell
|
|
165
|
+
|
|
166
|
+
Purpose: keep docs/index/readme surfaces coherent after changes.
|
|
167
|
+
|
|
168
|
+
Pipeline:
|
|
169
|
+
|
|
170
|
+
```text
|
|
171
|
+
doc file inventory → index diff → stale link/routing review → rewrite suggestion → docs maintenance artifact
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Likely needed cells:
|
|
175
|
+
|
|
176
|
+
- markdown index utility
|
|
177
|
+
- link checker wrapper
|
|
178
|
+
- docs consistency reviewer
|
|
179
|
+
- docs update planner
|
|
180
|
+
- docs artifact writer
|
|
181
|
+
|
|
182
|
+
Existing seeds:
|
|
183
|
+
|
|
184
|
+
- `utility-markdown-index`
|
|
185
|
+
- `subagent-review`
|
|
186
|
+
- `subagent-plan`
|
|
187
|
+
- `subagent-artifact`
|
|
188
|
+
|
|
189
|
+
Implemented seed:
|
|
190
|
+
|
|
191
|
+
- `pipeline-docs-maintenance`: docs index → documentation review → maintenance plan → artifact report.
|
|
192
|
+
|
|
193
|
+
### Media/Playlist Operations Cell
|
|
194
|
+
|
|
195
|
+
Purpose: convert local media directories into controllable playback workflows.
|
|
196
|
+
|
|
197
|
+
Pipeline:
|
|
198
|
+
|
|
199
|
+
```text
|
|
200
|
+
media scan → playlist build → playback start → event summary → controls
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Likely needed cells:
|
|
204
|
+
|
|
205
|
+
- playlist builder
|
|
206
|
+
- music player
|
|
207
|
+
- run/event summary
|
|
208
|
+
- control recommender
|
|
209
|
+
|
|
210
|
+
Existing seeds:
|
|
211
|
+
|
|
212
|
+
- `utility-playlist-build`
|
|
213
|
+
- `music-player`
|
|
214
|
+
- `utility-run-summary`
|
|
215
|
+
- `utility-jsonl-tail`
|
|
216
|
+
|
|
217
|
+
Implemented seed:
|
|
218
|
+
|
|
219
|
+
- `pipeline-media-library`: playlist build → media-library artifact report.
|
|
220
|
+
|
|
221
|
+
## Selection Rule
|
|
222
|
+
|
|
223
|
+
Prefer adding a high-level recipe when at least three cells already exist and the missing cells are small. Prefer adding an atom when multiple high-level recipes need the same missing cell.
|
|
224
|
+
|
|
225
|
+
## Near-Term Candidates
|
|
226
|
+
|
|
227
|
+
Good next candidates for the standard library after the first task-first wave:
|
|
228
|
+
|
|
229
|
+
1. Package/release metadata enrichment: use `utility-package-summary` with changelog and validation cells to make release-readiness reports more evidence-rich without adding publish automation.
|
|
230
|
+
2. Artifact packaging and manifesting: compose `pipeline-artifact-write`, `utility-artifact-manifest`, artifact reports, and validation summaries into a machine-readable handoff bundle when the caller explicitly requests filesystem writes.
|
|
231
|
+
3. Async run cleanup planning: extend async-run operations with stale-run classification and recommended `message`, `cancel`, or `kill` controls, keeping actual control execution operator-gated.
|
|
232
|
+
|
|
233
|
+
Each candidate should land with the minimum missing cells rather than a broad one-shot framework. Already implemented task-first seeds include `pipeline-release-readiness`, `pipeline-repo-health`, `pipeline-async-run-ops`, `pipeline-docs-maintenance`, and `pipeline-media-library`.
|