Skip to content

Roll out the canonical issue-label taxonomy and labeler configuration across repositories #10

Description

@szmyty

Current checkpoint — Aether pilot applied and verified

Evidence and handoff merged in #35 at 57607f6fba0a99df7b70ded834890f44688bcffc; the merged tree matches the reviewed evidence tree.

  • Fresh label inventory matched the reviewed native plan exactly.
  • Created all 18 canonical labels through the explicitly approved browser fallback. Aether now has 59 labels; all 41 prior IDs, names, colors and descriptions remain unchanged.
  • Fresh native label plan has zero operations and 18 unchanged canonical labels. Checksum: c8547fee264dfb062ed97842d11bcb394e1a23c831ca5d0c1e7297cff520de69.
  • Added only type:architecture to Aether #63/#92/#94 and applied their exact native reviewed titles through the connector after fresh identity/title/full-label/state/body checks.
  • Read-back and native preview confirm three unchanged/conformant titles, zero proposals, and all other 25 issue records preserved. Repeat JSON and Markdown are byte-identical. spec(distribution): and [Release checkpoint 1] remain intact.
  • Retained per-title intent/result evidence, compact before/after receipts, source/digest bindings and the scoped recovery procedure.

Execution receipt · Current handoff

Next bounded work

  1. Review/classify the remaining 25 Aether issues and prepare the next bounded title batch under organization Pilot optional diagnosis records across the repository fleet #23.
  2. Implement reusable Relay title apply/recovery with conflict, interrupted-retry and guarded-rollback tests. The manual pilot does not supply a reusable engine; rollback/interruption drills were not executed.
  3. Continue future issue enforcement under organization Support organization-scoped convergence for downstream consumer fleets #24 and wider label/path-labeler rollout under this issue. Hosted Actions remain deferred per maintainer direction.

The prior connector label-creation blocker was resolved by explicit browser approval. Pace's adapter remains read-only. The pinned title definition remains candidate/observe; this pilot does not promote policy authority or install future enforcement. Sequential reads/writes are non-atomic. No workflow was manually dispatched, and broad tests/lint/audits remain deferred. Pace #10 remains open for its full fleet scope.

Earlier checkpoint sections below are historical records and may describe superseded pending states.

Outcome

Use Pace to reconcile GitHub issue/PR labels and path-based labeling configuration across eligible Ego Hygiene repositories from the canonical organization taxonomy in .github#8 and reusable Relay labeler integration in relay#3.

The goal is one governed taxonomy with repository-specific overlays—not a collection of manually drifted label sets.

Architecture

.github#8
  canonical label definitions + overlay rules
        ↓
Relay#3
  reusable path-based PR labeler behavior
        ↓
Pace
  inventory → plan → apply → verify → drift detection
        ↓
individual repositories

Pace must not become the source of label semantics.

Scope

  • Inventory every eligible repository's current labels.
  • Compare names, descriptions, colors, and usage against the canonical taxonomy.
  • Classify each canonical label as universal or capability/domain overlay.
  • Detect legacy aliases, duplicates, typo variants, conflicting colors/descriptions, and unused labels.
  • Generate a preview migration plan before mutation.
  • Create missing applicable labels.
  • Update drifted canonical labels.
  • Rename/migrate legacy labels where safe.
  • Preserve repository-specific labels that have a justified local purpose.
  • Install or reconcile the Relay path-labeler configuration where the repository profile enables it.
  • Track taxonomy/profile version and drift after adoption.

Issue/PR migration safety

When renaming or retiring a label:

  • identify all open and closed issues/PRs using it;
  • migrate associations before deletion where appropriate;
  • preserve semantic meaning;
  • do not remove a repository-specific label merely because it is absent from the universal taxonomy;
  • produce explicit ambiguous/conflict states for human review.

Labeler integration

