Re-vendor the genericized AGENTS.md verbatim sections#890
Merged
Conversation
The hub genericized the verbatim sections (ProjectTemplate#422): the hub-only 404 links inside them are de-linked to prose, and Operational Repositories is reclassified appliesTo:* so its cross-references resolve everywhere. Re-vendor all 16 verbatim sections byte-for-byte from the current hub main so they match the genericized canonical. Carry Operational Repositories as fleet context (now a universal section), and drop Repository Onboarding and Conformance, which the hub reclassified as hub-only audit machinery a downstream repo never runs. The verbatim text now carries zero relative links to hub-only paths, so the dead-link and dangling-cross-reference route-backs are resolved at the source. Devcontainer and Repository Layout stay as this repo's own intent sections. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates PlexCleaner’s AGENTS.md to re-vendor the hub-canonical verbatim sections so develop aligns with the latest genericized governance text, including carrying the previously missing “Operational Repositories” section and dropping hub-only onboarding/conformance content.
Changes:
- Re-vendor verbatim
AGENTS.mdsections to match the updated hub canonical (removing hub-only markdown links). - Add/carry the
## Operational Repositoriessection so cross-references resolve. - Remove the
## Repository Onboarding and Conformancesection per the updated section model.
Comments suppressed due to low confidence (3)
AGENTS.md:51
- This line refers to
catalog/snippets/workflows/run-codegen-pull-request-task.yml, but there is nocatalog/directory in this repo. Even without a markdown link, it reads like a repo-local path and is confusing; consider describing the codegen workflow generically without a hard-coded relative path.
- **Bots (Dependabot and codegen) target both `main` and `develop` in parallel.** [`.github/dependabot.yml`](./.github/dependabot.yml) duplicates every ecosystem entry (one per branch) and `catalog/snippets/workflows/run-codegen-pull-request-task.yml` runs as a matrix over both branches with branch names `codegen-main` and `codegen-develop`. Each branch absorbs its own bot PRs independently, so neither falls behind, and the forward-only rule still holds (nothing is back-merged from main to develop - both branches receive their updates directly). The merge-bot ([`.github/workflows/merge-bot-pull-request.yml`](./.github/workflows/merge-bot-pull-request.yml)) dispatches `--squash` or `--merge` from each PR's base ref via a `case` statement so the form matches the ruleset on either base. Dependabot **security** PRs (CVE-driven) always open against the repo default branch (`main`) regardless of `target-branch` - the same `case` statement covers them. The merge-bot auto-merges **every** Dependabot tier including semver-major (no ecosystem or update-type guard): the required CI checks are the gate, not the bump magnitude, so a major that breaks the build fails its checks and never merges.
AGENTS.md:176
- This paragraph mentions "catalog snippet workflows in
catalog/snippets/workflows/*", but this repo has nocatalog/directory. Since the PR goal is to de-link hub-only paths, consider removing this repo-local-looking path reference so the guidance reads correctly in downstream repos too.
- **Choosing an ending for a new file type:** CRLF is the **default** - cross-platform editors on Windows produce it, and it is harmless on Linux for everything except shell. Use LF only when the type **requires** it or CRLF **breaks how it is consumed**: executable scripts/shebangs (`*.sh`, s6, husky), Dockerfiles (CRLF breaks `RUN` heredocs/continuations), and tool-owned formats with a native LF ending (KiCad). **Non-workflow YAML stays CRLF** - GitHub Actions' parser tolerates it (a repo that also runs yamllint sets `new-lines: disable` to defer to `.editorconfig`). **Workflow YAML (`.github/workflows/*.{yml,yaml}`) is pinned LF** in `.editorconfig` - Dependabot and Actions rewrite it with LF, so declaring LF keeps it consistent instead of mixed on every bump. This (and the catalog snippet workflows in `catalog/snippets/workflows/*`, pinned LF the same way) is an LF class **not** backed by a `.gitattributes` pin: git keeps `* -text` (no normalization), and CI's `editorconfig-checker` (EOL-only) catches a mismatch instead. Distinguish where a file is *consumed* from where it is *edited*: consumption on Linux alone does not force LF. A config or pattern file consumed by a Linux tool stays CRLF when the tool tolerates a trailing CR: `.dockerignore` and `.gitignore` are CRLF (their parsers strip the CR), and only a *Dockerfile* - interpreted, where a CR breaks `RUN` heredocs and line continuations - is LF.
AGENTS.md:342
- This line says "The catalog holds the full set...:
catalog/snippets/vscode/", but this repository has nocatalog/directory. That makes the guidance read like it is pointing at a repo-local path that doesn't exist; consider removing the path and keeping the statement generic.
- The `.code-workspace` file carries the shared editor settings and the recommended-extension set. **All VS Code settings and extension recommendations live only here, never in a standalone `.vscode/settings.json` or `.vscode/extensions.json`** (`.vscode/` holds only `tasks.json` and `launch.json`). A **standard set** of extensions applies to every repo (markdownlint, cspell, editorconfig, markdown-all-in-one, better-todo-tree, github-actions, actionlint, shellcheck, claude-code); **language-specific** extensions are added per project (.NET: csdevkit, csharpier; Python: python, pylance, ruff, mypy; Docker: the Docker extension). The catalog holds the full set and per-language additions: `catalog/snippets/vscode/`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follows the hub's dispositions on #880 (ProjectTemplate#422/#423, now on
main@e83288e). The hub fixed the verbatim sweep's defects at the source; this re-vendors the genericized sections sodevelopmatches the new canonical.What changed and why
main. Bump the nuget-deps group with 2 updates #422 de-linked the hub-only paths inside them (the reference stays as prose, the dead./registry/...,./catalog/...,./STANDUP.md, etc. link is dropped), so my Byte-match AGENTS.md to the canonical section-fidelity model #889 copies now read as stale against the canonical. Verified all 16 byte-match with the audit's own extract + EOL/action-pin normalization.appliesTo: *, so the three cross-references to it (Foundational Principles, Branching Model, Release Model) now resolve in every repo. This release repo carries it as fleet context.The three route-backs, resolved at the source
verbatimJobsgithub-release byte-match (route-back A): fixed hub-side -normalize()masks a job's ownedneeds:, so the mandatory prune no longer reads as a modification. Ourbuild-release-task.ymlalready prunesgithub-release'sneedsto the vendored jobs, so it byte-matches as-is; no change needed here.Description consistency (#423) - already satisfied, no change
The new rule (README H1 = repo name; intro a link-free <=100-char sentence matching the GitHub About and Docker Hub short descriptions) already holds:
# PlexCleaner, introUtility to optimize media files for Direct Play in Plex, Emby, Jellyfin, etc.(77 chars, link-free)Docker/README.mdis already reference-style (converted in phase 1).Devcontainer (route-back D) - kept
Per the hub, a repo documents its own devcontainer situation including "none", so the honest section stays.
Verification
16 verbatim sections confirmed byte-identical to hub
main; 0 broken relative links; Repository Onboarding removed with no dangling references anywhere in the repo. markdownlint-cli2, editorconfig-checker, cspell (README/HISTORY), husky pre-commit gate all clean. AGENTS.md ASCII + CRLF. No C# changed.