Skip to content

Latest commit

 

History

History
549 lines (369 loc) · 36.3 KB

File metadata and controls

549 lines (369 loc) · 36.3 KB

Unreleased

Bug Fixes

  • logic-engine: prevent trigger sandbox evaluation from freezing host prototypes while preserving return-based logic scripts; reported in #496.

Features

  • hosted: add the unpublished hardened single-worker OECP capsule runtime and private image for trusted-service deployments (#888).

5.3.0 (2026-01-12)

Bug Fixes

  • agent: filter JSON from error extraction to prevent false matches (b5833aa)
  • agents: use modelLevel instead of model in git-pusher-agent (646da10)
  • clear require-await lint errors (c96c188)
  • conductor: add robustness to prevent silent hang on hook failure (5453958)
  • inject completion agent after template loading (0d92a36)
  • openai: Codex CLI structured output support (999c55b)
  • orchestrator: honor --pr in foreground runs (710466a)
  • persist task status and stale recovery (56f51e0)
  • preflight: use cross-platform command detection for Windows (adf599c), closes #47
  • race: poll log file before checking stale output + auto-clean stale locks (78486e2)
  • replace cpu-blocking spin-wait with async file locking (f5bfb0d)
  • task-executor: handle stale task status when watcher dies (026357b)
  • testers: require behavioral testing, not code review (27f9e08), closes #828 #829 #830
  • validator: recognize zero-length fallback as valid role handling (474ca9b)

Features

  • add minModel setting and markdown file input (e689472), closes #42
  • add model override and fix --pr completion agent (36fb714)
  • add multi-provider CLI support (claude/codex/gemini) (301fc5f)
  • validators: add debugging methodology checks to prevent shortcuts (85bc462)

5.2.1 (2026-01-07)

Bug Fixes

  • git-pusher: handle clusters without validators (f4cec4d)

5.2.0 (2026-01-07)

Bug Fixes

  • test: add retry logic to e2e-claude-command tests (ed52c86)

Features

  • add claudeCommand setting for custom Claude CLI (#38) (6e1a140), closes #37

5.1.0 (2026-01-07)

Features

  • add preflight check for root user (802f0f4)

5.0.0 (2026-01-07)

  • feat!: remove interactive setup wizard (5438953)

BREAKING CHANGES

  • Interactive setup wizard removed. Configure via: zeroshot settings set maxModel opus zeroshot settings set dockerMounts '["gh","git","ssh"]'

Closes: Setup wizard blocking non-interactive usage

4.2.0 (2026-01-06)

Features

  • security: add automated security scanning and dependency management (7b6ae13)

4.1.4 (2026-01-06)

Bug Fixes

  • ci: enforce CI testing for all releases (3fad703)

4.1.3 (2026-01-06)

Bug Fixes

  • package: include scripts/ in npm package files (4bd5991)
  • preflight: support macOS Keychain auth detection (#35) (a6f0880)

4.1.2 (2026-01-05)

Bug Fixes

  • orchestrator: prevent subscription race condition (issue #31) (9a41bf1)

4.1.1 (2026-01-05)

Bug Fixes

  • docker: change default containerHome from /root to /home/node (7195539)

4.1.0 (2026-01-05)

Features

  • settings: improve Docker config display with grouped format (b743673), closes #19

4.0.0 (2026-01-04)

Bug Fixes

  • adversarial tester condition and README accuracy (c12109b)
  • ci: use correct agent state in status-footer test (c6f54a8)
  • cli: ensure PROCESS_SPAWNED sets EXECUTING_TASK state (4c3cc9c)
  • ledger: prevent write-after-close race condition (6b64fcf)
  • release: allow semantic-release to query remote tags (0be475b)
  • release: explicitly fetch tags for semantic-release (cecf735)
  • tests: ensure first-run tests are isolated from module cache (e55dbe7)
  • tests: move env var and module setup to before() hook (cf787ff)
  • tests: use validateConfig for modelRules catch-all validation (4092d78)

chore

Features

  • context: enforce maximum informativeness, minimum verbosity (f99a7b7)
  • prompts: add universal language/task support with LLM antipattern detection (906102b)

Performance Improvements

  • ci: reduce matrix from 6 jobs to 1 (save ~90% minutes) (cad652d)
  • validators: remove relevance/notes fields to save tokens (b775e5a)

BREAKING CHANGES

  • CREW** env vars renamed to ZEROSHOT**

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • prompts: Validator prompts no longer include language-specific examples

3.1.0 (2026-01-03)

Bug Fixes

  • attach: detect cluster IDs without prefix by checking clusters.json (a3f3b3a)
  • cli: use canonical AGENT_STATE constants for status footer (ac53f83)
  • footer: show agents during evaluating_logic, building_context, executing_task (f3c3484)
  • handle Claude CLI lock contention in parallel validators (b88d502)
  • orchestrator: add missing close() method for test cleanup (a642886)
  • output: broadcast text output, not just JSON (adc8556)
  • output: change from MINIMAL to INFORMATIVE output style (3b87466)
  • planner: explicitly forbid Deferred and Why defer patterns (0504b0a)
  • planner: forbid scope reduction in planner prompt (a9dbfb2)
  • planner: prevent silent phase omission in scope reduction checks (7e99787)
  • status-footer: cleanup footer on stop regardless of hidden state (52fe9e9)
  • templates: hardcode completion-detector model to haiku (78b917e)
  • tests: set ZEROSHOT_WORKTREE env in git-safety-hook tests (7399cfc)
  • tests: skip isolation tests when Docker image unavailable (142f43c)
  • tests: update settings test for maxModel rename and fix git hook case sensitivity (6cbb654)
  • tests: update tests for maxModel cost ceiling rename (45b4ac8)
  • update-checker: check npm write permissions before auto-update (dd9efa8)
  • watcher: add global error handlers to prevent silent crashes (cea4b57)
  • worker: forbid scope reduction excuses in worker prompt (c666847)
  • worktree: inject cwd into dynamically spawned template agents (4c3b916)

Features

  • agents: conditional git restriction based on isolation mode (70eb368)
  • orchestrator: persist agent runtime states for accurate status display (4205c7d)
  • validation: enforce E2E verification with technical constraints (f2a680a)
  • worker: add aggressive COMPLETION MINDSET to worker prompts (0c6e37b)

3.0.0 (2025-12-29)

Bug Fixes

  • isolation: replace busy-wait with async/await for parallel copy (c8afbf0), closes #21
  • security: escape shell arguments in Docker commands (43476ad)
  • shell injection prevention and test reliability improvements (45254f7)
  • status-footer: use decimal display for interpolated metrics (#26) (73ce673)

Features

  • cli: change default model ceiling to opus (#28) (1810be3)
  • cli: change default model ceiling to opus + fix worktree flag cascade (#29) (eaa30b0)
  • cli: consolidate StatusFooter for logs -f mode + add blinking agent indicator (fe2722d)
  • real-time metrics via interpolation + maxModel cost ceiling (#24) (f1db466), closes #21
  • settings: replace defaultModel with maxModel cost ceiling (#25) (9877dad), closes #23
  • validation: add Phase 5 template variable validation (#27) (5e5e7c6)

Performance Improvements

BREAKING CHANGES

  • None

  • settings: defaultModel setting renamed to maxModel

  • defaultModel setting renamed to maxModel

  • feat(status-footer): implement real-time metrics via interpolation

Replace blocking 1s metrics polling with background sampling + interpolation:

  • Sample actual metrics every 500ms (non-blocking background)
  • Display updates every 100ms (10 fps - appears continuous)
  • Values smoothly drift toward targets via lerp (15% per tick)
  • CPU and RAM interpolate; Network is cumulative (no interpolation)

Result: Real-time seeming monitoring while reducing actual polling.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • feat(debug-workflow): harden investigator/fixer/tester for senior-dev quality

Implements 7 hardening changes to ensure debug-workflow produces trustworthy output without manual code review:

Investigator:

  • Structured rootCauses schema requiring proof each is fundamental
  • Mandatory similarPatternLocations field from codebase-wide scan
  • Prompt requires documenting WHY each cause is root (not symptom)

Fixer:

  • Mandatory root cause mapping (each cause → specific fix)
  • Mandatory test addition with escape hatch for valid justifications
  • Must fix ALL similar pattern locations, not just original failure

Tester:

  • Structured verification schema with commandResult, rootCauseVerification, similarLocationVerification, testVerification, regressionCheck
  • Comprehensive checklist: A (command), B (root causes), C (similar locs), D (test quality), E (regression via smart tiering)
  • Explicit forbidden rationalizations and approval criteria

Result: Workflow now blocks incomplete work, band-aid fixes, missing tests, and ignored similar bugs. Output can be trusted.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

2.1.0 (2025-12-29)

Features

  • add first-run wizard and update checker (c93cdfe), closes #17

2.0.0 (2025-12-29)

Code Refactoring

  • cli: simplify flag hierarchy with cascading --ship → --pr → --isolation (#18) (5718ead), closes #17

BREAKING CHANGES

  • cli: auto command removed, use run --ship instead
  • Remove auto command (use run --ship for full automation)
  • Add --ship flag: isolation + PR + auto-merge
  • --pr now auto-enables --isolation
  • Rename clearpurge for clarity
  • Update help text with cascading flag examples
  • Add agents command stubs
  • Add --json output support to list/status

1.5.0 (2025-12-28)

Bug Fixes

  • agent: stop polling after max failures and fix status matching (7a0fbfe)
  • ci: skip pre-push hook in CI environment (352b013)
  • cli: prevent terminal garbling with status footer coordination (2716ce5)
  • config: add timeout: 0 default to agent configuration (6ff66c0)
  • deps: regenerate package-lock.json for jscpd dependencies (c46d84c)
  • infra: improve container cleanup and npm install robustness (6c04b46)
  • orchestrator: prevent 0-message clusters on SIGINT during init (33ed8f9)
  • template-resolver: apply param defaults before resolving placeholders (eafdd62)
  • templates: add timeout parameter to all base templates (f853ed3)

Features

1.5.0 (2025-12-28)

Bug Fixes

  • agent: stop polling after max failures and fix status matching (7a0fbfe)
  • cli: prevent terminal garbling with status footer coordination (2716ce5)
  • config: add timeout: 0 default to agent configuration (6ff66c0)
  • deps: regenerate package-lock.json for jscpd dependencies (c46d84c)
  • infra: improve container cleanup and npm install robustness (6c04b46)
  • orchestrator: prevent 0-message clusters on SIGINT during init (33ed8f9)
  • template-resolver: apply param defaults before resolving placeholders (eafdd62)
  • templates: add timeout parameter to all base templates (f853ed3)

Features

1.4.0 (2025-12-28)

Features

  • status-footer: atomic writes + token cost display (7baf0c2)

1.3.0 (2025-12-28)

Features

  • planner: enforce explicit acceptance criteria via JSON schema (73009d9), closes #16

1.2.0 (2025-12-28)

Bug Fixes

  • status-footer: robust terminal resize handling (767a610)

Features

  • agent: publish TOKEN_USAGE events with task completion (c79482c)
  • stream-parser: add token usage tracking to result events (91ad850)

1.1.4 (2025-12-28)

Bug Fixes

  • cli: read version from package.json instead of hardcoded value (a6e0e57)
  • cli: resolve streaming mode crash and refactor message formatters (efb9264)

1.1.3 (2025-12-28)

Bug Fixes

  • publish: remove tests from prepublishOnly to prevent double execution (3e11e71)

1.1.2 (2025-12-28)

Bug Fixes

  • ci: resolve ESLint violations and status-footer test failures (0d794f9)
  • isolation: handle missing/directory .gitconfig in CI environments (3d754e4)
  • workflow: extract tarball filename correctly from npm pack output (3cf48a3)

1.1.1 (2025-12-28)

Bug Fixes

  • lint: resolve require-await and unused-imports errors (852c8a0)

1.1.0 (2025-12-28)

Bug Fixes

  • docker: use repo root as build context for Dockerfile (c1d6719)
  • lint: remove unused import and fix undefined variable in test (41c9965)

Features

  • isolation: use zeroshot task infrastructure inside containers (922f30d)
  • monitoring: add live status footer with CPU/memory metrics (2df3de0)
  • validators: add zero-tolerance rejection rules for incomplete code (308aef8)
  • validators: strengthen with senior engineering principles (d83f666)

1.0.2 (2025-12-27)

Bug Fixes

  • include task-lib in npm package (37602fb)

1.0.1 (2025-12-27)

Bug Fixes

  • ci: checkout latest main to prevent stale SHA race condition (dd302ba)
  • trigger npm publish (6aa6708)

1.0.0 (2025-12-27)

Bug Fixes

  • ci: update codecov to v5 and add continue-on-error (53de603)
  • ci: use Node.js 22 for semantic-release compatibility (#9) (0387c7d)
  • disable checkJs to fix CI typecheck failures (cabe14c)
  • lint: add missing eslint-config-prettier + fix no-control-regex (d26e1ba)
  • mark task-lib as ES module for Node 18 compatibility (44fea80)
  • prevent agents from asking questions in non-interactive mode (#8) (458ed29)
  • resume: find last workflow trigger instead of arbitrary last 5 messages (497c24f)
  • test: correct npm install retry timing assertion (36222d6)

Features

  • validator: make validator-tester repo-calibrated and intelligent (#5) (3bccad2)
  • validators: enforce test quality with antipattern detection (#2) (9b4f912)

1.0.0 (2025-12-27)

Bug Fixes

  • ci: update codecov to v5 and add continue-on-error (53de603)
  • ci: use Node.js 22 for semantic-release compatibility (#9) (0387c7d)
  • disable checkJs to fix CI typecheck failures (cabe14c)
  • lint: add missing eslint-config-prettier + fix no-control-regex (d26e1ba)
  • mark task-lib as ES module for Node 18 compatibility (44fea80)
  • prevent agents from asking questions in non-interactive mode (#8) (458ed29)
  • resume: find last workflow trigger instead of arbitrary last 5 messages (497c24f)
  • test: correct npm install retry timing assertion (36222d6)

Features

  • validator: make validator-tester repo-calibrated and intelligent (#5) (3bccad2)
  • validators: enforce test quality with antipattern detection (#2) (9b4f912)

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.1.0 - 2025-12-25

Added

Core Architecture

  • Multi-agent coordination engine with message-passing primitives
  • SQLite-backed immutable ledger for crash recovery and state persistence
  • Pub/sub message bus with topic-based routing and WebSocket support
  • JavaScript-based logic engine for trigger evaluation with sandboxed execution
  • Agent lifecycle management with state machine (idle → evaluating → executing)
  • Dynamic agent spawning via CLUSTER_OPERATIONS messages

Agent System

  • AgentWrapper for managing Claude CLI process lifecycle
  • Context building from ledger with configurable strategies
  • Hook system for onComplete, onError, and onStart actions
  • Output streaming via message bus with real-time updates
  • Liveness detection to identify stuck agents
  • Resume capability for failed tasks with error context
  • Dynamic model selection based on iteration count and complexity
  • Support for both static and parameterized model configurations

CLI Commands

  • zeroshot run - Start multi-agent cluster from GitHub issue or text
  • zeroshot auto - Full automation with Docker isolation and auto-merge PR
  • zeroshot list - View all running clusters and tasks
  • zeroshot status - Get detailed cluster status with zombie detection
  • zeroshot logs - Follow cluster output in real-time
  • zeroshot resume - Continue from crashed or stopped clusters
  • zeroshot stop - Graceful cluster shutdown
  • zeroshot kill - Force stop running cluster
  • zeroshot clear - Remove all stopped clusters
  • zeroshot export - Export conversation as JSON or Markdown
  • zeroshot - Interactive Ink TUI (TTY only)
  • zeroshot tui - Open Ink TUI explicitly
  • zeroshot watch - Open Ink TUI Monitor view (htop-style)
  • zeroshot agents - View available agent definitions
  • zeroshot settings - Manage global settings
  • Shell completion support via omelette

Docker Isolation

  • IsolationManager for container lifecycle management
  • Fresh git repository initialization in isolated containers
  • Credential mounting for Claude CLI, AWS, GitHub, Kubernetes
  • Docker-in-Docker support for e2e tests
  • Automatic npm dependency installation in containers
  • Terraform state preservation across container cleanup
  • Git worktree support (alternative to full copy)

Workflow Templates

  • Conductor system with 2D classification (Complexity × TaskType)
  • Four base templates: single-worker, worker-validator, debug-workflow, full-workflow
  • Parameterized template resolution with TemplateResolver
  • Dynamic agent spawning based on task analysis
  • Model tier selection: Haiku (TRIVIAL), Sonnet (SIMPLE/STANDARD), Opus (CRITICAL)
  • Validator scaling: 0-5 validators based on complexity
  • Adversarial tester for STANDARD/CRITICAL tasks

GitHub Integration

  • Issue fetching with automatic URL parsing
  • GitHub CLI (gh) integration for PR creation
  • Auto-merge support via git-pusher agent
  • Token authentication with hosts.yml fallback

Ink TUI

  • Real-time cluster monitoring in Ink TUI
  • Cluster list with state, agent count, and message count
  • Message viewer with topic filtering
  • Agent status display with iteration tracking
  • Log viewer with search and navigation
  • System resource monitoring (CPU, memory)
  • Responsive layout with keyboard navigation

Developer Tools

  • Config validator with strict mode and warning detection
  • ESLint configuration with unused imports detection
  • TypeScript type checking with JSDoc annotations
  • Mocha test framework with comprehensive test coverage
  • Dead code detection with ts-prune, unimported, depcheck
  • Proper lockfile support for concurrent file access

Safety Features

  • PreToolUse hook to block AskUserQuestion in non-interactive mode
  • Explicit prompts for autonomous decision-making
  • Git safety enforcement (no destructive operations)
  • Zombie cluster detection for orphaned processes
  • Retry logic with exponential backoff for network operations
  • File locking for concurrent orchestrator instances

Security

  • Sandboxed JavaScript execution for trigger logic
  • Frozen prototypes in VM context to prevent pollution
  • Read-only mounts for credentials in Docker containers
  • Docker group GID detection for socket access control
  • Timeout enforcement for logic scripts (1 second limit)

[0.0.0] - Development

Initial development phase before first release.