Skip to content

Releases: Agent-Field/CodeAF

codeaf v0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 18:20
9258f70

Added

  • A model family toggle under the crew, so a preset can answer from open weights or from everything#1073 · chat engine

  • custom connections are named, sit beside each other, and switch from the Providers tab#1089 · chat engine

  • The crew's seats are picked from a row — table, catalog or learn#1093 · chat engine

  • Three pure packages — a crew picker, an additive tally and a measurement-index reader#1093 · engine

  • The pool client gains the relay's real addresses, an install nonce, and the index signer's key#1093 · engine

  • Three more internal/pool packages — an outbox, a settings resolver and a signed-document fetcher#1093 · engine

  • a landed task is scored by a model outside the crew into the own sheet, outbox and judge seat#1093 · chat engine

  • A pure package that scores a finished run seat by seat, by a judge outside the crew#1093 · engine

  • A pure package that records a run's judged scores into an own sheet and outbox rows#1093 · engine

  • A Cloudflare Worker relay that folds installs' rows into a signed, versioned pool index#1093 · engine

  • The Model Pool's index is seated at start-up from a seed in the binary#1093 · chat engine

  • A tier row that says auto computes its model from the catalog#1093 · chat engine

  • The Model Pool reaches its first surface — a model_pool setting and a codeaf pool verb#1102 · chat engine

  • a headless exec run leaves a pending judge record at its tail for the pool's sweep#1137 · engine

  • the headless task door leaves a pending judge record at its tail#1138 · engine

  • a codeaf do errand leaves a pending landing for the Model Pool's judge#1139 · engine

  • pool status says what is waiting for a judge and what the last sweep did#1142 · engine

  • The seed index is regenerated from the relay by one in-repo command#1148 · chat engine

  • pool show --cells lists the held index's cells with their installs and dims#1149 · engine

  • a chat surface now runs under a soft memory limit drawn from the machine#1158 · chat

  • the relay can purge fixture vendors and refuse them at the door#1167 · engine

  • pool status says the install identity, the judged total, and that nothing has landed#1169 · chat

  • A non-verified codeaf do run names its kept branch and its verdict#1182 · engine

  • The tasks text and the record line name a failed node's kept branch and verdict#1184 · engine

  • A non-verified codeaf exec or codeaf run run names its kept branch and its verdict#1186 · engine

  • a job subtree is cut when it passes its CPU or process bound#1190 · chat engine

Changed

  • the coverage round buys once, and the envelope says when the requested work was done#1093 · resident docs

  • The crew's default family is all, and both families' worker, careful and mastermind seats moved#1093 · chat engine

  • Six cells of the fixed crew tables moved to the measured seats#1093 · chat engine

  • The fuel meter asks an installed tariff first, and its table holds the ids this build ships#1093 · engine

  • A re-dispatch after running out is granted more room, and one that banks nothing new is refused#1093 · resident docs

  • Every usage row names the seat the call ran under#1093 · engine

  • The crew picker blends a measured pool rating into a seat's quality by its observation count#1101 · engine

  • The README telemetry section is one collapsed block at the end of Docs#1115 · docs

  • a launch compiles 78 fewer patterns, and a surface holds 8 Ps instead of every core#1125 · chat engine build

  • the relay carries the acceptable metric beside the judge's opinion#1129 · build

  • the relay writes a submit batch once per distinct cell and day#1136 · engine

  • pool show and verify say both metrics the index carries#1141 · engine

  • the seed index follows the relay's first clean publish#1180 · chat engine

  • a settle turn runs under the checker's own bound, not the run's wall#1183 · chat

  • the status word says working while a task subtree still turns at rest#1191 · chat

Renamed

  • the /connect row for a custom service reads Custom OpenAI-compatible API, not Something else#1107 · chat docs

