Skip to content

Documentation versions

Current follows main and is the default. It may describe changes that have not shipped yet. For an installed release, choose its minor version from the header. Each minor version documents its newest published patch: releases 10.2.0 through 10.2.8 share v10.2/, whose content comes from 10.2.8 after that release publishes.

Patch releases update the existing minor documentation without adding another selector entry. Older minor versions remain available.

URL contract

The docs base is https://the-open-engine.github.io/zeroshot/. Resolve these paths against that base, including its /zeroshot/ project prefix:

Relative path Meaning
current/ Current main documentation; the site root redirects here
vX.Y/ Newest published patch within that minor version
versions.json Selector entries: Current and minor versions
current/manifest.json, vX.Y/manifest.json Source identity and logical routes
dev/ Legacy page redirects to Current
stable/ Legacy page redirects to the newest released minor
vX.Y.Z/ Previously published patch pages redirect to their minor version

The selector does not list legacy aliases. Existing patch links retain their page, query string, and fragment, but now show the minor version's newest patch. New releases do not create patch paths.

Build manifest

Manifest schema 2 distinguishes a docs channel from the exact product used to generate its APIs:

{
  "schemaVersion": 2,
  "docsVersion": "v10.2",
  "productVersion": "10.2.8",
  "pythonSdkVersion": "10.2.8.post1",
  "sourceCommit": "FULL_PRODUCT_SOURCE_COMMIT",
  "publisherCommit": "FULL_PUBLICATION_WORKFLOW_COMMIT",
  "routes": {
    "overview": "",
    "runtimePlan": "concepts/runtimes-and-connections/",
    "runControl": "guides/observe-and-control/",
    "cli": "zeroshot-cli/",
    "pythonApi": "reference/python/",
    "clusterApi": "reference/cluster/api/"
  }
}

The example abbreviates routes; builds retain the complete logical route map, including protocol schemas. Values are relative to the selected version root. Current uses docsVersion: current and null product and Python SDK versions; its source commit identifies main at build time.

Publication tools and this version-policy page can come from a newer workflow commit than the product source. publisherCommit records that distinction. Minor pages migrated from the old site retain their original source identity and omit publisherCommit until rebuilt; their existing rendered product content is reused.

Old patch manifests now contain a schema-2 redirect record such as {"schemaVersion": 2, "redirect": "../v10.2/manifest.json"}. This is JSON metadata, not an HTTP redirect: GitHub Pages cannot redirect JSON clients with its HTML redirect pages. Clients that need an exact historical patch manifest must use the site's Git history. Do not treat a minor manifest as proof that the docs match an older patch exactly.

Linking from Zeroshot Cloud

For a deployed product version X.Y.Z, fetch vX.Y/manifest.json and require schema 2. Confirm that productVersion belongs to the deployed major/minor line, then resolve a logical route against vX.Y/. For example, 10.2.3 uses the v10.2 docs, whose manifest may identify 10.2.8. Callers should label this as minor-version documentation and account for features added after their installed patch. Compare source commits only when the documented and deployed product versions match.

If the minor has no docs, offer an explicitly labelled Current link. Current may contain unreleased behavior. Cloud owns instructions for accounts, organization policy, OAuth, GitHub Apps, and capacity; core graph, runtime, CLI, protocol, and SDK material stays here.

Publication and recovery

Every main publication updates Current. After Python SDK revision 1, a product release updates its minor documentation from the exact release tag and commit. A retry cannot replace a newer patch with an older one or substitute a different source for the same product version. Later Python-only revisions do not rebuild product docs.

To retry, run Publish versioned documentation. Omit inputs for Current, or supply the exact vX.Y.Z release and source commit for a minor. The optional stable input maintains the legacy released-docs redirect; it never changes the site's Current default.

The publisher consolidates existing patch snapshots before publishing, retaining the newest patch per minor and replacing old pages with redirects. It stages the complete result before pushing gh-pages and deploying through GitHub Pages Actions. No release tags or binary artifacts change. If a release is the first publication, the publisher first builds Current from main in an isolated checkout, then publishes the requested minor from its release source. Both become visible together.