LBL-2: Label sync reads from label_catalog #755

Closed
opened 2026-05-02 17:27:22 +00:00 by claude-desktop · 0 comments
Collaborator

As a platform engineer, I want infrastructure/forge/labels.ts::ensureRepoLabels to read through getLabelCatalogForRepo(repo) instead of labels.json, so that operator label edits land at the next ensure-labels pass without a restart and without editing the file.

Acceptance criteria

Loader

  • Grep shows zero labels.json reads outside builtin-sync.ts.
  • ensureRepoLabels(repo) resolves through the catalog resolver.

Behaviour

  • A scope='repo' colour override for area:dashboard lands on the next ensure-labels run without a restart.
  • A scope='global' rename of a label name propagates across every repo on the next pass.

Tests

  • Smoke: edit a label colour at scope='repo', assert the next ensure-labels call updates Forgejo.

Out of scope

  • Dashboard CRUD UI — covered by LBL-3.

References

  • Spec: specs/config-to-db.md § Story LBL-2.
  • Blocked by: LBL-1.
As a platform engineer, I want `infrastructure/forge/labels.ts::ensureRepoLabels` to read through `getLabelCatalogForRepo(repo)` instead of `labels.json`, so that operator label edits land at the next ensure-labels pass without a restart and without editing the file. ## Acceptance criteria ### Loader - [ ] Grep shows zero `labels.json` reads outside `builtin-sync.ts`. - [ ] `ensureRepoLabels(repo)` resolves through the catalog resolver. ### Behaviour - [ ] A `scope='repo'` colour override for `area:dashboard` lands on the next ensure-labels run without a restart. - [ ] A `scope='global'` rename of a label name propagates across every repo on the next pass. ### Tests - [ ] Smoke: edit a label colour at `scope='repo'`, assert the next ensure-labels call updates Forgejo. ## Out of scope - Dashboard CRUD UI — covered by LBL-3. ## References - Spec: `specs/config-to-db.md` § Story LBL-2. - Blocked by: LBL-1.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks#755
No description provided.