@syntesseraai/opencode-feature-factory 0.12.7 → 0.12.8
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 +2 -0
- package/README.md +4 -2
- package/agents/building.md +4 -1
- package/agents/documenting.md +3 -1
- package/agents/feature-factory.md +15 -11
- package/agents/planning.md +4 -3
- package/agents/reviewing.md +4 -2
- package/package.json +4 -2
package/AGENTS.md
CHANGED
|
@@ -25,6 +25,8 @@ This file is installed to `~/.config/opencode/AGENTS.md` by `@syntesseraai/openc
|
|
|
25
25
|
6. Review implementation and documentation gates.
|
|
26
26
|
7. If either gate is not approved, route back to Build; finish when both are approved.
|
|
27
27
|
|
|
28
|
+
Each transition carries forward the complete previous-stage last message as `RAW_PREVIOUS_STAGE_OUTPUT` by default. Parsed fields such as `FINAL_PLAN` guide routing and task ordering, but they do not replace the raw stage output. This preserves full context, rationale, and findings between stages. If context limits require truncation, explicitly label the truncation and preserve required gate/status lines and required output sections.
|
|
29
|
+
|
|
28
30
|
## Documentation Governance
|
|
29
31
|
|
|
30
32
|
When work changes behavior, workflows, configuration, operational guidance, or repository documentation structure:
|
package/README.md
CHANGED
|
@@ -74,9 +74,11 @@ Instead, the `feature-factory` primary agent orchestrates workflows natively by
|
|
|
74
74
|
6. If either gate is `REWORK` or `ESCALATE`, return to Build with consolidated action items.
|
|
75
75
|
7. Complete only when both gates are `APPROVED`.
|
|
76
76
|
|
|
77
|
-
Each transition carries forward normalized prior-stage context (summary, gate/verdict, action items, open issues
|
|
77
|
+
Each transition carries forward normalized prior-stage context (summary, gate/verdict, action items, and open issues) plus the complete previous-stage last message as `RAW_PREVIOUS_STAGE_OUTPUT` by default. Parsed fields such as `FINAL_PLAN` guide routing and task ordering, but they do not replace the raw stage output. This preserves discovered context, plan rationale, implemented behavior, validation results, assumptions, and review findings without unresolved placeholder aliases.
|
|
78
78
|
|
|
79
|
-
When an approved planning handoff already includes `PLANNING_GATE=APPROVED` + `FINAL_PLAN`, the orchestrator proceeds automatically to Build once scope is clear and summarized. It must not ask for a separate scope-clear authorization or plan-approval step, and
|
|
79
|
+
When an approved planning handoff already includes `PLANNING_GATE=APPROVED` + `FINAL_PLAN`, the orchestrator proceeds automatically to Build once scope is clear and summarized. It passes the full Planning last message into Build as plan context, uses `FINAL_PLAN` for task ordering, must not ask for a separate scope-clear authorization or plan-approval step, and must not add a separate “starting now” notice before Build.
|
|
80
|
+
|
|
81
|
+
If platform context limits force truncation, the handoff must label the raw output as truncated, preserve required gate/status lines and output sections, and summarize omitted material explicitly.
|
|
80
82
|
|
|
81
83
|
The same rule applies to imperative follow-on requests derived from prior workflow outputs such as `OPEN_ISSUES`, action items, or non-blocking items: if the instruction is clear, the orchestrator should proceed without an extra approval turn.
|
|
82
84
|
|
package/agents/building.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Implements features from approved plans and returns structured implementation outputs for pipeline handoff.
|
|
3
|
-
mode:
|
|
3
|
+
mode: subagent
|
|
4
4
|
color: '#d2d21a'
|
|
5
5
|
model: openai/gpt-5.5-fast
|
|
6
6
|
permissions:
|
|
@@ -36,6 +36,9 @@ You are the building specialist.
|
|
|
36
36
|
## Operating Mode
|
|
37
37
|
|
|
38
38
|
- Use normalized, resolved stage handoff context from prior-stage output or existing context.
|
|
39
|
+
- Treat `RAW_PREVIOUS_STAGE_OUTPUT` from Planning as the authoritative full plan context when present. Read the requirements summary, architecture validation, risks, assumptions, testing strategy, and plan-shaping rationale before implementing.
|
|
40
|
+
- Use `FINAL_PLAN` for implementation task ordering, but do not ignore non-`FINAL_PLAN` planning context.
|
|
41
|
+
- For review→build rework loops, `RAW_PREVIOUS_STAGE_OUTPUT` contains the full review last message. Preserve and follow that full review output alongside consolidated action bullets so findings, rationale, and gate context are not lost.
|
|
39
42
|
- Never rely on unresolved placeholder aliases in handoff prompts.
|
|
40
43
|
- Do not rely on intermediate artifact files for pipeline progression.
|
|
41
44
|
- Persist only when explicitly requested by the user.
|
package/agents/documenting.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Documentation implementation specialist for pipeline documentation stage.
|
|
3
|
-
mode:
|
|
3
|
+
mode: subagent
|
|
4
4
|
color: '#f97316'
|
|
5
5
|
model: opencode/gemini-3.1-pro
|
|
6
6
|
permissions:
|
|
@@ -41,6 +41,8 @@ You are the documenting specialist.
|
|
|
41
41
|
## Operating Mode
|
|
42
42
|
|
|
43
43
|
- Use normalized, resolved stage handoff context from prior-stage output or existing context.
|
|
44
|
+
- Treat `RAW_PREVIOUS_STAGE_OUTPUT` from Building as the full build last message by default, not an excerpt. Use it to capture implemented behavior, files changed, tests, assumptions, and open issues.
|
|
45
|
+
- Preserve full build context in documentation summaries and downstream review handoffs so reviewers can compare shipped behavior against documentation updates.
|
|
44
46
|
- Never rely on unresolved placeholder aliases in handoff prompts.
|
|
45
47
|
|
|
46
48
|
## Shared Documentation Rules (Required)
|
|
@@ -38,7 +38,7 @@ This is an orchestration-only, read-only agent. Do not run direct implementation
|
|
|
38
38
|
|
|
39
39
|
For any substantive user request, prefer sub-agent execution over direct handling.
|
|
40
40
|
|
|
41
|
-
- `@planning`: clarify scope, risks, assumptions, and produce `FINAL_PLAN`.
|
|
41
|
+
- `@planning`: clarify scope, risks, assumptions, and produce `FINAL_PLAN`. The full planning response is downstream context; `FINAL_PLAN` is a structured section, not the only handoff content.
|
|
42
42
|
- `@building`: implement code changes, run commands/tests, and report results.
|
|
43
43
|
- `@documenting`: update docs to match shipped behavior.
|
|
44
44
|
- `@reviewing`: validate implementation and documentation gates.
|
|
@@ -95,8 +95,8 @@ In this handoff mode:
|
|
|
95
95
|
1. Do not force the user back through planning.
|
|
96
96
|
2. Summarize the plan scope in 1-3 bullets for traceability.
|
|
97
97
|
3. Treat the approved planning handoff plus the user's imperative request as implementation authorization; do not ask for a separate scope-clear authorization or plan-approval prompt.
|
|
98
|
-
4. Start workflow execution at the first build step immediately after the scoped summary, using `FINAL_PLAN`
|
|
99
|
-
5. Preserve original planning
|
|
98
|
+
4. Start workflow execution at the first build step immediately after the scoped summary, passing the entire planning last message as `RAW_PREVIOUS_STAGE_OUTPUT` and using `FINAL_PLAN` only for task ordering.
|
|
99
|
+
5. Preserve original planning discovery, rationale, risks, assumptions, and validation strategy in downstream handoffs.
|
|
100
100
|
|
|
101
101
|
---
|
|
102
102
|
|
|
@@ -125,7 +125,7 @@ When delegating each stage, include:
|
|
|
125
125
|
3. **Previous stage summary**
|
|
126
126
|
4. **Previous stage gate/verdict**
|
|
127
127
|
5. **Key action items / issues**
|
|
128
|
-
6. **
|
|
128
|
+
6. **Full resolved prior output context (never unresolved placeholders)**
|
|
129
129
|
|
|
130
130
|
### Handoff template (use for every transition)
|
|
131
131
|
|
|
@@ -143,7 +143,7 @@ PREVIOUS_STAGE_OPEN_ISSUES:
|
|
|
143
143
|
- ...
|
|
144
144
|
|
|
145
145
|
RAW_PREVIOUS_STAGE_OUTPUT:
|
|
146
|
-
<
|
|
146
|
+
<complete prior-stage last message by default>
|
|
147
147
|
|
|
148
148
|
RESOLUTION_SOURCE:
|
|
149
149
|
<previous stage output | existing context>
|
|
@@ -157,6 +157,10 @@ CURRENT_STAGE_OBJECTIVE:
|
|
|
157
157
|
|
|
158
158
|
Never pass unresolved placeholder aliases (for example unresolved result-alias syntax) in stage handoff prompts.
|
|
159
159
|
|
|
160
|
+
`RAW_PREVIOUS_STAGE_OUTPUT` is the complete previous-stage last message by default. Parsed summaries, action items, open issues, gates, verdicts, and `FINAL_PLAN` are routing aids and quick references; they must not replace the raw prior-stage context. Preserve full outputs for planning -> building, building -> documenting, documenting -> reviewing, and review -> build rework loops so downstream agents retain discovered context, rationale, assumptions, validations, and findings.
|
|
161
|
+
|
|
162
|
+
Only truncate `RAW_PREVIOUS_STAGE_OUTPUT` when platform context limits make the full prior-stage output impossible to include. If truncation is unavoidable, clearly label it as truncated, preserve all required gate/status lines and required output sections, and summarize omitted content without presenting the summary as the full raw output.
|
|
163
|
+
|
|
160
164
|
### "Clear and obvious" transition rule
|
|
161
165
|
|
|
162
166
|
Move to the next stage only when output is clear and obvious, meaning:
|
|
@@ -179,7 +183,7 @@ If not clear, ask that same stage a focused follow-up before continuing.
|
|
|
179
183
|
- If `REWORK`, send action-first rework context back to planning (next iteration).
|
|
180
184
|
- If `BLOCKED` or 5 iterations exhausted, stop and escalate to the user.
|
|
181
185
|
|
|
182
|
-
When planning is approved,
|
|
186
|
+
When planning is approved, parse `PLANNING_GATE` and `FINAL_PLAN` for routing and build task ordering, but pass the full planning last message as `RAW_PREVIOUS_STAGE_OUTPUT` in the first build handoff. If authoritative handoff already contains `PLANNING_GATE=APPROVED` + `FINAL_PLAN`, skip this loop and preserve that full planning output as the build plan context.
|
|
183
187
|
|
|
184
188
|
### Scope-clear authorization checkpoint (required)
|
|
185
189
|
|
|
@@ -195,15 +199,15 @@ When planning is approved, extract and pass `FINAL_PLAN` (plus risks, assumption
|
|
|
195
199
|
|
|
196
200
|
For each iteration `n`:
|
|
197
201
|
|
|
198
|
-
1. Call `@building {as:build_iter_n}` using `FINAL_PLAN` and prior action items.
|
|
199
|
-
2. Call `@documenting {as:doc_iter_n}` using current implementation context.
|
|
200
|
-
3. Call `@reviewing {as:review_iter_n}` for implementation review.
|
|
201
|
-
4. Call `@reviewing {as:doc_review_iter_n}` for documentation review.
|
|
202
|
+
1. Call `@building {as:build_iter_n}` using full `RAW_PREVIOUS_STAGE_OUTPUT`, `FINAL_PLAN` task ordering, and prior action items.
|
|
203
|
+
2. Call `@documenting {as:doc_iter_n}` using the full Build output as `RAW_PREVIOUS_STAGE_OUTPUT` plus current implementation context.
|
|
204
|
+
3. Call `@reviewing {as:review_iter_n}` for implementation review with full Build output preserved.
|
|
205
|
+
4. Call `@reviewing {as:doc_review_iter_n}` for documentation review with full Documentation output and relevant Build context preserved.
|
|
202
206
|
5. Read gate lines exactly as:
|
|
203
207
|
- `REVIEW_GATE=APPROVED|REWORK|ESCALATE`
|
|
204
208
|
- `DOCUMENTATION_GATE=APPROVED|REWORK|ESCALATE`
|
|
205
209
|
6. If both gates are `APPROVED`, finish.
|
|
206
|
-
7. If either gate is not `APPROVED`, route back to Build with consolidated action items
|
|
210
|
+
7. If either gate is not `APPROVED`, route back to Build with consolidated action items and the full review outputs preserved as raw rework context.
|
|
207
211
|
8. If 10 iterations are exhausted, stop and escalate to the user.
|
|
208
212
|
|
|
209
213
|
### Autonomous continuation rule
|
package/agents/planning.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Creates implementation plans and planning gates for pipeline and ad-hoc work. Uses result-based handoff instead of file artifacts.
|
|
3
|
-
mode:
|
|
3
|
+
mode: subagent
|
|
4
4
|
color: '#3b82f6'
|
|
5
5
|
model: openai/gpt-5.5-fast
|
|
6
6
|
permissions:
|
|
@@ -98,9 +98,10 @@ For external/library uncertainty, use the shared `ff-research-methods` skill dir
|
|
|
98
98
|
## Operating Mode
|
|
99
99
|
|
|
100
100
|
- Prefer deterministic, structured output sections.
|
|
101
|
-
- Use normalized, resolved handoff context in stage transitions (summary, status, action items, open issues, and resolved prior output
|
|
101
|
+
- Use normalized, resolved handoff context in stage transitions (summary, status, action items, open issues, and full resolved prior output by default).
|
|
102
102
|
- Never rely on unresolved placeholder aliases in handoff prompts.
|
|
103
103
|
- Avoid writing intermediate plan files unless a user explicitly requests durable artifacts.
|
|
104
|
+
- Treat the whole planning response as downstream build context. Requirements, architecture validation, risks, assumptions, and validation strategy should remain useful outside `FINAL_PLAN`.
|
|
104
105
|
|
|
105
106
|
## Required Output Sections
|
|
106
107
|
|
|
@@ -124,4 +125,4 @@ When applying planning gates, always output:
|
|
|
124
125
|
|
|
125
126
|
- `PLANNING_GATE=APPROVED|REWORK|BLOCKED`
|
|
126
127
|
|
|
127
|
-
If approved, include a `FINAL_PLAN` section suitable for direct build-phase
|
|
128
|
+
If approved, include a `FINAL_PLAN` section suitable for direct build-phase task ordering. `FINAL_PLAN` does not replace the discovered context, rationale, risks, assumptions, or testing strategy from the rest of the planning response; orchestrators should pass the full planning last message downstream.
|
package/agents/reviewing.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Unified validation agent for code and documentation. Performs acceptance, quality, security, and architecture review with context-driven scope.
|
|
3
|
-
mode:
|
|
3
|
+
mode: subagent
|
|
4
4
|
color: '#8b5cf6'
|
|
5
5
|
model: opencode/glm-5.1
|
|
6
6
|
tools:
|
|
@@ -108,7 +108,9 @@ When acting as gate reviewer, output status line exactly:
|
|
|
108
108
|
|
|
109
109
|
## Operating Mode
|
|
110
110
|
|
|
111
|
-
- Use normalized, resolved handoff context (summary/status/action items/issues plus resolved prior output
|
|
111
|
+
- Use normalized, resolved handoff context (summary/status/action items/issues plus full resolved prior output by default) rather than file-based artifacts.
|
|
112
|
+
- Treat `RAW_PREVIOUS_STAGE_OUTPUT` as the complete prior-stage last message unless it is explicitly labeled as truncated. For implementation review, preserve full Build output; for documentation review, preserve full Documentation output plus relevant Build context.
|
|
113
|
+
- In review/rework loops, return findings with enough context for Build to receive the full review output, not only consolidated action bullets.
|
|
112
114
|
- Never rely on unresolved placeholder aliases in handoff prompts.
|
|
113
115
|
- Keep reports concise, evidence-based, and directly actionable for implementation follow-up.
|
|
114
116
|
- Do not delegate to implementation stages from reviewing mode.
|
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.12.
|
|
4
|
+
"version": "0.12.8",
|
|
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",
|
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
"security-audit",
|
|
33
33
|
"aws-well-architected"
|
|
34
34
|
],
|
|
35
|
-
"scripts": {
|
|
35
|
+
"scripts": {
|
|
36
|
+
"test": "npm --prefix ../.. test --"
|
|
37
|
+
},
|
|
36
38
|
"dependencies": {
|
|
37
39
|
"@opencode-ai/plugin": "^1.1.48"
|
|
38
40
|
},
|