Skip to content

Latest commit

 

History

History
137 lines (92 loc) · 6.17 KB

File metadata and controls

137 lines (92 loc) · 6.17 KB

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.7.0 - 2026-04-08

Added

  • SDD (spec-driven development) workflow guides under docs/guide/ covering workflow, configuration, design, prompts, specs, and tasks, plus a matching router-style example under examples/.lorah/ and example design specs under examples/docs/design/.

Changed

  • lorah --help/-h now prints usage to stdout; usage on error still prints to stderr.

Removed

  • BREAKING: lorah task command and internal/task package. Track tasks as markdown files in .lorah/tasks/ instead (see docs/guide/tasks.md).
  • BREAKING: --dir top-level flag (was only used by task).
  • BREAKING: run subcommand. CLI is now lorah <prompt-file> [claude-flags...], matching the pre-0.5.0 shape.

Fixed

  • A single Ctrl+C now finishes the current iteration naturally instead of interrupting the running claude subprocess. The subprocess is placed in its own process group (Setpgid) so terminal SIGINT is delivered only to lorah.

0.6.0 - 2026-03-24

Added

  • --dir top-level flag to override the lorah data directory (default .lorah)

Changed

  • BREAKING: Task storage default location changed from tasks.json to .lorah/tasks.json

0.5.0 - 2026-03-21

Added

  • Subcommand-based CLI: lorah <command> [arguments] with run and task commands
  • Task management system (lorah task) with 6 subcommands: list, get, create, update, delete, export
  • JSON-based task storage in tasks.json with Storage interface for future backend swaps
  • Two task output formats: json, markdown (default); --flat flag on list for flat bullet output
  • Loop status messages now include iteration number

Changed

  • BREAKING: CLI changed to lorah run <prompt-file> [claude-flags...] (was lorah <prompt-file> [claude-flags...])
  • Removed color from Claude text and thinking output sections

Fixed

  • Removed extra newline before loop error output
  • Tool name matching now uses prefix match for Task tool names
  • Scanner errors are now handled gracefully instead of being silently ignored

0.4.0 - 2026-03-09

Changed

  • Output sections now use symbol instead of ==>
  • Added blank line spacing between output sections for improved readability
  • Tool inputs now truncate to 1 line instead of 3 lines to prevent trailing blank lines

Fixed

  • Truncated tool inputs now display line count (e.g., "... +5 lines") instead of just "..."
  • Removed excessive blank lines caused by trailing whitespace in Claude output

0.3.0 - 2026-03-05

Added

  • Infinite loop execution following Ralph pattern
  • Direct flag passthrough to Claude Code CLI

Changed

  • BREAKING: CLI interface changed to lorah PROMPT.md [claude-flags...] (was lorah run --project-dir)
  • BREAKING: Now follows Ralph technique instead of Anthropic's effective harnesses for long-running agents
  • BREAKING: Agent manages its own workflow autonomously (removed multi-phase orchestration, config system, session state, progress tracking)
  • Error retry uses fixed 5-second delay (was exponential backoff)

0.2.0 - 2026-02-24

Added

  • Configuration is now optional with sensible defaults — only configure what you need to change

Changed

  • BREAKING: Configuration format changed to a split structure with harness (lorah settings) and claude (passthrough to Claude Code CLI) sections. Existing configs require migration—run lorah info template to see the new format.
  • Updated documentation to document two-phase execution model with fixed file names (initialization and implementation phases)
  • Renamed docs/setup-guide.md to docs/getting-started.md
  • Renamed review workflow prompts from inventory.md/fix.md to initialization.md/implementation.md
  • Migrated examples to new config format; review workflow now uses defaults

Fixed

  • Fixed broken link in getting started guide

0.1.0 - 2026-02-20

Added

  • Initial release of Lorah, a configurable harness for long-running autonomous coding agents
  • CLI commands: run, verify, init, and info (with template, schema, preset, guide subcommands)
  • Multi-phase agent execution with initialization (run-once) and implementation (iterative) phases
  • Phase conditions using exists: and not_exists: path-based rules
  • Session state persistence in .lorah/session.json for resume capability
  • Graceful interrupt handling with automatic session resume
  • Error recovery with configurable exponential backoff and circuit breaker
  • JSON checklist progress tracking via tasks.json with automatic completion detection
  • Progress notes file (progress.md) for session handoff documentation
  • SDK-native sandbox isolation with network, filesystem, and command restrictions
  • Permission modes: default, acceptEdits, bypassPermissions, plan
  • Fine-grained tool allow/deny rules configuration
  • MCP (Model Context Protocol) server integration with environment variable expansion
  • Built-in network presets: python, go, rust, web-nodejs, read-only
  • PID-based instance locking to prevent concurrent runs
  • Project scaffolding via lorah init with embedded starter templates
  • Pre-flight verification via lorah verify (CLI, API, config, files, permissions)
  • Configuration JSON schema accessible via lorah info schema
  • Single self-contained binary with no external runtime dependencies