Skip to content

Add the PhotoCleaner audit report and refresh its stale registry driftNotes - #401

Merged
ptr727 merged 3 commits into
developfrom
photocleaner-audit
Jul 23, 2026
Merged

Add the PhotoCleaner audit report and refresh its stale registry driftNotes#401
ptr727 merged 3 commits into
developfrom
photocleaner-audit

Conversation

@ptr727

Copy link
Copy Markdown
Owner

First committed audit for PhotoCleaner (main@3b33b98, run stamp audit run 2026-07-23T13:51:20Z | hub 614a291). Verdict: not operational.

Headline findings

  • Further along than the registry claimed: the PR gate + full fleet lint architecture are live (test-pull-request.yml with the canonical aggregator name — interface contract passes; validate-task.yml runs csharpier/format/markdownlint/cspell/actionlint/editorconfig-checker + codecov), and all secrets are provisioned in both stores.
  • One defect: both branch rulesets missing — develop/main are unprotected.
  • Eleven absent baseline files:version.json, all of repo-config/, WORKFLOW.md, AUDIT.md, spec/secrets.json, dependabot.yml, Docker/README.md; no release pipeline at all.
  • AGENTS.md is an old skeleton — 6 carried intent sections missing, all 3 verbatim universal sections absent.
  • develop trails main by 3 (diverged the wrong way — forward-sync needed).
  • csharp: the Template .editorconfig contradicts CODESTYLE by relaxing all analyzers repo-wide #353 analyzer relaxation (.editorconfig:60) plus no TreatWarningsAsErrors anywhere — hiding 362 xUnit1051 findings and a high-severity NU1903 (SQLitePCLRaw) advisory.

Changes

  • reports/photocleaner/audit.md — the dimension table with file:line evidence, defects, drift, and proposed registry updates.
  • registry/repos.json — PhotoCleaner driftNotes refreshed (the pre-CI and content-lives-on-develop notes were stale); the no-docker-pipeline note stands; releaseTrigger: none remains accurate.

A generated convergence issue against PhotoCleaner follows (via spec/audit.py --issue PhotoCleaner), plus the sequenced #353/onboarding work.

🤖 Generated with Claude Code

…tNotes
First committed audit for PhotoCleaner (main@3b33b98, run stamp audit run
2026-07-23T13:51:20Z | hub 614a291). Verdict: not operational. The repo is further along
than the registry claimed - the PR gate and the full fleet lint architecture are live and
the interface contract passes - but both branch rulesets are missing (unprotected branches,
the one defect), eleven baseline files are absent (version.json, all of repo-config/,
WORKFLOW.md, AUDIT.md, spec/secrets.json, dependabot.yml, Docker/README.md), AGENTS.md is an
old skeleton missing nine of ten carried sections, there is no release pipeline, and develop
trails main by three commits (forward-sync needed). Secrets are already provisioned in both
stores. The csharp dimension carries the #353 analyzer relaxation plus no
TreatWarningsAsErrors, hiding 362 xUnit1051 findings and a high-severity NU1903 advisory.
driftNotes refreshed to the current state (the pre-CI and content-lives-on-develop notes were
stale); the no-docker-pipeline note stands.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

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

Adds the initial committed audit report for the PhotoCleaner repo and updates the fleet registry entry so its driftNotes reflect the repo's current (post-CI) state and remaining onboarding gaps.

Changes:

  • Add reports/photocleaner/audit.md documenting the audit verdict, key findings, and evidence pointers.
  • Refresh registry/repos.jsondriftNotes for PhotoCleaner to remove stale notes and capture current drift/defects.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

FileDescription
reports/photocleaner/audit.mdNew audit report capturing drift/defects and proposed registry updates for PhotoCleaner.
registry/repos.jsonUpdates PhotoCleaner driftNotes to match the audit's current-state findings.
Comments suppressed due to low confidence (5)

reports/photocleaner/audit.md:20

  • AGENTS.md forbids using semicolons to join independent clauses in prose (AGENTS.md:159). This table row uses semicolons where periods would keep the statement compliant and easier to scan.
| branch-model | fail | fail | defect | **no rulesets at all** - `develop` and `main` both unprotected (audit DEFECT x2); no `repo-config/` payloads to import; branches diverged (see Develop Drift) |

reports/photocleaner/audit.md:23

  • AGENTS.md forbids using semicolons to join independent clauses in prose (AGENTS.md:159). These rows use semicolons where a period would fit and avoid the prohibited construction.
