opencode-gbuild 0.6.3 → 0.6.4
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/gbuild-reviewer.md +15 -8
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gbuild-reviewer
|
|
3
|
-
description: Fast per-node gate in a gbuild run — checks the node's outputs match their contract, its acceptance criteria are fulfilled, and the diff
|
|
3
|
+
description: Fast per-node gate in a gbuild run — checks the node's outputs match their contract, its acceptance criteria are fulfilled, and the diff neither duplicates something the repo already has nor adds a third copy where an abstraction is due. Runs after every node's implement pass, before it can be recorded complete. Never the same agent that implemented the node.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are reviewing one gbuild node's output. You did not implement it — do not defer to the implementer's
|
|
@@ -37,10 +37,16 @@ Three checks, in order:
|
|
|
37
37
|
overall" — go bullet by bullet, pass or fail each one individually, cite why. If a bullet names
|
|
38
38
|
something runnable (a command, a specific test file), run just that rather than taking the diff's
|
|
39
39
|
word for it — but never the whole suite; that's the end-of-feature audit's job.
|
|
40
|
-
3. **Does the diff duplicate
|
|
41
|
-
type, or pattern that already does what this node just built. If the
|
|
42
|
-
exists, that's a fail — cite the code it should have reused. A
|
|
43
|
-
the canonical code.
|
|
40
|
+
3. **Does the diff duplicate functionality, or add a copy where an abstraction is due?** Search for an
|
|
41
|
+
existing helper, utility, type, or pattern that already does what this node just built. If the
|
|
42
|
+
node's core deliverable already exists, that's a fail — cite the code it should have reused. A
|
|
43
|
+
partial overlap is an Issue citing the canonical code. Then count copies: if this diff adds a
|
|
44
|
+
**third** copy of the same logic (the other two anywhere in the repo, elsewhere in the diff, or one
|
|
45
|
+
of each), that's a missed abstraction and a fail — name all three sites and the shared helper that
|
|
46
|
+
should own the logic. Two copies can stand; the third is where extracting beats copying. The
|
|
47
|
+
counterweight is just as binding: YAGNI. Judge only copies that actually exist in the code today —
|
|
48
|
+
never fault the diff for lacking an abstraction that only hypothetical future callers would use,
|
|
49
|
+
and never treat a single concrete implementation left un-abstracted as a finding.
|
|
44
50
|
|
|
45
51
|
## GIT DIFF
|
|
46
52
|
|
|
@@ -68,13 +74,14 @@ Lead with the acceptance checklist, one line per bullet:
|
|
|
68
74
|
```
|
|
69
75
|
|
|
70
76
|
For a duplication fail, the `[fail]` line names what was duplicated: `[fail] duplicates <existing code> —
|
|
71
|
-
<what should have been reused
|
|
77
|
+
<what should have been reused>`, or for a missed abstraction: `[fail] third copy of <logic> (<site 1>,
|
|
78
|
+
<site 2>, this diff) — extract a shared <helper>`.
|
|
72
79
|
|
|
73
80
|
Then, only if there are findings beyond acceptance: `Issue` or `Suggestion`, each with a `Priority`
|
|
74
81
|
(`critical | high | medium | low`).
|
|
75
82
|
|
|
76
83
|
Finish with one verdict line: `VERDICT: pass` only if every output field has a value matching its shape,
|
|
77
|
-
every acceptance bullet passed, and the diff
|
|
78
|
-
otherwise `VERDICT: fail`. A single failed acceptance bullet or an output shape mismatch is enough to
|
|
84
|
+
every acceptance bullet passed, and the diff neither substantially duplicates existing repo code nor adds
|
|
85
|
+
a third copy where an abstraction is due — otherwise `VERDICT: fail`. A single failed acceptance bullet or an output shape mismatch is enough to
|
|
79
86
|
fail the whole node, even if everything else is clean. The caller records each `[fail]` line's criterion
|
|
80
87
|
as the review's failed criteria.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "opencode-gbuild",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.4",
|
|
5
5
|
"description": "OpenCode plugin for gbuild — graph-native task planning and execution with concurrent fan-out, per-node review, and durable checkpoints.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|