Skip to content

Promote Develop: Restore Meaning Lost in the GOVERNANCE, AGENTS, and WORKFLOW Sentence Splits - #3580

Merged
ptr727 merged 2 commits into
mainfrom
develop
Oct 28, 2026
Merged

ptr727 merged 2 commits into
mainfrom
develop

Conversation

@ptr727

@ptr727 ptr727 commented Oct 28, 2026

Copy link
Copy Markdown
Owner

Summary

Promotes develop to main, carrying the sentence-split audit of the carried rule text:

Both pull requests continue #3531 and do not close it.

🤖 Generated with Claude Code

ptr727 and others added 2 commits October 28, 2026 14:17
…nce Splits (#3578)

## Summary

This audits the `WORKFLOW.md` sentence-length sweep (#3561, squash
`d2b8babf`) split by split. Each of its 107 split or rewritten sentences
was compared with the pre-sweep text. Ten had lost or changed meaning,
and this repairs each one to say what the original said. Every repaired
sentence stays within the 25-word cap.

The `workflow-ci-contract` include regions for sections 3, 4, and 5 are
regenerated from the new text with `scripts/build_dist.py`.

## Splits Repaired

Each entry is the sweep's text -> the repair, then the drift class.

**A pronoun or "that" losing its antecedent (6)**

1. Intro, defining principle. "A violation of a convention it states as
a guarantee" -> "A violation of a convention section 4 states as a
guarantee". Standing alone, "it" could read as section 2, the last
singular noun before it.
2. Section 3, Release Model. "so `github.actor` gates it." -> "so
`github.actor` gates that push." The pre-sweep "it" was the bot push,
and the split left it pointing at "every Dependabot/codegen PR".
3. D1.6. "The second is there because a run triggered by a Dependabot
pull request reads the Dependabot store." -> "The token is in the second
because ...". The pre-sweep text said the token lives in the second
store for this reason, and "The second is there" had no clear subject.
4. D4.7. "the branch has not moved again since it read that record." ->
"since that check." This restores the pre-sweep words. The re-check
compares the branch tip with the head fetched for the tree comparison,
so "since it read that record" named a narrower point than the original
did.
5. 5A citation rule. "It is its own name where a setting, a ruleset, or
a secret name rather than a file is the evidence." -> "It is the
evidence's own name where ...". With "It" now the citation, "its own
name" read as the citation's name rather than the setting's.
6. Section 6, `codegen`. "It carries no per-run timestamp or GUID." ->
"That workflow carries no per-run timestamp or GUID." Pre-sweep, the
generation workflow carried this property, but the next sentence's "It"
is the type, so both read as the type.

**A reason dropped, or put on the wrong half (2)**

1. D7.3. "A composite action's inputs are strings whatever their caller
passed." -> "The composite-action gate compares against a string because
a composite action's inputs are strings whatever their caller passed."
Pre-sweep, this clause explained the string comparison, and the split
left it as a bare fact.
2. Section 6, `hugo`. "The gate admits production from the default
branch only, while any ref may reach a non-production environment. That
is because proving a branch before it merges is what that environment is
for." -> "The gate admits production from the default branch only. Any
ref may reach a non-production environment, since proving a branch
before it merges is what that environment is for." The pre-sweep "since"
explained only the non-production half, and "That is because" stretched
it over the production rule too.

**A condition no longer reaching its clause (1)**

1. Section 3, Output Seam, package-registry push. "NuGet.org answers
`HTTP 401` with `does not start with
<owner>/<repo>/.github/workflows/`." -> "There NuGet.org answers `HTTP
401` with ...". Pre-sweep, the 401 answered the rejected
cross-repository token exchange. Standing alone, it read as
unconditional.

**A split that no longer parses (1)**

1. Section 3, Output Seam, file on the GitHub release. "Or, for a repo
calling the hub-hosted task, the files its `build-release-asset` hook
writes, which the task uploads as one such artifact." -> "For a repo
calling the hub-hosted task, the path is instead the files its
`build-release-asset` hook writes, which the task uploads as one such
artifact." The sweep's sentence was a fragment, and the repair restores
the original either/or.

No sentence was stopped on. No heading, anchor, link target, table,
code, inline code, quoted string, or ID changes.

## Verification

- `python3 scripts/prose_lint.py --check sentence-length WORKFLOW.md`:
exit 0.
- `prose_lint.py` default rules on `WORKFLOW.md` and the three reference
files: exit 0.
- `uv run --no-project --script scripts/build_dist.py --check`: current.
- The pre-commit hook (ruff, mypy, prose, EOL) passed on the commit.

## Local Review

One recorded `local-strict-review` pass over the whole branch diff, at
the `frontier` tier, raised no findings. That pass also re-read all 107
sweep splits independently and found none left unrepaired. It confirmed
the three closest calls against the workflows they describe. Those are
D4.5's "That gate is that it `needs:` the release-task call", D9.1's
exception to the pin, and `upstream-wrapper`'s stated reason.

## Dropped findings

- `.agents/skills/workflow-ci-contract/references/d-guarantees.md:3`,
`style`: a 28-word `sentence-length` hit in the skill's own preamble,
outside the include region. #3561 did not write it, and this change does
not touch it.

Refs #3531

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
)

