1.2.0 · In development · Unpublished

1.2.0 development guide

Prepare a repository, understand review and recovery, and plan migration before release.

1.2.0 · In development · Unpublished

This draft describes the 1.2.0 development contract. It does not establish a published package, download, channel or completed qualification. Stable installation remains 1.1.4; source-only behavior requires a prepared current development executable.

Search this development draft

Development quickstart

Start with an already prepared development executable. These examples are reference syntax, not a 1.2.0 installation recipe. Check its identity and help before using development commands; a version string alone does not prove its source features.

ait --version
ait init --help
ait team contacts --help

In the repository you intend to change, initialize once, inspect the returned bootstrap status and read the generated AGENTS.md:

cd <your-repository>
ait init
ait team contacts --json

Fresh init enables Teams and attempts PM Newton preparation. A supported agent host and any offered activation still matter. Existing-repository init preserves its Teams setting. Use the configuration and session references above for explicit enable/disable and pending setup.

Tell your coding agent the desired outcome, limits and acceptance criteria. Session preparation starts no work. The PM separately assigns scope, the sprint card and independent Reviewer. Follow the generated repository route; review .aitignore in the returned Task edit root before the first build/test or Snapshot capture. AIT does not import .gitignore.

Readiness, review and finish

Local and Remote are separate operation scopes. Teams and sprint binding select neither scope. In a sprint-on repository, Task start uses an exact open card item, syncs it and returns the edit root:

ait task start --from docs/sprints/example.md#example/item --intent "Implement the agreed result" --local

The card and exact item must already exist. Work only in the returned edit root, run relevant checks, then freeze a Snapshot for the independent Reviewer. Initial work needs no Change. For Local closeout the Reviewer uses ait task finish <TASK_ID> --local when clean; dirty work needs --message "<message>". Successful native finish establishes apply, completion, cleanup and exact bound-item closeout.

For Remote preparation, <REMOTE> is the assigned remote name and <TASK_ID> the owning Task. These are syntax examples, not commands to run against this website draft:

ait workflow ready <TASK_ID> --remote <REMOTE>
ait workflow ready <TASK_ID> --apply --remote <REMOTE>
ait workflow finish <TASK_ID> --apply --remote <REMOTE>

Ready without --apply inspects readiness. Explicit apply prepares the candidate and advances actual CI. Preserve the returned Repository, package hash/Job and base/final Snapshot identity; formal candidates use their exact Patchset identity. Never invent a formal Patchset from a package response. Required real CI, independent code review, Task approval and mandatory Policy must precede guarded finish. The assigned Reviewer owns finish. Manual --tests pass does not supply CI evidence. A pending/stopped result, even with exit zero, is not completion.

Resume and Server restart

SituationRequired behavior
Only the CLI exits; Server execution remains validResume the original candidate and Job with its original mode and identity. Changed current defaults do not redefine the sealed candidate.
Actual Server restart before formal acceptanceRecover existing native transactions first to determine commit/rollback. Invalidate unfinished execution, stop old Runner/download use, and clean only unused owned CI resources or report pending cleanup. Preserve the only usable sealed source.
Admitted original-pin reprepareUse existing ready apply and its original complete --expected-identity <path>/operation context. Validate the returned new Job, same sealed content/base/revision and original mode. Run new real CI and required independent review/governance. Reject stale identities, leases and results; invalidated approval cannot be reused.
Formal acceptance committed; response lostVerify matching original acceptance and retry its unfinished closeout. Preserve original IDs, acceptance and one apply, without a new Job, CI, review or duplicate apply.

An unpinned fresh ready cannot promise the old seal. Read-only status and finish do not perform reset/reprepare. Unknown, missing or contradictory evidence must stop recovery. Actual preformal Server reset has no same-Job persistence guarantee; CLI-only resume is a different case. This is the required contract, not a claim that the integrated restart/platform gates have passed.

Retirement and migration

The planned public 1.2.0 family excludes the chat-integration ait-agent and ait-agent-worker binaries. Their source, tests, licenses and history remain. Agent Teams and core Python/Node bindings remain supported. Retained legacy chat binding facades report explicit retirement through their existing error channels; they do not provide working chat support.

Before an upgrade, inspect the actual prior package inventory and let its native channel own upgrade/uninstall. Inspected 1.1.4 Homebrew, APT and WinGet packages own ait, ait-server and ait-runner; PyPI owns its CLI/server/binding and npm its command/binding. Historical source lists do not prove a channel installed retired chat files.

Only an actually package-owned retired file may be removed through that channel's existing ownership rules. Preserve configuration and user data. Raw GitHub archives and manual installations have no package receipt authorizing arbitrary removal: preserve those files and distinguish their command origins from the selected candidate. Never delete by basename or sweep PATH. Side-by-side archive checks do not prove native package upgrade coverage.

Release notes draft · 1.2.0 unpublished

These are development changes and requirements. Required Community/security, native six-platform, language, concurrent-agent, install/upgrade, binding and release-channel gates still need actual candidate-bound results. Personal-only protocol/current-legacy/UI acceptance is deferred for this run; that does not establish public Personal support. Earlier 1.1.4 results and archived manuals qualify only their original bytes. No 1.2.0 qualification, publication or stable/latest promotion is established.

Authority and version boundary

This local draft follows Core’s reviewed Agent Teams, init, config, Task and workflow references, and Native’s current distribution and release SOP. Those development changes are not yet a published manual. The dated 1.1.4 distribution source supports the stable baseline only. Archived technical manuals and PDFs retain their original version and evidence.