@syntesseraai/opencode-feature-factory 0.6.10 → 0.6.11
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 +9 -9
- package/agents/pipeline.md +4 -13
- package/command/pipeline/building/run.md +10 -9
- package/command/pipeline/documentation/run.md +4 -4
- package/command/pipeline/planning/confirm.md +18 -0
- package/command/pipeline/planning/run.md +5 -5
- package/command/pipeline/reviewing/run.md +7 -7
- package/command/pipeline/start.md +6 -13
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ It also updates `~/.config/opencode/opencode.json` non-destructively by merging
|
|
|
43
43
|
## Command Tree
|
|
44
44
|
|
|
45
45
|
- `/pipeline/start`
|
|
46
|
-
- `/pipeline/planning/run`, `/pipeline/planning/plan`, `/pipeline/planning/synthesize`, `/pipeline/planning/gate`
|
|
46
|
+
- `/pipeline/planning/run`, `/pipeline/planning/plan`, `/pipeline/planning/synthesize`, `/pipeline/planning/gate`, `/pipeline/planning/confirm`
|
|
47
47
|
- `/pipeline/building/run`, `/pipeline/building/breakdown`, `/pipeline/building/validate-batch`, `/pipeline/building/implement-batch`
|
|
48
48
|
- `/pipeline/reviewing/run`, `/pipeline/reviewing/triage`, `/pipeline/reviewing/review`, `/pipeline/reviewing/synthesize`, `/pipeline/reviewing/gate`
|
|
49
49
|
- `/pipeline/documentation/run`, `/pipeline/documentation/document`, `/pipeline/documentation/review`, `/pipeline/documentation/gate`
|
|
@@ -51,18 +51,18 @@ It also updates `~/.config/opencode/opencode.json` non-destructively by merging
|
|
|
51
51
|
|
|
52
52
|
## Model Routing
|
|
53
53
|
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
- `
|
|
57
|
-
- `
|
|
58
|
-
- `
|
|
59
|
-
- `
|
|
60
|
-
- `DOCUMENTATION_REVIEWER_MODEL
|
|
54
|
+
- Coordinator and synthesis model is ChatGPT 5.4.
|
|
55
|
+
- Planning/reviewing fan-out uses explicit inline model overrides.
|
|
56
|
+
- `DEVELOPER_MODEL`: `openai/gpt-5.3-codex`
|
|
57
|
+
- `ARCHITECT_MODEL`: `opencode/gemini-3.1-pro`
|
|
58
|
+
- `REVIEWER_MODEL`: `anthropic/claude-opus-4-6`
|
|
59
|
+
- `COORDINATOR_MODEL`: `openai/gpt-5.4`
|
|
60
|
+
- `DOCUMENTATION_REVIEWER_MODEL`: `opencode/gemini-3.1-pro`
|
|
61
61
|
- Pipeline stages pass intermediate artifacts with `{as:name}` and `$RESULT[name]` (minimal file persistence)
|
|
62
62
|
- Planning (with architecture validation): reviewer, architect, and developer role models
|
|
63
63
|
- Implementation: developer role model
|
|
64
64
|
- Review (with architecture validation): reviewer, architect, and developer role models
|
|
65
|
-
- Rework path: `/pipeline/reviewing/run` re-enters implementation via
|
|
65
|
+
- Rework path: `/pipeline/reviewing/run` re-enters implementation via `/pipeline/building/implement-batch` when gate status is `REWORK`
|
|
66
66
|
- Documentation stage: developer role updates documentation, documentation reviewer role reviews docs, and coordinator role supervises a bounded loop until approved
|
|
67
67
|
- Documentation stage skill usage: developer role loads `ff-todo-management`, `ff-mini-plan`; documentation reviewer role loads `ff-report-templates` and `ff-severity-classification`
|
|
68
68
|
|
package/agents/pipeline.md
CHANGED
|
@@ -26,9 +26,8 @@ You are the pipeline orchestrator.
|
|
|
26
26
|
## Responsibilities
|
|
27
27
|
|
|
28
28
|
1. Gather and confirm requirements.
|
|
29
|
-
2.
|
|
30
|
-
3.
|
|
31
|
-
4. Report phase transitions and gate outcomes.
|
|
29
|
+
2. Start `/pipeline/start {model:openai/gpt-5.4}` with a concise requirements brief.
|
|
30
|
+
3. Report phase transitions and gate outcomes.
|
|
32
31
|
|
|
33
32
|
## Guardrails
|
|
34
33
|
|
|
@@ -43,14 +42,6 @@ You are the pipeline orchestrator.
|
|
|
43
42
|
- Acceptance criteria
|
|
44
43
|
- Scope constraints
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
On confirmation, run:
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
- `DEVELOPER_MODEL=openai/gpt-5.3-codex`
|
|
50
|
-
- `ARCHITECT_MODEL=opencode/gemini-3.1-pro`
|
|
51
|
-
- `REVIEWER_MODEL=anthropic/claude-opus-4-6`
|
|
52
|
-
- `DOCUMENTATION_REVIEWER_MODEL=opencode/gemini-3.1-pro`
|
|
53
|
-
|
|
54
|
-
After model confirmation, run:
|
|
55
|
-
|
|
56
|
-
`/pipeline/start {model:<CONFIRMED_COORDINATOR_MODEL>} <requirements-brief with COORDINATOR_MODEL=<CONFIRMED_COORDINATOR_MODEL> DEVELOPER_MODEL=<CONFIRMED_DEVELOPER_MODEL> ARCHITECT_MODEL=<CONFIRMED_ARCHITECT_MODEL> REVIEWER_MODEL=<CONFIRMED_REVIEWER_MODEL> DOCUMENTATION_REVIEWER_MODEL=<CONFIRMED_DOCUMENTATION_REVIEWER_MODEL>>`
|
|
47
|
+
`/pipeline/start {model:openai/gpt-5.4} <requirements-brief>`
|
|
@@ -2,18 +2,19 @@
|
|
|
2
2
|
description: Run build phase from approved plan
|
|
3
3
|
subtask: true
|
|
4
4
|
return:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
5
|
+
- /pipeline/building/breakdown {model:anthropic/claude-opus-4-6 && as:build-tasks} $ARGUMENTS
|
|
6
|
+
- /pipeline/building/validate-batch {model:opencode/gemini-3.1-pro && as:build-batches} $RESULT[build-tasks]
|
|
7
|
+
- /pipeline/building/implement-batch {model:openai/gpt-5.3-codex && as:build-implementation} $RESULT[build-batches]
|
|
8
|
+
- /pipeline/reviewing/run {model:openai/gpt-5.4 && as:review-phase} $RESULT[build-implementation]
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
Run build phase from the approved final plan passed in `$ARGUMENTS`.
|
|
12
12
|
|
|
13
13
|
Rules:
|
|
14
14
|
|
|
15
|
-
1.
|
|
16
|
-
2.
|
|
17
|
-
3.
|
|
18
|
-
4.
|
|
19
|
-
5.
|
|
15
|
+
1. If `PLANNING_PROCEED=NO` appears in input, stop and return user-confirmation-required context instead of executing build tasks.
|
|
16
|
+
2. Maintain dependency-safe batching.
|
|
17
|
+
3. Only parallelize tasks with no dependency edges.
|
|
18
|
+
4. Pass intermediate outputs via `{as:name}` and `$RESULT[name]`.
|
|
19
|
+
5. Implementation is codex-focused via explicit model override.
|
|
20
|
+
6. Send completed implementation output into reviewing via `/pipeline/reviewing/run`.
|
|
@@ -3,11 +3,11 @@ description: Run documentation loop after review approval
|
|
|
3
3
|
subtask: true
|
|
4
4
|
loop:
|
|
5
5
|
max: 5
|
|
6
|
-
until: documentation updates are approved by
|
|
6
|
+
until: documentation updates are approved by documentation reviewer with zero unresolved documentation issues
|
|
7
7
|
return:
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
8
|
+
- /pipeline/documentation/document {model:openai/gpt-5.3-codex && as:doc-pass} $ARGUMENTS
|
|
9
|
+
- /pipeline/documentation/review {model:opencode/gemini-3.1-pro && as:doc-review} $RESULT[doc-pass]
|
|
10
|
+
- /pipeline/documentation/gate {model:openai/gpt-5.4} $RESULT[doc-review]
|
|
11
11
|
- If `DOCUMENTATION_GATE=REWORK`, continue loop with review feedback for the next document pass.
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Confirm whether pipeline can proceed after planning
|
|
3
|
+
subtask: true
|
|
4
|
+
agent: planning
|
|
5
|
+
model: openai/gpt-5.4
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Read the planning output in `$ARGUMENTS` and decide whether the pipeline may proceed.
|
|
9
|
+
|
|
10
|
+
Rules:
|
|
11
|
+
|
|
12
|
+
1. If `PLANNING_GATE=APPROVED`, return:
|
|
13
|
+
- `PLANNING_PROCEED=YES`
|
|
14
|
+
- The approved `FINAL_PLAN` content for build input.
|
|
15
|
+
2. If `PLANNING_GATE=REWORK` or `PLANNING_GATE=BLOCKED`, return:
|
|
16
|
+
- `PLANNING_PROCEED=NO`
|
|
17
|
+
- A short `USER_CONFIRMATION_REQUIRED` section explaining why continuation needs explicit user confirmation.
|
|
18
|
+
3. Do not invent missing gate values.
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
description: Execute one planning iteration
|
|
3
3
|
subtask: true
|
|
4
4
|
parallel:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
5
|
+
- /pipeline/planning/plan {model:anthropic/claude-opus-4-6 && as:plan-opus} [MODEL_TAG:opus] $ARGUMENTS
|
|
6
|
+
- /pipeline/planning/plan {model:opencode/gemini-3.1-pro && as:plan-gemini} [MODEL_TAG:gemini] $ARGUMENTS
|
|
7
|
+
- /pipeline/planning/plan {model:openai/gpt-5.3-codex && as:plan-codex} [MODEL_TAG:codex] $ARGUMENTS
|
|
8
8
|
return:
|
|
9
|
-
-
|
|
10
|
-
-
|
|
9
|
+
- /pipeline/planning/synthesize {model:openai/gpt-5.4 && as:plan-consensus} $RESULT[plan-opus] $RESULT[plan-gemini] $RESULT[plan-codex]
|
|
10
|
+
- /pipeline/planning/gate {model:openai/gpt-5.4} $RESULT[plan-consensus]
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
Run one complete planning iteration for the active pipeline.
|
|
@@ -5,13 +5,13 @@ loop:
|
|
|
5
5
|
max: 10
|
|
6
6
|
until: all tasks in the active batch are approved with confidence >=95 and zero unresolved issues
|
|
7
7
|
return:
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
- If REVIEW_GATE=REWORK
|
|
8
|
+
- /pipeline/reviewing/triage {model:openai/gpt-5.4 && as:review-brief} $ARGUMENTS
|
|
9
|
+
- /pipeline/reviewing/review {model:anthropic/claude-opus-4-6 && as:review-opus} [MODEL_TAG:opus] $RESULT[review-brief]
|
|
10
|
+
- /pipeline/reviewing/review {model:opencode/gemini-3.1-pro && as:review-gemini} [MODEL_TAG:gemini] $RESULT[review-brief]
|
|
11
|
+
- /pipeline/reviewing/review {model:openai/gpt-5.3-codex && as:review-codex} [MODEL_TAG:codex] $RESULT[review-brief]
|
|
12
|
+
- /pipeline/reviewing/synthesize {model:openai/gpt-5.4 && as:review-synthesis} $RESULT[review-opus] $RESULT[review-gemini] $RESULT[review-codex]
|
|
13
|
+
- /pipeline/reviewing/gate {model:openai/gpt-5.4} $RESULT[review-synthesis]
|
|
14
|
+
- If `REVIEW_GATE=REWORK`, invoke `/pipeline/building/implement-batch {model:openai/gpt-5.3-codex}` to apply fixes before the next loop iteration.
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
Execute the review loop for the current completed tasks/rework report.
|
|
@@ -1,26 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Pipeline workflow entrypoint
|
|
3
3
|
subtask: true
|
|
4
|
+
model: openai/gpt-5.4
|
|
4
5
|
return:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
6
|
+
- /pipeline/planning/run {as:planning-phase && loop:5 && until:planning gate is APPROVED or planning gate is BLOCKED and waiting for user confirmation}
|
|
7
|
+
- /pipeline/planning/confirm {as:planning-decision} $RESULT[planning-phase]
|
|
8
|
+
- /pipeline/building/run {as:build-phase} $RESULT[planning-decision]
|
|
9
|
+
- /pipeline/documentation/run $RESULT[build-phase]
|
|
10
|
+
- /pipeline/complete
|
|
10
11
|
---
|
|
11
12
|
|
|
12
13
|
Start the deterministic Feature Factory pipeline with this requirements brief:
|
|
13
14
|
|
|
14
15
|
$ARGUMENTS
|
|
15
16
|
|
|
16
|
-
Optional runtime model inputs (recommended):
|
|
17
|
-
|
|
18
|
-
- `COORDINATOR_MODEL=<provider/model>`
|
|
19
|
-
- `DEVELOPER_MODEL=<provider/model>`
|
|
20
|
-
- `ARCHITECT_MODEL=<provider/model>`
|
|
21
|
-
- `REVIEWER_MODEL=<provider/model>`
|
|
22
|
-
- `DOCUMENTATION_REVIEWER_MODEL=<provider/model>`
|
|
23
|
-
|
|
24
17
|
Execution requirements:
|
|
25
18
|
|
|
26
19
|
1. Use `{as:name}` and `$RESULT[name]` for phase-to-phase handoff.
|
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.11",
|
|
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",
|