feat(forgejo): declare the label taxonomy instead of copying an org #932
No reviewers
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/devrel
role/eval
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/sysadmin
role/tpm
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure!932
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/label-taxonomy-declarative"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Step 1 of coilyco-flight-deck/agent-compose#342. Changes nothing in Forgejo.
What was wrong
The authority for the fleet triage labels was live Forgejo org state.
forgejo-label-taxonomy-sync.pynamedcoilyco-gamingas the source of truth and copied it onto the other two orgs, so a label change was an API call with no diff, no review, and no commit.Two things followed from that:
role/*values went on naming the eight-seat roster that Core Roster v2 replaced, and nothing reported it.json.loadsonaosguardoutput without--output json, and aosguard emits YAML, so it raised on its first read. There was no test and no justfile verb, so neither problem was caught.What this does
config/forgejo-label-taxonomy.yamldeclares the taxonomy. The script drives it onto every org named there. The committed file is a faithful snapshot of current state.Three rules the converge holds:
role/engineertorole/platformcarries all 414 of its issues at no per-issue cost. That is what makes step 2 cheap.Four new justfile verbs, where there were none:
forgejo-label-taxonomy,-dry-run,-check,-test.Verification
just forgejo-label-taxonomy-checkagainst live state:Negative control, because "converged" is worthless if the tool cannot see divergence. A probe taxonomy carrying a rename, a colour change, and a new label:
exit 1, on all three orgs.
17 planner tests, no live calls. Full
pre-commit run --all-filesgreen.Notes for review
docs/FEATURES.mdentry, matching the precedent set byforgejo-branch-protectionandforgejo-repo-settings, which are converge scripts documented by their docstring and justfile verb. An earlier draft added one and it pusheddocs/over the 40-doc cap.coilyco-opsis a member rather than an owner and gets 403.--checkand--dry-runonly read.Refs coilyco-flight-deck/agent-compose#342