Skip to content

Promote audit + release-task fixes and backlog items to main (#430-#433) - #434

Merged
ptr727 merged 6 commits into
mainfrom
develop
Jul 25, 2026
Merged

Promote audit + release-task fixes and backlog items to main (#430-#433)#434
ptr727 merged 6 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Promote develop to main

Four doc/spec-only changes, all squashed to develop and Copilot-clean:

No code/workflow changes to the hub's own pipeline - documentation and spec only, so no release fires on merge.

Verification

  • spec/validate.py OK; spec/audit.py --selftest PASS.

🤖 Generated with Claude Code

ptr727and others added 4 commits July 24, 2026 17:45
Adds one backlog item to the README TODO section: refresh the stale
README and evaluate a lower-maintenance structure (a per-section index
pointing into the docs with short descriptions, keeping the README as
the adoption + audit-instruction entry point), noting the sync
obligation such a structure carries.
Docs-only. `spec/validate.py` OK.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Adds one backlog item: a linter-only Python project type for
codegen/boilerplate Python (no tests, no coverage, linter only) distinct
from the existing `python` type for utility code (tests + coverage).
Records that ESPHome-Config's `+python` reclassification is deferred
until the type exists, and its one outstanding finding is accepted
meanwhile.
Docs-only. `spec/validate.py` OK.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
## What
The `audit.py` branch-drift check split by direction: a path develop
still holds at the merge-base is a genuine forward-sync ("develop
lacks"); a path both branches moved off the base is `diverged` and
reported as "changed on both main and develop … develop may already
supersede main."
## Why
Surfaced by the PlexCleaner convergence (ptr727/PlexCleaner#880): the
check flagged 4 workflow files as "develop lacks (forward-sync needed)"
when develop was actually **ahead** (it carried the release-task
re-vendor #882 that main lacked). The old logic only tested `main !=
develop` among main-side changes, never whether develop was behind or
ahead, so a both-changed file read as a develop deficit. Forward-syncing
per that framing would have reverted develop's work.
## Verification
- `python3 spec/audit.py --selftest` PASS; `spec/validate.py` OK.
- Live: PlexCleaner's 4 workflow files now report as `diverged`
(accurate) instead of `develop lacks`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
## What
Replaces the force-success tail on the artifact-delete in
`build-release-task.yml`'s `github-release` cleanup step with the `if !
…; then` form.
## Why
Routed upstream from the PlexCleaner convergence
(ptr727/PlexCleaner#880): Copilot flagged a force-success tail on a
mutation, which the write-safety rule bans. The listing step two lines
above already uses the compliant `if ! ids=$(…); then` form, so the
delete was internally inconsistent. The new form reads the delete's
result via the `if`, surfaces a failed delete as a visible
`::warning::`, and the `retention-days: 1` backstop still reaps the
artifact - functionally identical, rule-compliant.
Changes the `github-release` verbatim region, so it re-vendors
fleet-wide next cycle.
## Verification
YAML valid, `spec/audit.py --selftest` PASS, `spec/validate.py` OK.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 03:52

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 the doc/spec-only work from develop to main, including a refinement to the audit branch-drift check and a small workflow-snippet cleanup to align with the repo’s write-safety guidance.

Changes:

  • Add classify_branch_drift() to split main-side branch drift into behind vs diverged, and extend spec/audit.py --selftest to cover it.
  • Add two README backlog items (README refresh + new “linter-only Python” project type concept).
  • Update the canonical build-release-task.yml snippet to avoid a force-success tail on the artifact-delete call.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

FileDescription
spec/audit.pyAdds branch-drift direction classification plus selftest coverage, and updates drift reporting to distinguish behind vs diverged.
README.mdAdds backlog TODO items documenting future work around README structure and a linter-only Python type.
catalog/snippets/workflows/build-release-task.ymlRewrites artifact deletion to use an if ! ...; then form instead of a force-success tail.

Comment threadspec/audit.py Outdated
Reword the `behind` branch-drift DRIFT message from "develop lacks
<path>" to "develop is behind on". Routed from Copilot on the promotion
#434: the `behind` bucket also catches a path main deleted that develop
still carries, where "develop lacks" misreads (develop *has* the path;
main removed it). "develop is behind on" is accurate for additions,
modifications, and deletions alike.
`spec/audit.py --selftest` PASS, `spec/validate.py` OK.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 04:01

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment threadspec/audit.py Outdated
The degraded branch-check fallback (three-tree filter cannot run - a
tree is truncated or unavailable) has only the compare's file count,
which cannot tell direction or filter cherry-picked content-equivalent
changes. Reword it to assert only what is known - the paths differ, and
a forward-sync or reconciliation may be needed - instead of claiming
develop is behind. Routed from Copilot on promotion #434.
`spec/audit.py --selftest` PASS, `spec/validate.py` OK.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 04:08

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@ptr727
ptr727 merged commit 4ae5717 into mainJul 25, 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