@syntesseraai/opencode-feature-factory 0.6.16 → 0.6.17
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 +17 -13
- package/command/mini-loop/documentation/document.md +1 -0
- package/command/mini-loop/documentation/gate.md +1 -0
- package/command/mini-loop/documentation/review.md +1 -0
- package/command/mini-loop/documentation/run.md +8 -3
- package/command/mini-loop/implementation/build.md +1 -0
- package/command/mini-loop/implementation/gate.md +1 -0
- package/command/mini-loop/implementation/review.md +1 -0
- package/command/mini-loop/implementation/run.md +8 -3
- package/command/mini-loop/start.md +5 -0
- package/command/pipeline/building/breakdown.md +1 -0
- package/command/pipeline/building/implement-batch.md +13 -3
- package/command/pipeline/building/run.md +10 -5
- package/command/pipeline/building/validate-batch.md +1 -0
- package/command/pipeline/complete.md +1 -0
- package/command/pipeline/documentation/document.md +1 -0
- package/command/pipeline/documentation/gate.md +2 -0
- package/command/pipeline/documentation/review.md +1 -0
- package/command/pipeline/documentation/run.md +8 -3
- package/command/pipeline/planning/gate.md +1 -0
- package/command/pipeline/planning/run.md +7 -2
- package/command/pipeline/planning/synthesize.md +4 -3
- package/command/pipeline/reviewing/gate.md +1 -0
- package/command/pipeline/reviewing/run.md +11 -4
- package/command/pipeline/reviewing/synthesize.md +1 -0
- package/command/pipeline/reviewing/triage.md +1 -0
- package/command/pipeline/start.md +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,7 +39,8 @@ It also updates `~/.config/opencode/opencode.json` non-destructively by merging
|
|
|
39
39
|
- There is no dedicated `@pipeline` intake agent; the command tree handles orchestration autonomously.
|
|
40
40
|
- Orchestration is implemented by the command tree under `command/pipeline/` using subtask2 primitives (`return`, `parallel`, `loop`).
|
|
41
41
|
- Orchestration wrapper commands (`/pipeline/start`, `/pipeline/*/run`, `/pipeline/complete`) pin `agent: general` to avoid recursive self-invocation before phase-specific delegation begins.
|
|
42
|
-
- Coordinator and synthesis model defaults to ChatGPT 5.4
|
|
42
|
+
- Coordinator and synthesis model defaults to ChatGPT 5.4 via frontmatter `model:` declarations in orchestrator commands.
|
|
43
|
+
- All orchestrator commands include an explicit **orchestrator constraint**: they must NOT directly read, edit, modify, write, or create any code/config/repository files — they only dispatch sub-commands, pass structured data via `{as:name}` / `$RESULT[name]`, and evaluate gate/loop conditions.
|
|
43
44
|
|
|
44
45
|
## Command Tree
|
|
45
46
|
|
|
@@ -56,20 +57,23 @@ It also updates `~/.config/opencode/opencode.json` non-destructively by merging
|
|
|
56
57
|
|
|
57
58
|
## Model Routing
|
|
58
59
|
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
Models are declared in each command's frontmatter (`model:` field). Multi-model fan-out targets (`plan.md`, `review.md`) use per-invocation `{model:...}` overrides since they are invoked multiple times with different models.
|
|
61
|
+
|
|
62
|
+
| Role | Model | Commands |
|
|
63
|
+
| ----------------------- | --------------------------- | --------------------------------------------------------------------------- |
|
|
64
|
+
| Orchestration/reasoning | `openai/gpt-5.4` | All `run.md`, `start.md`, `complete.md`, gates, triage, synthesize, confirm |
|
|
65
|
+
| Implementation | `openai/gpt-5.3-codex` | `implement-batch`, `build`, `document` |
|
|
66
|
+
| Architecture analysis | `anthropic/claude-opus-4-6` | `breakdown`, review fan-out (opus slot) |
|
|
67
|
+
| Validation | `opencode/gemini-3.1-pro` | `validate-batch`, documentation review, review fan-out (gemini slot) |
|
|
68
|
+
| Multi-model fan-out | per-invocation | `plan.md`, `review.md` |
|
|
69
|
+
|
|
66
70
|
- Pipeline stages pass intermediate artifacts with `{as:name}` and `$RESULT[name]` (minimal file persistence)
|
|
67
|
-
- Planning (with architecture validation):
|
|
68
|
-
- Implementation:
|
|
69
|
-
- Review (with architecture validation):
|
|
71
|
+
- Planning fan-out (with architecture validation): opus, gemini, and codex models in parallel
|
|
72
|
+
- Implementation: codex via frontmatter model declaration in `implement-batch.md`, with parallel `building` sub-agents per independent task within each batch
|
|
73
|
+
- Review fan-out (with architecture validation): opus, gemini, and codex models in parallel
|
|
70
74
|
- Rework path: `/pipeline/reviewing/run` re-enters implementation via `/pipeline/building/implement-batch` when gate status is `REWORK`
|
|
71
|
-
- Documentation stage:
|
|
72
|
-
- Documentation stage skill usage:
|
|
75
|
+
- Documentation stage: codex updates documentation, gemini reviews docs, and orchestrator (`gpt-5.4`) supervises a bounded loop until approved
|
|
76
|
+
- Documentation stage skill usage: codex pass loads `ff-todo-management`, `ff-mini-plan`; gemini review pass loads `ff-report-templates` and `ff-severity-classification`
|
|
73
77
|
|
|
74
78
|
## Quality Gates
|
|
75
79
|
|
|
@@ -2,18 +2,23 @@
|
|
|
2
2
|
description: Run documentation mini-loop until gate passes
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: general
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
loop:
|
|
6
7
|
max: 5
|
|
7
8
|
until: documentation gate is APPROVED
|
|
8
9
|
return:
|
|
9
|
-
- /mini-loop/documentation/document {
|
|
10
|
-
- /mini-loop/documentation/review {
|
|
11
|
-
- /mini-loop/documentation/gate
|
|
10
|
+
- /mini-loop/documentation/document {as:mini-doc-pass} $ARGUMENTS
|
|
11
|
+
- /mini-loop/documentation/review {as:mini-doc-review} $RESULT[mini-doc-pass]
|
|
12
|
+
- /mini-loop/documentation/gate $RESULT[mini-doc-review]
|
|
12
13
|
- If `MINI_LOOP_DOCUMENTATION_GATE=REWORK`, continue loop with prior documentation review feedback included in the next documentation pass.
|
|
13
14
|
---
|
|
14
15
|
|
|
15
16
|
Execute the documentation mini-loop for the approved implementation context.
|
|
16
17
|
|
|
18
|
+
Orchestrator constraint:
|
|
19
|
+
|
|
20
|
+
This command is a **dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared sub-commands (`document`, `review`, `gate`), pass structured data between them via `{as:name}` / `$RESULT[name]`, evaluate gate/loop conditions, and route execution. All file-touching work belongs exclusively to the leaf sub-commands.
|
|
21
|
+
|
|
17
22
|
Stop criteria:
|
|
18
23
|
|
|
19
24
|
- approve when `MINI_LOOP_DOCUMENTATION_GATE=APPROVED`
|
|
@@ -2,18 +2,23 @@
|
|
|
2
2
|
description: Run implementation mini-loop until gate passes
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: general
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
loop:
|
|
6
7
|
max: 10
|
|
7
8
|
until: implementation gate is APPROVED
|
|
8
9
|
return:
|
|
9
|
-
- /mini-loop/implementation/build {
|
|
10
|
-
- /mini-loop/implementation/review {
|
|
11
|
-
- /mini-loop/implementation/gate
|
|
10
|
+
- /mini-loop/implementation/build {as:mini-impl-build} $ARGUMENTS
|
|
11
|
+
- /mini-loop/implementation/review {as:mini-impl-review} $RESULT[mini-impl-build]
|
|
12
|
+
- /mini-loop/implementation/gate $RESULT[mini-impl-review]
|
|
12
13
|
- If `MINI_LOOP_IMPLEMENTATION_GATE=REWORK`, continue loop with prior review feedback included in the next build input.
|
|
13
14
|
---
|
|
14
15
|
|
|
15
16
|
Execute the implementation mini-loop for the active requirements/rework context.
|
|
16
17
|
|
|
18
|
+
Orchestrator constraint:
|
|
19
|
+
|
|
20
|
+
This command is a **dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared sub-commands (`build`, `review`, `gate`), pass structured data between them via `{as:name}` / `$RESULT[name]`, evaluate gate/loop conditions, and route execution. All file-touching work belongs exclusively to the leaf sub-commands.
|
|
21
|
+
|
|
17
22
|
Stop criteria:
|
|
18
23
|
|
|
19
24
|
- approve when `MINI_LOOP_IMPLEMENTATION_GATE=APPROVED`
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
description: Mini-loop two-stage workflow entrypoint
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: general
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
return:
|
|
6
7
|
- /mini-loop/implementation/run {as:implementation-phase} $ARGUMENTS
|
|
7
8
|
- /mini-loop/documentation/run $RESULT[implementation-phase]
|
|
@@ -16,3 +17,7 @@ Execution requirements:
|
|
|
16
17
|
1. Always complete implementation approval before starting documentation.
|
|
17
18
|
2. Use `{as:name}` and `$RESULT[name]` for all handoffs.
|
|
18
19
|
3. Keep loop decisions deterministic and gate-driven.
|
|
20
|
+
|
|
21
|
+
Orchestrator constraint:
|
|
22
|
+
|
|
23
|
+
This command is a **top-level dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared phase commands in order, pass structured data between them via `{as:name}` / `$RESULT[name]`, and evaluate gate conditions. All file-touching work belongs exclusively to the leaf sub-commands within each phase.
|
|
@@ -2,15 +2,25 @@
|
|
|
2
2
|
description: Implement validated batches with Codex
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: building
|
|
5
|
+
model: openai/gpt-5.3-codex
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
Read `BATCHES` input from `$ARGUMENTS` and implement
|
|
8
|
+
Read `BATCHES` input from `$ARGUMENTS` and implement each batch.
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Execution strategy:
|
|
11
|
+
|
|
12
|
+
1. Process batches in dependency order — a batch may only start after all batches it depends on have completed.
|
|
13
|
+
2. Within each batch, launch **parallel sub-agents** (type: `building`) — one per task — for tasks that have no mutual dependency edges. Use concurrent tool calls to maximize throughput.
|
|
14
|
+
3. Tasks within the same batch that share file targets or have explicit dependency edges must run sequentially.
|
|
15
|
+
4. Wait for all tasks in a batch to complete before starting the next batch.
|
|
16
|
+
|
|
17
|
+
For each task (inside its sub-agent):
|
|
10
18
|
|
|
11
19
|
1. implement code changes
|
|
12
20
|
2. add/update tests
|
|
13
21
|
3. run lint/typecheck/tests for impacted scope
|
|
14
|
-
4. return a structured completion report
|
|
22
|
+
4. return a structured completion report (no file persistence)
|
|
23
|
+
|
|
24
|
+
After all batches complete, merge the per-task completion reports into a single `IMPLEMENTATION_REPORT` output.
|
|
15
25
|
|
|
16
26
|
This command performs implementation only; reviewing is triggered by `/pipeline/building/run` and by rework flow.
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
description: Run build phase from approved plan
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: general
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
return:
|
|
6
|
-
- /pipeline/building/breakdown {
|
|
7
|
-
- /pipeline/building/validate-batch {
|
|
8
|
-
- /pipeline/building/implement-batch {
|
|
9
|
-
- /pipeline/reviewing/run {
|
|
7
|
+
- /pipeline/building/breakdown {as:build-tasks} $ARGUMENTS
|
|
8
|
+
- /pipeline/building/validate-batch {as:build-batches} $RESULT[build-tasks]
|
|
9
|
+
- /pipeline/building/implement-batch {as:build-implementation} $RESULT[build-batches]
|
|
10
|
+
- /pipeline/reviewing/run {as:review-phase} $RESULT[build-implementation]
|
|
10
11
|
---
|
|
11
12
|
|
|
12
13
|
Run build phase from the approved final plan passed in `$ARGUMENTS`.
|
|
@@ -17,5 +18,9 @@ Rules:
|
|
|
17
18
|
2. Maintain dependency-safe batching.
|
|
18
19
|
3. Only parallelize tasks with no dependency edges.
|
|
19
20
|
4. Pass intermediate outputs via `{as:name}` and `$RESULT[name]`.
|
|
20
|
-
5. Implementation is codex-focused via
|
|
21
|
+
5. Implementation is codex-focused via frontmatter model declaration in `implement-batch`.
|
|
21
22
|
6. Send completed implementation output into reviewing via `/pipeline/reviewing/run`.
|
|
23
|
+
|
|
24
|
+
Orchestrator constraint:
|
|
25
|
+
|
|
26
|
+
This command is a **dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared sub-commands, pass structured data between them via `{as:name}` / `$RESULT[name]`, evaluate gate conditions, and route execution. All file-touching work belongs exclusively to the sub-commands (`breakdown`, `validate-batch`, `implement-batch`).
|
|
@@ -2,18 +2,23 @@
|
|
|
2
2
|
description: Run documentation loop after review approval
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: general
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
loop:
|
|
6
7
|
max: 5
|
|
7
8
|
until: documentation updates are approved by documentation reviewer with zero unresolved documentation issues
|
|
8
9
|
return:
|
|
9
|
-
- /pipeline/documentation/document {
|
|
10
|
-
- /pipeline/documentation/review {
|
|
11
|
-
- /pipeline/documentation/gate
|
|
10
|
+
- /pipeline/documentation/document {as:doc-pass} $ARGUMENTS
|
|
11
|
+
- /pipeline/documentation/review {as:doc-review} $RESULT[doc-pass]
|
|
12
|
+
- /pipeline/documentation/gate $RESULT[doc-review]
|
|
12
13
|
- If `DOCUMENTATION_GATE=REWORK`, continue loop with review feedback for the next document pass.
|
|
13
14
|
---
|
|
14
15
|
|
|
15
16
|
Execute the documentation stage for the current approved implementation.
|
|
16
17
|
|
|
18
|
+
Orchestrator constraint:
|
|
19
|
+
|
|
20
|
+
This command is a **dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared sub-commands (`document`, `review`, `gate`), pass structured data between them via `{as:name}` / `$RESULT[name]`, evaluate gate/loop conditions, and route execution. All file-touching work belongs exclusively to the leaf sub-commands.
|
|
21
|
+
|
|
17
22
|
Skill requirements:
|
|
18
23
|
|
|
19
24
|
1. ChatGPT supervisor must load `ff-todo-management` to track documentation actions and rework items per iteration.
|
|
@@ -2,17 +2,22 @@
|
|
|
2
2
|
description: Execute one planning iteration
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: general
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
parallel:
|
|
6
7
|
- /pipeline/planning/plan {model:anthropic/claude-opus-4-6 && as:plan-opus} [MODEL_TAG:opus] $ARGUMENTS
|
|
7
8
|
- /pipeline/planning/plan {model:opencode/gemini-3.1-pro && as:plan-gemini} [MODEL_TAG:gemini] $ARGUMENTS
|
|
8
9
|
- /pipeline/planning/plan {model:openai/gpt-5.3-codex && as:plan-codex} [MODEL_TAG:codex] $ARGUMENTS
|
|
9
10
|
return:
|
|
10
|
-
- /pipeline/planning/synthesize {
|
|
11
|
-
- /pipeline/planning/gate
|
|
11
|
+
- /pipeline/planning/synthesize {as:plan-consensus} $RESULT[plan-opus] $RESULT[plan-gemini] $RESULT[plan-codex]
|
|
12
|
+
- /pipeline/planning/gate $RESULT[plan-consensus]
|
|
12
13
|
---
|
|
13
14
|
|
|
14
15
|
Run one complete planning iteration for the active pipeline.
|
|
15
16
|
|
|
17
|
+
Orchestrator constraint:
|
|
18
|
+
|
|
19
|
+
This command is a **dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared sub-commands (`plan`, `synthesize`, `gate`), pass structured data between them via `{as:name}` / `$RESULT[name]`, evaluate gate conditions, and route execution. All file-touching work belongs exclusively to the leaf sub-commands.
|
|
20
|
+
|
|
16
21
|
Requirements brief:
|
|
17
22
|
|
|
18
23
|
$ARGUMENTS
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
description: Synthesize planning consensus
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: planning
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
Synthesize the three model outputs from planning fan-out:
|
|
8
9
|
|
|
9
|
-
- `$RESULT[plan-
|
|
10
|
-
- `$RESULT[plan-
|
|
11
|
-
- `$RESULT[plan-
|
|
10
|
+
- `$RESULT[plan-opus]`
|
|
11
|
+
- `$RESULT[plan-gemini]`
|
|
12
|
+
- `$RESULT[plan-codex]`
|
|
12
13
|
|
|
13
14
|
Produce a consensus report (no file persistence).
|
|
14
15
|
|
|
@@ -2,21 +2,28 @@
|
|
|
2
2
|
description: Run review loop for completed tasks
|
|
3
3
|
subtask: true
|
|
4
4
|
agent: general
|
|
5
|
+
model: openai/gpt-5.4
|
|
5
6
|
loop:
|
|
6
7
|
max: 10
|
|
7
8
|
until: all tasks in the active batch are approved with confidence >=95 and zero unresolved issues
|
|
8
9
|
return:
|
|
9
|
-
- /pipeline/reviewing/triage {
|
|
10
|
+
- /pipeline/reviewing/triage {as:review-brief} $ARGUMENTS
|
|
11
|
+
parallel:
|
|
10
12
|
- /pipeline/reviewing/review {model:anthropic/claude-opus-4-6 && as:review-opus} [MODEL_TAG:opus] $RESULT[review-brief]
|
|
11
13
|
- /pipeline/reviewing/review {model:opencode/gemini-3.1-pro && as:review-gemini} [MODEL_TAG:gemini] $RESULT[review-brief]
|
|
12
14
|
- /pipeline/reviewing/review {model:openai/gpt-5.3-codex && as:review-codex} [MODEL_TAG:codex] $RESULT[review-brief]
|
|
13
|
-
|
|
14
|
-
- /pipeline/reviewing/
|
|
15
|
-
-
|
|
15
|
+
return:
|
|
16
|
+
- /pipeline/reviewing/synthesize {as:review-synthesis} $RESULT[review-opus] $RESULT[review-gemini] $RESULT[review-codex]
|
|
17
|
+
- /pipeline/reviewing/gate $RESULT[review-synthesis]
|
|
18
|
+
- If `REVIEW_GATE=REWORK`, invoke `/pipeline/building/implement-batch` to apply fixes before the next loop iteration.
|
|
16
19
|
---
|
|
17
20
|
|
|
18
21
|
Execute the review loop for the current completed tasks/rework report.
|
|
19
22
|
|
|
23
|
+
Orchestrator constraint:
|
|
24
|
+
|
|
25
|
+
This command is a **dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared sub-commands (`triage`, `review`, `synthesize`, `gate`, and rework dispatch), pass structured data between them via `{as:name}` / `$RESULT[name]`, evaluate gate/loop conditions, and route execution. All file-touching work belongs exclusively to the leaf sub-commands.
|
|
26
|
+
|
|
20
27
|
Stop criteria:
|
|
21
28
|
|
|
22
29
|
- approve when `>=95` confidence and zero unresolved issues
|
|
@@ -23,3 +23,7 @@ Execution requirements:
|
|
|
23
23
|
4. Avoid file persistence for intermediate artifacts unless a command explicitly requires audit snapshots.
|
|
24
24
|
5. Use command chaining, parallel fan-out, and loop gates from the `/pipeline/...` command tree.
|
|
25
25
|
6. Do not skip planning, review, and documentation gates.
|
|
26
|
+
|
|
27
|
+
Orchestrator constraint:
|
|
28
|
+
|
|
29
|
+
This command is a **top-level dispatch orchestrator only**. You must NOT directly read, edit, modify, write, or create any code files, configuration files, or repository files. Your sole responsibility is to invoke the declared phase commands in order, pass structured data between them via `{as:name}` / `$RESULT[name]`, and evaluate gate conditions. All file-touching work belongs exclusively to the leaf sub-commands within each phase.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@syntesseraai/opencode-feature-factory",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.17",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "OpenCode plugin for Feature Factory agents - provides sub-agents and skills for validation, review, security, and architecture assessment",
|
|
7
7
|
"license": "MIT",
|