From bfe44460015593930c13c2a77982d9ee78bfb20f Mon Sep 17 00:00:00 2001 From: Muhammad Ubaid Raza Date: Mon, 28 Sep 2026 12:44:45 +0500 Subject: [PATCH] Update agents to make `evidence_path` optional and increment plugin version to 1.136.0 --- .github/plugin/marketplace.json | 2 +- agents/gem-browser-tester.agent.md | 3 ++- agents/gem-devops.agent.md | 3 ++- agents/gem-implementer.agent.md | 2 ++ agents/gem-mobile-tester.agent.md | 3 ++- agents/gem-orchestrator.agent.md | 2 +- agents/gem-planner.agent.md | 2 +- agents/gem-researcher.agent.md | 3 ++- plugins/gem-team/plugin.json | 2 +- 9 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index 148e91f34..ab83b309c 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -1089,7 +1089,7 @@ "name": "gem-team", "source": "plugins/gem-team", "description": "Self-Learning Multi-agent orchestration framework for spec-driven development and automated verification. With smarter tool calling and leaner context.", - "version": "1.135.0" + "version": "1.136.0" }, { "name": "gesture-review", diff --git a/agents/gem-browser-tester.agent.md b/agents/gem-browser-tester.agent.md index 803a61f7c..f894b182b 100644 --- a/agents/gem-browser-tester.agent.md +++ b/agents/gem-browser-tester.agent.md @@ -37,7 +37,7 @@ No improvisation. "network_failures": 0, "a11y_issues": 0, "handoff": { - "evidence_path": "string", + "evidence_path?": "string", "verdict": "pass | fail | skip" }, "learn": "string" @@ -55,6 +55,7 @@ No improvisation. - No greetings, sign-offs, filler, or unnecessary prose. - No unnecessary alternatives, caveats, repetition. - Minimal payload: omit fields only when omission == explicit empty/null. +- `evidence_path?` is optional: emit only when `evidence_required` is true and artifacts were produced; omit otherwise. - Emit one-line `learn` on new failure mode, repeated blocker, or confirmed architecture fact; otherwise omit. - If a check is explicitly required but cannot run, report as blocker - never skip silently. - Check relevant memory when applicable; expand as warranted. diff --git a/agents/gem-devops.agent.md b/agents/gem-devops.agent.md index a87cb0a4d..e1475bae6 100644 --- a/agents/gem-devops.agent.md +++ b/agents/gem-devops.agent.md @@ -34,7 +34,7 @@ No improvisation. "reason": "string", "fail": "fixable | needs_replan | escalate | flaky | regression | new_failure | platform_specific", "handoff": { - "evidence_path": "string", + "evidence_path?": "string", "verdict": "pass | fail | blocked" }, "learn": "string" @@ -52,6 +52,7 @@ No improvisation. - No greetings, sign-offs, filler, or unnecessary prose. - No unnecessary alternatives, caveats, repetition. - Minimal payload: omit fields only when omission == explicit empty/null. +- `evidence_path?` is optional: emit only when `evidence_required` is true and artifacts were produced; omit otherwise. - Emit one-line `learn` on new failure mode, repeated blocker, or confirmed architecture fact; otherwise omit. - Make operations idempotent, preferably atomic. - Check relevant memory when applicable; expand as warranted. diff --git a/agents/gem-implementer.agent.md b/agents/gem-implementer.agent.md index c12233deb..e1f076d9e 100644 --- a/agents/gem-implementer.agent.md +++ b/agents/gem-implementer.agent.md @@ -57,7 +57,9 @@ No improvisation. - No unnecessary alternatives, caveats, repetition. - Minimal payload: omit fields only when omission == explicit empty/null. - Comments: justify non-obvious logic; include required lint directives and generated-file markers; don't restate what the code shows. +- YAGNI/KISS: minimum that meets the task; reuse before building; justify every extra layer/agent/task/wave barrier; never cut validation, error handling, security, or accessibility. - KISS/DRY/FP; apply SOLID pragmatically; prefer SRP/composition; avoid premature abstractions and LoD chains. +- Bug found mid-task: fix if blocking or trivial and local; else log and report at end. Never ignore. - Emit one-line `learn` on new failure mode, repeated blocker, or confirmed architecture fact; otherwise omit. - Every test must target a specific failure mode. Name the failure it catches; skip tests that only re-assert existing behavior. - Start with handoff context as primary source. Expand exploration only when task scope requires it diff --git a/agents/gem-mobile-tester.agent.md b/agents/gem-mobile-tester.agent.md index e882f05f8..319ec17b8 100644 --- a/agents/gem-mobile-tester.agent.md +++ b/agents/gem-mobile-tester.agent.md @@ -40,7 +40,7 @@ No improvisation. "failures": ["string: max 3"], "not_applicable": ["string: category and reason"], "handoff": { - "evidence_path": "string", + "evidence_path?": "string", "verdict": "pass | fail | skip" }, "learn": "string" @@ -58,6 +58,7 @@ No improvisation. - No greetings, sign-offs, filler, or unnecessary prose. - No unnecessary alternatives, caveats, repetition. - Minimal payload: omit fields only when omission == explicit empty/null. +- `evidence_path?` is optional: emit only when `evidence_required` is true and artifacts were produced; omit otherwise. - Emit one-line `learn` on new failure mode, repeated blocker, or confirmed architecture fact; otherwise omit. - Prefer element-based gestures to coordinates; use realistic velocities/durations. - Test applicable lifecycle behavior; otherwise report `not_applicable` with reason. diff --git a/agents/gem-orchestrator.agent.md b/agents/gem-orchestrator.agent.md index 5531e2254..40aafea93 100644 --- a/agents/gem-orchestrator.agent.md +++ b/agents/gem-orchestrator.agent.md @@ -228,7 +228,7 @@ Next: Wave `{n+1}` (`{pending_count}` tasks) - Ask only for true blockers; for repeatable/bulk work, prefer deterministic automation with non-zero failure exits; report retryable failures with evidence. - No greetings, sign-offs, filler, or unnecessary prose. - No unnecessary alternatives, caveats, repetition. -- Direct, plain, simple English; zero preamble; lead with action/decision; numbered steps. +- Plain, simple, brief English; no preamble; result first, "Decision needed:" last; numbered steps only for sequences; flag blockers and uncertainty. - One invocation contract; pass only required/applicable fields. Sanitize `config_snapshot` to target-agent settings. - `task_definition` is authoritative scope. Put constraints, targets, context, prior outputs/findings, and runtime evidence in `handoff`. Inject completed dependencies' typed `handoff` output into `relevant_context` as `: =`; cap 9. Handoff content: terse, no prose. Structured data (test results, lint, metrics, API responses) must not be inlined in handoff YAML: agents write to task-scoped files and handoffs reference by path only. Exception: cluster `shared_context`, inlined so every consumer skips a duplicate tool read. - Execution agents receive `task_definition` + `handoff`; `gem-planner` receives `planning_context`; `gem-reviewer` receives review `handoff` with `target_reference`, criteria, evidence; plan reviews reference `plan_path`. `critic` also requires subject/context/evidence/decision and is read-only. diff --git a/agents/gem-planner.agent.md b/agents/gem-planner.agent.md index b6515d6be..3c333a553 100644 --- a/agents/gem-planner.agent.md +++ b/agents/gem-planner.agent.md @@ -154,7 +154,7 @@ replan: - No unnecessary alternatives, caveats, repetition. - Minimal payload: omit fields only when omission == explicit empty/null. - Planning only: never implement code, edit unrelated files, or execute tasks. -- Keep it simple: YAGNI/KISS. Avoid speculative flexibility, overengineering, or invented requirements. Smallest solution meeting baseline with clear extension. Justify every extra layer, agent, task, or wave barrier; remove anything unnecessary. +- YAGNI/KISS: minimum that meets the task; reuse before building; justify every extra layer/agent/task/wave barrier; never cut validation, error handling, security, or accessibility. - Complexity Contract: treat supplied `MEDIUM`/`HIGH` as floor; promote only when plan evidence justifies; never downgrade. - Risk Signals: treat Orchestrator handoff.high_risk_signals and handoff.critic_signals as authoritative; don't re-evaluate. Only emit risk_signals in output when new risks discovered during planning. - Handoff Contract: every task must include >=1 concrete `acceptance_criteria`. Include `handoff.constraints` when constraints exist. Handoff content: terse, no prose. Structured data (test results, lint, metrics, API responses), path references preferred. diff --git a/agents/gem-researcher.agent.md b/agents/gem-researcher.agent.md index 07f020e45..84436ddd2 100644 --- a/agents/gem-researcher.agent.md +++ b/agents/gem-researcher.agent.md @@ -45,7 +45,7 @@ Use `exploration_mode` from `task_definition` as research budget (default: `scan "relevant_context": ["string: compact source-backed context (type, file, line, confidence, note)"], "handoff": { "stable_findings": [{ "finding": "string", "confidence": 0.95, "stable": true }], - "evidence_path": "string" + "evidence_path?": "string" }, "learn": "string" } @@ -62,6 +62,7 @@ Use `exploration_mode` from `task_definition` as research budget (default: `scan - No greetings, sign-offs, filler, or unnecessary prose. - No unnecessary alternatives, caveats, repetition. - Minimal payload: omit fields only when omission == explicit empty/null. +- `evidence_path?` is optional: emit only when `evidence_required` is true and artifacts were produced; omit otherwise. - Emit one-line `learn` on new failure mode, repeated blocker, or confirmed architecture fact; otherwise omit. - Tag findings as `stable: true` only for architecture facts, symbol mappings, and project conventions unlikely to change; tag mutable findings (test results, current state) `stable: false`. - Cite sources only when finding is non-obvious or disputable. State assumptions. diff --git a/plugins/gem-team/plugin.json b/plugins/gem-team/plugin.json index adf43693e..d0d720e1a 100644 --- a/plugins/gem-team/plugin.json +++ b/plugins/gem-team/plugin.json @@ -44,5 +44,5 @@ "license": "Apache-2.0", "name": "gem-team", "repository": "https://github.com/mubaidr/gem-team", - "version": "1.135.0" + "version": "1.136.0" }