The validate-and-update check is required by repository ruleset but was
only running when registry files changed. This caused PRs that don't
touch registry files to be blocked indefinitely.
Now the workflow runs on all PRs to satisfy the required status check.
- Reset VERSION and package.json to 0.0.1
- Clean CHANGELOG.md for fresh start
- Change default version bump from minor to patch
- Update commit command docs to reflect new versioning
Tests only run on:
- Pull requests (CI checks)
- Direct pushes to main
- Manual workflow dispatch
PR merges skip tests (already passed) but still trigger version bump.
The version:bump:* scripts were using 'cat VERSION > VERSION' which
causes a circular reference error. Changed to read version directly
from package.json using node instead.
The @opencode-ai/sdk spawns 'opencode serve' internally, which requires
the actual opencode CLI binary to be installed. Our install.sh only
installs agents/commands/tools, not the CLI.
Changes:
- Install CLI via 'npm install -g opencode-ai' (the real CLI)
- Then install our agents via 'bash install.sh essential'
- Remove unnecessary PATH manipulation (npm -g handles this)
- SDK's createOpencode() internally spawns 'opencode serve' command
- Must install OpenCode CLI first for SDK to function
- Uses repository's install.sh script
- Adds PATH configuration for installed CLI
- Increases timeout to 15min for installation + tests
- Changes ServerManager to use SDK when agent config is provided
- SDK mode uses @opencode-ai/sdk's createOpencode() instead of spawning CLI
- Fixes CI/CD tests that were failing due to missing opencode CLI
- SDK is already installed as dependency, no external tools needed
- Simplifies workflow by removing CLI installation steps
Auto Version Bump:
- Automatically bumps version when PRs are merged to main
- Detects version bump type from commit message:
- feat: → minor bump (v0.1.0 → v0.2.0)
- fix: → patch bump (v0.1.0 → v0.1.1)
- feat!: → major bump (v0.1.0 → v1.0.0)
- [alpha] → alpha bump (v0.1.0-alpha.1 → v0.1.0-alpha.2)
- [beta] → beta bump
- [rc] → rc bump
- default → minor bump (if no type specified)
Automatic Actions:
- Updates VERSION file
- Updates package.json version
- Updates CHANGELOG.md with commit message
- Creates git tag (e.g., v0.2.0)
- Pushes changes back to main
- Adds [skip ci] to prevent infinite loop
Documentation:
- Added VERSION_BUMP_GUIDE.md with examples
- Clear commit message format guidelines
- Manual override instructions
Benefits:
- No manual version bumping needed
- Consistent versioning across the project
- Automatic changelog updates
- Git tags for every release
- Follows semantic versioning conventions
Monorepo Features:
- Root package.json with convenient npm scripts for all agents
- Easy testing from root: npm test, npm run test:openagent, npm run test:opencoder
- Multi-model support: test with Grok, Claude, or GPT-4
- Quick dashboard access: npm run dashboard
- No folder navigation required
Versioning System:
- VERSION file tracking current version (0.1.0-alpha.1)
- CHANGELOG.md with comprehensive version history
- Version bump scripts for alpha, beta, rc, and stable releases
- Semantic versioning with progression: Alpha → Beta → RC → Stable
CI/CD:
- GitHub Actions workflow for automated testing
- Pre-merge validation for agent changes
- Smoke tests for both openagent and opencoder
- Automated test result reporting
- Runs on PRs to main/dev and pushes to main
Helper Scripts:
- scripts/test.sh: Advanced test runner with multi-agent support
- scripts/dashboard.sh: Enhanced dashboard launcher with auto-open
- scripts/bump-version.sh: Version management tool
Documentation:
- QUICK_START.md: Comprehensive testing and usage guide
- Clear examples for all test scenarios
- Multi-agent and multi-model workflows
Benefits:
- Easy testing from root directory
- Automated quality checks before merges
- Clear version tracking and history
- Developer-friendly workflows
- No breaking changes to existing structure
Auto Version Bump:
- Automatically bumps version when PRs are merged to main
- Detects version bump type from commit message:
- feat: → minor bump (v0.1.0 → v0.2.0)
- fix: → patch bump (v0.1.0 → v0.1.1)
- feat!: → major bump (v0.1.0 → v1.0.0)
- [alpha] → alpha bump (v0.1.0-alpha.1 → v0.1.0-alpha.2)
- [beta] → beta bump
- [rc] → rc bump
- default → minor bump (if no type specified)
Automatic Actions:
- Updates VERSION file
- Updates package.json version
- Updates CHANGELOG.md with commit message
- Creates git tag (e.g., v0.2.0)
- Pushes changes back to main
- Adds [skip ci] to prevent infinite loop
Documentation:
- Added VERSION_BUMP_GUIDE.md with examples
- Clear commit message format guidelines
- Manual override instructions
Benefits:
- No manual version bumping needed
- Consistent versioning across the project
- Automatic changelog updates
- Git tags for every release
- Follows semantic versioning conventions
Monorepo Features:
- Root package.json with convenient npm scripts for all agents
- Easy testing from root: npm test, npm run test:openagent, npm run test:opencoder
- Multi-model support: test with Grok, Claude, or GPT-4
- Quick dashboard access: npm run dashboard
- No folder navigation required
Versioning System:
- VERSION file tracking current version (0.1.0-alpha.1)
- CHANGELOG.md with comprehensive version history
- Version bump scripts for alpha, beta, rc, and stable releases
- Semantic versioning with progression: Alpha → Beta → RC → Stable
CI/CD:
- GitHub Actions workflow for automated testing
- Pre-merge validation for agent changes
- Smoke tests for both openagent and opencoder
- Automated test result reporting
- Runs on PRs to main/dev and pushes to main
Helper Scripts:
- scripts/test.sh: Advanced test runner with multi-agent support
- scripts/dashboard.sh: Enhanced dashboard launcher with auto-open
- scripts/bump-version.sh: Version management tool
Documentation:
- QUICK_START.md: Comprehensive testing and usage guide
- Clear examples for all test scenarios
- Multi-agent and multi-model workflows
Benefits:
- Easy testing from root directory
- Automated quality checks before merges
- Clear version tracking and history
- Developer-friendly workflows
- No breaking changes to existing structure
OpenAgent requires text-based approval before executing write/edit tools.
Updated tests to use multi-turn prompts:
1. First prompt: Request the task
2. Second prompt: 'Yes, proceed' to approve
Also added TESTING_CONFIDENCE.md documenting current test reliability:
- Opencoder: HIGH confidence (4/4 tests passing)
- OpenAgent: MEDIUM confidence (multi-turn works, context loading needs verification)
- Create evals/test_tmp/ directory for test-created files
- Update all tests to write files to test_tmp/ instead of project root
- Add cleanup logic to test runner (before and after tests)
- Add comprehensive HOW_TESTS_WORK.md documentation
- Remove src/ directory that was accidentally created by tests
This prevents tests from polluting the project directory with test artifacts.
- Create separate test folder for opencoder agent with 4 tests
- Update openagent tests to use multi-turn prompts for approval workflow
- Fix test runner to properly handle expectedViolations with shouldViolate: true
- Add mustUseAnyOf behavior expectation for flexible tool matching
- Add unit tests for timeline-builder and context-loading-evaluator
- Update documentation to reflect agent-specific test structure
- Remove outdated AGENT_DETECTION_STATUS.md
Opencoder tests: 4/4 passing
Key insight: openagent uses text-based approval, opencoder uses tool permissions only
- Replace planned framework with working SDK implementation using @opencode-ai/sdk
- Add 6 YAML test cases across developer/business/edge-case categories (100% passing)
- Implement 4 evaluators for openagent.md rule compliance (approval-gate, context-loading, delegation, tool-usage)
- Add real-time event streaming and session recording
- Configure opencode/grok-code-fast as default model (zero API costs)
- Add comprehensive documentation (SDK_EVAL_README.md, test-design-guide.md, TEST_SCENARIOS.md)
- Support v2 schema with behavior-based expectations instead of message counts
- Enable model-agnostic test design that works across Claude, GPT-4, and Grok
- Add subagent invocation syntax documentation to openagent.md
- Add explicit task() invocation syntax to codebase-agent with examples
- Include when-to-use guidance for each subagent (4+ files, simple tasks, etc.)
- Add comprehensive OpenCode context reference cheatsheet covering:
- File references with @ symbol (immediate vs lazy loading)
- Agent invocation patterns (task tool vs @ syntax)
- Shell command execution with backtick syntax
- Best practices and anti-patterns
- Complete real-world examples and templates
This improves AI agent reliability in delegating to subagents by providing
clear, explicit invocation patterns following research-backed progressive
disclosure principles.
- Update all subagent references to use full paths (subagents/core/ and subagents/code/)
- Remove @ prefix to fix compatibility issues with some models
- Replace non-existent 'write-test' agent with 'subagents/code/tester'
- Fixes issue reported in GitHub issue
- Add central context index at .opencode/context/index.md (120 tokens)
- Add compact metadata to all 9 context files (10 tokens each)
- Update OpenAgent prompt to reference index system (73% token reduction)
- Update context-guide.md with index usage documentation
Benefits:
- Single index file for context discovery
- Human-readable and machine-parseable format
- Clear dependency tracking (tests→code, review→code+patterns, etc.)
- Priority levels (critical/high/medium) for all contexts
- Reduced prompt overhead from ~200 to ~53 tokens
Context files updated:
- standards/code.md, docs.md, tests.md, patterns.md, analysis.md
- workflows/delegation.md, review.md, task-breakdown.md, sessions.md
This implements a scalable, maintainable context system with
efficient token usage and clear navigation structure.