## Summary

Audits every sentence that #3551 (`GOVERNANCE.md`, squash `444ec63e`)
and #3559 (`AGENTS.md` and `.github/copilot-instructions.md`, squash
`eb35070d`) split or rewrote. Each new sentence was compared with its
original. The splits listed below had lost or changed meaning, and each
is repaired here. Every repaired sentence stays within the 25-word cap.

The `agent-conduct` and `session-handoff` include regions are
regenerated from the new `GOVERNANCE.md` text. No other skill's region
changes.

## Repairs

Each line reads sweep text -> repaired text.

### Reason left on only one half of a split

- `GOVERNANCE.md` "Verification Discipline", canonical content: the
manifest-owned tree, the byte-for-byte compare, and the drift on the
next fidelity check stood as bare facts. -> "That is because the tree is
manifest-owned, and the copy is compared...", then "It is also because a
local edit there is drift...".
- Same bullet: "It would otherwise reach a carrier..." -> "It is also
because such a unit would otherwise reach a carrier...".
- `GOVERNANCE.md` "Communicating with the User", blocked work: "The one
line still waiting on the user is the easiest in it to skim past." ->
"It is also because the one line still waiting on the user is the
easiest in a summary to skim past."
- Same section, parked queue: "Closing such an issue just to clear the
queue discards..." -> "It is also because closing such an issue...".
- `GOVERNANCE.md` "Workflow YAML Conventions", action pinning:
"Dependabot still bumps SHA pins..." -> "It is also because Dependabot
still bumps SHA pins...".
- `GOVERNANCE.md` "Running the Linters Locally", pre-push hook: "Those
describe the same content only sometimes." -> rejoined to its "That is
because" sentence with ", and those describe...".
- Same section, excludes: "The gate refuses one rather than
reporting..." -> "Skipping them also matters because the gate refuses
one...".

### A "so" consequence left on only one half

- `GOVERNANCE.md` "Hub-Hosted Tooling": "A tool taking its target as an
argument runs anywhere..." -> "Likewise, a tool taking its target...".
- `GOVERNANCE.md` "Running the Linters Locally", pre-push hook: "The
prose layer above stays the agent-agnostic one..." -> "The prose layer
above therefore stays...".

### A condition no longer reaching every clause it covered

- `GOVERNANCE.md` "Verification Discipline", locating checks: "Read that
file whole where it exists..." -> "In that case, read that file
whole...".
- `GOVERNANCE.md` "Repository Details": "The fix is to sharpen the
declared source..." read as the fix for any drift. -> "The fix there is
to sharpen...".

### A pronoun or "that" losing its antecedent

- `GOVERNANCE.md` "Verification Discipline", canonical content: "It adds
a bounded slice..." -> "That work also covers a bounded slice...".
- `AGENTS.md` "Session Scope": "That section states the account
whole..." now followed a different sentence. -> "That `GOVERNANCE.md`
section states the account whole...".

### An example list turned into a closed definition

- `GOVERNANCE.md` "Character Set": "Its tiers are never legitimate, ...,
and developer-typed Unicode." The skill has four tiers, and
developer-typed Unicode stays regardless of tier. -> "That tier system
covers what is never legitimate, ...", then "It also covers a fixed set
of emoji callout markers and developer-typed Unicode."

### A restriction widened

- `.github/copilot-instructions.md` "Disproved Claims": "A reason not to
check is strictly worse than proving the claim a second time."
generalized to any reason. -> "That outcome is strictly worse...".

## Verification

- `python3 scripts/prose_lint.py --check sentence-length` on
`GOVERNANCE.md`, `AGENTS.md`, and `.github/copilot-instructions.md`:
exit 0 each.
- `uv run --no-project --script scripts/build_dist.py --check`: current.
- `python3 scripts/prose_lint.py . --diff origin/develop` and the
whole-tree `--check` block from `OPERATIONS.md` "Local Verification":
exit 0.
- `scripts/repo_gate.py`, `spec/validate.py`, and `canonical_review.py
status`: clean.
- `unittest discover -s tests`: 3081 tests, OK (7 skipped).

