# 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](about/index.md) section with [For AI agents](about/ai-agents.md) (entry points, the raw-source fallback, reading OKF trust signals) and [Contributing to these docs](about/contributing.md); moved the about page to [about/overview.md](about/overview.md). 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/](architecture/), [platform/](platform/), [deployment/](deployment/) (phases 1 through 7), [operations/](operations/), [api/](api/), and [references/](references/). * **Creation**: Added [Deploying CyVerse from scratch](deployment/from-scratch.md), an end-to-end runbook for a two-node deployment, derived from an anonymized [pilot deployment record](references/pilot-deployment-record.md). * **Creation**: Added [component inventory and sizing](architecture/component-inventory.md) and [network requirements](architecture/network-requirements.md), which previously existed only in internal notes. * **Creation**: Documented deployment steps that had no coverage: [HAProxy](deployment/01-foundation/haproxy.md), [iRODS catalog provider](deployment/03-data-store/irods-provider.md), [DE integration](deployment/03-data-store/de-integration.md), [iCAT database](deployment/02-databases/icat.md), [database migrations](deployment/02-databases/migrations.md), [cert-manager](deployment/04-kubernetes/cert-manager.md), [Harbor](deployment/04-kubernetes/harbor.md), [Argo](deployment/04-kubernetes/argo.md), [OpenLDAP](deployment/05-core-services/openldap.md), [OpenSearch](deployment/05-core-services/opensearch.md), [NATS](deployment/05-core-services/nats.md), [bootstrap](deployment/07-post-install/bootstrap.md), [verification](deployment/07-post-install/verification.md), and [troubleshooting](deployment/07-post-install/troubleshooting.md). * **Deduplication**: Merged `exim4.md` and `local-exim.md` into [mail](deployment/05-core-services/mail.md); folded `services_overview.md` and `deployment_overview.md` into directory indexes; folded `guides/setup/ansible.md` into [Ansible](deployment/planning/ansible.md) and `guides/setup/database.md` into [migrations](deployment/02-databases/migrations.md); 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](deployment/05-core-services/elasticsearch.md) 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](architecture/system-overview.md) 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.*