Releases: Gentleman-Programming/agent-teams-lite
v4.4.1 — Gentle-AI parity sync + compact rules rollout
Highlights
- Restore parity with the latest mirrored
gentle-aiassets across skills, examples, installers, and docs. - Add
skill-resolver,go-testing, andskill-creator, and align delegated skill loading around compact rules injected as## Project Standards (auto-resolved). - Ship
examples/opencode/AGENTS.md, update OpenCode configs to reference it, and expand setup/install flows plus tests to the full 15-skill set.
Verification
- Ran
bash scripts/install_test.sh - Result: 41/41 tests passed
v4.4.0 — Context-inflation delegation + skill resolution alignment
Context-Inflation Delegation + Skill Resolution Alignment
Parity with gentleman-ai v1.8.12.
New Delegation Model
Replaced 5 fragmented sections (Delegation Rules, Hard Stop, Delegate-First, Anti-Patterns, Task Escalation) with one evidence-based decision table:
| Action | Inline | Delegate |
|---|---|---|
| Read to decide/verify (1-3 files) | ✅ | — |
| Read to explore (4+ files) | — | ✅ |
| Read as prep for writing | — | ✅ with the write |
| Write atomic (one file, known change) | ✅ | — |
| Write with analysis (multi-file, new logic) | — | ✅ |
| Bash for state (git, gh) | ✅ | — |
| Bash for execution (test, build) | — | ✅ |
Core principle: does this inflate my context without need? If yes → delegate.
Skill Resolution
Orchestrator passes skill paths when available (optimal). Sub-agents fall back to self-discovery if none provided (resilient). Aligned with `sdd-phase-common.md` Section A — no contradictions.
Full Changelog: v4.3.1...v4.4.0
v4.3.1 — Compact prompts + judgment-day skill
Compact Prompts ~17% + Judgment Day Skill
Parity with gentleman-ai v1.8.9.
Prompt Compaction
All shared convention files optimized for token efficiency:
- `engram-convention.md`, `openspec-convention.md`, `persistence-contract.md`, `sdd-phase-common.md`
- Tables → bullet lists, redundant emphasis removed, verbose sentences tightened
- All enforcement language preserved (MUST, CRITICAL, BREAKS, MANDATORY)
New Skill: judgment-day
Parallel adversarial dual-review protocol:
- Launches two blind judge sub-agents simultaneously
- Synthesizes findings into Confirmed / Suspect / Contradiction categories
- Delegates fixes, re-judges — max 2 iterations before escalation
Validated with its own protocol — both judges passed clean on this release.
Full Changelog: v4.3.0...v4.3.1
v4.3.0 — Token optimization + executor boundary
~63% Token Reduction + Executor Boundary
Parity with gentleman-ai v1.8.3. Massive token savings by extracting shared boilerplate.
Token Optimization (-292 lines, ~12,900 fewer tokens/session)
Expanded `sdd-phase-common.md` with 4 shared sections that all 9 phase skills reference instead of duplicating:
- A — Skill Loading (registry discovery)
- B — Artifact Retrieval (engram two-step pattern)
- C — Artifact Persistence (engram/openspec/hybrid/none)
- D — Return Envelope (structured response format)
Executor Boundary
Sub-agent prompts now enforce: "You are an SDD executor, not the orchestrator. Do NOT delegate, Do NOT call task/delegate, Do NOT launch sub-agents."
Skill registry self-lookup is explicitly SKILL LOADING, not delegation.
Full Changelog: v4.2.1...v4.3.0
v4.2.1 — Self-sufficient sub-agents for skill discovery
Self-Sufficient Sub-Agents
Sub-agents now discover and load skills on their own via their SKILL.md files, which include a Step 1 for loading the skill registry:
- `mem_search(query: "skill-registry", project: "{project}")` — engram first
- Fallback: `.atl/skill-registry.md` — local file
The orchestrator still pre-resolves paths when possible (optimal). Sub-agents self-discover when no paths are provided (resilient fallback).
Changes
- `docs/sub-agents.md` — updated skill registry section
- Orchestrator prompt — removed mandatory SKILL LOADING injection block
Full Changelog: v4.2.0...v4.2.1
v4.2.0 — Per-agent model routing fix in delegate()
Plugin Fix: delegate() Now Passes Agent Model
The real fix for per-phase model routing. `session.prompt()` always accepted `model: { providerID, modelID }` — the plugin just never passed it.
The Fix
- `resolveAgentModel()` reads the agent's `model` from `opencode.json`, parses `"provider/model-id"` into the SDK shape, and passes it to `session.prompt()`
- Backward compatible — if no model is configured, behavior is unchanged
- Example configs now use `<your-provider/your-model>` placeholders instead of hardcoded values
Migration
Update the plugin file. If you already have `model` per agent in `opencode.json`, it works automatically.
Full Changelog: v4.1.1...v4.2.0
v4.1.1 — Per-agent model routing fix
Per-Agent Model Field + Routing Documentation
Reported by @BismarckCerda — sub-agents in OpenCode ignored their configured model and always used the orchestrator's model.
Root Cause
- Example configs lacked a `model` field per agent
- OpenCode SDK's `session.prompt()` wasn't receiving model information from the plugin
Changes
- Added `model` field to all 10 agents in both example configs
- Documented model routing behavior in `docs/sub-agents.md`
Note: This release added the config field. The actual plugin fix came in v4.2.0.
Full Changelog: v4.1.0...v4.1.1
v4.1.0 — Background agents plugin + unified configs + delegate-first
🚀 What's New in v4.1.0
Async background delegation for OpenCode, unified single/multi configs, and delegate-first orchestration policy.
🔌 Background Agents Plugin
Adds the background-agents plugin for OpenCode, enabling async sub-agent delegation:
| Tool | What it does |
|---|---|
delegate(prompt, agent) |
Launch a sub-agent async — returns ID immediately |
delegation_read(id) |
Retrieve the full result of a completed delegation |
delegation_list() |
List all delegations (running + completed) |
- Sub-agents run in the background while the orchestrator continues working
- Results persist to disk — survive compaction, crashes, and restarts
<task-notification>arrives when delegation completes- 15-minute timeout per delegation
- Adapted from kdcokenny/opencode-background-agents (MIT)
New files: examples/opencode/plugins/background-agents.ts + BACKGROUND-AGENTS-README.md
🔄 Unified Single/Multi Configs
opencode.single.json and opencode.multi.json are now structurally identical:
| Config | Agents | Delegate tools | Purpose |
|---|---|---|---|
single.json |
10 (orchestrator + 9 SDD) | ✅ | Ready to use — all agents use default model |
multi.json |
10 (orchestrator + 9 SDD) | ✅ | Template — customize model per agent |
Previously, single mode had 1 agent with mode: "all" and no sub-agents. Now both modes have the full agent team with async delegation support.
⚡ Delegate-First Orchestration
New delegation policy across all platforms (Claude Code, Gemini CLI, Antigravity, OpenCode):
| Situation | Tool |
|---|---|
| Sub-agent work where you can continue | delegate — always |
| Parallel phases (e.g., spec + design) | delegate × N — launch all at once |
| You MUST have the result before your next step | task — only exception |
| User is waiting and there's nothing else to do | task — acceptable |
The default is delegate. You need a REASON to use task.
🐛 Bug Fixes
- install.sh: VS Code path pointed to
.copilot/instead of.vscode/— fixed - install.sh:
branch-prandissue-creationskills were silently skipped during install — fixed - install_test.sh: Updated expected skill count from 9 to 12, all 41 tests passing
📦 Setup Script Changes
- Plugin +
unique-names-generatornpm dependency installed automatically for both modes - No manual plugin setup required —
setup.shandsetup.ps1handle everything
Full Changelog: v4.0.0...v4.1.0
v4.0.0 — Issue-first enforcement, token optimization, and Hard Stop Rule
🚀 What's New in v4.0.0
Major release with three pillars: contribution enforcement, token optimization, and delegation discipline.
🔒 Issue-First Enforcement System
Every contribution now follows a strict workflow: Issue → Approval → PR → Review → Merge.
- YAML issue templates with required fields, pre-flight checkboxes, and environment dropdowns
- Blank issues disabled — contributors must use Bug Report or Feature Request templates
- PR validation CI (
pr-check.yml) — 4 automated checks gate every PR:- Issue reference (
Closes #N) - Issue has
status:approvedlabel - PR has exactly one
type:*label - Shellcheck on modified scripts
- Issue reference (
- Label system:
type:*(6 types),status:*(needs-review, approved),priority:*(high/medium/low) - CONTRIBUTING.md with full workflow documentation
- PR template with automated checks table, changes table, and notes for reviewers
⚡ Token Economics Optimization (-38% per SDD pipeline)
Three independent analyses measured real token costs. Six optimizations implemented:
| Optimization | Savings |
|---|---|
| Remove redundant persistence-contract reads | ~22,000T |
| Artifact size budgets (word limits) | ~14,000T |
| Skill registry pre-resolution by orchestrator | ~11,400T |
| Common boilerplate extraction | ~4,200T |
| Orchestrator doc compression | ~4,200 chars |
| Parallel engram reads | ~800T |
Full analysis: docs/token-economics.md
🛑 Hard Stop Rule
New zero-exception delegation enforcement:
- Orchestrator NEVER uses Read/Edit/Write/Grep on source files
- "It's just a small change" is explicitly NOT a valid excuse
- Anti-patterns restored as 4 explicit DO NOT bullets for AI compliance
📋 New Skills
issue-creation— Full issue template reference, CLI examples, maintainer approval workflowbranch-pr— PR workflow with branch naming regex, commit message regex, automated checks reference
📖 AGENTS.md Skill Index
New root-level file mapping all 12 skills to their triggers and file paths.
🔧 Standards
- Branch names:
^(feat|fix|chore|docs|style|refactor|perf|test|build|ci|revert)\/[a-z0-9._-]+$ - Commits:
^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\([a-z0-9\._-]+\))?!?: .+
Breaking Changes
- Skill registry ownership changed: The orchestrator now pre-resolves skill paths and passes them to sub-agents. Sub-agents no longer search for the skill registry themselves. Update your CLAUDE.md/GEMINI.md if you override the orchestrator instructions.
persistence-contract.mdno longer required reading: Sub-agents have inline instructions. The file remains as human reference only.
Files Changed
- 6 new files:
.github/templates + workflows,CONTRIBUTING.md,AGENTS.md,docs/token-economics.md,skills/_shared/sdd-phase-common.md - 2 new skills:
skills/issue-creation/,skills/branch-pr/ - Modified: all 8 SDD skills, all 5 example configs,
README.md,persistence-contract.md
v3.4.1 — Skill loading for all delegated tasks
What's new
Skill loading for non-SDD tasks
Sub-agents delegated for any task (not just SDD phases) now receive skill registry awareness in their prompt. They know where to find coding and workflow skills (mem_search("skill-registry") or .atl/skill-registry.md) and can load them based on task context.
Before: Only SDD phases had skill loading instructions. A sub-agent asked to write React code wouldn't know that react-19, typescript, or tailwind-4 skills existed.
After: Every sub-agent is informed that skills may be available and where to find them. It checks the registry, sees which skills match its task, and loads them.
Multi-model subagent prompts updated
Subagent prompts in multi-model mode now explicitly mention the skill registry step: "It includes a Step 1 for loading the skill registry — do NOT skip it."
README: real model format
Multi-model examples now use the actual provider/model-id format (e.g., anthropic/claude-sonnet-4-6, google/gemini-2.5-flash) instead of generic placeholders.