For repositories using path-based labeling:

  • consume the reusable Relay action/workflow rather than copying implementation;
  • generate/resolve repository-specific path mappings from bounded overlays;
  • ensure every emitted label exists before the workflow runs;
  • validate fork PR and least-privilege behavior;
  • keep issue taxonomy and path rules independently versioned where useful.

Fleet states

Represent at least:

  • not evaluated;
  • not applicable;
  • current;
  • current with approved overlay;
  • drifted;
  • migration planned;
  • conflict/review required;
  • verification failed.

Acceptance criteria

  • Every eligible repository's labels are inventoried.
  • Universal and repository-overlay labels are resolved from .github#8.
  • Missing/drifted labels can be previewed and reconciled safely.
  • Existing issue/PR label associations are preserved during renames/migrations.
  • Legitimate repository-specific labels are not destroyed by fleet synchronization.
  • Relay path-labeler configuration is installed/reconciled only where applicable.
  • Path labeler cannot emit undefined labels.
  • Taxonomy/profile version and drift are reportable per repository.
  • Preview → apply → verify → rollback/recovery behavior is documented.
  • At least three repositories with different domain overlays prove the model.

Dependencies

Related

Non-goals

  • Forcing every domain label onto every repository.
  • Making path-based automation the only way labels can be applied.
  • Deleting historical/local labels without migration analysis.

Aether checkpoint 1 — preview prepared, 2026-10-08 UTC

Draft PR: #33

  • Capture the public Aether label inventory with explicit coverage and source evidence.
  • Compose the actual pinned Relay planner without copying taxonomy or creating provider-write capability.
  • Retain deterministic preview, seven passing focused tests (zero skips), verification receipt, and scoped handoff.
  • Maintainer review and merge of the Pace checkpoint — PR feat(labels): preview Aether label adoption gaps #33 merged at cfe8ed9db55a5ddf8580c72f4d7991f6391386a1.

Observed: 41 existing labels; 18 missing universal labels, including all six primary types. All existing labels are preserved; no deletions or renames are proposed. The captured inventory is dated and non-atomic.

Blocking prerequisite discovered: Relay's selected organization assignment at b415c8029bf2fb5d474f367e7129791588ba3860 contains only egohygiene/.github. The checked current organization assignment at 333e4e914b762cb817dcaed1d792435432f4fd5c is byte-identical. Aether is not enrolled. Native planning correctly refuses; the universal-only comparison is advisory and not an approved synchronization plan.

Next bounded owner changes:

  1. Propose Aether enrollment and explicit overlay choices in egohygiene/.github/.github/labels/repositories.v1.json, following docs/label-governance.md and its catalog minor-version/matching-assignment requirements.
  2. After reviewed upstream merge, repin Relay's organization-label lock and the Pace pilot, recapture Aether, and generate a real checksum-bound plan.
  3. Separately authorize label application and reviewed classification, then rerun the issue-title preview. Title apply/recovery and fleet rollout remain later checkpoints.

Relay PR egohygiene/relay#136 merged at e273030836b68bcb9912aae73e56ffbb31f33d48; Relay #133 is closed with its preview-only acceptance receipt. Source merge does not promote candidate title authority or apply provider changes.

Hosted Actions, broad tests, linting and audits remain deferred. No Aether labels, issue titles, classifications, bodies, states, or relationships were changed. Pace #10 remains open for its full multi-repository scope.

Aether checkpoint 2 — upstream enrollment prepared, 2026-10-08 UTC

Owner issue: egohygiene/.github#46
Draft PR: egohygiene/.github#47
Candidate head: e178248ca37628b739ad5c84cbc27b78241b6f3c.

  • Prepare explicit Aether assignment: all 18 universal labels, no overlays or additions, retain policy.
  • Preserve every label definition and the existing organization assignment.
  • Bump catalog/assignments to 1.1.0 and align the title contract's exact reference in patch 1.0.1 without changing title semantics.
  • Record focused evidence and the Relay/Pace handoff.
  • Maintainer review and merge of the upstream enrollment draft — 2026-10-09 UTC.
  • After merge, upgrade Relay's organization-label lock and all four label workflow source refs to the verified merged organization revision and digests — Relay PR #137.
  • Refresh Pace's source inputs and Aether observation; generate a native checksum-bound preview — Pace PR feat(labels): ✨ generate enrolled Aether synchronization preview #34.

