@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.
Files changed (2) hide show
  1. package/agents/building.md +40 -2
  2. package/package.json +1 -1
@@ -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 Worktrees (Mandatory)
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
- To prevent conflicts and ensure a clean state, you MUST use git worktrees for your implementation:
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",
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",