v0.4.0
Breaking. The project moved and was renamed. The repository is now
aixgo-dev/code and the product is Aixgo Code. Nothing about how the agent
works changed in this release; every change below is a name.
Migrate each adopter repository in this order, because each step depends on the
one before it:
- Rename
.github/simplycubed.ymlto.github/aixgo.yml, keeping its
contents. Do the rename rather than runninginiton a repo with no config:
initwrites a blank starter, which would silently drop yourgate:,
engine:,attribution:, and everything else you had set. With the renamed
file in place, re-runninginitkeeps your values. - Run
aixgo init --workflow --app-name <your-app>to write the new caller and
self-test workflows under the new names. - Delete the old
.github/workflows/simplycubed.ymlcaller. Nothing deletes it
for you, and left in place it keeps firing on the same mention and label
events: with the old variables still set you get duplicate runs for every
command, and with the variables renamed you get a permanently failing run
next to every real one. - Rename the repository variables and secrets and create the
ax:*labels
listed below. - Finish (or re-label and close out) any issue the agent has in flight before
upgrading. The one-branch, one-pull-request, and one-state-label guards are
keyed to the label prefix, so an issue mid-flight assc:workingon branch
sc/Nis invisible to a v0.4.0 run, which would start over asax/Nwith a
second pull request.
An unmigrated repo does not break; the new CLI reads .github/aixgo.yml, so it
behaves as if it has no config at all and refuses to run.
- Module path.
github.com/simplycubed/codebecomes
github.com/aixgo-dev/code. Install with
go install github.com/aixgo-dev/code/cmd/aixgo@<release-tag>. - Binary.
simplycubedbecomesaixgo. Every subcommand is unchanged:
aixgo init,aixgo preflight,aixgo command,aixgo run,
aixgo address,aixgo version. - Config file.
.github/simplycubed.ymlbecomes.github/aixgo.yml. - Workflows. The reusable workflow is
aixgo-dev/code/.github/workflows/aixgo.yml, andinit --workflowwrites
.github/workflows/aixgo.ymland.github/workflows/aixgo-selftest.yml. - Variables and secrets.
SIMPLYCUBED_GH_APP_CLIENT_ID,
SIMPLYCUBED_GH_APP_PRIVATE_KEY,SIMPLYCUBED_AZURE_OPENAI_ENDPOINT,
SIMPLYCUBED_AZURE_OPENAI_API_KEY,SIMPLYCUBED_GH_APP_LOGIN,
SIMPLYCUBED_DRY_RUN, andSIMPLYCUBED_SANDBOXtake theAIXGO_prefix. A
value read by the old name is not read at all. For the required values that
means a run with only the old names set fails on a missing value rather than
using a stale one. The optional flags are the sharp edge: an exported
SIMPLYCUBED_DRY_RUNorSIMPLYCUBED_SANDBOXis silently ignored, so a
shell that relied on the old dry-run flag performs real writes until the
export is renamed. - App name. The App this repository installs is
aixgo-code. Adopters keep
their own App name;appName:was already per-adopter and is untouched by the
rename. - Label prefix. The default
labelPrefixisax, so the lifecycle is
ax:go,ax:queued,ax:working,ax:review,ax:blocked,ax:done.
Adopt the new labels rather than configuring the old ones back:
labelPrefix: scstill works for CLI-driven runs, but the caller workflow
initwrites triggers on the literalax:go, so an Actions-driven repo set
toscwould applysc:goand silently start nothing. - Scratch paths. The per-run scratch directory is
.aixgo/and the ledger
branch isaixgo/ledger. The ledger starts fresh on the new branch; history
from before the upgrade stays readable on the oldsimplycubed/ledger
branch, which nothing writes to anymore. - Attribution marker. Generated commits and pull requests are marked
Aixgo Code.
Tags before v0.4.0 remain in the repository's history, but their go.mod
still declares the old module path, so they are not installable as
github.com/aixgo-dev/code. To run a pre-move release, install it from
github.com/simplycubed/code at that tag.