Skip to content

feat(repositories): declare the doggy-countdown repository - #122

Merged
devantler merged 3 commits into
mainfrom
claude/declare-doggy-countdown-repo
Jul 26, 2026
Merged

feat(repositories): declare the doggy-countdown repository#122
devantler merged 3 commits into
mainfrom
claude/declare-doggy-countdown-repo

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

A new app repository, doggy-countdown, was created for a personal project — a countdown to the day a puppy comes home. The standing rule is that GitHub configuration is managed declaratively, so a repository that exists only imperatively is drift from the moment it is created.

What

Declares the new repository in the same shape as the other private tenants: actively managed, visibility pinned private, never deletable, never archivable.

This is the adoption half of the documented bootstrap — the repo itself had to be created imperatively because the provider cannot send the org's five required custom properties on create. Everything after this is declarative.

Part of setting up the doggy-countdown tenant.

The repository declaration landed without the labels, team-admins and
team-maintainers dimensions, so declarative-coverage reported three
undeclared repository/dimension pairs.

Declare all three. The repo carries no ecosystem labels, so its extras
list is empty and the canonical org taxonomy alone is authoritative --
its three live labels (blocked, next, released) are all inside that set,
so nothing is stripped. Neither team held access, so both grants are
Created rather than Observe-adopted.

admin-team-policy pins the Admins inventory by exact count, so its
counts and repository list move with the new grant.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

CI is green at 54f4d25e🧹 Validate manifests and CI - Required Checks both pass, and all three of the repo's validate commands pass locally. Requesting review.

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

@devantler: Starting the review for #122.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds Crossplane declarations for the private, unarchived doggy-countdown repository, its authoritative issue-label configuration, and team access grants for admins and maintainers. The new resources are included in their Kustomizations. The admin policy test now expects the additional repository and corresponding generated policy and grant counts.

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main change: declaring the doggy-countdown repository.
Description check ✅ Passed The description matches the changeset and explains the new repository adoption and declarative management.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Readiness at 54f4d25e — all three conditions met.

Condition Evidence
Programmatically tested All three commands from AGENTS.md ## Maintenance pass locally: kubectl kustomize deploy/ builds clean, tests/admin-team-policy.sh exits 0, tests/declarative-coverage.sh reports OK — 22 repositories across 4 rendered dimensions. RED proof is run 30207647011 on the previous head, which named exactly the three undeclared pairs this PR closes.
Reviewed cr@54f4d25e — CodeRabbit summary updated 15:30:38Z, after the authenticated request, naming this head, "No actionable comments were generated". Zero threads, zero body findings.
Tried and evaluated See below.

Evaluation. These manifests reconcile on-cluster through Crossplane, so there is no local runtime surface to exercise; what is observable pre-apply is the rendered output, and that is what I checked rather than reasoning from the source. Rendering deploy/ and reading back the doggy-countdown IssueLabels gives exactly the 22 canonical org labels — the empty extras list correctly receives the shared patch, matching world-at-ruin's count. The repository's three live labels (blocked, next, released) are all inside that canonical set, so making the set authoritative strips nothing in use. Both TeamRepository grants render with the intended admin / maintain permissions.

Access impact: both admins and maintainers currently contain only devantler, so no additional person gains access to this private repository.

One judgement call worth naming: the guard demanded a team-maintainers entry, and the two comparable private repos (wedding-app, ascoachingogvaner) are exempted from that dimension rather than exempt by policy — their exemptions are recorded as gaps to close. I therefore declared the grant rather than adding a fourth exemption. Happy to swap it for an exemption if you would rather private app repos stay admins-only.

@devantler
devantler marked this pull request as ready for review July 26, 2026 15:33
@devantler
devantler merged commit 26f5481 into main Jul 26, 2026
11 checks passed
@devantler
devantler deleted the claude/declare-doggy-countdown-repo branch July 26, 2026 15:36
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