# Bundle update log

## 2026-09-18

* **Update**: Made the bundle directly consumable by AI agents, following the conventions of the [UNM CARC documentation](https://unm-carc.github.io/docs/about/ai-agents/){target=_blank}. `docs/llms.txt` (a linked outline built from the site nav, listing each page's Markdown twin and raw GitHub source) and `docs/llms-full.txt` (the whole corpus with frontmatter, links made absolute) are generated by `scripts/gen_llms_txt.py`. After each build, `scripts/postbuild_agent_surface.py` serves every page's Markdown at its URL plus `index.md`; adds a "View this page as Markdown" button, a "Machine-readable versions" line, and `okf:*` meta tags (type, status, trust tier, generated) to every page; and writes `robots.txt`. The site footer links `llms.txt`, `llms-full.txt`, and the agent guide. CI now runs `scripts/okf_validate.py`, fails if the committed llms.txt files are out of date, and validates and trial-builds pull requests.
* **Creation**: Added an [About](https://docs.cyverse.org/about/) section with [For AI agents](https://docs.cyverse.org/about/ai-agents/) (entry points, the raw-source fallback, reading OKF trust signals) and [Contributing to these docs](https://docs.cyverse.org/about/contributing/); moved the about page to [about/overview.md](https://docs.cyverse.org/about/overview/). Added repository `AGENTS.md` and `CLAUDE.md` for coding agents.
* **Correction**: Theme features in `zensical.toml` were declared as a table, which Zensical ignores, so navigation tabs and the edit and view-source buttons were not rendering; they are now a list. `site_url` now points at `https://docs.cyverse.org/`, the domain named in `CNAME`.

## 2026-07-29

* **Migration**: Converted the bundle to [Open Knowledge Format](https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md) v0.2. Every concept document now carries YAML frontmatter with `type`, `title`, `description`, `tags`, `status`, and `generated`; every directory has an `index.md` listing; provenance is recorded in `sources`.
* **Reorganization**: Restructured the bundle in CyVerse deployment order. `deployments/`, `database/`, `guides/`, and `services/` were replaced by [architecture/](https://docs.cyverse.org/architecture), [platform/](https://docs.cyverse.org/platform), [deployment/](https://docs.cyverse.org/deployment) (phases 1 through 7), [operations/](https://docs.cyverse.org/operations), [api/](https://docs.cyverse.org/api), and [references/](https://docs.cyverse.org/references).
* **Creation**: Added [Deploying CyVerse from scratch](https://docs.cyverse.org/deployment/from-scratch/), an end-to-end runbook for a two-node deployment, derived from an anonymized [pilot deployment record](https://docs.cyverse.org/references/pilot-deployment-record/).
* **Creation**: Added [component inventory and sizing](https://docs.cyverse.org/architecture/component-inventory/) and [network requirements](https://docs.cyverse.org/architecture/network-requirements/), which previously existed only in internal notes.
* **Creation**: Documented deployment steps that had no coverage: [HAProxy](https://docs.cyverse.org/deployment/01-foundation/haproxy/), [iRODS catalog provider](https://docs.cyverse.org/deployment/03-data-store/irods-provider/), [DE integration](https://docs.cyverse.org/deployment/03-data-store/de-integration/), [iCAT database](https://docs.cyverse.org/deployment/02-databases/icat/), [database migrations](https://docs.cyverse.org/deployment/02-databases/migrations/), [cert-manager](https://docs.cyverse.org/deployment/04-kubernetes/cert-manager/), [Harbor](https://docs.cyverse.org/deployment/04-kubernetes/harbor/), [Argo](https://docs.cyverse.org/deployment/04-kubernetes/argo/), [OpenLDAP](https://docs.cyverse.org/deployment/05-core-services/openldap/), [OpenSearch](https://docs.cyverse.org/deployment/05-core-services/opensearch/), [NATS](https://docs.cyverse.org/deployment/05-core-services/nats/), [bootstrap](https://docs.cyverse.org/deployment/07-post-install/bootstrap/), [verification](https://docs.cyverse.org/deployment/07-post-install/verification/), and [troubleshooting](https://docs.cyverse.org/deployment/07-post-install/troubleshooting/).
* **Deduplication**: Merged `exim4.md` and `local-exim.md` into [mail](https://docs.cyverse.org/deployment/05-core-services/mail/); folded `services_overview.md` and `deployment_overview.md` into directory indexes; folded `guides/setup/ansible.md` into [Ansible](https://docs.cyverse.org/deployment/planning/ansible/) and `guides/setup/database.md` into [migrations](https://docs.cyverse.org/deployment/02-databases/migrations/); removed the duplicated golang-migrate procedure from each database document and the duplicated database list and deployment-order list that appeared in three places.
* **Correction**: Fixed the deployment order in the prerequisites document, which placed databases after the services that depend on them.
* **Correction**: rsyslog snippet path (`/etc/rsyslog.d/`, not `/etc/rsyslog/`); `dirname` rather than `basename` for the kubeconfig directory; `helm -n prod uninstall nats`; VRRP recorded as IP protocol 112 rather than a TCP port; QMS extensions created in `qms` rather than `de`; recomputed the sizing totals and noted the 100 TB / 110 TB discrepancy in the source.
* **Correction**: Fixed the `zensical.toml` theme name, which pointed at an uninstallable theme and failed the docs build, and the `extra_css` path, which named a stylesheet that does not exist.
* **Update**: Marked [Elasticsearch](https://docs.cyverse.org/deployment/05-core-services/elasticsearch/) deprecated in favor of OpenSearch, and ingress-nginx transitional in favor of Traefik. Replaced site-specific hostnames, DNs, zone names, and credentials throughout with placeholders.
* **Update**: Replaced the `XXX` placeholders in [system overview](https://docs.cyverse.org/architecture/system-overview/) with the values that are known and explicit dashes where an aggregate is not tracked.

*Changes before this date are recorded in the repository's git history.*
