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

@ptr727 ptr727 commented Jul 25, 2026

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

ptr727 and 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>
Copilot AI review requested due to automatic review settings July 25, 2026 03:52

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.

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.

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

Comment thread spec/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>
Copilot AI review requested due to automatic review settings July 25, 2026 04:01

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.

Pull request overview

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

Comment thread spec/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>
Copilot AI review requested due to automatic review settings July 25, 2026 04:08

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.

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 main Jul 25, 2026
7 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