OPERATIONS
Updating Tico
A company update can affect the server, runner, bot repositories, and optional desktop shell. They do not yet upgrade as one automatic unit.
This procedure is for an authorized, reviewed company package. There is no public release channel yet. For an external pilot, keep runner self-update off unless its Git upstream is that company’s approved release channel.
What happens automatically today
| Part | Current behavior |
|---|---|
| Bot repositories | The runner fast-forwards a clean bot checkout before a turn. A dirty or diverged checkout needs an operator. |
| Mac runner | When enabled under launchd, it checks its clean checkout for upstream changes and can restart while idle. Dependency changes still need an operator. |
| Web interface | The server serves the page. Updating that server release updates the page users load. |
| Desktop shell | A hosted, signed build can update itself when its company-specific channel is configured. A local build needs a rebuild when shell code changes. |
Safe local pilot update
- Wait for bot turns to finish. Record the current commit and the output of
scripts/tico -e pilot statusandscripts/tico -e pilot server status. - Stop the runner and local API. Stop any optional processing jobs this company installed.
- Make a protected backup of the company environment and workspace, including its database, blobs, bot repositories, and secrets. Keep these out of shared drives and source control.
- Fast-forward the reviewed pilot release in a clean checkout. Install the pinned dependencies for that release.
- Install the API job and runner job from the new release. Check server status, doctor, and runner status.
- Sign in, read an existing task, and complete a synthetic task with an active bot. Keep the previous code and backup until this passes.
scripts/tico -e pilot uninstall bot
scripts/tico -e pilot server stop
# Back up the environment and workspace before moving source.
# Fast-forward only to the approved company release.
runtime/runner-venv/bin/python -m pip install -r backend/requirements.txt
scripts/tico -e pilot server install
scripts/tico -e pilot install bot
scripts/tico -e pilot server status
scripts/tico -e pilot doctor
scripts/tico -e pilot status
Do not use scripts/tico -e pilot update as the entire update procedure: it updates runner services but does not restart the local API and install changed dependencies as one transaction. There is no automatic local rollback command. If an update fails, restore a matching code and database/blob backup together under an operator’s review.
For hosted companies
The current TIDY deployment workflow targets TIDY infrastructure. Another company needs its own reviewed release channel, persistent backups, identity proxy, and server deployment process. Update its Mac runner separately. Fully unattended external-company updates require a signed release package, compatibility checks, backup and restore gates, and a controlled server/runner switch.