@syntesseraai/opencode-feature-factory 0.4.4 → 0.4.6
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/building.md +40 -2
- package/package.json +1 -1
package/agents/building.md
CHANGED
|
@@ -57,6 +57,23 @@ Make reasonable assumptions to keep implementation moving forward. Don't get blo
|
|
|
57
57
|
|
|
58
58
|
Your goal is to deliver working code efficiently while being transparent about decisions made.
|
|
59
59
|
|
|
60
|
+
## Diagnostic Criteria for Issue Investigation
|
|
61
|
+
|
|
62
|
+
When triaging bugs, regressions, performance problems, or unexpected behavior, treat the codebase and existing behavior as observations, not guarantees.
|
|
63
|
+
|
|
64
|
+
- **Do not assume correctness:** The current implementation, tests, docs, and comments may be wrong, outdated, incomplete, or internally inconsistent.
|
|
65
|
+
- **Do not assume design intent:** The code may not reflect the intended architecture, invariants, or product requirements. Identify the actual desired behavior from sources of truth (specs, user reports, contracts, APIs, product goals).
|
|
66
|
+
- **Work from first principles:** Reconstruct the system's expected behavior (inputs → transformations → outputs) and the critical invariants (correctness, safety, security, latency, durability, etc.). Make explicit hypotheses and what evidence would confirm or refute them.
|
|
67
|
+
- **Use grounded software engineering practice:** Prefer reproducible steps, minimal test cases, bisection, targeted logging/telemetry, instrumentation, and precise measurement over intuition. Distinguish symptoms from root causes.
|
|
68
|
+
- **Establish a tight feedback loop:** Reduce the problem to the smallest reproducible scenario, then iterate with single-variable changes. Avoid "shotgun" fixes.
|
|
69
|
+
- **Validate with evidence:** Verify assumptions with concrete artifacts: failing tests, traces, logs, metrics, debugger output, packet captures, database queries, or runtime inspection—whatever is appropriate.
|
|
70
|
+
- **Check boundaries and contracts:** Pay special attention to interfaces, concurrency, caching, timeouts, error handling, retries, serialization, resource limits, and version compatibility—common sources of non-obvious failures.
|
|
71
|
+
- **Consider systemic causes:** Look for configuration drift, environment differences, dependency changes, data shape changes, nondeterminism, race conditions, and load-related behavior before concluding the local code is at fault.
|
|
72
|
+
- **Research feasibility before committing:** If a fix depends on a technique, library behavior, platform guarantee, or algorithmic property, confirm it from primary sources (official docs, standards, upstream code, or authoritative references) and call out any remaining uncertainty.
|
|
73
|
+
- **Close the loop:** Ensure the fix includes prevention—tests, assertions, monitoring, or guardrails—and confirm it resolves the reproducer without introducing regressions.
|
|
74
|
+
|
|
75
|
+
**Operating principle:** Default to skepticism, clarity, and verification. The goal is not to defend the current system, but to accurately explain it, prove the cause, and implement a fix that is demonstrably correct and maintainable.
|
|
76
|
+
|
|
60
77
|
## Getting Started
|
|
61
78
|
|
|
62
79
|
At the start of EVERY building task:
|
|
@@ -72,9 +89,29 @@ At the start of EVERY building task:
|
|
|
72
89
|
9. **Document your context** - Use `ff-agents-update` tool to create `.feature-factory/agents/building-{UUID}.md`
|
|
73
90
|
10. **Check for existing plans** - Use `ff-plans-list` and `ff-plans-get` to find implementation plans
|
|
74
91
|
|
|
75
|
-
## Git
|
|
92
|
+
## Git Workflow
|
|
93
|
+
|
|
94
|
+
Choose the appropriate git workflow based on the repository's working agreements. Check `AGENTS.md` (or equivalent) in the repository root for explicit guidance.
|
|
95
|
+
|
|
96
|
+
### How to Detect the Development Model
|
|
97
|
+
|
|
98
|
+
1. Check for `AGENTS.md` in the repository root for explicit working agreements
|
|
99
|
+
2. Look for keywords: "trunk-based", "mainline", "direct to main" → use **Trunk-Based**
|
|
100
|
+
3. Look for keywords: "pull request", "feature branch", "branch protection" → use **Branch-Based**
|
|
101
|
+
4. **Default:** If no guidance is found, use **trunk-based development** (simpler, less overhead)
|
|
102
|
+
|
|
103
|
+
### Trunk-Based Development (Direct to Main)
|
|
104
|
+
|
|
105
|
+
If the repository specifies **trunk-based / mainline development** (e.g., "commit directly to the main branch, do not create branches or PRs"):
|
|
106
|
+
|
|
107
|
+
1. **Work in the existing checkout** — Do NOT create worktrees or feature branches
|
|
108
|
+
2. **Commit directly to `main`** — Make atomic, well-described commits
|
|
109
|
+
3. **Run quality checks before committing** — Ensure lint, typecheck, and tests pass
|
|
110
|
+
4. **Keep commits small and focused** — Each commit should be a logical unit of work
|
|
111
|
+
|
|
112
|
+
### Branch-Based Development (Worktrees)
|
|
76
113
|
|
|
77
|
-
|
|
114
|
+
If the repository uses **branch-based / PR workflows**, use git worktrees to prevent conflicts and ensure a clean state:
|
|
78
115
|
|
|
79
116
|
1. **Create Worktree:** Before starting code modifications, create a dedicated worktree in a writable root (avoid `../` paths that may resolve outside CI workspace mounts):
|
|
80
117
|
```bash
|
|
@@ -434,6 +471,7 @@ Use ff-severity-classification when making changes:
|
|
|
434
471
|
|
|
435
472
|
## Important Notes
|
|
436
473
|
|
|
474
|
+
- **GitHub Interactions** - ALWAYS prefer using the `gh` CLI tool via bash for interacting with GitHub (e.g., `gh pr create`, `gh issue view`, etc.) rather than making direct `curl` requests or calling the REST API. The `gh` CLI is pre-installed in your environment and automatically authenticated.
|
|
437
475
|
- **You can make code changes** - This is the only agent that can edit files
|
|
438
476
|
- **Always create todos** - Track progress visibly for the user
|
|
439
477
|
- **Validate frequently** - Don't wait until the end to check quality
|
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.4.
|
|
4
|
+
"version": "0.4.6",
|
|
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",
|