Validation: 14 focused tests passed; one full JSON Schema test skipped because its engine is unavailable. The Aether projection repeats byte-for-byte, and the existing organization projection changes only its version. Source checks do not establish provider synchronization.

Pace PR #33 remains draft/unmerged, and its blocked preview remains valid dated evidence. This checkpoint applies no Aether labels, classifications, or titles and changes no consumer pins. Label application and classification, then title apply/recovery, remain separate checkpoints. Hosted Actions, broad tests, linting, and audits remain deferred.

Pace #10 stays open for the full multi-repository rollout. These links are coordination references; no native parent/dependency attachment is claimed.

Upstream merge sync — 2026-10-09 UTC

Organization PR egohygiene/.github#47 is merged at 8b16273eaf0709a7ce95f5e352a2b0d38cfac131, and owner issue egohygiene/.github#46 is closed completed. The merged tree matches the reviewed candidate. Catalog/assignments 1.1.0 and title contract dependency patch 1.0.1 are now present upstream; the checkpoint-2 source-enrollment prerequisite is complete.

Next ready checkpoint: upgrade Relay's organization-label lock and vendored inputs to this immutable merged revision and exact digests. Relay's lock was rechecked and still selects b415c8029bf2fb5d474f367e7129791588ba3860. Then refresh the Pace pilot inputs and Aether inventory to generate a native checksum-bound preview.

Pace PR #33 remains draft/unmerged and needs its own merge decision. Its earlier blocked preview is retained as dated evidence. No Aether labels or issues were mutated, and consumer pins remain unchanged. Label application, classification, and title apply/recovery remain later checkpoints. Broad validation and hosted Actions remain deferred.

Enrolled preview sprint — merged, 2026-10-10 UTC

The user merged Pace PR #33. The following changes were completed and merged under explicit sprint authorization:

Reviewed plan: create 18 universal labels; update 0; delete 0. Preserve all 41 existing labels and issue associations. Native checksum: c0ee4b005b477e88deb8235cf9b418de30319881c5f11771d241a087a6922f23.

Exact current plan
Local application guide with concrete selection values
Relay apply, fresh-plan guard, and verification procedure

Remaining execution boundary

  • Create the 18 labels after a fresh inventory and exact native-plan comparison.
  • Verify canonical colors/descriptions, preservation of existing labels, and a zero-operation follow-up plan.
  • Add the reviewed primary type to Aether #63/#92/#94, regenerate native title preview, and complete evidenced title apply/recovery.
  • Continue broader fleet and path-labeler adoption under this parent.

Capability blocker: the available GitHub connector supports issue metadata but exposes no repository-label create/update operation. The workspace has no gh executable or GH_TOKEN/GITHUB_TOKEN. No provider labels or issue titles were changed. Browser fallback needs separate approval for that access path; the local guide is ready as an alternative. The sprint authorization already covers the intended additive pilot; this is an execution-capability limit.

Aether #63/#92/#94 were freshly reread: all remain open with their original titles and empty labels, and their bodies still support the recorded architecture classification. Preserve the meaningful spec(distribution): prefix and [Release checkpoint 1] marker during any later title update. No native title apply result is claimed.

The prior blocked artifacts remain unchanged historical evidence. Hosted Actions, broad tests, linting, and audits remain deferred; commits/merge commits contain [skip ci], and no workflow was manually dispatched. Parallel Relay Decisions PR #135 remains separate. Pace #10 stays open for its full scope.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions