Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "Label Governance Stabilisation Workstream"
description: "Issue-first workstream to eliminate orphan labels and harden label governance automation."
version: "v0.1.0"
last_updated: "2026-05-27"
file_type: "project"
maintainer: "LightSpeed Team"
authors: ["Codex"]
license: "GPL-3.0"
tags: ["governance", "labels", "automation", "issues"]
domain: "governance"
stability: "active"
---

# Label Governance Stabilisation Workstream

## Why This Is Next

This is the highest-impact follow-on after PR #428 because label hygiene and policy enforcement directly affect issue triage quality, automation routing, and reporting fidelity across the whole repository.

Live anchors on 2026-05-27:

- #95 `🏷️ Orphan Labels Detected (30)`
- #66 `[Workflows/Docs] Canonical labels + org seeding workflow`
- #67 `[Workflows] Scope README regen to changed paths with concurrency guard`
- #69 `[Workflows] Enforce CodeRabbit before Copilot on PRs`

## Outcome

Create a single, issue-first execution pack that:

- Reduces orphan labels to zero or a justified minimal set.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since this workstream involves reducing orphan labels and defining remediation/migration steps, please ensure that any resulting label migration maps and notes are documented in the central /docs/MIGRATION.md file to ensure contributors can follow migration rules across the repository.

References
  1. Document migration maps and notes in a central /docs/MIGRATION.md file to ensure contributors can follow migration rules mentioned in README files across the repository.

- Aligns canonical labels and seeding automation.
- Prevents noisy or racing README updates.
- Enforces PR review ordering policy at workflow level.

## Structure

- `issues/parents/` parent epic draft
- `issues/children/batch-00-triage/` orphan-label audit and remediation plan
- `issues/children/batch-01-execution/` execution tasks mapped to open issues
- `issue-posting-and-linking-plan.md` posting order and linking map
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: "Issue Posting and Linking Plan"
description: "Order of operations for linking existing issues into the label governance workstream."
version: "v0.1.0"
last_updated: "2026-05-27"
file_type: "plan"
maintainer: "LightSpeed Team"
authors: ["Codex"]
license: "GPL-3.0"
tags: ["issues", "planning", "labels"]
domain: "governance"
stability: "draft"
---

# Posting and Linking Plan

## Ordering

1. Open the parent epic from `issues/parents/01-epic-label-governance-stabilisation.md`.
2. Update existing issue #95 with the triage checklist from `batch-00-triage`.
3. Update existing issue #66 with the canonicalisation checklist.
4. Update existing issue #67 with the concurrency and path-scoping checklist.
5. Update existing issue #69 with the review-order enforcement checklist.

## Linking Map

- Parent epic -> #95, #66, #67, #69
- #95 blocks #66 because canonical clean-up needs current orphan evidence.
- #66 and #67 can run in parallel after #95 triage output is confirmed.
- #69 can run in parallel with #66/#67 if workflow ownership is available.

## Closeout Criteria

- All four linked issues closed.
- Labeling automation and docs validations pass locally.
- Workstream summary added to changelog/release notes if policy-visible.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: "Label Governance Stabilisation Issue Drafts"
description: "Parent and child issue drafts for orphan-label remediation and policy hardening."
version: "v0.1.0"
last_updated: "2026-05-27"
file_type: "project"
maintainer: "LightSpeed Team"
authors: ["Codex"]
license: "GPL-3.0"
tags: ["issues", "labels", "governance"]
domain: "governance"
stability: "active"
---

# Label Governance Stabilisation Issue Drafts

## Parent

- `parents/01-epic-label-governance-stabilisation.md`

## Children

- `children/batch-00-triage/00-01-audit-orphan-labels-and-remediation-plan-issue-95.md`
- `children/batch-01-execution/01-01-task-canonical-labels-and-seeding-issue-66.md`
- `children/batch-01-execution/01-02-task-readme-regeneration-scope-and-concurrency-issue-67.md`
- `children/batch-01-execution/01-03-task-review-order-enforcement-issue-69.md`
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: "Audit"
about: "Audit orphan labels and define remediation for issue #95"
title: "[Audit] Reconcile orphan labels and remediation plan (#95)"
labels: [status:needs-audit, priority:important, type:audit, area:ci, type:automation]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The labeling agent (scripts/agents/labeling.agent.js) enforces a 'one-hot' constraint on type: labels (meaning only one label starting with type: should be applied). This draft has multiple type: labels (type:audit and type:automation), which violates this constraint and will cause the automation to strip or conflict on them. Please keep only one primary type: label.

Suggested change
labels: [status:needs-audit, priority:important, type:audit, area:ci, type:automation]
labels: [status:needs-audit, priority:important, type:audit, area:ci]

---

## Audit Summary

Use issue #95 as the source tracker to produce a current orphan-label inventory, classify each orphan as keep/merge/remove, and define zero-regression remediation steps.

## Scope Checklist

- [ ] Export latest orphan label set with evidence.
- [ ] Categorise each orphan: rename, merge, retain, or remove.
- [ ] Identify workflow/docs dependencies for each impacted label.
- [ ] Produce a patch order that avoids breaking active automations.

## Acceptance Criteria

- [ ] #95 contains an up-to-date inventory and decision table.
- [ ] Follow-on execution tasks are linked and sequenced.
- [ ] No label removal is executed without replacement mapping where needed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: "Task"
about: "Execute canonical label and seeding workflow hardening for issue #66"
title: "[Task] Canonical labels plus org seeding workflow alignment (#66)"
labels: [status:ready, priority:important, type:task, area:ci, type:automation, type:documentation]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The labeling agent (scripts/agents/labeling.agent.js) enforces a 'one-hot' constraint on type: labels. This draft has multiple type: labels (type:task, type:automation, and type:documentation), which violates this constraint. Please keep only one primary type: label.

Suggested change
labels: [status:ready, priority:important, type:task, area:ci, type:automation, type:documentation]
labels: [status:ready, priority:important, type:task, area:ci]

---

## Task Summary

Execute the canonical label policy and seed workflow updates tracked in #66, based on the orphan-label decisions from #95.

## Implementation Checklist

- [ ] Align canonical label definitions and docs.
- [ ] Update seeding workflow for deterministic sync behaviour.
- [ ] Add guardrails for missing or deprecated labels.
- [ ] Validate workflow and docs commands locally.

## Acceptance Criteria

- [ ] #66 reflects final canonical label contract.
- [ ] Seeding workflow applies canonical set consistently.
- [ ] Validation commands pass with no schema or lint regressions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: "Task"
about: "Implement scoped README regeneration and concurrency guard for issue #67"
title: "[Task] Scope README regeneration and add concurrency guard (#67)"
labels: [status:ready, priority:important, type:task, area:ci, type:documentation]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The labeling agent (scripts/agents/labeling.agent.js) enforces a 'one-hot' constraint on type: labels. This draft has multiple type: labels (type:task and type:documentation), which violates this constraint. Please keep only one primary type: label.

Suggested change
labels: [status:ready, priority:important, type:task, area:ci, type:documentation]
labels: [status:ready, priority:important, type:task, area:ci]

---

## Task Summary

Implement the #67 workflow hardening so README regeneration only runs where changes require it and avoids concurrent run conflicts.

## Implementation Checklist

- [ ] Restrict trigger paths to relevant docs or metadata files.
- [ ] Add concurrency key and cancel-in-progress policy where appropriate.
- [ ] Ensure skip logic still preserves required updates.
- [ ] Validate workflow behaviour with representative file-change scenarios.

## Acceptance Criteria

- [ ] #67 documents final trigger scope and concurrency policy.
- [ ] No duplicate/conflicting README writes in concurrent PR activity.
- [ ] Existing docs validation and generation still succeed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: "Task"
about: "Enforce review-order policy in workflows for issue #69"
title: "[Task] Enforce CodeRabbit before Copilot in PR workflow policy (#69)"
labels: [status:needs-triage, priority:important, type:task, area:ci, type:automation]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The labeling agent (scripts/agents/labeling.agent.js) enforces a 'one-hot' constraint on type: labels. This draft has multiple type: labels (type:task and type:automation), which violates this constraint. Please keep only one primary type: label.

Suggested change
labels: [status:needs-triage, priority:important, type:task, area:ci, type:automation]
labels: [status:needs-triage, priority:important, type:task, area:ci]

---

## Task Summary

Implement the review-order policy from #69 so workflow and documentation clearly enforce CodeRabbit checks before Copilot-assisted flows where required.

## Implementation Checklist

- [ ] Define exact enforcement point (status checks, workflow gates, or both).
- [ ] Update workflow logic and contributor-facing docs.
- [ ] Add validation to detect policy drift.
- [ ] Confirm policy behaviour on a sample PR.

## Acceptance Criteria

- [ ] #69 has an explicit and testable enforcement mechanism.
- [ ] Policy wording and workflow behaviour are aligned.
- [ ] Regression risk is documented for teams using existing PR templates.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: "Epic"
about: "Stabilise repository label governance and automation contracts"
title: "[Epic] Label governance stabilisation and automation hardening"
labels: [status:needs-planning, priority:important, type:epic, area:ci, type:automation]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The labeling agent (scripts/agents/labeling.agent.js) enforces a 'one-hot' constraint on type: labels. This draft has multiple type: labels (type:epic and type:automation), which violates this constraint. Please keep only one primary type: label.

Suggested change
labels: [status:needs-planning, priority:important, type:epic, area:ci, type:automation]
labels: [status:needs-planning, priority:important, type:epic, area:ci]

---

## Epic Summary

Stabilise label governance by resolving orphan labels, enforcing canonical label definitions, and hardening workflow policies that consume label metadata.

## Linked Stories/Tasks

- #95 Orphan labels audit and remediation
- #66 Canonical labels and seeding workflow
- #67 README regeneration scoping and concurrency guard
- #69 CodeRabbit-before-Copilot review order enforcement

## Acceptance Criteria

- [ ] Orphan label set is remediated and documented.
- [ ] Canonical label source of truth and seeding workflow are aligned.
- [ ] README regeneration automation is scoped to changed paths and race-safe.
- [ ] Review order policy is codified and validated in workflows.

## Dependencies / Blockers

- Needs current inventory output from #95 before final canonical cleanup.
- Requires workflow validation in CI-compatible local commands.

## Additional Context

This epic belongs to `.github/projects/active/label-governance-stabilisation-2026-05-27/`.
Loading