Skip to content

Regenerate reports/divergences.md Against the Current Fleet - #1569

Merged
ptr727 merged 2 commits into
developfrom
feature/regenerate-divergences-report
Sep 12, 2026
Merged

Regenerate reports/divergences.md Against the Current Fleet#1569
ptr727 merged 2 commits into
developfrom
feature/regenerate-divergences-report

Conversation

@ptr727

@ptr727 ptr727 commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Closes #1554.

reports/divergences.md is written by python3 spec/fidelity_honesty.py --report, which joins the spec/divergences.json ledger against every cataloged repository's ground-truth branch through the GitHub API. It therefore goes stale as the fleet moves rather than as the hub is edited, and it is never hand-edited, per its own header.

This pull request is that regeneration, plus one ledger edit a review finding on the regenerated diff asked for. The report is generated from the ledger, so a defect a regeneration exposes in a reason field is fixed in spec/divergences.json and regenerated rather than typed into the report. The two commits are:

  • 1992a92 regenerates reports/divergences.md, which is the whole of what Regenerate reports/divergences.md, whose tracking values lag the ledger in two rows #1554 asks for.
  • 27fe8e7 drops a stale carrier enumeration from the run-codegen-pull-request-task.yml retire reason in spec/divergences.json, and carries the regeneration that renders it. The row's header now reads the live carrier as NxWitness alone while the reason beside it still named LanguageTags too, and every sibling row that enumerates carriers dates the measurement that produced it, so it reads as a snapshot rather than as the current state. This row's did not. The enumeration is dropped rather than dated, since the row already renders the live list two clauses earlier and a second copy can only go stale again.

The two rows the issue names