| linter-parity | pass | pass | pass | `validate-task.yml:66-88` runs csharpier check, `dotnet format style --verify-no-changes`, markdownlint (SHA-pinned action), cspell (SHA-pinned), actionlint (SHA-pinned), and editorconfig-checker via docker `:latest`; unit-test collects coverage and uploads to codecov v7 (`:36-40`). Matches the fleet lint architecture |
| recurring-violations | pass | pass | pass | `.gitattributes:3` fleet-standard `* -text` with LF pins for `*.sh` and `.husky/pre-commit`; README em-dash grep clean |

reports/photocleaner/audit.md:25

  • AGENTS.md forbids using semicolons to join independent clauses in prose (AGENTS.md:159). This row has two semicolons that should be rewritten as sentences (or comma-separated clauses).
| workflow (WORKFLOW.md 5A/5B) | fail | pass | drift | no publisher, so the 5A publish guarantees are N/A; the PR gate itself is sound - `validate` runs unconditionally and the aggregator carries the canonical ruleset-bound name `Check pull request workflow status job` (`test-pull-request.yml:34-40`, interface contract passes; no paths-filter/smoke by design per header `:5`) - but with no ruleset the required check binds to nothing, so the gate is advisory until branch-model lands |

reports/photocleaner/audit.md:39

  • AGENTS.md forbids using semicolons to join independent clauses in prose (AGENTS.md:159). This list item uses a semicolon to join two sentences and should be rewritten.
- Committed `CLAUDE.md` and `PhotoCleaner.code-workspace` at the repo root - repo-local extras; `AGENTS.md` is the fleet's agent-agnostic doc, so a committed `CLAUDE.md` duplicates that role and can drift from it.

reports/photocleaner/audit.md:43

  • AGENTS.md forbids using semicolons to join independent clauses in prose (AGENTS.md:159). This list item should be rewritten as two sentences to stay compliant.
- Refresh the stale `driftNotes`: the repo is no longer pre-CI (PR gate + linters live); the current gaps are rulesets, `repo-config/`, `version.json`, governance docs, `dependabot.yml`, and the release pipeline. Applied in the same change as this report.

Comment threadreports/photocleaner/audit.md Outdated
Comment threadreports/photocleaner/audit.md Outdated
…icolons
- The Develop Drift remediation named the wrong direction: a develop -> main merge is the
promotion, and the forbidden back-merge is main -> develop. The forward sync is re-applying
or cherry-picking the main-only commits onto develop.
- Recast the clause-joining semicolons in the dimension table rows, drift findings, and
registry-update note as sentences, per the prose convention.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 23, 2026 14: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 2 out of 2 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (2)

reports/photocleaner/audit.md:22

  • This Evidence cell mixes a specific file reference (validate-task.yml:66-88) with a bare :36-40. Since the column is file:line, spell out the file for the unit-test/codecov citation to avoid ambiguity.
| linter-parity | pass | pass | pass | `validate-task.yml:66-88` runs csharpier check, `dotnet format style --verify-no-changes`, markdownlint (SHA-pinned action), cspell (SHA-pinned), actionlint (SHA-pinned), and editorconfig-checker via docker `:latest`. The unit-test job collects coverage and uploads to codecov v7 (`:36-40`). Matches the fleet lint architecture |

reports/photocleaner/audit.md:25

  • This row references the workflow header line as :5, but the Evidence column is file:line. Use test-pull-request.yml:5 (or the correct file) so the citation is self-contained.
| workflow (WORKFLOW.md 5A/5B) | fail | pass | drift | no publisher, so the 5A publish guarantees are N/A. The PR gate itself is sound - `validate` runs unconditionally and the aggregator carries the canonical ruleset-bound name `Check pull request workflow status job` (`test-pull-request.yml:34-40`, interface contract passes, no paths-filter/smoke by design per header `:5`) - but with no ruleset the required check binds to nothing, so the gate is advisory until branch-model lands |

Comment threadreports/photocleaner/audit.md Outdated
…:line
The console row's `:34`, the linter-parity row's `:36-40`, and the workflow row's `:5` now
carry their full file paths, so each evidence citation stands alone.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 23, 2026 14:05

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 2 out of 2 changed files in this pull request and generated no new comments.

@ptr727
ptr727 merged commit a7f1243 into developJul 23, 2026
7 checks passed
@ptr727
ptr727 deleted the photocleaner-audit branch July 23, 2026 14:21
ptr727 added a commit that referenced this pull request Jul 23, 2026
…rconfig fix, PhotoCleaner audit (#402)
Merge-commit promotion of #396-#401 + #403: per-section verbatim fidelity, the fleet section burn-down, the audit.py --issue convergence-issue generator, the .editorconfig analyzer-relaxation removal (#353 hub fix), the PhotoCleaner audit + registry refresh, and the promotion-review fixes. Human merge, no release fires. Makes main's canonicals current for the PhotoCleaner convergence agent.
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