Skip to content

Roadmap: declarative GitHub-org-as-code β€” extend coverage & sustain the source of truthΒ #56

Open
14 of 19 issues completed

Description

@devantler

πŸ€– Generated by the Agentic Engineer

Product outcome

Keep organization configuration and repository automation in one reviewed source of truth. Crossplane remains the settings writer; complete read-only audits detect drift and missing ownership without introducing another settings writer.

Delivered foundation

The original delivery issues are closed and remain linked for evidence:

Labels and roadmap structure now exist; the earlier June inventory and missing-label explanation no longer describe the product.

Current delivery sequence

Completion standard

A rendered declaration is desired state, not proof of effective GitHub state. Read back the full stable live universe, exact targets and bypasses, require native positive and negative controls where enforcement changes, and preserve UNKNOWN for incomplete joins. Routine monitoring, rollout-input retirement, provider adoption and maintenance archive remain separate deliveries. No security policy, grant, archive or irreversible deletion is authorized by a successful audit alone.

Activity

  1. moved this to πŸ“₯ Backlog in 🌊 Project Boardon Jul 18, 2026
  2. added theissue type on Jul 18, 2026
  3. devantler commented on Jul 18, 2026

    @devantler
    ContributorAuthor

    πŸ€– Generated by the Daily AI Engineer

    Roadmap refresh β€” 2026-07-18

    All five original children are delivered and closed, so the extend coverage half of this epic
    is complete:

    The sustain the source of truth half had no enforcing code, and had already slipped. Measured
    against the 21 non-archived org repos today: labels/ and grant-admins-on-* are 21/21, but
    repositories/ is 18/21, repository-permissions/ 17/21, and grant-maintainers-on-* 14/21 β€” 14
    (dimension, repo) pairs undeclared. Two dimensions being complete is what makes the rest drift
    rather than a designed boundary.

    New children:

    Remaining coverage work already tracked outside this list: #69 (rulesets awaiting provider support),
    #84 (retire the maintenance repo), #85 (org-wide settings awaiting provider support), #112
    (repository-settings writes 422-blocked β€” gates the repositories/ half of #115).

  4. added a commit that references this issue on Oct 3, 2026
  5. devantler commented on Oct 21, 2026

    @devantler
    ContributorAuthor

    πŸ€– Generated by the Agentic Engineer

    The maintainer clarified the workflow ownership target: organization-required workflows are for genuinely cross-repository PR concerns; a product-specific job belongs to the product's own CI/CD and is enforced by a repository ruleset. Local actions may separate manageable units. This does not call for another App.

    Current cutover evidence and remaining work:

    Single-repository organization rule Intended repository-owned destination Delivery state
    .NET template validation Its native three-platform test workflow plus a repository status rule Native source merged in dotnet-template#535; overlap rule prepared in #688; final live verification and old-rule retirement remain.
    Go template validation Its own CI invoking the genuinely shared Go validation job, plus repository enforcement The current local aggregate is not a replacement for the actual Go checks. Preserve the existing validation until a real local caller is proven.
    Monorepo CI aggregate contract Existing repository-owned contract check plus repository enforcement Source is already product-local; scope/enforcement still needs the verified cutover.
    This repository's deployment guards Existing local guard workflow plus repository enforcement Source is already product-local; scope/enforcement still needs the verified cutover.
    World at Ruin regressions Product-owned regression gate plus repository enforcement Existing #166 and #282 retain the cutover/retirement work. Do not confuse the separate lint migration with regression enforcement.

    No old organization protection was disabled in this round. Native required statuses identify their producing App but do not carry the immutable workflow-source identity of an organization-required workflow; the final evidence must state the actual protection provided, not claim source equivalence.

    For reusable-workflow ownership, the .NET publisher's only production consumer has moved to its native publisher. #687 removes the unused maintained export and its skip-only catalogue smoke job while preserving the real shared action controls. World lint remains single-consumer; world-at-ruin#1494 is still parked on its independently tracked runtime blocker #1495, so the shared lint export cannot yet be retired.

    The Go validator is genuinely shared across multiple products and organization-direct invocations; catalogue fixtures were not counted as production reuse. The inventory also verified that the former data-product-controller repository redirects to khoist and that the frozen Actions catalogue is still active. Its remaining consumer migration must be included before claiming the maintained catalogue is the only source.

    Both #687 and #688 remain drafts with pending hosted checks, not delivered changes. #475 now includes measured runner-queue evidence from #687. A source/configuration test or green subset of checks is not merge, deployment, enforcement or complete portfolio-cleanup proof.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    No fields configured for Epic.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions