Skip to content

refactor(governance): replace goalposts with version milestones #742

Description

@flyingrobots

Decision

Use plain GitHub milestones named vX.Y.Z as the sole scheduling authority for Wesley work.

Retire slogan milestones named Goalpost: ... from active planning and retire vX.Y.Z labels as a parallel scheduling axis. Themes may remain in project views or descriptive labels, but they must not be required metadata or merge gates.

Trigger

PR #741 and issue #740 exposed the failure mode: the implementation slice is concrete and release-relevant, but several slogan goalposts are rhetorically plausible and none is objectively correct. Mandatory subjective classification blocked an otherwise green PR without adding scheduling information.

Refs #740
Refs #741

Canonical model

  • Unscheduled open issue: exactly one triage:* label and no milestone.
  • Scheduled open issue: exactly one plain version milestone named vX.Y.Z and no triage:* or vX.Y.Z scheduling label.
  • Release-gate issue: lives in the same vX.Y.Z milestone as implementation work and closes before the immutable release tag is created.
  • Priority and workflow status: GitHub Project fields.
  • Work classification: legend:*, pkg:*, work:*, and ordinary type labels.
  • Dependencies: GitHub issue relationships and explicit references.
  • Historical closed goalpost milestones and version labels remain evidence until a separately verified archival cleanup can preserve their information.

Deterministic live migration

  1. Rename open milestones Release: v0.3.0, Release: v0.4.0, and Release: v0.5.0 to plain version names.
  2. For every scheduled open issue, use its unique existing vX.Y.Z label to select the matching version milestone.
  3. Remove the redundant version label after the milestone assignment is verified.
  4. Leave triage:* issues without milestones.
  5. Assign feat(examples): add IR-to-Brainfuck extension generator #740 and this transition issue to v0.3.0.
  6. Close the five remaining open Goalpost: ... milestones after their open issue count reaches zero.
  7. Update release-gate bodies to describe milestone membership rather than version-label queries.

Repository work

  • Rewrite the authoritative hierarchy in AGENTS.md, docs/BEARING.md, and docs/METHOD.md.
  • Update triage, labels, documentation-standard, release, roadmap, contributor, and process guidance.
  • Update .continuum/release.yml to declare one version-milestone scheduling axis.
  • Update release guards to query the plain version milestone instead of version labels.
  • Update templates and deterministic governance tests.
  • Preserve historical release packets and SHA-anchored audit reports as historical evidence.

Acceptance

  • A focused regression fails under the current split goalpost/label model.
  • Scheduled work is defined by exactly one plain semantic-version milestone.
  • Unscheduled work is defined by exactly one triage:* label and no milestone.
  • Release guards find open scheduled work through the version milestone.
  • Release-gate handling cannot deadlock the release that it governs.
  • Current doctrine, templates, profile, and operator docs agree.
  • A read-only migration dry run accounts for every open issue before live mutation.
  • pnpm run preflight and focused governance suites pass.
  • Live GitHub migration occurs only after the versioned repository change is approved.

Transition exception

This issue intentionally has no slogan goalpost milestone. It exists to remove that axis. The temporary v0.3.0 label records scheduling under the currently published model and will be replaced by the plain v0.3.0 milestone during migration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreMaintenance / refactor / toolingdocsDocumentation changeslegend:DOCSDocumentation truth worklegend:PROCESSMethod/process worktestsTest suite and coveragev0.3.0Scheduled work for the v0.3.0 release.work-in-progressMethod issue is actively being workedwork:enablerCreates capability needed for a later product slice

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions