Skip to content

Migrate the shared Project schema and Base Project values #2672

Open

Description

@codeforester

Problem

The accepted Base governance design and implementation plan identify package 8 as a required deliverable. This issue translates that package into a reviewed, bounded issue/PR train; it does not authorize implementation before the issue reaches Ready.

Expected behavior

Update project_model.py, the Project template and gh project configure for the accepted metadata contract. Keep native Type values Task/Bug/Feature; migrate Priority P0→P1, P1→P2, P2→P3, P3→P4; add a Low/Medium/High Risk tier; reorder/redefine Status so Triage follows Backlog; record before/after Base Project counts. Do not delete existing values or change issue/PR relationships. Repository-specific Projects are migrated by their Stage G adoption issues. Resolve O10's community-triage decision before changing public contributor guidance.

Scope and non-goals

Scope: Update project_model.py, the Project template and gh project configure for the accepted metadata contract. Keep native Type values Task/Bug/Feature; migrate Priority P0→P1, P1→P2, P2→P3, P3→P4; add a Low/Medium/High Risk tier; reorder/redefine Status so Triage follows Backlog; record before/after Base Project counts. Do not delete existing values or change issue/PR relationships. Repository-specific Projects are migrated by their Stage G adoption issues. Resolve O10's community-triage decision before changing public contributor guidance.

Non-goals: Do not silently expand scope, activate unreviewed policy, mirror issue fields onto PRs, grant agents merge/release authority, or make changes outside the named affected areas. Any new product decision or materially new work gets a separate issue and decision record.

Affected areas

Impact and evidence

  1. Product intent: Implements only the accepted governance design and plan; any product-requirement change must be filed separately.
  2. Architecture and contracts: Destination is the package-specific section of the merged governance design/implementation plan plus the affected canonical contract named above.
  3. User guidance: The issue identifies likely guidance paths; the implementation PR must name updated user/FAQ/README paths or give a change-specific reason why none is affected.
  4. CLI/API and reference: The affected-area list determines whether CLI/API/reference docs change; the implementation PR must cite the exact reference path or justify no impact.
  5. Operations and safety: No privileged automation or merge authority is implied; the PR must list operational/security effects and any rollback.
  6. Validation and testing: The issue lists the planned tests; the PR must report executed validation and explain any unavailable test.
  7. Examples and downstream use: The implementation PR must identify affected examples/consumers or give evidence that this change has no downstream surface.
  8. Governance and contributor process: This package changes or preserves the contributor/governance contract as described in Scope; links must point to the canonical rules.
  9. Decision records: No new decision is accepted by this issue; any durable deviation requires a proposed decision record and explicit maintainer acceptance.
  10. Release notes: The PR must include a user-facing release-note line or a reasoned none; this issue does not pre-decide that disposition.

These are issue-stage dispositions to refine during Triage. Before Ready, every category must have its exact destination or evidence-based no-impact reason; the PR repeats the ten-category evidence for actual changes.

Open questions

  • None known. If implementation exposes an unresolved contract, return this issue to Triage and record the decision before implementation continues.

Plan

  • S1: One focused PR for this issue. Use Fixes #N only if no additional slice is needed; if the maintainer approves multiple PRs, name each S1…Sn here before the first is opened and use Part of #N.
  • Dependencies: the P1 issue, the O10 issue
  • Acceptance criteria:
  • Shared defaults and the Base Project expose P1–P4, Risk tier Low/Medium/High, and accepted status order/meaning.
  • Base Project before/after counts prove each priority migration and risk assignment; no issue is lost or assigned an unsupported value.
  • gh project configure and the base-project-template agree with project_model.py and preserve repo-specific areas/initiatives.
  • Current native issue types remain Task/Bug/Feature unless a separate decision is accepted.
  • docs/github-workflow.md explains the internal status migration and links the separate community-triage decision without silently rewriting public community guidance.
  • Validation:
  • Add schema/configuration tests for new options and extension preservation.
  • Capture Base Project counts before and after migration and read back representative items.
  • Run Project doctor/configure dry-run and targeted project tests.
  • Risks and rollback: Priority remapping changes urgency semantics; inventory before writing, retain old values where GitHub requires them, and roll back through a reviewed reverse migration rather than deleting options.
  • Decision impact: No decision is accepted merely by implementing the issue. Record the relevant accepted decision/ADR and file a superseding record if the maintainer approves a change.

Activity

  1. self-assigned this
    on Nov 10, 2026
  2. added this to the v1.11.0 milestone on Nov 11, 2026
  3. codeforester commented on Nov 11, 2026

    @codeforester
    CollaboratorAuthor

    Pre-Triage review against the accepted plan (#2664, tracker #2665)

    1. Safe migration order. Remapping P0→P1 collides with the existing P1. Rename options in place, highest first: P3→P4, then P2→P3, P1→P2 and P0→P1. Alternatively, record each item's value and restore it afterwards. Before touching the live Base Project, verify on the base-project-template Project that basectl gh project configure keeps existing item values when options change. It has --replace-project and --copy-fields-from; say which path the migration uses, and put its --dry-run output in the PR.
    2. Scope. homebrew-base has no Project of its own; its issues are items in the Base Project. Its items therefore migrate here, not in homebrew-base#96. Say so in the issue and in homebrew-base#96.
    3. Slicing. Decision O10 (Review community triage guidance against the internal Triage status #2671) affects only the Status redefinition. Consider two slices: S1 for Priority and Risk tier, and S2 for Status after Review community triage guidance against the internal Triage status #2671. That keeps the first slice off the critical path.
    4. Priorities of the governance work. Every issue under Track implementation of the accepted Base governance plan #2665 is P2 today, so after migration they would all be P3. Set priorities along the critical path, here or in Triage.
    5. Say which old values "retain old values where GitHub requires them" refers to.

    Dependencies text. Replace the P1 issue, the O10 issue with #2666 and #2671. The native blocked-by links are already correct; the body is what a reviewer reads.

    Contract text. The Impact, Scope and Open questions sections are still the shared template text. The Impact section is identical in 24 of #2666–#2690, and Scope repeats Expected behavior. That's fine in Backlog. Before Ready, replace each with this issue's own dispositions.

    Claude Code (Opus 5.5), reviewing from Ramesh's account at his request. This review comes before Triage, so it is not an issue-loop round.

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or product improvement

Type

Projects

  • Status
    Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions