Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Promote the Carried Reference to the Hub-Hosted Script by ptr727 · Pull Request #658 · ptr727/ProjectTemplate · GitHub
Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Promote the Carried Reference to the Hub-Hosted Script by ptr727 · Pull Request #658 · ptr727/ProjectTemplate · GitHub
Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Promote the Carried Reference to the Hub-Hosted Script by ptr727 · Pull Request #658 · ptr727/ProjectTemplate · GitHub
Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Promote the Carried Reference to the Hub-Hosted Script by ptr727 · Pull Request #658 · ptr727/ProjectTemplate · GitHub
Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Promote the Carried Reference to the Hub-Hosted Script by ptr727 · Pull Request #658 · ptr727/ProjectTemplate · GitHub
Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Promote the Carried Reference to the Hub-Hosted Script by ptr727 · Pull Request #658 · ptr727/ProjectTemplate · GitHub
Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Promote the Carried Reference to the Hub-Hosted Script by ptr727 · Pull Request #658 · ptr727/ProjectTemplate · GitHub
Skip to content

Promote the Carried Reference to the Hub-Hosted Script - #658

Merged
ptr727 merged 1 commit into
mainfrom
develop
Aug 10, 2026
Merged

Promote the Carried Reference to the Hub-Hosted Script#658
ptr727 merged 1 commit into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

One squash: #657 at 7bc6978.

Merge with a merge commit, never a squash, and never with --delete-branch — this PR's head isdevelop.

Why it wants promoting rather than waiting

It corrects two verbatimGOVERNANCE.md sections that cite repo-config/configure.sh as a repo-local path. Those sections are byte-locked, so until this reaches main:

  • All 22 repositories carry rule text pointing at a file none of them has, including a dead relative inline link in Branching Model.
  • Any repository re-vendoring its instruction set copies the wrong text down and needs a second re-vendor afterwards.

The second point is live rather than theoretical. A Blog resync is committed on an unpushed branch, holding for this: its 12 re-vendored sections include both of the ones this PR corrects, so promoting first means Blog re-vendors once instead of twice.

Fleet consequence, stated plainly

This makes every downstream copy of those two sections stale, which is the mechanism working rather than a regression. They were already stale in most repositories, and the ones that were current become one re-vendor behind.

Verification

Checked mechanically rather than by eye: zero repo-relative pointers to configure.sh remain in any verbatim section of GOVERNANCE.md, walking the fidelity declarations in spec/files.json rather than a hand list of names. prose_lint, markdownlint-cli2, editorconfig-checker clean. The review on #657 was bound to its head commit and described both edits accurately.

🤖 Generated with Claude Code

A fleet-wide defect that **no downstream repository can fix**, so it is
the hub's to sweep for the whole class at once.
## Problem
Two `verbatim` `GOVERNANCE.md` sections cite `repo-config/configure.sh`
as though the reader had a copy:
| Section | Form |
|---|---|
| `Branching Model` | A repo-relative **inline link**,
`[configure.sh](./repo-config/configure.sh)` |
| `Repository Boundaries and Write Safety` | The bare path, as the
**worked example** of when suppressing a write's stdout is legitimate |
Both sections are byte-locked fleet-wide, so **all 22 repositories carry
those exact words**. The file was retired from the manifest and carries
a `retire` disposition in `spec/divergences.json`, so **none of them
carries it.** The link resolves nowhere and the example cannot be
opened.
A downstream repository cannot correct this: editing a verbatim section
is what the fidelity check exists to prevent. This file's own
`Documentation Style Conventions` rule says so directly, that a review
finding against carried rule text is fixed at the hub for the whole
class and re-vendored.
## The correct form was already written down
`Hub-Hosted Tooling` states it: *"A tool named in a carried rule is
therefore named as the hub's, since the alternative is a pointer to a
path the reader does not have."* Both mentions now follow that.
`Branching Model` additionally says the script runs **from a hub
checkout against the repository named on its command line**, which is
the invocation a reader actually needs in place of a path they lack.
## Provenance, and the sequencing consequence
Raised by the **ESPHome-Config agent** over peer messaging. Sweeping the
inbound references for its own `configure.sh` retirement, it found
**eleven hits across five files**, and two of them sat inside carried
sections its own preamble forbids it to edit:
> *"I cannot complete the inbound sweep for configure.sh without either
editing carried prose or having already done the AGENTS/GOVERNANCE split
that replaces those sections wholesale."*
That is a real ordering constraint the hub had not stated: **for any
repository whose carried rule text cites the file being retired, the
hub-only retirement depends on the instruction set being current
first.** This PR removes the constraint at its source rather than
documenting it, since after this there is no carried section citing the
path.
It also observed a **fourth reference shape** that
[#654](#654) and
[#656](#656) do not cover:
a mention that is *about* the path rather than a *use* of it, such as
incident history recording that a backtick-quoted `configure.sh` in a
review reply once executed the script. "Remove the mention" is wrong for
that shape, because the history stays true. Not addressed here, and
worth its own decision.
## Verification
Checked mechanically rather than by eye: zero repo-relative pointers to
`configure.sh` remain in any `verbatim` section of `GOVERNANCE.md`,
walking the fidelity declarations in `spec/files.json` rather than a
hand list of section names.
`prose_lint --diff HEAD`, `markdownlint-cli2`, `editorconfig-checker`:
all clean.
## Note on ordering
This changes two verbatim sections, so it makes every downstream copy
stale and belongs in the next promotion. A Blog resync is in progress on
an unpushed branch and is **held** for it, so Blog re-vendors these two
sections once from corrected text rather than twice.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 21:38

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Promotes a hub-only wording fix into main by updating two byte-locked GOVERNANCE.md sections that incorrectly referenced repo-config/configure.sh as a repo-local file, aligning the guidance with the “hub-hosted tooling” model used across the fleet.

Changes:

  • Updates “Repository Boundaries and Write Safety” to reference the hub’s repo-config/configure.sh rather than implying it exists in every repo.
  • Updates “Branching Model” to remove the repo-relative inline link to ./repo-config/configure.sh and replace it with hub-checkout execution wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit d9b5ffa into mainAug 10, 2026
7 checks passed
Sign up for freeto 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

@ptr727