Repository navigation
refactor: rename conventions/ to standards/ - #930
Conversation
Pure rename with no content edits, so history follows each file. The path references move in the next commit. Refs: #790 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VcupojYKhHyDni9LuAXBuX
Update the 87 lines in 24 files that named the old conventions/ folder: relative links, absolute blob URLs, prose paths, the trust-path-hold glob, and the eight engineering-standards source keys in distribution/sync-manifest.yml. Destination paths in consumer repositories do not change; consumer-side docs/conventions/ paths and the github-actions-conventions component keep their names. Refs: #790 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VcupojYKhHyDni9LuAXBuX
…ntions-to-standards # Conflicts: # .github/trust-path-hold.json
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-review reviewed No findings. This PR renames
|
|
claude-security-review reviewed No security findings. PR #930 at 229b22a renames Checks that came back clean
critical-findings: 0 |
Refs: melodic-software/standards#790 ## Summary melodic-software/standards renames its `conventions/` folder to `standards/` in [melodic-software/standards#930](melodic-software/standards#930). GitHub does not redirect blob URLs after a folder rename, so links and path citations to the old folder stop resolving once that PR merges. ## Fix Point the branch-naming link in `CONTRIBUTING.md` at `standards/engineering/naming.md`. Merge this after melodic-software/standards#930 merges; before that, the new paths do not exist yet. ## Verification - `standards/engineering/naming.md` exists on the standards rename branch. ## Related - melodic-software/standards#790 (the rename issue) - melodic-software/standards#930 (the rename PR) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01VcupojYKhHyDni9LuAXBuX Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
No related issue: owner-approved request to make pr-pipeline-sandbox a
sync target
## Summary
This adds `melodic-software/pr-pipeline-sandbox` as a standards-sync
target. The sandbox is a public test bed for claude-code-plugins'
PR-pipeline lanes. It already carries hand-copied claude-code-plugins
payloads under `.github/standards/`, and those copies have drifted from
main: runner-policy is at `schemaVersion` 4 with fast-uri 3.1.8, and the
dependabot-policy and github-actions-conventions vocabulary copies are
older than main.
**Merge waits for the owner's App installation grant.** The owner has to
add pr-pipeline-sandbox to the `melodic-standards-sync` installation
(`144867070`) in the UI first, following the github-iac "Standards sync
selected-repository procedure" ("Add an existing organization
repository": approve the manifest change, grant, then merge). Until the
grant exists, the sync's exact-set attestation fails closed by design.
## Fix
- `distribution/sync-manifest.yml`: a new target block between medley
and provisioning.
- Managed: `dependabot-policy`, `github-actions-conventions`,
`managed-files-guard-caller`, `node-runtime`, `runner-policy` and
`trusted-actors`.
- Locally owned: `claude-review-hosted-caller` and
`claude-security-review-hosted-caller`. The sandbox's copies are
pr-review-cli variants with a kill-switch job and hold inputs.
- The lychee non-target note now says the sandbox has no lychee lane,
instead of saying it is not a sync target.
- `components/runner-policy/runner-policy.test.mjs`: records the
sandbox's visibility (`public`) in `TARGET_VISIBILITY`.
- `distribution/README.md`: adds the sandbox to the runner-policy
consumer list.
- `distribution/sync-manifest.test.sh`: changes the target count from 14
to 15 and the runner-policy consumer set from six to seven.
- `components/code-review-rules/README.md`: the `sandbox`-topic skip no
longer says the sandbox is "no convergence target". The filter itself is
unchanged, because the sandbox does not take `review-instructions`.
The first sync would change these files in pr-pipeline-sandbox. Its
blobs were compared byte for byte with the standards sources:
- Already identical: `.node-version`, runner-policy `package.json` and
`repository-policy.schema.json`, github-actions-conventions
`vocabulary.schema.json`, and both trusted-actors files.
- Updated: runner-policy `package-lock.json` (fast-uri 3.1.8 to 3.1.9),
`policy.json` and `policy.schema.json` (schema 4 to 5), and
`runner-policy.mjs`. Also dependabot-policy `policy.json` and
github-actions-conventions `vocabulary.json`.
- Created: `.github/workflows/pr-check-managed-files-hosted.yml`.
The sandbox reads runner-policy only as an npm manifest its lanes
install. It has no `.github/runner-policy.json` and no analyzer gate, so
the schema 5 policy changes no gate result there.
## Verification
- `bash distribution/sync-manifest.sh validate`: Manifest valid: 47
components, 15 targets.
- `bash distribution/sync-manifest.sh plan --targets
melodic-software/pr-pipeline-sandbox`: 13 mappings over the six managed
components. The two locally-owned callers are reported as not modified.
- `harness/shell/run-tests.sh distribution/sync-manifest.test.sh`: pass.
- `harness/shell/run-tests.sh
components/managed-files-guard/managed-files-guard.test.sh`: pass. This
includes the hosted caller's `paths` union, which stays unchanged
because the sandbox's destinations are a subset of claude-code-plugins'.
- `harness/shell/run-tests.sh
components/code-review-rules/code-review-rules.test.sh`: pass.
- `npm run test:runner-policy`: 226 pass, 0 fail.
- All of the above were re-run after merging origin/main (#930).
## Related
- The paired github-iac PR adds the sandbox to the documented
selected-repository set.
- Follow-up in pr-pipeline-sandbox, not done here: the header of its
`.github/workflows/pr-check-managed-files.yml` says "The sandbox is not
a sync-manifest target". That comment becomes stale once this merges.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01VcupojYKhHyDni9LuAXBuX
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Closes #790
Summary
Rename the top-level
conventions/folder tostandards/, so the foldername matches the repository name and the
docs/standards/path everyconsumer already syncs into. The owner approved the rename on 2026-10-15.
Fix
Two commits, so history follows the move:
refactor: move conventions/ to standards/:git mvonly, 56 files,all 100% similarity renames.
refactor: point every reference at standards/: 88 lines in 24 files(87 path references plus the
standards/README.mdheading). Relative links, absoluteblob/main/conventions/...URLs inside themoved files, prose paths in
README.md,AGENTS.md,REVIEW.md,distribution/,docs/and component READMEs, and the eightengineering-standards source keys in
distribution/sync-manifest.yml.After merging main,
.github/trust-path-hold.jsonis gone (ci: remove the trust-path hold caller #931), soits glob edit dropped out with it.
Left unchanged on purpose: consumer-side
docs/conventions/...paths (forexample the commit-convention destination), links into
claude-code-plugins/docs/conventions/, thegithub-actions-conventionscomponent, and every use of "conventions" as an ordinary word.
No workflow, lint config or test in this repository names the old folder,
so none needed an edit (
git grepover every tracked file).Verification
bash distribution/sync-manifest.sh validate:Manifest valid: 47 components, 14 targets, before and after.bash distribution/sync-manifest.sh plan, before (origin/main) and after:the set of (target, mode, destination path) triples is identical, 374
rows. The only plan lines that differ are the eight source paths
(
conventions/engineering/*.mdtostandards/engineering/*.md), oncefor each of the 10 targets that adopt
engineering-standards.paths. Synced files whose text named the old folder now name the new one:
REVIEW.md,docs/standards/README.md, and six of the eightdocs/standards/*.mdfiles (theirblob/main/...URLs).git grep -nP '(?<![\w-])(?<!docs/)conventions/'returns nothing.test:*andlint:*script inpackage.jsonpasses (afternpm ciin the root,
distribution/and each component with a lockfile).harness/shell/run-tests.shover all 41*.test.shfiles: 39 pass.components/go-analysis/go-analysis.test.shandcomponents/ruff/ruff.test.shfail identically on an untouched origin/main checkout (local golangci-lint
2.13.2 against a pinned 2.12.2 and a Go 1.27 export-data mismatch; local
ruff 0.17.0), so they are local toolchain drift, not this change.
Related
Other repositories that cite standards'
conventions/...paths. GitHub doesnot redirect blob URLs after a rename, so each gets a draft PR that lands
after this one merges:
20 lines in 10 files (ADRs 0003 and 0023, five
docs/contracts/*/README.md,docs/migration-playbook.md,docs/plugin-philosophy.md, the attributionaudit rubric).
README.mdandLabelsGrammarTests.cs(3 lines).ADR 0003 (2 blob URLs) and two topic plans (4 lines).
CONTRIBUTING.md(1 blob URL).docs/conventions/progressive-disclosure.md(1 blob URL).Not edited: the historical entry in claude-code-plugins
docs/contracts/upstream-drift/CHANGELOG.md, and dated research notes under.work/in medley and knowledge-corpus. azure-iac has no reference.Synced copies update through the normal sync PRs after merge and need no
hand edit:
REVIEW.mdin 12 targets,docs/standards/*in 10.🤖 Generated with Claude Code
https://claude.ai/code/session_01VcupojYKhHyDni9LuAXBuX