row before after
pyproject.toml (tracking: ptr727/ProjectTemplate#669), a closed issue (tracking: ptr727/ProjectTemplate#1553)
.markdownlint-cli2.jsonc, Financial-Modeling rendered as untriaged, no tracking value no longer a live divergence, so it renders under Resolved

The second row settles differently from how the issue expected. Financial-Modeling's copy now matches the hub canonical byte for byte, verified independently of the run by fetching it and comparing against the hub's own file, so the row moves to the resolved section rather than gaining the #1487 tracking value it was owed. The ledger entry carrying #1487 is now a recorded divergence that is no longer live, which the resolved section says to remove from the ledger. That removal is a ledger edit and a separate change, per the generated-file rule this issue turns on.

The rest of the diff

The run reads whatever fleet drift has accumulated since the last regeneration, which is the reason the issue asked for it to land on its own.

  • The retire rows shrink where a resynced repository deleted its copy of a hub-hosted file. repo-config/configure.sh drops from eight carriers to four, and repo-config/settings.json from twelve to five. Spot-checked by asking the API for the file in four of the dropped repositories, each a 404.
  • The mechanical re-vendor list grows where a carried section moved on in the hub. .markdownlint-cli2.jsonc goes from eleven stale copies to seventeen, and four GOVERNANCE.md sections join the list.
  • Three rows are new. spec/secrets.json is now a live manifest gap under its recorded retire disposition. PSScriptAnalyzerSettings.psd1 and GOVERNANCE.md > Workflow YAML Conventions are untriaged, so each needs a disposition added to the ledger, which is again a separate change.
  • The AGENTS.md "not carried" lists shrink as resynced repositories gained the sections, and those repositories move onto the stale list instead.

Verification

  • python3 spec/fidelity_honesty.py --report ran to completion and wrote 77 lines.
  • The pre-commit gates ran on the commit: ruff format, ruff check, mypy, the prose gate, and the EOL check. reports/ is a declared generated tree in the prose gate, so it is out of that gate's scope by design rather than silently skipped.
  • A local strict review pass is recorded over the diff, and the canonical gate reports no carried canonical unit changed.

The report is generated by `spec/fidelity_honesty.py --report`, which joins
`spec/divergences.json` against every cataloged repository's ground-truth
branch, so it goes stale as the fleet moves rather than as the hub is edited.
Both rows the issue names are settled by the run: the `pyproject.toml` row now
renders `#1553` in place of the closed `#669`, and the
`.markdownlint-cli2.jsonc` Financial-Modeling row is no longer a live
divergence at all, so it moves to the resolved section instead of gaining the
`#1487` tracking value it was owed.

The rest of the diff is accumulated fleet drift the run reads for the first
time since the last regeneration. The retire rows shrink where a resynced
repository deleted its copy of a hub-hosted file, the mechanical re-vendor list
grows where a carried section moved on in the hub, and three rows are new:
`spec/secrets.json` is now a live manifest gap, `PSScriptAnalyzerSettings.psd1`
is untriaged, and `GOVERNANCE.md > Workflow YAML Conventions` is hand-modified
in one repository.

The report is written by the tool and never hand-edited, per its own header.

Fixes #1554
Copilot AI lite review requested due to automatic review settings September 12, 2026 15:43
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 705b73ee-25a8-4dcc-b480-685c0553b2c7

📥 Commits

Reviewing files that changed from the base of the PR and between e4aa5d8 and 1992a92.

📒 Files selected for processing (1)
  • reports/divergences.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The generated fleet divergence report updates tracking references, carrier lists, divergence classifications, and resolved entries across the report sections.

Changes

Fleet divergence report

Layer / File(s) Summary
Tracking and retirement updates
reports/divergences.md
The report updates the .markdownlint-cli2.jsonc and pyproject.toml tracking references. It revises retirement carrier lists and adds spec/secrets.json.
Divergence status updates
reports/divergences.md
The report updates validation, Untriaged, and Mechanical re-vendor carrier lists. It adds the Resolved entry for Financial-Modeling.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Severity of issue fixed: Low

Merge Risk: ⚪ Minimal · up to 1992a

This is a regenerated report update with no remaining actionable merge risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Issue #1554 requires regeneration with python3 spec/fidelity_honesty.py --report, not manual editing. The reviewed report contains the generated-file header with that command. The report shows `pypr…
Out of Scope Changes check ✅ Passed The change is limited to reports/divergences.md. The additional retire, re-vendor, AGENTS.md, and new divergence rows are accumulated fleet drift captured by the required network-based regeneration.…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: regenerating reports/divergences.md against the current repository fleet.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/regenerate-divergences-report

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.

@ptr727

ptr727 commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

🟡 Changes recommended

One regenerated report entry is now internally inconsistent about its carrier set and should be corrected (via the ledger/source + regeneration) before merging.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Regenerates the fleet divergence report (reports/divergences.md) from spec/fidelity_honesty.py --report so it reflects current fleet state and the updated tracking reference for the pyproject.toml row.

Changes:

  • Regenerated reports/divergences.md against current fleet reality (carrier lists, sections, and resolved rows).
  • Updated the pyproject.toml investigate row tracking reference to ptr727/ProjectTemplate#1553.
  • Moved the Financial-Modeling .markdownlint-cli2.jsonc row into the Resolved section based on current fleet state.
File summaries
File Description
reports/divergences.md Regenerated divergence report content (carrier sets, tracking values, and resolved entries) to match current fleet state.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread reports/divergences.md Outdated
The `run-codegen-pull-request-task.yml` row restated its carriers in the
disposition's own reason text, and the restatement had gone stale: the row
header now reads the live carrier as NxWitness alone while the sentence beside
it still named LanguageTags too. Every sibling row that enumerates carriers
dates the measurement that produced it, so it reads as a snapshot rather than
as the current state. This row's did not.

The enumeration is dropped rather than dated, since the row already renders the
live carrier list two clauses earlier and a second copy can only go stale
again. The action the sentence carried stays.

Edited in the ledger and regenerated, per the report's generated-file header.
Copilot AI review requested due to automatic review settings September 12, 2026 15:54
@ptr727

ptr727 commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

🟡 Changes recommended

The PR description claims the change is strictly a report regeneration, but the diff also includes a ledger edit in spec/divergences.json, so the scope/intent needs to be reconciled (split or update description).

Get a fresh assessment by requesting another Copilot review.

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread spec/divergences.json
@ptr727
ptr727 merged commit a3cd9c7 into develop Sep 12, 2026
9 checks passed
@ptr727
ptr727 deleted the feature/regenerate-divergences-report branch September 12, 2026 15:59
ptr727 added a commit that referenced this pull request Sep 12, 2026
Promote `develop` to `main`.

Closes #1554.

One change is being promoted, [#1569][pr-1569], squashed onto `develop`
as `a3cd9c7`.

## Regenerate reports/divergences.md Against the Current Fleet

`reports/divergences.md` is written by `python3 spec/fidelity_honesty.py
--report`, which joins the `spec/divergences.json` ledger against every
cataloged repository's ground-truth branch through the GitHub API. It
goes stale as the fleet moves rather than as the hub is edited, and it
is never hand-edited, per its own header.

Both rows #1554 names are settled. The `pyproject.toml` row renders
`#1553` in place of the closed `#669`. The
`.markdownlint-cli2.jsonc` Financial-Modeling row is no longer a live
divergence at all, its copy now matching the hub canonical byte for
byte, so it renders under Resolved rather than gaining the `#1487`
tracking value it was owed.

The rest of the diff is accumulated fleet drift the run reads for the
first time since the last regeneration, which is why #1554 asked for the
regeneration to land on its own. Retire-row carrier lists shrink where a
resynced repository deleted its copy of a hub-hosted file, the
mechanical re-vendor list grows where a carried section moved on in the
hub, and three rows are new: `spec/secrets.json` is now a live manifest
gap, while `PSScriptAnalyzerSettings.psd1` and `GOVERNANCE.md > Workflow
YAML Conventions` are untriaged.

The pull request also carries one ledger edit a review finding on the
regenerated diff asked for: the `run-codegen-pull-request-task.yml`
retire reason restated its carriers, and the restatement had gone stale
against the live list rendered beside it. The enumeration is dropped at
its source in `spec/divergences.json` and the report regenerated, rather
than typed into the report.

## What This Leaves Open

Three follow-ups are ledger edits rather than regenerations, so each is
its own change against the ledger: a disposition for each of the two
untriaged rows, and removal of the now-resolved
`.markdownlint-cli2.jsonc` Financial-Modeling entry, which `#1487`
tracks.

[pr-1569]: #1569
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