Resync the Carried Instruction Set and Config With the Hub - #922
Merged
Conversation
Migrate AGENTS.md onto the router split, carrying the verbatim Fleet Bootstrap, Context and Delegation, and Where the Rules Live sections, and move the fleet-law sections into a new GOVERNANCE.md with this repo's own Devcontainer and Repository Layout. Carry OPERATIONS.md and host-tools.json, converge CODESTYLE.md on the General plus Skill-pointer shape while keeping this repo's own .NET and Python conventions, and re-vendor the verbatim configs, the github-release job, and the intent files (.editorconfig, .gitattributes, cspell.json, codecov.yml, AUDIT.md, spec/secrets.json, repo-config/README.md, .github/copilot-instructions.md). Retire repo-config/configure.sh, which the hub hosts, and re-point every mention of it.
There was a problem hiding this comment.
Pull request overview
Resyncs PlexCleaner’s carried governance/instruction set and repository configuration files with the fleet hub, adopting the new router split (AGENTS.md → GOVERNANCE.md rule text) and updating local runbooks/specs to match the hub’s current conventions. This is primarily a documentation and configuration alignment change rather than an application behavior change.
Changes:
- Introduces the
GOVERNANCE.mdsplit and updates cross-document pointers accordingly (governance, workflow, architecture, Copilot runbook). - Aligns repo configuration/audit artifacts with the hub approach (unmanaged
bypass_actors, secrets store expectations, hub-hostedconfigure.sh). - Adds operations/runbook documentation and a host tool declaration (
OPERATIONS.md,host-tools.json).
Reviewed changes
Copilot reviewed 19 out of 22 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| WORKFLOW.md | Updates governance references and expands/clarifies publish and configuration-audit guarantees. |
| version.json | Re-indents without changing the version floor or semantics. |
| spec/secrets.json | Aligns secret-store expectations (notably Codecov token in both Actions + Dependabot stores). |
| repo-config/settings.json | Re-indents settings payload (no functional change). |
| repo-config/README.md | Updates guidance to hub-hosted configure.sh and clarifies unmanaged bypass_actors. |
| repo-config/main.json | Removes managed bypass_actors from the committed ruleset payload. |
| repo-config/develop.json | Removes managed bypass_actors from the committed ruleset payload. |
| repo-config/configure.sh | Retires the carried script in favor of the hub-hosted version. |
| OPERATIONS.md | Adds local verification + publish/test runbooks and operational debugging notes. |
| host-tools.json | Declares repo-specific host tool floor (.NET SDK 10.0+). |
| GOVERNANCE.md | Adds the fleet governance rule text as the new cross-cutting authority document. |
| cspell.json | Adds a Mermaid fenced-block ignore regex and expands the vocabulary list. |
| CODESTYLE.md | Converts to the hub’s “general + skill-pointer language sections” shape while preserving PlexCleaner-specific conventions. |
| codecov.yml | Clarifies advisory-only coverage semantics and disables PR comments explicitly. |
| AUDIT.md | Updates self-audit guidance (projects out bypass_actors; requires CODECOV_TOKEN in both secret stores). |
| ARCHITECTURE.md | Updates pointers to the new governance split and workflow contract location. |
| .markdownlint-cli2.jsonc | Comment wording/casing alignment (“Markdown” proper noun). |
| .github/workflows/build-release-task.yml | Comment refactor and safer best-effort artifact deletion loop. |
| .github/copilot-instructions.md | Resyncs Copilot review runbook and updates references to GOVERNANCE.md. |
| .gitattributes | Expands/clarifies LF pins (including forward-declared uv.lock) and documents rationale. |
| .editorconfig | Clarifies CRLF/LF governance and adds explicit pins for extensionless hook + uv.lock. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
ptr727
added a commit
to ptr727/ProjectTemplate
that referenced
this pull request
Aug 15, 2026
…tions.md (#730) Closes #720 Closes #722 Both defects are in `.github/copilot-instructions.md`, which every fleet repo carries whole, so each one reaches every carrier rather than staying in the hub. #722 is the same dead anchor as #720's second item, filed separately from a different downstream pass. **The hub slug (#720 item 1).** The "A Shape Nothing Recognizes Blocks the Loop and Earns an Issue" step named the hub as `ptr727/ProjectTemplate`. The file declares no verbatim section, so the audit's `carried:` check flags that name in any downstream copy, and a byte-faithful carry trips it: `audit.py --branch hub-resync-2026-08-15 PlexCleaner` reported exactly that on ptr727/PlexCleaner#922. The rule's own exception, in `comment-and-doc-style`'s `references/carried-doc-references.md`, is scoped to a verbatim region, so the canonical is what needs fixing rather than the check needing an exception. The step now routes the reader through the `AGENTS.md` "Fleet Bootstrap" section, which is byte-locked and whose whole function is to name the hub, matching the wording PlexCleaner already reworded its copy to. **The dead anchor (#720 item 2, #722).** The Disproved Claims section linked `../GOVERNANCE.md#every-finding-ends-in-an-action`. That heading left `GOVERNANCE.md` when the review-loop contract was packaged as the `pr-review-conduct` Skill (#677), where the rule now reads "Every finding ends in one of five outcomes", so the link resolves nowhere in the hub or in any carrier. It now points at "PR Review Etiquette", the section that routes to that Skill, and names the Skill. A sweep of every relative Markdown anchor in the tree (101 files) found this as the only dead one, so the fix is complete rather than the first of a batch. Prose gate and markdownlint clean on the file.
ptr727
added a commit
to ptr727/ProjectTemplate
that referenced
this pull request
Aug 15, 2026
…-15 Resync (#732) Closes #719 The hub-side half of `RESYNC.md` for the PlexCleaner pass promoted this morning (ptr727/PlexCleaner#922, #923, #924, `main` at `16f196e`). All three checkboxes on the issue. **Report (`reports/plexcleaner/audit.md`).** The committed one was dated 2026-07-04 and described drift that no longer exists. Re-measured at `16f196e` rather than carried forward, so every workflow divergence the old snapshot recorded was re-read: - Two are **closed**: `validate-release` is now a dedicated entry job checking both directions, and the release task deletes its `release-asset-*` transfer artifacts at the point of consumption. - Two still **stand as letter misses** whose intent holds: no `changes` paths-filter (it over-builds and cannot under-build), and a dispatch guard that skips silently rather than failing fast. - Two are **new**: the repo consumes no prose gate, so nothing checks a new line against the fleet prose rules (a whole-tree run reports 772 findings, the fleet remedy being the diff-scoped gate rather than a sweep), and `.gitattributes:29` pins `*.Dockerfile` to LF with no tracked file matching, which fails `repo_gate.py --check eol-coverage`. - `develop` is 0 ahead and 89 behind `main` with **identical trees**, so the count is the promotion-merge artifact rather than the divergence the 2026-07 snapshot reported. Verdict: operational. `spec/audit.py PlexCleaner` reports clean after the ledger settlement below. **Registry.** The branch-hygiene `driftNote` is deleted. The three Dependabot branches it names are gone and the live list holds seven branches beyond `main` and `develop` rather than four, so it describes neither state, and branch hygiene is not a baseline deviation any check scores. Re-snapshotting it would only rot again. The `ARCHITECTURE.md`/`codecov.yml` note and the csharp+python shape note were both re-verified and stand, down to the `RegressionTests/pyproject.toml` holding only ruff and mypy config. `status`, `types`, `publish`, `requiredSecrets`, `consumerModel`, `releaseTrigger`, and `configLayout` are unchanged. **Ledger.** `.github/workflows/publish-release.yml` and `.github/workflows/validate-task.yml` move from `investigate` to `accepted`, settled by reading every cataloged repo's copy on its ground-truth branch rather than by judgment: - The publisher: 18 carry one, 4 do not. Job keys are per-repo (`publish` in 15 of 18, against `create-release`, `publish-pypi`, and an eight-job orchestration), and triggers run from dispatch-only through dispatch plus schedule plus a paths-filtered push. - The validator: 14 carry one, 8 do not, in six distinct job-list shapes, sharing only the `workflow_call` trigger. - No `interface` contract the schema can express fits either, and no `appliesTo` selector separates the carriers from the non-carriers, since `source-only` repos sit on both sides of each. What each file must honor is already declared through `test-pull-request.yml` and `build-release-task.yml`, plus WORKFLOW.md's D-guarantees read by hand. This clears the last standing finding in every repo that carries these two files, so it is worth a second look at review. `reports/divergences.md` is regenerated from the ledger and picks up live fleet state since its last run. **Also.** `reports/conformance-matrix.md` gets the `csharp` + `python` row's first audit date, this being the first run to judge the `python` checks. Verified: `spec/validate.py`, `spec/audit.py --selftest`, `scripts/repo_gate.py`, the whole-tree and diff-scoped prose gates, and markdownlint all pass.
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.
Resync the carried instruction set and configuration with the fleet hub at
main(0e84805), per the hub'sRESYNC.md. Audit run stamp before:2026-08-15T14:13:58Z | hub 0e84805 | branch override develop(36 findings), after:2026-08-15T14:37:39Z | hub 0e84805 | branch override hub-resync-2026-08-15(33 findings, of which 31 arereadme:letters that ship in a separate pull request and 2 are the hub ledger'sinvestigatedispositions onpublish-release.ymlandvalidate-task.yml, which are the hub's to settle).What changed
AGENTS.mdnow carries the intro plus the verbatimFleet Bootstrap,Context and Delegation Discipline, andWhere the Rules Livesections. The fleet-law sections move to a newGOVERNANCE.md, verbatim except for this repo's ownDevcontainerandRepository Layout. Thecarried-instruction-file-guardprobe found no local rule in the oldAGENTS.mdbeyond the intro, the Devcontainer text, and the layout, all of which are carried forward.CODESTYLE.mdconverges on the hub's General plus per-language Skill-pointer shape, and keeps this repo's own conventions underPlexCleaner .NET Conventions(the.NET Formatchain, the Husky.Net gate, theIDE0072/IDE0046gotchas, the root.editorconfigrelaxations, AOT opt-in,InternalsVisibleTo) andPlexCleaner Python Conventions(the lint-onlyRegressionTests/profile). The probe found those as the only local additions.OPERATIONS.md(local verification, publish, Docker test, regression runbooks, logs, tools, config layout) andhost-tools.json(declares the .NET 10 SDK)..markdownlint-cli2.jsonc,repo-config/develop.jsonandmain.json(bypass actors are now unmanaged),repo-config/settings.json, and thegithub-releasejob inbuild-release-task.yml(comment layout and the delete loop, needs list and action pins kept)..editorconfigand.gitattributes(hub wording,uv.lockpin, hub-only path pins left out, this repo's analyzer relaxations kept),cspell.json(mermaid ignore, fleet vocabulary merged),codecov.yml(hub comments,comment: falsekept),AUDIT.mdandspec/secrets.json(bypass_actorsprojected out of the ruleset diff,CODECOV_TOKENclaimed in both stores, which the live stores already hold),repo-config/README.md(hub text),.github/copilot-instructions.md(hub runbook with owner and repo filled, theDisproved Claimsledger carried empty per the keeper skill),WORKFLOW.md(D3.3 and 5D re-pointed, D4.9 build-failure guarantee stated),version.json(reindented only, the version floor is unchanged).repo-config/configure.sh, which the hub hosts, with every mention re-pointed (AUDIT.md,WORKFLOW.md,repo-config/README.md).ARCHITECTURE.mdpointers updated for the split.repo-config/configure.sh check ptr727/PlexCleaner release, run from the hub checkout, reports the live settings and rulesets already match, so noapplywas needed.Not a functional change, so
version.json's floor is not bumped.