Fixed

  • a finishing task can read the evidence its context has archived#808 · chat engine

  • a question's own answer box answers to the whole caret vocabulary, not a hand-rolled copy of it#1032 · chat docs

  • an answered landing carries its answer's fate, and an in-flight settle holds the question down#1086 · chat engine

  • the headless doors wait for the catalog rows a pick reads#1093 · engine

  • No git command runs without a directory, and the checkout guard reads a linked worktree's own share#1093 · engine

  • A node retry asks the router to avoid the upstream machine that just failed it#1094 · engine

  • Usage counts from a hosted chat carry real numbers, and nothing without a version ever leaves#1111 · chat docs

  • a service connected mid-conversation reaches the conversation that is open#1114 · chat engine

  • a decision card under --yolo takes its own default instead of waiting for somebody#1117 · chat

  • a design's thread stops its parts before it closes, and a node machinery cut says what cut it#1118 · chat engine

  • a bare auto row names the pick word's rung, so a seat computed under learn says learned#1119 · chat engine

  • a bare auto row under picked from = catalog reads the catalog's figures alone#1120 · chat engine

  • the do door seats its worker from the settings the run will use#1122 · engine

  • a launch's pool writers stop when the process closes#1124 · chat

  • The pool index's min_installs floor counts a cell's installs, not its rows#1127 · engine

  • The pool relay folds a retried batch once#1128 · engine

  • A row the relay refuses by line leaves the outbox and the rows around it are sent#1130 · engine

  • The published pool index holds only the cells that meet its min_installs floor#1131 · engine

  • A run a process death left unjudged is judged on the next chat start#1132 · engine

  • the outbox file is compacted back to the rows it still holds#1133 · engine

  • The finished-tree check finds a project cloned into a subdirectory#1135 · engine

  • **the manual said the status row's ledger stays the conversation's; it is...

Read more

codeaf v0.2.2-rc.1

codeaf v0.2.2-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 18:12
9258f70

Install this rc build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/9258f70523791330bf5128fd5aed6c70a70f138f/scripts/install.sh | bash -s -- --rc
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/9258f70523791330bf5128fd5aed6c70a70f138f/scripts/install.sh | VERSION=v0.2.2-rc.1 bash

codeaf staging-20260918-9258f7052379

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 16:21
9258f70

Install this staging build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/9258f70523791330bf5128fd5aed6c70a70f138f/scripts/install.sh | bash -s -- --staging
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/9258f70523791330bf5128fd5aed6c70a70f138f/scripts/install.sh | VERSION=staging-20260918-9258f7052379 bash

codeaf staging-20260918-62cae85802f0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 15:28
62cae85

Install this staging build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/62cae85802f042463f11d5e0157b4ee092630a54/scripts/install.sh | bash -s -- --staging
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/62cae85802f042463f11d5e0157b4ee092630a54/scripts/install.sh | VERSION=staging-20260918-62cae85802f0 bash

codeaf dev-20260918-fde49a587fc9

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 14:45
fde49a5

Install this dev build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fde49a587fc9e9dca4f8e4896d6a9fce0b6ff3bb/scripts/install.sh | bash -s -- --dev
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fde49a587fc9e9dca4f8e4896d6a9fce0b6ff3bb/scripts/install.sh | VERSION=dev-20260918-fde49a587fc9 bash

codeaf dev-20260918-9258f7052379

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 15:58
9258f70

Install this dev build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/9258f70523791330bf5128fd5aed6c70a70f138f/scripts/install.sh | bash -s -- --dev
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/9258f70523791330bf5128fd5aed6c70a70f138f/scripts/install.sh | VERSION=dev-20260918-9258f7052379 bash

codeaf dev-20260918-62cae85802f0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 15:06
62cae85

Install this dev build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/62cae85802f042463f11d5e0157b4ee092630a54/scripts/install.sh | bash -s -- --dev
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/62cae85802f042463f11d5e0157b4ee092630a54/scripts/install.sh | VERSION=dev-20260918-62cae85802f0 bash

codeaf dev-20260918-4add9c9f3100

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 15:49
4add9c9

Install this dev build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/4add9c9f310088b68297fbbac1d685651859ee7f/scripts/install.sh | bash -s -- --dev
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/4add9c9f310088b68297fbbac1d685651859ee7f/scripts/install.sh | VERSION=dev-20260918-4add9c9f3100 bash

codeaf v0.2.1

Choose a tag to compare

@github-actions github-actions released this 17 Sep 21:07
cfdc29d

Added

  • Every release carries THIRD-PARTY-NOTICES.md beside its binaries#1051 · build docs

    3 things that are no longer true
    • This repository reproduced no third-party licence anywhere, and a release published only dist/codeaf-* and checksums.txt. THIRD-PARTY-NOTICES.md now sits at the root and is copied into dist/ before the checksums are written, so every release on every channel carries it and checksums.txt covers it.
    • A licence notice was nobody's job and was written nowhere. cmd/codeaf-notices generates the whole file from go list -deps ./cmd/codeaf plus the two copies this tree carries, so it is regenerated with go run ./cmd/codeaf-notices generate and never edited by hand.
    • Adding a dependency used to cost nothing beyond go.mod. A law in cmd/codeaf-notices now fails when a module compiled into the binary has no section in the committed notice, so a new dependency means regenerating that file in the same change.

    internal/pair/cpace is BSD-3-Clause and is linked into every build; its clause 2
    asks for the notice in the materials that go out with a binary distribution, and
    internal/connect/ampcatalog/providers.json is an embedded copy of the amp-labs
    catalog with the same shape of obligation. The notice covers 57 components — the
    55 modules in the build and those two copies — each with its version, its licence
    identifier and its licence text word for word.

  • a launch says when a newer codeaf is out, and /update installs it and restarts#1060 · chat build

    7 things that are no longer true
    • The chat manual's install section ended Nothing self-updates: run it again when you want a newer build. That sentence is gone and the opposite is now true: /update (alias /upgrade) downloads the newest stable release, checks its sha256, replaces the running executable and restarts on it with --session pointing at the same transcript, and codeaf update does the same from a shell. running-from-the-terminal.md has a new section, Is there a newer version — how do I update codeaf — /update — codeaf update — why does it say this every time I start, which states all of it.
    • A launch said nothing about newer releases. A build stamped with a stable tag that is behind the newest stable release now draws one dim transcript line naming both versions, /update, and the curl line. A release candidate gets it once its stable line is published. A dev-* or staging-* channel build, a make build sha and an unstamped binary make NO request at all and draw nothing, so a developer's build is never told it is behind. The check is asynchronous with a three-second budget, never delays the first frame, and says nothing when it fails; its answer is cached for a day in update-check.json beside config.json. CODEAF_NO_UPDATE_CHECK=1 turns the launch check off without touching /update or codeaf update.
    • The release-tag grammar lived in cmd/codeaf-release/version.go. It is now internal/update, which the release tool reads; there is one parser. scripts/install.sh was accepting any dev-* or staging-* tag and semver parts with leading zeroes where internal/update accepts only the shapes the release workflow publishes — it now uses the same grammar, so the two install roads cannot pick different builds. The publish-time ordering #1056 added is unchanged; only which candidates are eligible.
    • codeaf update is a new command, and it sits under housekeeping in codeaf --help rather than beside the read-only rows: --check prints one line and exits 0 when this release is newest, 3 when a newer one exists and 1 when it could not ask, while a plain run installs stable or whatever --rc, --dev, --staging or --version <tag> names. A binary built from source refuses to replace itself in place and names its path; an unwritable executable is left untouched and offered the curl line; sudo is never attempted.
    • codeaf update --check --rc, --dev, --staging and --version <tag> were believed to apply the selected channel's rule after selecting its tag. They did not: every answer ran through the stable-only comparison, so a newer rc or disposable channel build could be called newest with exit 0 and the selected tag omitted. Every answer now names that tag; stable and rc compare their semantic versions, dev and staging compare for equality because channel builds are disposable, and an exact tag is equal or different with no invented ordering.
    • A stable build ahead of the newest published stable was believed to get nothing. That was true only of the launch reminder and --check: both codeaf update and /update silently installed the older release. An implicit update now refuses, names both versions, and points at the deliberate override; --version <tag> and /update <tag> still install exactly what the person named.
    • A deliberate detach in internal/remote kept the twenty-second torn-link grace that exists for a terminal killed without warning, so a window that had announced its departure still looked attached for two more call deadlines. It now clears that grace once the last view leaves, which is what lets a freshly installed codeaf take the engine the old process had already let go of. Live turns, tasks, unanswered questions and other views still refuse retirement.

    The owner asked for two things that turn out to be one: tell somebody a newer
    codeaf exists, and give them the command. A line that only names a version makes
    a person go looking, so this one carries /update and the curl line with it, and
    /update finishes the job rather than printing homework.

    Everything else follows from not wanting to be wrong in front of somebody. The
    check is silent on failure because a network complaint at launch is noise about a
    thing nobody asked for. A developer's own build is never told it is behind. The
    restart waits for the door, after the frame is down and the terminal is back, and
    carries the transcript so the conversation the person was having is the one that
    comes back.

    The curl line every one of those roads offers is curl -fsSL https://agentfield.ai/get/codeaf | bash,
    the supported address that serves scripts/install.sh from main, so the launch
    line, the refusals and the README hand out one road.

  • Anonymous usage counts, on by default with a notice printed once#1095 · docs

    why

    codeaf now sends anonymous usage counts — version, OS, mode (chat or task), and
    banded session and error counts — so the parts people rely on get the work. It
    never sends prompts, code, paths, names, or anything that identifies you. The
    counts are on by default, and the first session prints a notice naming exactly
    what leaves; codeaf telemetry show prints what is waiting to leave right now.
    Turn it off with CODEAF_TELEMETRY=off, DO_NOT_TRACK=1, codeaf telemetry off, telemetry = off in a project's .codeaf/config.json, or an empty
    CODEAF_TELEMETRY_ENDPOINT. The whole contract is docs/TELEMETRY.md.