## Local Review

Two recorded `local-strict-review` passes at the `frontier` tier, each
checking every hunk against its pre-sweep original. The first raised 2
`introduced` findings. The Character Set repair had an unclear "It" and
a list with no noun, and the excludes repair had an "It" with no
antecedent. Both are fixed in the second commit. The second pass raised
none.

Refs #3531

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 28, 2026 21:28
@coderabbitai

coderabbitai Bot commented Oct 28, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI 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.

🟢 Approval recommended

The identified sentence-context issues were addressed across the canonical and generated documentation, with no active blocking issues recorded.

No open issues 🎉

What changed in this PR

This pull request promotes develop to main and restores meaning lost through sentence splits across governance, workflow-contract, agent-conduct, and session-handoff documentation, along with their generated distributions.

Changes:

  • Restores antecedents, reasons, conditions, and complete sentence context in WORKFLOW.md and workflow-contract references.
  • Repairs corresponding meaning in GOVERNANCE.md, AGENTS.md, and .github/copilot-instructions.md.
  • Regenerates the affected skill copies and updates Claude source digests.
  • One documentation nit remains in GOVERNANCE.md regarding the distinction between developer-typed Unicode and the four-tier system.
  • The named distribution check was not independently rerun because uv was unavailable in the container.
File Description
WORKFLOW.md Restores workflow-contract sentence context, conditions, and explanations.
GOVERNANCE.md Repairs governance rationale, scope, and antecedents.
AGENTS.md Clarifies the governance-section reference in session handoffs.
.github/​skills/​workflow-ci-contract/​references/​test-methodology.md Regenerated workflow test-methodology reference.
.github/​skills/​workflow-ci-contract/​references/​d-guarantees.md Regenerated workflow guarantees reference.
.github/​skills/​workflow-ci-contract/​references/​architecture.md Regenerated workflow architecture reference.
.github/​skills/​session-handoff/​SKILL.md Regenerated session-handoff guidance.
.github/​skills/​agent-conduct/​SKILL.md Regenerated agent-conduct guidance.
.github/​copilot-instructions.md Clarifies the disproved-claims rule scope.
.claude-plugin/​fleet-skills/​skills/​workflow-ci-contract/​references/​test-methodology.md Regenerated Claude workflow test-methodology reference.
.claude-plugin/​fleet-skills/​skills/​workflow-ci-contract/​references/​d-guarantees.md Regenerated Claude workflow guarantees reference.
.claude-plugin/​fleet-skills/​skills/​workflow-ci-contract/​references/​architecture.md Regenerated Claude workflow architecture reference.
.claude-plugin/​fleet-skills/​skills/​session-handoff/​SKILL.md Regenerated Claude session-handoff guidance.
.claude-plugin/​fleet-skills/​skills/​agent-conduct/​SKILL.md Regenerated Claude agent-conduct guidance.
.claude-plugin/​fleet-skills/​.source-digests/​workflow-ci-contract Updated workflow-contract source digest.
.claude-plugin/​fleet-skills/​.source-digests/​session-handoff Updated session-handoff source digest.
.claude-plugin/​fleet-skills/​.source-digests/​agent-conduct Updated agent-conduct source digest.
.agents/​skills/​workflow-ci-contract/​references/​test-methodology.md Updated canonical workflow test-methodology source.
.agents/​skills/​workflow-ci-contract/​references/​d-guarantees.md Updated canonical workflow guarantees source.
.agents/​skills/​workflow-ci-contract/​references/​architecture.md Updated canonical workflow architecture source.
.agents/​skills/​session-handoff/​SKILL.md Updated canonical session-handoff source.
.agents/​skills/​agent-conduct/​SKILL.md Updated canonical agent-conduct source.

Review effort: Lite

@codecov

codecov Bot commented Oct 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.60%. Comparing base (b72f50f) to head (b82a4a0).
⚠️ Report is 438 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3580   +/-   ##
=======================================
  Coverage   81.60%   81.60%           
=======================================
  Files          26       26           
  Lines        9070     9070           
=======================================
  Hits         7402     7402           
  Misses       1668     1668           
Flag Coverage Δ
python-3.13 81.60% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ptr727
ptr727 merged commit 4aae620 into main Oct 28, 2026
14 checks passed
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