Skip to main content

How these docs stay current

Some pages on this site are written by hand. Others are generated from the OfficeLabs source code and services, so that what you read matches what the app does. Generated pages say so at the top and must not be edited by hand.

What is generated​

PageGenerated from
Models and one page per modelThe OfficeLabs model catalogue: the list of models the service offers, with their context window and capabilities
Agent tools and the Capabilities page of each applicationThe tool definitions inside the assistant
Skills reference and Shipped skillsThe skill files that ship with the app
Config keysThe launcher and installer sources
APIThe service's URL configuration
ChangelogPublished app releases

How a refresh works​

One script, scripts/sync-reference.py in the docs repository, reads those sources and rewrites the generated pages. It is deterministic: no AI writes these pages, the same sources always produce the same text, and running it twice changes nothing. The output is committed, so every change to a generated page goes through review like any other change to the site.

For models, the script reads the catalogue as the service publishes it to the app, and keeps only the public facts: the model's name, who makes it, its context window, the longest answer it can give, and whether it reads images and uses the document tools. It never publishes per-token rates or which company serves a model. A safety check stops the run if one of those would reach a page.

The short descriptions of what each model is good at are written by hand and kept next to the script, so a catalogue refresh never overwrites them.

When a refresh runs​

A refresh runs in two situations:

  • Weekly. A scheduled run regenerates the pages every Monday morning.
  • On request. Anyone with access to the docs repository can start a run by hand.

The docs repository can also start a refresh when a source repository signals that the assistant's tools, the skill files, the launcher configuration, the model catalogue or a published release changed. No source repository sends that signal yet.

The scheduled run works once GitHub Actions are enabled for the organisation. Until then the same refresh is run by hand with python3 scripts/sync-reference.py.

Either way, a refresh never publishes by itself: it opens a change for review.

Checking for stale pages​

Every build of this site runs a quick check that compares the generated pages with what the sources would produce today. If a page is out of date, the build prints a warning that names the pages and tells you to run the refresh. If the source repositories are not available on the machine doing the build, the check says so and moves on.

The check only reads. It never changes a page, and it never blocks a deploy: a stale page is something to fix, not a reason to take the site down.