Add repo-label create on the admin wrapper #1413
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/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1413
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/ee98-repolabel3"
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?
Forgejo mints labels per organization and
coilysirenis a user account, so its six repositories including the tracker cannot receive a new label through any guarded path.coilysiren/inboxalready carries 19 repo-level labels, hand-maintained outside the surface. Only the create verb was missing.Where it lands, and why not the ordinary wrapper
forgejo-adminis exactly "operations Forgejo refuses to coilyco-ops", which is this situation, and a user-owned repo needs the admin PAT anyway.create org-labelalready lives there.restrictis wrap-level, so acreate labelscoped tocoilysirencannot be a leaf insideforgejo.kdl. The ward#107 deny there is untouched and still answers for itself:Both built with the pinned specgen 0.185.0 and probed, not read.
The cost, which is the real content of this PR
This wrapper loses its vendored
.swagger.v1.json.gz.A vendored snapshot is pruned to the operations declared when it was written, so it cannot grow a new one.
issueCreateLabelis in live Forgejo (506 operations) and absent from the committed 88-operation copy, andspecgen lockreads the snapshot rather than fetching. There is no specgen verb that refreshes one -gen,lock,skew,build,run, none writes a.v1.json.gz.Dropping it makes
lockfetch live for this guardfile. That costs hermetic locking here, and is whyforgejo.kdlkeeps its snapshot: the two are now inconsistent on purpose rather than by accident. Kai picked this over dropping both or building a refresh step first, andreferences/aosguard.mdrecords the reasoning so the next reader does not restore the file as a missing safety net.769 tests pass, full pre-commit suite green.
Closes #1377