Changed

  • The switcher's foot is one instruction and its name column takes the spare width#1040 · chat docs

    3 things that are no longer true
    • The card's foot read ▸ 9 more on this machine · → reach them, and ← just the open ones with the fold open. It now reads → show closed and ← hide closed — the key and what it does, no glyph and no count, because the head's 3 of 12 already carries the figure. hopFoldKeyWord and hopShutKeyWord are those two strings; anything quoting the old ones is stale, including the card drawing in internal/manual/chat/keys.md.
    • The card drew a wrapped copy of the SELECTED row's title in a block under the list whenever the subject column had abbreviated it. That block is gone — hopCardLines builds no preview and TestSwitcherShowsLongSelectedTitleBelowTheList is replaced by TestALongNameTakesTheRoomAndIsNotRepeatedUnderTheList. The rows it used to displace on a short card stay drawn.
    • The subject column was fixed at 34 cells (hopSubjectCol) and the clause took every cell left over. It is the other way round: the clause is hopNoteCol (32, narrowing to hopTightNote), and the subject takes what is left up to hopSubjectMax (64), keeping hopGutter (2) cells of air so a name that fills its column does not touch the clause. hopSubjectCol no longer exists. The narrowing ladder is project, then the clause's tail, then the clock, then the clause — the name is cut last.

    All three asked for by the owner, off the running card: a foot spending a row on a
    figure the head already says, a summary under the list that was never more than the
    selected row's own title and did not appear for every row, and
    Investigate the parsing regres…nothing new — a name cut at thirty-four cells
    with forty cells of nothing new beside it.

    The gutter is the part that is not about width. A long enough name fills whatever
    column it is given, so without two cells held back at the end of the column the name
    and the clause run together into one word however wide the card is.

    keys.md's switcher section was over its size rule by some way after three changes
    landed in it, and the retrieval gate said so — a probe that used to reach it started
    reaching four other pages. The layout and the ordering are now two sections of their
    own with their own headings, which is what that rule is for.

  • The switcher card lists conversations in the tab row's order, not by recency#1040 ·...

Read more

codeaf v0.2.1-rc.3

codeaf v0.2.1-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 20:54
cfdc29d

Install this rc build:

curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | bash -s -- --rc
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | VERSION=v0.2.1-rc.3 bash