Release 0.3.0: AI-maintainer identity, setup completion, bundled skills#4
Merged
Merged
Conversation
Release 0.3.0: AI-maintainer identity, setup completion, bundled skills Ships the 0.3.0 tooling recorded in setup/CHANGELOG.md: least-privilege GitHub App creation and identity verification (New-AIMaintainerApp.ps1, Test-AIMaintainerIdentity.ps1), one-shot bootstrap teardown (Complete-Setup.ps1), the setup/version + Keep a Changelog changelog, the bundled develop-with-tdd and changelog-entry skills, and the symlink capability probe. Setup tests moved under setup/tests/; MIGRATION.md is now an executable runbook. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> @
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 14c8d64f40
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-located *.Tests.ps1 beside source is the repo-wide default; setup/ is the runbook exception that segregates tests into setup/tests/. State the rule in both READMEs instead of leaving the setup/ note as the sole (insufficient) justification. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner
Author
|
@codex[agent] please fix the 3 comemnts you provideed |
|
To use Codex here, create an environment for this repo. |
Owner
Author
|
@codex[agent] retry |
…s, and app key storage Agent-Logs-Url: https://github.com/DenWin/Template/sessions/abc361a2-88f9-46d4-9ffc-ec755139b130 Co-authored-by: DenWin <13867326+DenWin@users.noreply.github.com>
|
Summary
Testing
|
Protect-PrivateKeyFile called [System.IO.File]::SetAccessControl, which .NET Core / PowerShell 7 removed — swap it for Get-Acl/Set-Acl (PS7-native). The accompanying test used the legacy Assert-MockCalled, absent from Pester 6; calling it auto-loaded Pester 3.4.0 into the run and poisoned discovery of unrelated test files (Protect-MainBranch, Test-AIMaintainerIdentity). Replace it with Should -Invoke. Fast lane: 77 passed, 0 failed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Invoke-TestLane now strips Windows PowerShell module paths from PSModulePath so only this pwsh's Pester is auto-loadable. A test calling a Pester-3-only command (e.g. Assert-MockCalled) previously auto-loaded Pester 3.4.0 and silently corrupted discovery of sibling files; such a command now fails loudly instead. Core cmdlets are unaffected — they live under $PSHOME, not the Windows PowerShell path. No-op off Windows. Adds an isolated test asserting the run exposes no pre-5 Pester. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Ship template version 0.3.0: least-privilege AI-maintainer identity tooling,
one-shot bootstrap completion, and the bundled agent skills — with an honest,
Keep a Changelog-formatted
setup/CHANGELOG.mdand a newchangelog-entryskill that maintains it.
Scope
setup/—New-AIMaintainerApp.ps1,Test-AIMaintainerIdentity.ps1,Complete-Setup.ps1,version,CHANGELOG.md,MIGRATION.mdrunbook;setup-time tests moved under
setup/tests/.setup/optional-skills/— bundleddevelop-with-tdd(+ TDD knowledge base)and the new
changelog-entryskill..config/— asciidoctor capability check probes an actual run;MD024relaxed tosiblings_only;Test-PowerShellScript.ps1StrictMode fix.setup/AI-Maintainer-Identity.adoc, READMEs,AGENTS.md— docs for the above.Boundary: this is the bootstrap/
setup/layer plus its docs and the changelog;no runtime product code exists in this template.
Risk & rollback
Low. The template ships tooling and docs, not a deployed service.
setup/isdesigned to be deleted after bootstrap (
Complete-Setup.ps1), and every scriptfails fast rather than mutating a repo silently. Rollback: revert this branch;
nothing here runs automatically on merge.
Evidence
pre-commit run --all-files: all hooks pass, includingasciidoctor syntax validation, once Ruby is on PATH (see note).markdownlint,PSScriptAnalyzer,zizmor,gitleaks, and the fast/standard test lanes are green.setup/AI-Maintainer-Identity.adocvalidated directly:asciidoctor -o /dev/null --failure-level WARN→ no warnings/errors.setup/CHANGELOG.mdand thechangelog-entryskill files passmarkdownlint-cli2.C:\Ruby34-x64\binwas missing from PATH, sothe local
asciidoctorhook initially failed with "'ruby.exe' is notrecognized" — an environment gap, not a content issue. With Ruby on PATH the
hook passes; CI (which provisions Ruby) enforces it at the merge gate.