Skip to content

Resync the Carried Instruction Set and Config With the Hub - #922

Merged
ptr727 merged 2 commits into
developfrom
hub-resync-2026-08-15
Aug 15, 2026
Merged

Resync the Carried Instruction Set and Config With the Hub#922
ptr727 merged 2 commits into
developfrom
hub-resync-2026-08-15

Conversation

@ptr727

@ptr727 ptr727 commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Resync the carried instruction set and configuration with the fleet hub at main (0e84805), per the hub's RESYNC.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 are readme: letters that ship in a separate pull request and 2 are the hub ledger's investigate dispositions on publish-release.yml and validate-task.yml, which are the hub's to settle).

What changed

  • Instruction set, migrated onto the router split. AGENTS.md now carries the intro plus the verbatim Fleet Bootstrap, Context and Delegation Discipline, and Where the Rules Live sections. The fleet-law sections move to a new GOVERNANCE.md, verbatim except for this repo's own Devcontainer and Repository Layout. The carried-instruction-file-guard probe found no local rule in the old AGENTS.md beyond the intro, the Devcontainer text, and the layout, all of which are carried forward.
  • CODESTYLE.md converges on the hub's General plus per-language Skill-pointer shape, and keeps this repo's own conventions under PlexCleaner .NET Conventions (the .NET Format chain, the Husky.Net gate, the IDE0072 / IDE0046 gotchas, the root .editorconfig relaxations, AOT opt-in, InternalsVisibleTo) and PlexCleaner Python Conventions (the lint-only RegressionTests/ profile). The probe found those as the only local additions.
  • New carried files: OPERATIONS.md (local verification, publish, Docker test, regression runbooks, logs, tools, config layout) and host-tools.json (declares the .NET 10 SDK).
  • Verbatim re-vendors: .markdownlint-cli2.jsonc, repo-config/develop.json and main.json (bypass actors are now unmanaged), repo-config/settings.json, and the github-release job in build-release-task.yml (comment layout and the delete loop, needs list and action pins kept).
  • Intent files reconciled by hand: .editorconfig and .gitattributes (hub wording, uv.lock pin, hub-only path pins left out, this repo's analyzer relaxations kept), cspell.json (mermaid ignore, fleet vocabulary merged), codecov.yml (hub comments, comment: false kept), AUDIT.md and spec/secrets.json (bypass_actors projected out of the ruleset diff, CODECOV_TOKEN claimed 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, the Disproved Claims ledger 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).
  • Retired: repo-config/configure.sh, which the hub hosts, with every mention re-pointed (AUDIT.md, WORKFLOW.md, repo-config/README.md).
  • ARCHITECTURE.md pointers 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 no apply was needed.

Not a functional change, so version.json's floor is not bumped.

ptr727 added 2 commits August 15, 2026 07:35
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.
Copilot AI lite review requested due to automatic review settings August 15, 2026 14:38

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

Resyncs PlexCleaner’s carried governance/instruction set and repository configuration files with the fleet hub, adopting the new router split (AGENTS.mdGOVERNANCE.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.md split 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-hosted configure.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
ptr727 merged commit 06b927b into develop Aug 15, 2026
16 checks passed
@ptr727
ptr727 deleted the hub-resync-2026-08-15 branch August 15, 2026 14:49
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.
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