Skip to content

Releases: kryptobaseddev/cleo

v2026.3.69

23 Mar 09:09

Choose a tag to compare

Fixed

  • npm install: Use pnpm publish to resolve workspace:* protocol — npm publish leaked workspace references making npm install -g fail with EUNSUPPORTEDPROTOCOL

v2026.3.68

23 Mar 09:07

Choose a tag to compare

Added

  • cleo check command group: cleo check schema|coherence|task — domain-prefix CLI access to check operations
  • cleo admin command group: cleo admin version|health|stats|runtime|smoke — domain-prefix CLI access to admin operations
  • cleo pipeline alias: Routes to existing phase command group

Fixed

  • cleo add --dry-run session bypass: Dry-run no longer requires active session, orphan prevention, or acceptance criteria — no data is written
  • Domain-prefix CLI routing: cleo check schema, cleo pipeline list, cleo admin version now route correctly instead of showing root help

v2026.3.67

23 Mar 07:50

Choose a tag to compare

Added

  • cleo doctor --full (#79, T130): Operational smoke test — 13 probes exercise one read-only query per domain through the full dispatch pipeline, plus tasks.db integrity, brain.db connectivity, and migration state validation. ~100ms runtime, exit code 0/1
  • cleo upgrade --diagnose (#80, T131): Deep read-only inspection of schema and migration state — validates required columns, migration journal entries, SQLite integrity, brain.db tables. Skipped steps now explain WHY with reason field

Changed

  • Unified migration system (#82, T132): Shared migration-manager.ts consolidates duplicated reconciliation, bootstrap, retry, and column-safety logic from sqlite.ts and brain-sqlite.ts — ~170 lines dedup
  • Upgrade output: UpgradeResult now includes summary (checked/applied/skipped/errors) and reason on skipped actions
  • Admin domain: New admin.smoke query operation (tier 0)

Fixed

  • Doctor/upgrade opts merging: citty-parsed command-specific flags (--full, --diagnose, --detailed, etc.) were silently ignored because action handlers called parseGlobalFlagsFromArgv() which only extracts global flags. Now merges both sources

v2026.3.66

23 Mar 06:14

Choose a tag to compare

Changed

  • Config type safety (T128): EnforcementConfig + VerificationConfig interfaces wired into CleoConfig — eliminates untyped getRawConfigValue dot-path access in enforcement.ts, complete.ts, add.ts
  • Retry dedup (T129): agents/retry.ts withRetry delegates to lib/retry.ts — single backoff implementation, dead sleep() removed

Fixed

  • Facade domain count: Updated from "10 domains" to "12 domain getter properties" (agents + intelligence added in v2026.3.60)
  • Missing barrel exports: Added AgentsAPI, IntelligenceAPI, getCleoTemplatesTildePath, updateProjectName to public barrel

v2026.3.65

23 Mar 04:48

Choose a tag to compare

Fixed

  • Phases crash (#77): Full null guard in queryPhase()listData.phases and listData.summary now use ?? fallbacks
  • detect-drift user projects (#78): Detects CLEO source repo vs user projects. User projects get applicable checks only (injection template) instead of CLEO-internal source structure checks

v2026.3.64

23 Mar 04:40

Choose a tag to compare

Fixed

  • Phases crash (#77): paginate() now guards against undefined/null/empty input arrays
  • detect-drift false errors (#78): Uses process.cwd() as project root instead of walking up from the CLI bundle file location

v2026.3.63

23 Mar 04:08

Choose a tag to compare

Fixed

  • brain.db migration (#65, #71): Journal reconciliation now correctly applied — was lost in v2026.3.62 due to git stash conflict
  • --dryRun on cleo add (#66): dryRun flag now passed through dispatch domain → engine → addTask() core — previously silently dropped
  • backup list side effect (#74): Query gateway handler now properly included in build — read-only listSystemBackups() prevents snapshot creation
  • Help text leak regression (#76): Parent command run() now detects subcommand in rawArgs before showing help — prevents showUsage() from firing after valid subcommand output

Added

  • session find CLI (#75): Re-added after loss in v2026.3.62 — dispatches to existing query:session.find MCP operation

v2026.3.62

23 Mar 03:41

Choose a tag to compare

Fixed

  • Migration journal reconciliation (#63, #65): runMigrations() in tasks.db and brain.db now detects stale __drizzle_migrations entries from older CLEO versions (hash mismatch), clears them, and marks local migrations as applied
  • Defensive column safety net (#63): ensureRequiredColumns() runs after every migration — uses PRAGMA table_info to detect and add missing columns via ALTER TABLE
  • Issue command routing (#64): cleo issue bug/feature/help calls addIssue() from core directly instead of dispatching to removed MCP operations
  • brain.db migration (#65, #71): Same journal reconciliation pattern applied to brain.db — unblocks memory find, observe, sticky, refresh-memory, and reason similar
  • --dryRun flag (#66): cleo add --dryRun now returns preview with id: T??? before sequence allocation — no DB writes or counter advancement
  • Labels empty output (#67): labels list marked as isDefault subcommand — bare cleo labels now invokes list
  • Exists routing (#68): cleo exists calls getTask() from core directly instead of unregistered query:tasks.exists
  • Critical-path routing (#69): cleo deps critical-path calls depsCriticalPath() from core directly instead of unregistered query:orchestrate.critical.path
  • Silent empty commands (#70): Parent commands without subcommand now show help text via citty showUsage() — fixes 21 commands that returned zero output
  • Sequence padding (#72): nextId in showSequence() uses padStart(3, '0') — returns T012 not T12
  • Stats contradiction (#73): totalCompleted now uses audit log as SSoT (same source as completedInPeriod) for consistent metrics
  • Backup list side effect (#74): Changed backup list from mutate to query gateway with new read-only listSystemBackups() function

Added

  • session find CLI subcommand (#75): MCP operation already existed — added CLI registration with --status, --scope, --query, --limit options
  • repairMissingColumns(): New repair function in cleo upgrade that reports missing column detection/fix

Changed

  • Injection template: session find reference clarified to cleo session find

v2026.3.59

22 Mar 08:37

Choose a tag to compare

Added

  • Agent health monitoring: cleo agents health — heartbeat, stale/crash detection (T039, 25 tests)
  • Retry utility: withRetry() exponential backoff in lib/retry.ts (T040, 16 tests)
  • Agent registry: Capacity tracking, specializations, performance recording (T041, 21 tests)
  • Impact prediction: cleo reason impact --change <text> — dependency analysis (T043)
  • Reasoning CLI: cleo reason why|similar|impact|timeline — CLI parity (T044)
  • SharingStatus: Git sync fields for Nexus visibility (T110)

Changed

  • Config vaporware audit (T101): Removed ~170 dead config fields across schema/templates/presets
  • Strictness presets: Fixed phantom hierarchy.requireAcceptanceCriteria key (T107)

Assessed

  • Nexus: Zero production usage — deferred to Phase 3 (T045)

v2026.3.58

22 Mar 03:54

Choose a tag to compare

Added

  • Enforcement gates: Session required for mutations, AC required on creation (min 3), verification gates required for completion, orphan tasks blocked (must have parent epic) — all in strict mode
  • Pipeline stage binding: RCASD-IVTR+C auto-assignment, forward-only transitions (T060)
  • Verification gate auto-init: Tasks get verification metadata on creation (T061)
  • Epic lifecycle enforcement: Min 5 AC, child stage ceiling, advancement gates (T062)
  • Workflow compliance telemetry: cleo stats compliance dashboard (T065)
  • Task backfill: cleo backfill [--dry-run] for existing tasks (T066)
  • Strictness presets: cleo config set-preset strict|standard|minimal (T067)
  • Agent dimension: Execution learning, self-healing patterns (T034)
  • Intelligence dimension: Adaptive validation, confidence scoring (T035)
  • ERD diagrams: Mermaid ERDs for all 3 databases (T036)
  • Skills updated: Mandatory workflow rules WF-001 through WF-005 (T063)
  • ct-validator skill: Gate enforcement skill (T064)
  • Agent code quality rules: Added to AGENTS.md for all subagents

Fixed

  • CTE column mismatch (#61): Rewritten to column-independent ID-only pattern
  • Table constraint loss (#62): Migration uses proper CREATE TABLE with constraints
  • Session FK ordering: Insert new session before updating predecessor.nextSessionId
  • closeDb() production bug: Now resets _initPromise to prevent stale connections
  • tasks.add dispatch: acceptance, phase, size, notes, files params now passed through
  • --acceptance delimiter: Changed from comma to pipe for AC items with commas
  • Config templates: enforcement/verification/lifecycle fields added with strict defaults
  • complete.ts defaults: Corrected from warn→block, off→strict
  • Test infrastructure: 141→0 test failures via centralized VITEST enforcement bypass
  • Schema hardening: 9 composite indexes, 17 soft FKs hardened, PRAGMA foreign_keys=ON

Changed

  • Config templates ship with 100% strict enforcement defaults
  • loadCompletionEnforcement honors explicit config values in test mode