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.
- Breaking: Renamed
lalia task statustolalia task set-status. The old command is removed with no alias. - Fixed CLI flag-order parsing:
--as,--timeout,--room, and other flags now work correctly regardless of position relative to positional arguments. Affectsread,peek,post,tell,ask,history,join,leave,participants,room, and alltasksubcommands. - Documented fresh-identity re-register semantics in
lalia protocol,prompts/worker.md, andprompts/supervisor.md:unregisteris terminal; re-registering creates a newagent_idand keypair; prior room memberships are not resumed automatically. - Replaced
BACKLOG.mdwithROADMAP.md(forward-looking only). Historical shipped work remains inCHANGELOG.md. - Added
docs/LLM.mdas canonical AI agent onboarding file;CLAUDE.md,AGENTS.md, andGEMINI.mdat repo root are symlinks to it.
- Minor version synchronization.
- Renamed
codexharness tocodex-cliin automatic detection logic.
- Expanded Codex harness detection with
CODEX_CIandCODEX_THREAD_IDmarkers.
- Gemini CLI added to automatic harness detection logic.
- Canonical Agent Naming: Prevent identity collisions by defaulting to stable, introspected canonical names during registration.
- New command:
lalia suggest-nameto preview the introspected identity. - Introspected names produce distinct results based on harness, role, and worktree/branch context.
lalia registernow defaults to the suggested canonical name if--nameandLALIA_NAMEare unset.- Updated
prompts/worker.mdandprompts/supervisor.mdto use canonical naming and introspection.
- Identity isolation safeguards:
- PID Locking: Prevents a single OS process from registering as multiple distinct agents.
- Supervisor Claim Blocking: Explicitly prevents supervisors from claiming tasks in lists they oversee.
- Session Context Binding: Prevents identity hijacking by binding an agent's name to its harness and CWD while the lease is live.
- New error codes:
CodePIDConflict(9) andCodeSessionConflict(10).
opRegisterandopTaskClaimin the daemon now enforce identity isolation rules.
- Grouped view by repository in
lalia agents(now the default). - Git topology detection: agents now track if they are in a
mainworktree,secondaryworktree, oroutsideany repository. main_repo_rootandworktree_kindfields added to agent metadata.- New flags for
lalia agents:--grouped(default),--flat, and--wide. - Relative last-seen durations in
lalia agents(e.g., "just now", "5m ago").
lalia agentsoutput is now more human-readable and clustered by repo.- Updated
AgentandAgentInfostructs to carry rich git metadata.
- New
peerrole for decentralized coordination without supervisor/worker constraints. - Dedicated
prompts/peer.mdfor peer agents. - Support for
peerrole ininit,prompt,run, andregistercommands. - Shell completions for the
peerrole. VERSIONfile for tracking the current semver.CHANGELOG.mdfor historical release tracking.make releaseandmake check-cleantargets to Makefile for automated tagging.
- Breaking Change: Renamed the project from
kopostolaliathroughout the codebase, build system, and documentation. - Breaking Change: Updated Go module path to
github.com/neektza/lalia. - Updated environment variables to use
LALIA_prefix (e.g.,LALIA_HOME,LALIA_NAME). - Binary name is now
lalia.
- Old
koposbinary and shell completion files from installation paths.
- Room transcript rehydration on boot (
loadRooms). - Mailbox persistence across daemon restarts (SQLite-backed).
lalia rooms gcfor archiving merged-task rooms.- Grouped view by repo in
lalia agents(default output). - Last activity tracking (
last_seen_at) for agents.
- Refined
task unpublishsafety: preserve worktree by default, gate on live owner lease. lalia agentsnow renders relative durations for activity.
- Task primitive with supervisor/worker roles (
tasksubcommands). - Publish-pull workflow:
task publish(atomic worktree/room creation). - Worker self-service:
task bulletin,task claim,task status. - Supervisor mutations:
task unassign,task reassign,task unpublish,task handoff. - Structured error payloads with machine-readable reasons and retry hints.
- Renamed
plansubcommand totask.
- Harness bootstrap integration:
init,prompt, andruncommands. - Support for Claude Code, Codex, and GitHub Copilot harness spawning.
- Automated commit attribution via
Co-Authored-Bytrailers. - Shell completions for Bash and Zsh.
- Renamed
managerrole tosupervisor.
- Messaging redesign (Channels):
tell,ask,read,peek,read-any. - Durable write queue for messages (SQLite-backed).
- Protocol guide (
lalia protocol) and enhanced CLI help.
- Breaking Change: Dropped the old turn-based FSM in favor of asynchronous channels.
- Renamed project from
leschetokopos.
- Identity model refactor: stable ULID
agent_idunder rotatable names. - Nickname resolver (
lalia nickname). - Keychain integration (macOS Keychain) for private key storage.
- Agent leases (60-minute TTL with auto-renewal).
unregistercommand for clean identity teardown.
- Identity detection now captures project, branch, and worktree from environment.
- Room transport (N-party pub/sub) with explicit membership.
- Git-backed transcript for all room and peer traffic.
- Signature-based authentication: every request verified via Ed25519.
- Makefile build pipeline and version stamping.
- Initial project MVP (named
lesche). - Local daemon-mediated messaging over Unix sockets.
- Basic peer-to-peer tunnel transport.
- Registry for agent discovery.