Skip to content

Re-vendor the genericized AGENTS.md verbatim sections#890

Merged
ptr727 merged 1 commit into
developfrom
feature/880-agents-revendor-genericized
Jul 24, 2026
Merged

Re-vendor the genericized AGENTS.md verbatim sections#890
ptr727 merged 1 commit into
developfrom
feature/880-agents-revendor-genericized

Conversation

@ptr727

@ptr727 ptr727 commented Jul 24, 2026

Copy link
Copy Markdown
Owner

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 so develop matches the new canonical.

What changed and why

  • Re-vendored all 16 verbatim sections byte-for-byte from the current hub 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.
  • Carry Operational Repositories (route-back B fix). The hub reclassified it 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.
  • Removed Repository Onboarding and Conformance. The hub reclassified it as hub-only audit machinery a downstream repo never runs, so it is no longer a declared carried section. No repo content referenced it.

The three route-backs, resolved at the source

  • Dead hub-only links (was 16 here): now zero relative links to non-existent paths in AGENTS.md. The verbatim text no longer contradicts its own Documentation Style Conventions "no coordination references" rule.
  • "Operational Repositories" dangling cross-references: now resolve - the section is carried.
  • verbatimJobs github-release byte-match (route-back A): fixed hub-side - normalize() masks a job's owned needs:, so the mandatory prune no longer reads as a modification. Our build-release-task.yml already prunes github-release's needs to 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:

  • H1 # PlexCleaner, intro Utility to optimize media files for Direct Play in Plex, Emby, Jellyfin, etc. (77 chars, link-free)
  • GitHub About: identical. Docker Hub short description: identical. Docker/README.md is 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.

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>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.md sections to match the updated hub canonical (removing hub-only markdown links).
  • Add/carry the ## Operational Repositories section so cross-references resolve.
  • Remove the ## Repository Onboarding and Conformance section 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 no catalog/ 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 no catalog/ 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 no catalog/ 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/`.

Comment thread AGENTS.md
@ptr727
ptr727 merged commit 2a57a76 into develop Jul 24, 2026
16 checks passed
@ptr727
ptr727 deleted the feature/880-agents-revendor-genericized branch July 24, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants