Skip to content

Fix Three Spec and Doc Drift Findings from HomeAutomation-Config Audit - #994

Merged
ptr727 merged 2 commits into
developfrom
fix-editorconfig-spec-drift-issues
Aug 25, 2026
Merged

Fix Three Spec and Doc Drift Findings from HomeAutomation-Config Audit#994
ptr727 merged 2 commits into
developfrom
fix-editorconfig-spec-drift-issues

Conversation

@ptr727

@ptr727 ptr727 commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Fixes #988, #989, #990.

Three small, independent, verified findings from today's HomeAutomation-Config resync audit, bundled together since they are all mechanical spec/doc-accuracy corrections found by the same audit run.

Changes

Verification

  • python3 -c "import json; json.load(...)" on both edited spec files
  • python3 spec/validate.py (clean)
  • python3 scripts/prose_lint.py --diff origin/develop (clean)
  • python3 scripts/repo_gate.py (clean)
  • python3 spec/audit.py --selftest (pass)
  • python3 -m unittest discover -s scripts/tests (846 tests, pass)
  • pre-commit hooks on the commit itself (pass)

Note: "Fixes #988, #989, #990" won't auto-close the issues on this merge since it targets develop; they close on the next develop -> main promotion, per fleet convention.

Summary by CodeRabbit

  • Documentation

    • Clarified line-ending governance guidance for derived repositories and non-.NET repositories.
    • Updated Copilot guidance and maintenance procedures to include the “When in Doubt” section.
    • Synchronized related guidance across supported tooling and workflows.
  • Configuration

    • Recorded two repository-specific path exceptions for automated validation files, improving clarity when comparing shared repository standards.
    • Updated supporting configuration metadata to reflect the latest guidance.

Reword the .editorconfig comment above the .NET-only block so it
states the whole-file carry model instead of contradicting it (a
non-.NET repo keeps the section unused rather than dropping it),
matching CODESTYLE.md 'General'.

Declare 'When in Doubt' in spec/files.json's sections array for
.github/copilot-instructions.md, since the hub's own canonical file
carries that heading and its absence from the manifest flagged it as
phantom drift on every repo that carries the file verbatim.

Add accepted gap entries in spec/divergences.json for
.github/actionlint.yaml and .github/actions/validate/action.yml,
both HomeAutomation-Config's own content at paths the hub also hosts
(a path collision, not a carry), matching the existing accepted
entries for LICENSE, TODO.md, .husky/pre-commit, and
scripts/README.md.
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Correct Audit Spec and Documentation Drift

🐞 Bug fix 📝 Documentation ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Align EditorConfig guidance with the fleet's whole-file carry model.
• Declare the canonical Copilot section to prevent recurring phantom drift advisories.
• Accept verified HomeAutomation-Config path collisions instead of treating them as carry drift.
Diagram

graph TD
  A["Canonical files"] --> B["Carry manifest"] --> E["Fleet audit"] --> F["Accurate findings"]
  C["Gap ledger"] --> E
  D["Target repository"] --> E
Loading
High-Level Assessment

The PR uses the correct source-of-truth fixes: align misleading canonical prose, complete the section manifest, and classify verified repository-owned path collisions in the existing divergence ledger. Changing audit logic or declaring the colliding files as fleet carries would weaken path-collision detection or misrepresent repository ownership.

Files changed (3) +4 / -2

Bug fix (2) +3 / -1
divergences.jsonAccept two HomeAutomation-Config path collisions +2/-0

Accept two HomeAutomation-Config path collisions

• Classifies HomeAutomation-Config's actionlint configuration and validation action as accepted manifest gaps. The entries document that both files are repository-owned content sharing hub paths, preventing erroneous retirement or reconciliation findings.

spec/divergences.json

files.jsonDeclare the canonical When in Doubt section +1/-1

Declare the canonical When in Doubt section

• Adds the existing "When in Doubt" heading to the Copilot instructions section manifest. This prevents the audit from reporting that canonical section as undeclared drift in verbatim downstream copies.

spec/files.json

Documentation (1) +1 / -1
.editorconfigClarify whole-file carry guidance for non-.NET repositories +1/-1

Clarify whole-file carry guidance for non-.NET repositories

• Rewords the .NET block comment to state that non-.NET repositories retain the inert section. This aligns the canonical file with CODESTYLE.md's whole-file carry model.

.editorconfig

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: bb2702f6-10c4-4118-a37c-43bb3d9309cc

📥 Commits

Reviewing files that changed from the base of the PR and between 41e7aa1 and b626b25.

📒 Files selected for processing (4)
  • .agents/skills/copilot-instructions-keeper/SKILL.md
  • .claude-plugin/fleet-skills/.source-digest
  • .claude-plugin/fleet-skills/skills/copilot-instructions-keeper/SKILL.md
  • .github/skills/copilot-instructions-keeper/SKILL.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request updates repository governance metadata. It clarifies .editorconfig retention, records two accepted HomeAutomation-Config divergences, and adds the When in Doubt section to Copilot instruction requirements and related skill documentation.

Changes

Governance baseline

Layer / File(s) Summary
Canonical governance updates
.editorconfig, spec/divergences.json, spec/files.json
The .NET-only comment now states that non-.NET repositories retain the section unused. Two HomeAutomation-Config action divergences are recorded. .github/copilot-instructions.md now requires the When in Doubt section.
Skill documentation synchronization
.agents/skills/..., .claude-plugin/fleet-skills/..., .github/skills/...
The skill copies now describe four named sections and update resynchronization instructions. The source digest is updated.

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

Merge Risk: ⚪ Minimal · up to b626b

This PR makes localized specification and documentation corrections, with reported validation and tests passing; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the three specification and documentation corrections for the HomeAutomation-Config audit.
Linked Issues check ✅ Passed The PR satisfies issue #988 by changing the .editorconfig comment to match CODESTYLE.md's whole-file carry model. The provided context does not include separate requirements for issues #989 or #990.
Out of Scope Changes check ✅ Passed The changes remain within the stated scope. The skill updates, specification updates, divergence records, and regenerated distribution files support the three documented audit corrections.
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…
Full details: Docstring Coverage

