Skip to content

Releases: commonforge-dev/codemeld

codemeld v0.4.6 (Alpha)

Pre-release

Choose a tag to compare

@francisco1844 francisco1844 released this 20 Oct 16:00

Install: go install codemeld.dev/codemeld/cmd/codemeld@v0.4.6 (Go 1.26.9 or later), or download a
Linux amd64/arm64 binary from this release and check it against SHA256SUMS. Linux is the tested
platform; macOS and FreeBSD build but are untested; Windows is not supported.

Highlights

  • Child agents ask the usual questions. Starting a child agent no longer asks one "delegate"
    question: each edit, delete, move or folder creation it declares gets the same question a direct
    call would, and denying any one refuses the launch. The parent sees a list of everything the child
    was refused.
  • Child agents can create folders. A child agent may create the folders it declares. A cancelled
    or crashed child's empty folders are removed; one left holding other files is reported
    left in place: <dir> at each launch.
  • Recovery after a crashed child agent. If a crashed child moved files that something else
    changed afterwards, the next launch asks once for each group of linked moves: keep them as they are,
    put them all back, or decide later. Put back is offered only when it can be done safely, and the
    answer is saved so it is never asked again.
  • No false "interrupted child agent" warning while another codemeld is still running a child
    agent.
  • Writable folders. While the sandbox is on, Auto edits may write the folders declared in
    writable_folders without asking: sandboxed commands, and codemeld's own edit, create and
    folder-creation tools.
  • Plainer project question. When a folder has its own codemeld settings or version-control
    commands, codemeld now asks "Do you trust ?" and says what a yes allows: commands that
    run, and files that change, without asking you. The answer still defaults to no, and a no still
    starts codemeld without those settings.
  • Clearer agent questions. Each question shows its own background text on its screen, with
    paragraph breaks and a description under each option.

Fixed

  • A repository crafted to replace a settings lock file with a special file (a FIFO) could make
    codemeld hang while it re-read project settings.
  • If a project's .codemeld folder was a symlink, codemeld could create empty settings.yaml.lock /
    settings.local.yaml.lock files in the folder it points to.
  • Sandboxed commands built on tokio (e.g. mise) failed with failed to create UnixStream: PermissionDenied.
  • In Auto mode, a few equivalent spellings of deletion and history-rewrite commands ran without
    the extra confirmation (a path-qualified rm after find -exec, exec inside sh -c,
    hg ci --amend, an abbreviated --amend). They now ask like the usual spellings.
  • Sandboxed commands could fail at random with no such process when another of your programs
    exited at the same moment.

Known issues

  • Crash recovery ignores blocked paths added after the crash. If a child agent moved a folder and
    codemeld crashed, and while codemeld was closed you blocked a path inside the moved folder and
    files were saved there, the next launch's undo moves the folder back to its old name, so those
    files end up at an unblocked path. Until this is fixed, block such a path only after codemeld
    has started again and finished its recovery.

codemeld v0.4.5 (Alpha)

Pre-release

Choose a tag to compare

@francisco1844 francisco1844 released this 17 Oct 12:28

First public release.

Install

With Go 1.26.9 or newer:

go install codemeld.dev/codemeld/cmd/codemeld@v0.4.5

Or download a Linux binary (amd64 or arm64) from the files below. To check the download, put it
next to SHA256SUMS and run sha256sum -c SHA256SUMS.

Only Linux is tested. codemeld also builds on macOS and FreeBSD, but it has not been tested there.
Windows is not supported.

What's new

  • Sandbox on Linux. On Linux (amd64 or arm64, kernel 6.2 or newer), codemeld checks at startup
    that it can sandbox shell commands. In Plan mode, commands can only read. In Auto mode, project
    commands run without asking, but commands that use the network, delete files, or rewrite
    history still ask first. Build mode has no sandbox. The status line shows whether the sandbox
    is on.
  • Blocked folders. Add folders such as ~/.ssh to blocked_paths, and no tool or shell
    command can read them. ~/.codemeld is always blocked. Use /blocked to manage the list.
  • Personal and shared project settings. Your own permissions and chosen model are saved in
    .codemeld/settings.local.yaml. Settings you share with your team go in
    .codemeld/settings.yaml. /settings shows which file each permission is in, and can share or
    remove it.
  • Approve a project once. codemeld ignores a project's own settings files until you approve
    that project folder. It asks once and remembers your answer.
  • Fewer permission prompts. Common commands that only read run without asking.
  • Stops runaway turns. A turn stops after 200 model calls, or when the model repeats the same
    tool calls three times in a row.
  • OpenRouter routing. Choose how OpenRouter picks a provider: fastest or best value, whether
    providers may keep your data, which features they must support, and a top price per model. Set
    it in the settings file or with /settings. Each answer records which provider served it.
  • Sessions. Sessions get titles automatically. codemeld sessions list lists them (--all
    for every folder, --json for scripts).
  • Scripted runs. codemeld run prints the answer on stdout and progress messages on stderr.
  • Safer connections. Connections to model providers and the ChatGPT login never follow
    redirects.
  • Provider prompt caching, and many fixes to the interface.

Known issues

We plan to fix all four in the next release.

  • codemeld can freeze while it re-reads project settings if someone has replaced a project's
    settings lock file with a special file (a named pipe). This only happens in a repository set up
    to do it on purpose. No settings are changed, and quitting codemeld ends it.
  • If a project's .codemeld folder is a symlink, codemeld may create empty .lock files in the
    folder the link points to.
  • Inside the sandbox, tools built on the tokio library, such as mise, fail with
    failed to create UnixStream: PermissionDenied.
  • In Auto mode, a few less common ways of writing delete and history-rewrite commands skip the
    extra confirmation, for example hg ci --amend or sh -c 'exec rm file'. These commands still
    run in the sandbox, so they can only change folders Auto is allowed to write to.