diff --git a/CHANGELOG.md b/CHANGELOG.md
index e576bb4..1d89d0b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,14 @@ cut and that this clone does not carry.
## [Unreleased]
+## [0.0.62] - 2026-09-04
+
+Installed nddev-builder references name provenance against this
+repository's baseline and the vendor reference. Schema checking is
+described without a script path this clone does not carry.
+Six catalogues are rebound to those bytes. Codex is unchanged: its
+toolkit does not carry those generated references.
+
## [0.0.61] - 2026-09-04
Installed nddev-builder toolkits now name only validation commands
diff --git a/Cargo.lock b/Cargo.lock
index 8d2ec3a..471e888 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -66,7 +66,7 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "harness-runtime"
-version = "0.0.61"
+version = "0.0.62"
dependencies = [
"provider-v3",
"serde",
@@ -128,7 +128,7 @@ dependencies = [
[[package]]
name = "opencode-setup-system"
-version = "0.0.61"
+version = "0.0.62"
dependencies = [
"harness-runtime",
"provider-v3",
@@ -147,7 +147,7 @@ dependencies = [
[[package]]
name = "provider-v3"
-version = "0.0.61"
+version = "0.0.62"
dependencies = [
"serde",
"serde_json",
@@ -209,7 +209,7 @@ dependencies = [
[[package]]
name = "setup-core"
-version = "0.0.61"
+version = "0.0.62"
dependencies = [
"miniz_oxide",
"serde",
diff --git a/Cargo.toml b/Cargo.toml
index f5a1717..076cb3b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -8,7 +8,7 @@ members = [
]
[workspace.package]
-version = "0.0.61"
+version = "0.0.62"
edition = "2024"
rust-version = "1.89"
license = "AGPL-3.0-or-later"
@@ -23,9 +23,9 @@ sha2 = "0.11"
# `setup-core::archive`); an inflate loop is not, because its bugs are
# memory-safety bugs and it is not improved by being hand-written here.
miniz_oxide = "0.9"
-setup-core = { path = "crates/setup-core", version = "0.0.61" }
-provider-v3 = { path = "crates/provider-v3", version = "0.0.61" }
-harness-runtime = { path = "crates/harness-runtime", version = "0.0.61" }
+setup-core = { path = "crates/setup-core", version = "0.0.62" }
+provider-v3 = { path = "crates/provider-v3", version = "0.0.62" }
+harness-runtime = { path = "crates/harness-runtime", version = "0.0.62" }
[workspace.lints.rust]
unsafe_code = "forbid"
diff --git a/README.md b/README.md
index 14fa3b3..e3042d8 100644
--- a/README.md
+++ b/README.md
@@ -179,7 +179,7 @@ release is a convenience, not the authorised copy.
```bash
docker run --rm -v "$HOME/.config:/config" \
- ghcr.io/nddev-opennetwork/opencode-setup-system:0.0.61 \
+ ghcr.io/nddev-opennetwork/opencode-setup-system:0.0.62 \
status --target /config/
--json
```
diff --git a/install.ps1 b/install.ps1
index e21489c..e9c3021 100644
--- a/install.ps1
+++ b/install.ps1
@@ -7,7 +7,7 @@
# powershell -ExecutionPolicy Bypass -File install.ps1 -Version 0.1.0
[CmdletBinding()]
param(
- [string]$Version = "0.0.61",
+ [string]$Version = "0.0.62",
[string]$InstallDir = "$env:LOCALAPPDATA\Programs\opencode-setup-system"
)
$ErrorActionPreference = "Stop"
diff --git a/install.sh b/install.sh
index 5b9f769..86e90fd 100644
--- a/install.sh
+++ b/install.sh
@@ -14,7 +14,7 @@ set -eu
REPO="NDDev-OpenNetwork/opencode-setup-system"
BINARY="opencode-setup-system"
-VERSION="${1:-0.0.61}"
+VERSION="${1:-0.0.62}"
PREFIX="${OPENCODE_INSTALL_DIR:-$HOME/.local/bin}"
case "$(uname -s)" in
diff --git a/references/opencode-baseline.json b/references/opencode-baseline.json
index e72dd72..83d8a7f 100644
--- a/references/opencode-baseline.json
+++ b/references/opencode-baseline.json
@@ -333,7 +333,7 @@
"version": "1.18.27",
"verified_at": "2026-09-03T14:13:03+00:00"
},
- "setup_catalogue_digest": "sha256:867fc17609fd2da2c2787671cead513478a36d0d596acd33a8b07b4600f82eba",
+ "setup_catalogue_digest": "sha256:49c6d48204396412493e4b7c8d2e5463bd50ccda720076a952e16e8b3d089644",
"previous_software_artifacts": {
"command": "opencode",
"shape": "gzip-tar",
diff --git a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-agents.md b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-agents.md
index 66bbfd4..054243b 100644
--- a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-agents.md
+++ b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-agents.md
@@ -1,6 +1,6 @@
# Writing an agent for this harness
-Generated by `tools/build_nddev_builder.py` from the vendor's own reference and from the pinned binary. Do not edit: the next render overwrites it, and the generator is where a correction belongs.
+Generated from the vendor's own reference and the pinned binary. Do not edit: the next render overwrites it, and a correction belongs in the source this file is derived from.
**Where it goes**: `~/.config/opencode/agents/.md`
diff --git a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-commands.md b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-commands.md
index 8362fbf..d18930d 100644
--- a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-commands.md
+++ b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-commands.md
@@ -1,6 +1,6 @@
# Writing a command for this harness
-Generated by `tools/build_nddev_builder.py` from the vendor's own reference and from the pinned binary. Do not edit: the next render overwrites it, and the generator is where a correction belongs.
+Generated from the vendor's own reference and the pinned binary. Do not edit: the next render overwrites it, and a correction belongs in the source this file is derived from.
**Where it goes**: `~/.config/opencode/commands/.md`
diff --git a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-instructions.md b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-instructions.md
index cedb2b9..d7c7dbe 100644
--- a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-instructions.md
+++ b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-instructions.md
@@ -1,7 +1,8 @@
# Writing this harness's instruction file
-Generated by `tools/build_nddev_builder.py` from
-`references/opencode-baseline.json`. Do not edit.
+Generated from `references/opencode-baseline.json`. Do not edit:
+the next render overwrites it, and the baseline is where a correction
+belongs.
## Where it goes
diff --git a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-plugins.md b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-plugins.md
index 117164c..fa37fc9 100644
--- a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-plugins.md
+++ b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-plugins.md
@@ -1,6 +1,6 @@
# Writing a plugin for this harness
-Generated by `tools/build_nddev_builder.py` from the vendor's own reference and from the pinned binary. Do not edit: the next render overwrites it, and the generator is where a correction belongs.
+Generated from the vendor's own reference and the pinned binary. Do not edit: the next render overwrites it, and a correction belongs in the source this file is derived from.
**Where it goes**: `~/.config/opencode/plugins/.ts` or `.js`
diff --git a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-settings.md b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-settings.md
index ce32144..05ad54e 100644
--- a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-settings.md
+++ b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-settings.md
@@ -1,8 +1,8 @@
# Writing this harness's configuration
-Generated by `tools/build_nddev_builder.py` from
-`references/opencode-baseline.json`. Do not edit: the next render
-overwrites it, and the generator is where a correction belongs.
+Generated from `references/opencode-baseline.json`. Do not edit:
+the next render overwrites it, and the baseline is where a correction
+belongs.
## The file
diff --git a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-skills.md b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-skills.md
index c57d931..276dc02 100644
--- a/setups/nddev-builder/home/skills/nddev-builder/references/authoring-skills.md
+++ b/setups/nddev-builder/home/skills/nddev-builder/references/authoring-skills.md
@@ -1,6 +1,6 @@
# Writing a skill for this harness
-Generated by `tools/build_nddev_builder.py` from the vendor's own reference and from the pinned binary. Do not edit: the next render overwrites it, and the generator is where a correction belongs.
+Generated from the vendor's own reference and the pinned binary. Do not edit: the next render overwrites it, and a correction belongs in the source this file is derived from.
**Where it goes**: `~/.config/opencode/skills//SKILL.md`
diff --git a/setups/nddev-builder/home/skills/nddev-builder/references/surfaces.md b/setups/nddev-builder/home/skills/nddev-builder/references/surfaces.md
index 3b0f698..5808d03 100644
--- a/setups/nddev-builder/home/skills/nddev-builder/references/surfaces.md
+++ b/setups/nddev-builder/home/skills/nddev-builder/references/surfaces.md
@@ -1,8 +1,8 @@
# What This Harness Owns
-Generated from `references/opencode-baseline.json` by
-`tools/build_nddev_builder.py`. Do not edit: the next render overwrites
-it, and the baseline is where a correction belongs.
+Generated from `references/opencode-baseline.json`. Do not edit:
+the next render overwrites it, and the baseline is where a correction
+belongs.
Every row below was decided by a source, and the source is named. Where
this file and the binary disagree, the binary is right -- ask it with
@@ -14,7 +14,7 @@ this file and the binary disagree, the binary is right -- ask it with
## The configuration file
`opencode.json` is **jsonc**, and the parser accepts comments.
-The vendor publishes a schema at , and `tools/validate_setup_schemas.py` checks every shipped file that names it.
+The vendor publishes a schema at , and every shipped file that names it is checked against that schema.
**JSONC**, at both spellings -- line comments, block comments and trailing commas are all accepted, and the product's own bundle uses a `jsonc-parser` with `formattingOptions`. Strict JSON is a subset, so what this repository writes is valid; the distinction matters for a file a *person* has edited, which a backup will capture with its comments intact.