What the upgrade does, and what it leaves alone
jig upgrade copies from the Jig on your machine. It replaces the files Jig installed and you did
not edit, removes the ones Jig no longer ships unless you edited them, and keeps and reports
everything else. Review the diff and commit it.
Three things it will not do, and none of them are oversights.
It does not edit .ai/config.yaml. That file belongs to your team, and nothing but a person
edits it. A key your file does not mention takes its default, so a config written for an older
version keeps working — which is also the trap, because that file is the only place anyone ever
sees which settings exist. So the upgrade reports the gap instead of closing it. At the end of a
real run (not a dry run) it prints a line like:
npm install, composer install, a virtual environment, or whatever your project uses.
It does not claim a region of a file your project already had. Jig keeps the section between
<!-- jig:begin --> and <!-- jig:end --> in your AGENTS.md current — but only for a project
whose manifest records that Jig may. That record is written by jig init, on markers you agreed
to, and the first time Jig takes over part of a file you wrote is a moment that belongs to you
rather than to a command that ran while you were making coffee.
From 0.15 to 0.16
This release has three steps that only you can take. None of them happens automatically, and the first two change whether Jig keeps working the way you expect. See the changelog for everything else in the release.1
Run the jig-init skill, so upgrades can reach your AGENTS.md
Ask your agent to run the
jig-init skill. It adds the markers and records Jig’s claim to that
section, with your consent, and from then on improvements to Jig’s own instructions arrive with
each upgrade.Adding the markers by hand does not do it: without the recorded claim, jig upgrade
reports keep-unmarked AGENTS.md and changes nothing, however well-formed your markers are.If your Jig section has also drifted from Jig’s own text, markers alone are still not enough —
no claim gets recorded, and the upgrade reports keep-modified instead. Reconcile the text
first, against .ai/templates/AGENTS.md, and then mark it.2
Install the tools your project's checks need
jig verify used to answer ok when a profile for your stack was active and every one of its
checks had been skipped for a missing tool. It now refuses — exit 3, nothing was checked, so
this is not a pass — and jig task ship will not ship on it.jig verify --list shows which profiles are installed; install what they need. If your project
is covered by no profile at all, nothing changes for you: Jig says so plainly and does not
block you, because there is nothing you could install to resolve it.3
If you wrote a profile that checks nothing by design, say so
A profile that asserts nothing about the code — one that exists to carry shared setup, say —
needs
verifies: nothing in its profile.yaml. Absence means the profile claims it verifies
something, which is the cautious default: without the line, the day its tool goes missing it
refuses rather than quietly reporting that nothing checks your project.This applies only to profiles you wrote yourself. Every profile Jig ships already declares it.Checking that it took
Three commands answer it, and you do not need to remember which does what — runjig doctor first
and follow what it says.
warn reading Jig section in AGENTS.md is not marked, so upgrades cannot reach it means step
one is still outstanding. One reading no Jig section in AGENTS.md means Jig’s instructions never
reached your agent at all, which is worth fixing before anything else.
One line deserves a second look because it is reported as ok rather than a warning:
.ai/templates/AGENTS.md.
nothing was checked, so this is not a pass
with exit 3 means tools are still missing. nothing here checks this project with exit 0 means no
profile covers your stack — not something an upgrade can fix, and not something that blocks you.
Run jig verify --explain first if you want to see what a run will expand to before spending the
time on it.