Explanation

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 files. (4 skipped: 4 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-editorconfig-spec-drift-issues

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

@qodo-code-review

qodo-code-review Bot commented Aug 25, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Keeper omits fourth section ✓ Resolved 🐞 Bug ⚙ Maintainability
Description
After adding When in Doubt as the fourth audited section, the copilot-instructions keeper still
says there are three named sections and directs maintainers to update only those three. This stale
enumeration can cause synchronization work to omit the newly declared section.
Code

spec/files.json[16]

+        { "path": ".github/copilot-instructions.md", "fidelity": "intent", "whole": true, "sections": ["Commit Messages and Pull Request Titles", "Reviewing Carried Fleet Content", "GitHub Copilot Review Runbook", "When in Doubt"], "placeholders": ["<owner>", "<repo>", "<N>"], "appliesTo": "*" },
Relevance

●●● Strong

Recent accepted reviews favor correcting stale section documentation and keeping manifest-related
guidance synchronized.

PR-#901

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The changed manifest line lists four sections, and the canonical document contains the fourth
heading. All three keeper copies still explicitly describe only three sections and tell maintainers
to update “the three named sections,” proving the documentation became stale when this enumeration
was extended.

spec/files.json[16-16]
.github/copilot-instructions.md[93-96]
.agents/skills/copilot-instructions-keeper/SKILL.md[26-31]
.agents/skills/copilot-instructions-keeper/SKILL.md[52-55]
.github/skills/copilot-instructions-keeper/SKILL.md[26-31]
.claude-plugin/fleet-skills/skills/copilot-instructions-keeper/SKILL.md[26-31]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The manifest now declares four named sections for `.github/copilot-instructions.md`, but the keeper skill still documents and instructs maintainers to update only three. Update the guidance to include `When in Doubt` and keep all mirrored skill copies synchronized.

## Issue Context
The canonical file contains `## When in Doubt`, and `spec/files.json` now audits that heading. The source keeper and its GitHub/Claude mirrors still enumerate only the previous three sections.

## Fix Focus Areas
- .agents/skills/copilot-instructions-keeper/SKILL.md[26-28]
- .agents/skills/copilot-instructions-keeper/SKILL.md[52-55]
- .github/skills/copilot-instructions-keeper/SKILL.md[26-28]
- .github/skills/copilot-instructions-keeper/SKILL.md[52-55]
- .claude-plugin/fleet-skills/skills/copilot-instructions-keeper/SKILL.md[26-28]
- .claude-plugin/fleet-skills/skills/copilot-instructions-keeper/SKILL.md[52-55]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 70 rules
✅ Skills: 5 invoked
  comment-and-doc-style
  dotnet-codestyle
  python-codestyle
  shell-codestyle
  workflow-ci-contract
Review mode: ⚖️ Balanced

Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread spec/files.json
The copilot-instructions-keeper skill still described three named
sections in spec/files.json for .github/copilot-instructions.md, both
in its overview and its update checklist, after this PR added a
fourth ('When in Doubt'). Regenerated both distribution trees with
scripts/build_dist.py.
@ptr727
ptr727 merged commit 037d4b9 into develop Aug 25, 2026
8 checks passed
ptr727 added a commit that referenced this pull request Aug 25, 2026
Follow-up to #994: \`reports/divergences.md\` is generated from
\`spec/divergences.json\` by \`spec/fidelity_honesty.py --report\` and
had not been regenerated after #994 added \`accepted\` entries for
\`.github/actionlint.yaml\` and \`.github/actions/validate/action.yml\`,
leaving the checked-in report stale.

Caught by CodeRabbit on the develop -> main promotion PR (#996), which
cannot carry the fix directly since its diff is develop against main.
Landing it here so #996 picks it up on develop's next head.

Ran \`python3 spec/fidelity_honesty.py --report\` (read-only against
GitHub, writes only the local report file) and committed the regenerated
\`reports/divergences.md\`, which now documents both new dispositions.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Regenerated the divergence report with refreshed fleet findings and
dispositions.
  * Updated the list of items requiring re-vendor review.
* Revised accepted and untriaged findings for improved accuracy and
clarity.
* Streamlined the list of stale-copy entries to reflect the current set
of identified items.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
ptr727 added a commit that referenced this pull request Aug 25, 2026
Promotes #994 (issues #988, #989, #990) to `main`.

## What

- `.editorconfig` rewords the comment above the `.NET`-only block so it
  states the whole-file carry model instead of contradicting
  CODESTYLE.md's "General" section (#988).
- `spec/files.json` declares `"When in Doubt"` in the `sections` array
  for `.github/copilot-instructions.md`, so the hub's own canonical
  fourth heading is no longer flagged as undeclared drift (#989).
- `spec/divergences.json` adds two `accepted` gap entries, for
  `.github/actionlint.yaml` and `.github/actions/validate/action.yml`,
  matching the existing `accepted` pattern for path collisions (#990).
- `copilot-instructions-keeper`'s SKILL.md (source plus both
  regenerated distribution trees) is updated to enumerate all four
  declared sections instead of three, a follow-up fix from PR #994's
  own review loop.

## Review

PR #994 review loop: qodo-code-review raised one real finding (the
keeper skill's stale three-section enumeration), fixed and resolved
in b626b25. Copilot's own review account is in the fleet's known
repo-wide quota-exhausted state (confirmed live on every request this
round), so this proceeded on qodo's coverage per standing precedent.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated Copilot instruction guidance to include the required “When in
Doubt” section.
* Updated synchronization instructions and baseline requirements
accordingly.
* Added guidance for safely retiring outdated local paths during
resynchronization.
  * Clarified .NET line-ending governance across derived repositories.
  * Refreshed divergence reporting and the current stale-copy inventory.

* **Chores**
  * Recorded approved repository-specific configuration differences.
  * Refreshed internal skill metadata and synchronization records.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@ptr727
ptr727 deleted the fix-editorconfig-spec-drift-issues branch August 25, 2026 17:17
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.

1 participant