diff --git a/.github/reports/audits/2026-09-14-label-audit/change-requests/label-update-request.md b/.github/reports/audits/2026-09-14-label-audit/change-requests/label-update-request.md index 341b44ab62..a4de07abe5 100644 --- a/.github/reports/audits/2026-09-14-label-audit/change-requests/label-update-request.md +++ b/.github/reports/audits/2026-09-14-label-audit/change-requests/label-update-request.md @@ -1,6 +1,6 @@ # [LABEL-UPDATE-REQUEST] Consolidate labels across GitHub and Linear (spec 008) -> Draft issue body for spec 008 task T046 (FR-021). Not opened yet. Label it `meta:needs-approval`. Generated from `evidence/linear-labels.json` by `scripts/automation/label-mapping.cjs`, which also checks the mapping against label-mapping schema rules 1 to 9. +> Issue body for spec 008 task T046 (FR-021), opened as #3834 and labelled `meta:needs-approval`. Generated from `evidence/linear-labels.json` by `scripts/automation/label-mapping.cjs`, which also checks the mapping against label-mapping schema rules 1 to 9. ## Chore Summary @@ -169,50 +169,50 @@ Nothing changes until @ashleyshaw records a dated decision on this issue. Each r | `area:observability` | retire | 3 | FR-012 | Requested in #3554. | | `area:workflows` | retire | 12 | FR-012 | Requested in #3554. | | `meta:needs-approval` | retire | 3 | FR-012, FR-021 | Requested in #3554. | -| `CI/CD` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `Hosting` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `aiops:instructions` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `aiops:tools` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `area:api` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:auth` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:backend` | retire | 24 | FR-012 | Proposed: applied to 24 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:changelog` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:communication` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:db` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:extension` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:frontend` | retire | 22 | FR-012 | Proposed: applied to 22 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:hosting` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:labels` | retire | 56 | FR-012 | Proposed: applied to 56 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:mcp` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:migration` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:projects` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:reports` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:specification` | retire | 40 | FR-012 | Proposed: applied to 40 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:templates` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:website` | retire | 106 | FR-012 | Proposed: applied to 106 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `bug` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. | -| `ci-runner-audit-2026-07-20` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `comp:query-loop` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `comp:readme-mermaid` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `epic` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `harvest-parity` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `master-ci-red` | retire | 8 | FR-012 | Proposed: applied to 8 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. | -| `meta:aiops` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. | -| `meta:audit` | retire | 42 | FR-012 | Proposed: applied to 42 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:dependabot-security` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:enhancement` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:incident-report` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:infrastructure-blocker` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:needs-audit` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is a placeholder. Check both at approval. | -| `meta:needs-triage` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. | -| `meta:refactor-rules` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:release-plan` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:tech-debt` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:tracking` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `security` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. | -| `status:needs-analysis` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `status:needs-cleanup` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `status:needs-template-fix` | retire | 207 | FR-012 | Proposed: applied to 207 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | +| `CI/CD` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `Hosting` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `aiops:instructions` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `aiops:tools` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `area:api` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:auth` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:backend` | retire | 24 | FR-012 | Proposed: applied to 24 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:changelog` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:communication` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:db` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:extension` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:frontend` | retire | 22 | FR-012 | Proposed: applied to 22 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:hosting` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:labels` | retire | 56 | FR-012 | Proposed: applied to 56 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3757. | +| `area:mcp` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:migration` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:projects` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:reports` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:specification` | retire | 40 | FR-012 | Proposed: applied to 40 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:templates` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:website` | retire | 106 | FR-012 | Proposed: applied to 106 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `bug` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834. | +| `ci-runner-audit-2026-07-20` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `comp:query-loop` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `comp:readme-mermaid` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `epic` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `harvest-parity` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `master-ci-red` | retire | 8 | FR-012 | Proposed: applied to 8 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:aiops` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:audit` | retire | 42 | FR-012 | Proposed: applied to 42 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:dependabot-security` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:enhancement` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:incident-report` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:infrastructure-blocker` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:needs-audit` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:needs-triage` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:refactor-rules` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:release-plan` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:tech-debt` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:tracking` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `security` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834. | +| `status:needs-analysis` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `status:needs-cleanup` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `status:needs-template-fix` | retire | 207 | FR-012 | Proposed: applied to 207 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | ### retire (57) @@ -298,50 +298,50 @@ Nothing changes until @ashleyshaw records a dated decision on this issue. Each r | `type:build-ci` | `type:ci` | 1 | FR-014 | Proposed (not listed in FR-012): Linear-only duplicate; FR-019 renames the Build & CI type to CI. Needed so the type family ends at exactly 25. | | `type:code-refactor` | `type:refactor` | 3 | FR-014 | Proposed (not listed in FR-012): Linear-only duplicate; FR-019 renames the Code Refactor type to Refactor. Needed so the type family ends at exactly 25. | | `type:documentation` | `type:docs` | 1 | FR-014 | Proposed (not listed in FR-012): Linear-only duplicate of type:docs. Needed so the type family ends at exactly 25. | -| `CI/CD` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `Hosting` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `aiops:instructions` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `aiops:tools` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `area:api` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:auth` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:backend` | retire | 24 | FR-012 | Proposed: applied to 24 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:changelog` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:communication` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:db` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:extension` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:frontend` | retire | 22 | FR-012 | Proposed: applied to 22 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:hosting` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:labels` | retire | 56 | FR-012 | Proposed: applied to 56 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:mcp` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:migration` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:projects` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:reports` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:specification` | retire | 40 | FR-012 | Proposed: applied to 40 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:templates` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `area:website` | retire | 106 | FR-012 | Proposed: applied to 106 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `bug` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. | -| `ci-runner-audit-2026-07-20` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `comp:query-loop` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `comp:readme-mermaid` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `epic` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `harvest-parity` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. | -| `master-ci-red` | retire | 8 | FR-012 | Proposed: applied to 8 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. | -| `meta:aiops` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. | -| `meta:audit` | retire | 42 | FR-012 | Proposed: applied to 42 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:dependabot-security` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:enhancement` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:incident-report` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:infrastructure-blocker` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:needs-audit` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is a placeholder. Check both at approval. | -| `meta:needs-triage` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. | -| `meta:refactor-rules` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:release-plan` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:tech-debt` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. | -| `meta:tracking` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `security` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. | -| `status:needs-analysis` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `status:needs-cleanup` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | -| `status:needs-template-fix` | retire | 207 | FR-012 | Proposed: applied to 207 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. | +| `CI/CD` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `Hosting` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `aiops:instructions` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `aiops:tools` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `area:api` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:auth` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:backend` | retire | 24 | FR-012 | Proposed: applied to 24 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:changelog` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:communication` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:db` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:extension` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:frontend` | retire | 22 | FR-012 | Proposed: applied to 22 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:hosting` | retire | 6 | FR-012 | Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:labels` | retire | 56 | FR-012 | Proposed: applied to 56 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3757. | +| `area:mcp` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:migration` | retire | 7 | FR-012 | Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:projects` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:reports` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:specification` | retire | 40 | FR-012 | Proposed: applied to 40 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:templates` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `area:website` | retire | 106 | FR-012 | Proposed: applied to 106 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `bug` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834. | +| `ci-runner-audit-2026-07-20` | retire | 13 | FR-012 | Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `comp:query-loop` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `comp:readme-mermaid` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `epic` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `harvest-parity` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834. | +| `master-ci-red` | retire | 8 | FR-012 | Proposed: applied to 8 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:aiops` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:audit` | retire | 42 | FR-012 | Proposed: applied to 42 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:dependabot-security` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:enhancement` | retire | 4 | FR-012 | Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:incident-report` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:infrastructure-blocker` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:needs-audit` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:needs-triage` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834. | +| `meta:refactor-rules` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:release-plan` | retire | 2 | FR-012 | Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:tech-debt` | retire | 1 | FR-012 | Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `meta:tracking` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `security` | retire | 11 | FR-012 | Proposed: applied to 11 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834. | +| `status:needs-analysis` | retire | 3 | FR-012 | Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `status:needs-cleanup` | retire | 5 | FR-012 | Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | +| `status:needs-template-fix` | retire | 207 | FR-012 | Proposed: applied to 207 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834. | ## Where the FR-015 labels live diff --git a/.github/reports/audits/2026-09-14-label-audit/evidence/change-requests.json b/.github/reports/audits/2026-09-14-label-audit/evidence/change-requests.json index 4ecaeef5c3..a1e007cfd4 100644 --- a/.github/reports/audits/2026-09-14-label-audit/evidence/change-requests.json +++ b/.github/reports/audits/2026-09-14-label-audit/evidence/change-requests.json @@ -210,6 +210,21 @@ "approved_at": null, "approval_comment": null, "blocks": "Stage 2 configuration PR (T059)" + }, + { + "kind": "LABEL-UPDATE-REQUEST", + "task": "T046", + "issue_number": 3834, + "url": "https://github.com/lightspeedwp/.github/issues/3834", + "covers": [ + "the full spec 008 label mapping in evidence/linear-labels.json", + "every import that has no request of its own" + ], + "status": "pending", + "approved_by": null, + "approved_at": null, + "approval_comment": null, + "blocks": "Stage 2 configuration PR (T059)" } ] } diff --git a/.github/reports/audits/2026-09-14-label-audit/evidence/linear-labels.json b/.github/reports/audits/2026-09-14-label-audit/evidence/linear-labels.json index 36b1bd651d..5f6e996d14 100644 --- a/.github/reports/audits/2026-09-14-label-audit/evidence/linear-labels.json +++ b/.github/reports/audits/2026-09-14-label-audit/evidence/linear-labels.json @@ -4350,8 +4350,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 1 Linear issue. Colour is the Linear label's own; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 1 Linear issue. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "CI/CD", "systems": [ "linear" @@ -4365,8 +4365,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "Hosting", "systems": [ "linear" @@ -4446,8 +4446,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "aiops:instructions", "systems": [ "github", @@ -4475,8 +4475,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 4 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 4 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "aiops:tools", "systems": [ "linear" @@ -4490,8 +4490,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:api", "systems": [ "linear" @@ -4505,8 +4505,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:auth", "systems": [ "linear" @@ -4520,8 +4520,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 24 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 24 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:backend", "systems": [ "linear" @@ -4535,8 +4535,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:changelog", "systems": [ "github", @@ -4551,8 +4551,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:communication", "systems": [ "github", @@ -4567,8 +4567,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:db", "systems": [ "linear" @@ -4582,8 +4582,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:extension", "systems": [ "linear" @@ -4597,8 +4597,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 22 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 22 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:frontend", "systems": [ "linear" @@ -4612,8 +4612,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 6 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:hosting", "systems": [ "linear" @@ -4627,8 +4627,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 56 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 56 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3757.", + "change_request": 3757, "source": "area:labels", "systems": [ "github", @@ -4657,8 +4657,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:mcp", "systems": [ "linear" @@ -4672,8 +4672,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 7 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:migration", "systems": [ "linear" @@ -4700,8 +4700,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:projects", "systems": [ "github", @@ -4716,8 +4716,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:reports", "systems": [ "linear" @@ -4731,8 +4731,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 40 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 40 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:specification", "systems": [ "github", @@ -4747,8 +4747,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 11 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 11 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:templates", "systems": [ "github", @@ -4763,8 +4763,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 106 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 106 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "area:website", "systems": [ "github", @@ -4779,8 +4779,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "bug", "systems": [ "github", @@ -4795,8 +4795,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 13 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "ci-runner-audit-2026-07-20", "systems": [ "linear" @@ -4810,8 +4810,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "comp:query-loop", "systems": [ "linear" @@ -4825,8 +4825,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "comp:readme-mermaid", "systems": [ "github", @@ -4855,8 +4855,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "epic", "systems": [ "github", @@ -4871,8 +4871,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the Linear label's own; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "harvest-parity", "systems": [ "linear" @@ -4900,8 +4900,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 8 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 8 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "master-ci-red", "systems": [ "linear" @@ -4915,8 +4915,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:aiops", "systems": [ "github", @@ -4945,8 +4945,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 42 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 42 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:audit", "systems": [ "github", @@ -4961,8 +4961,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:dependabot-security", "systems": [ "github", @@ -4977,8 +4977,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 4 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:enhancement", "systems": [ "github", @@ -4993,8 +4993,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:incident-report", "systems": [ "github", @@ -5009,8 +5009,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:infrastructure-blocker", "systems": [ "github", @@ -5025,8 +5025,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is a placeholder. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:needs-audit", "systems": [ "github", @@ -5041,8 +5041,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is a placeholder. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:needs-triage", "systems": [ "github", @@ -5057,8 +5057,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:refactor-rules", "systems": [ "github", @@ -5073,8 +5073,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 2 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:release-plan", "systems": [ "github", @@ -5089,8 +5089,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 1 Linear issue. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:tech-debt", "systems": [ "github", @@ -5105,8 +5105,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "meta:tracking", "systems": [ "github", @@ -5569,8 +5569,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 11 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 11 Linear issues. Colour is the Linear label's own; description is a placeholder. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "security", "systems": [ "github", @@ -5702,8 +5702,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 3 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "status:needs-analysis", "systems": [ "github", @@ -5718,8 +5718,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 5 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "status:needs-cleanup", "systems": [ "github", @@ -5734,8 +5734,8 @@ }, { "concept_label": null, - "notes": "Proposed: applied to 207 Linear issues. Colour is the family default; description is Linear's own. Check both at approval.", - "change_request": null, + "notes": "Proposed: applied to 207 Linear issues. Colour is the family default; description is Linear's own. Check both at approval. Change request #3834.", + "change_request": 3834, "source": "status:needs-template-fix", "systems": [ "github", diff --git a/.github/specs/008-label-audit-consolidation/tasks.md b/.github/specs/008-label-audit-consolidation/tasks.md index a6127a8640..a4c7a12b2c 100644 --- a/.github/specs/008-label-audit-consolidation/tasks.md +++ b/.github/specs/008-label-audit-consolidation/tasks.md @@ -584,7 +584,7 @@ The active labelling agent removes labels outside `labels.yml` today, so this ru - [ ] T074 [US4] Give every branch type in `.github/branch-types.yml` exactly one canonical `type:*` label in `.github/branch-labels.yml` `default_labels`, because `scripts/pr-template-router.js` applies those and never the template frontmatter `labels`: add entries for the 13 types that have none (`aiops`, `automation`, `epic`, `doc`, `content`, `api`, `schema`, `seo`, `config`, `migrate`, `qa`, `uat`, `telemetry`); set the 10 that differ from their routed template (`hotfix`, `revert`, `docs`, `i18n`, `perf`, `build`, `ops`, `audit`, `codex`, `research`) to the template's canonical type label, because constitution v1.4.0 makes the template's type authoritative (for example `audit` → `type:audit`, `hotfix` → `type:release`, `docs` → `type:docs`, `codex` → `type:aiops`); `branch-labels.yml` is locked since v1.4.0, so add this change to the T046b `[TEMPLATE-UPDATE-REQUEST]` and ship it in the T059 configuration PR only after that request is approved (depends on #3732 merging and on T046b approval) and check the T046b acceptance criterion ("an `aiops/` branch PR receives `type:aiops`") by running `node scripts/pr-template-router.js aiops/example-branch` per FR-014, SC-011 (partial) - [ ] T075 [US4] Make `scripts/automation/label-inventory.js` read a dedicated variable (for example `LABEL_INVENTORY_TOKEN`) instead of `GITHUB_TOKEN`, refuse to run when `GITHUB_ACTIONS` is set, and exit non-zero when the organisation listing returns no private repositories although `GET /orgs/{org}` reports some, so a repository-scoped token cannot produce a silently incomplete `github-api-labels.json`; add tests and update T041's command per FR-010, FR-018 (partial) — implemented in #3734, which is still open: until it merges, the script reads `GITHUB_TOKEN` and has no guard, so T075 stays open and T041 does not run (it runs after T075) - [ ] T076 [US4] Add to the T046b `[TEMPLATE-UPDATE-REQUEST]` draft (`.github/reports/audits/2026-09-14-label-audit/change-requests/pr-aiops-template-request.md`) a reconciliation of `.github/PULL_REQUEST_TEMPLATE/config.yml` routes with `.github/branch-types.yml`, which the router reads (18 prefixes differ, for example `audit/`, `codex/`, `test/`, `security/`), and correct the draft's routing sentence (`aiops/`, `codex/` and `automation/` route to `pr_aiops.md`; `proto/` routes to `pr_feature.md`); the direction is fixed by constitution v1.4.0: `config.yml` is corrected to mirror `branch-types.yml`, never the reverse, and the edit to the locked `config.yml` ships in the T059 configuration PR only after the request is approved (#3732 has merged, so constitution v1.4.0 is active; depends on T046b) per FR-011, research R18 and R23 (contradicts) -- [ ] T077 [US4] When T043 fills `mappings[]`, update `scripts/validation/__tests__/label-audit-stage-one.test.js` in the same commit: it currently asserts `mappings` is empty. Its OpenSpec target check (`openspec` → `spec`) already matches the 2026-10-02 Q3 answer and stays per T043, T048 (partial) +- [x] T077 [US4] When T043 fills `mappings[]`, update `scripts/validation/__tests__/label-audit-stage-one.test.js` in the same commit: it currently asserts `mappings` is empty. Its OpenSpec target check (`openspec` → `spec`) already matches the 2026-10-02 Q3 answer and stays per T043, T048 (partial) - [x] T078 [US4] Replace the approver handle `@ashley` with `@ashleyshaw` in `.github/specs/008-label-audit-consolidation/` (`spec.md`, `plan.md`, `tasks.md`, `contracts/`, `quickstart.md`, `checklists/`) and in the T049 gate draft `.github/reports/audits/2026-09-14-label-audit/change-requests/label-deletion-gate.md`, so the approval the FR-016 tool checks by login matches the text; leave `@ashleyshaw` unchanged and keep quoted historical comments as written (constitution v1.4.0, analysis finding I2) per FR-016 (contradicts) — done in #3703 for the spec 008 artefacts (44 handles) and for the last handle in the gate draft (`label-deletion-gate.md`, scope paragraph, which #3725 left); T050 keeps `@ashley` until #3725 merges, to avoid a conflict, and T079 changes it - [ ] T079 [US4] After #3703 and #3704 merge (#3725 and #3732 have merged), reconcile `.github/specs/008-label-audit-consolidation/tasks.md` on `develop`: tick T062a (done in #3704), confirm T042, T046b, T048 and T049 are ticked (done in #3725), update the completion totals and the counts in `tests/js/label-consolidation-post-merge-docs.test.js`, and close T009 as superseded by T041, and in T050 change `@ashley` to `@ashleyshaw` (left by T078 to avoid a conflict with #3725, which has since merged) and add the FR-021 interim rule (waiting requests carry `status:blocked` until `meta:needs-approval` is in `labels.yml`; T059's follow-up swaps them) per plan: Progress (partial) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f7468074c..c12d419194 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- **Label Import Requests** — Every imported label now names the request that approves it, and the request is open as an issue. ([#3834](https://github.com/lightspeedwp/.github/issues/3834)) - **Label Mapping** — Adds the label mapping and a draft change request for approval. Nothing is applied yet. ([PR #3831](https://github.com/lightspeedwp/.github/pull/3831)) - **Label Consolidation Tool** — Plans label renames and creations across repositories, with deletions gated by approval per repository. Dry run by default; private evidence stays private. ([PR #3823](https://github.com/lightspeedwp/.github/pull/3823)) - **Locked Files Guard** — Pull requests that change locked labels, issue types, templates or routing files now fail a check until a linked change request is approved by @ashleyshaw. (#3734) diff --git a/scripts/automation/__tests__/label-mapping.test.js b/scripts/automation/__tests__/label-mapping.test.js index e5eca39b24..210429d5d4 100644 --- a/scripts/automation/__tests__/label-mapping.test.js +++ b/scripts/automation/__tests__/label-mapping.test.js @@ -116,6 +116,24 @@ describe('label mapping', () => { ).toThrow(/openspec:brand-new has no GAP_MAP decision/); }); + it('gives every import a change request, and area:labels cites #3757', () => { + const imports = build().mappings.filter((m) => m.action === 'import'); + expect(imports).toHaveLength(49); + for (const entry of imports) expect(Number.isInteger(entry.change_request)).toBe(true); + expect(imports.find((m) => m.source === 'area:labels').change_request).toBe(3757); + expect(imports.find((m) => m.source === 'area:builds').change_request).toBe(3554); + }); + + it('reports an import that cites no change request', () => { + const { mappings, proposedNames } = build(); + const broken = mappings.map((m) => + m.source === 'area:labels' ? { ...m, change_request: null } : m + ); + expect(validateMappings(broken, proposedNames, yml, openspecInFiles).join(' ')).toMatch( + /rule 10: import area:labels/ + ); + }); + it('writes the evidence file only when validation found no problems', () => { expect(shouldWrite([])).toBe(true); expect(shouldWrite(['rule 5: the type family has 29 labels, not 25'])).toBe(false); diff --git a/scripts/automation/label-mapping.cjs b/scripts/automation/label-mapping.cjs index c826f7a2b9..a2a0fd3c50 100644 --- a/scripts/automation/label-mapping.cjs +++ b/scripts/automation/label-mapping.cjs @@ -136,6 +136,14 @@ const REPREFIX = { /** FR-012 project-specific labels, moved to a Linear team rather than imported. */ const TEAM_SCOPE = ['area:xero', 'area:flow', 'area:jobs', 'area:monorepo']; +/** + * Change requests that cover the imports (constitution Principle II; schema rule 10). + * #3834 is the request that carries the whole mapping, #3757 asks for `area:labels` + * and #3554 for the five imports below. + */ +const IMPORT_CHANGE_REQUEST = 3834; +const OWN_CHANGE_REQUESTS = { 'area:labels': 3757 }; + /** The five imports of #3554, with the colours and descriptions set in FR-012. */ const ISSUE_3554 = { 'area:builds': { @@ -602,7 +610,8 @@ function buildMappings({ description: ownDescription || `Imported from Linear (${issueCount} issues); description to be written at approval.`, - notes: `Proposed: applied to ${issueCount} Linear issue${issueCount === 1 ? '' : 's'}. Colour is the ${colourSource}; description is ${ownDescription ? "Linear's own" : 'a placeholder'}. Check both at approval.`, + change_request: OWN_CHANGE_REQUESTS[name] || IMPORT_CHANGE_REQUEST, + notes: `Proposed: applied to ${issueCount} Linear issue${issueCount === 1 ? '' : 's'}. Colour is the ${colourSource}; description is ${ownDescription ? "Linear's own" : 'a placeholder'}. Check both at approval. Change request #${OWN_CHANGE_REQUESTS[name] || IMPORT_CHANGE_REQUEST}.`, }); } @@ -691,6 +700,11 @@ function validateMappings(mappings, proposedNames, yml, openspecInFiles = []) { if (m.target && /^spec:\d+$/.test(m.target)) problems.push(`rule 9: ${m.source} targets the spec number ${m.target}`); } + // 10. Every import cites the change request that approves it (constitution Principle II). + for (const m of mappings.filter((x) => x.action === 'import')) { + if (!Number.isInteger(m.change_request)) + problems.push(`rule 10: import ${m.source} cites no change request`); + } // Each source appears once. const seen = new Set(); for (const m of mappings) { diff --git a/tests/js/label-consolidation-post-merge-docs.test.js b/tests/js/label-consolidation-post-merge-docs.test.js index 3d94656d7a..43c4e36da6 100644 --- a/tests/js/label-consolidation-post-merge-docs.test.js +++ b/tests/js/label-consolidation-post-merge-docs.test.js @@ -53,7 +53,7 @@ describe('Label consolidation post-merge task plan', () => { expect(taskRows).toHaveLength(118); expect(new Set(taskRows.map(({ id }) => id)).size).toBe(taskRows.length); - expect(taskRows.filter(({ done }) => done)).toHaveLength(68); + expect(taskRows.filter(({ done }) => done)).toHaveLength(69); expect(phase8Count).toBe(67); expect(tasks).toContain(`**Total Tasks**: ${taskRows.length}`); expect(tasks).toContain(`All ${taskRows.length} tasks in phases 1-10`);