Watch
2
feat(aosguard): refuse an issue filed with no priority or autonomy label #1311
Closed
coilyco-ops
wants to merge 1 commit from
aos/1105-require-issue-labels into main
pull from: aos/1105-require-issue-labels
merge into: coilyco-flight-deck:main
coilyco-flight-deck:main
coilyco-flight-deck:aos/claude/ee98-wardfreeze
coilyco-flight-deck:release
coilyco-flight-deck:chore/full-name-attribution
coilyco-flight-deck:aos/claude/mt75-bundle-tag
coilyco-flight-deck:aos/claude/ad84-revert-voice
coilyco-flight-deck:aos/claude/ad84-voice
coilyco-flight-deck:aos/claude/tc69-abspath
coilyco-flight-deck:aos/claude/mt75-quiet-plan
coilyco-flight-deck:voice-no-rarity-statements
coilyco-flight-deck:aos/claude/mt75-netlify-remove
coilyco-flight-deck:aos/claude/ad84-titles
coilyco-flight-deck:aos/claude/ad84
coilyco-flight-deck:aos/claude/mt75-aterm-fullscreen
coilyco-flight-deck:aos/claude/mt75-netlify-wrap
coilyco-flight-deck:aos/claude/mt75-kubectl-context
coilyco-flight-deck:aos/claude/mt75
coilyco-flight-deck:aos/claude/mt75-ward-cut
coilyco-flight-deck:aos/claude/eb77
coilyco-flight-deck:aos/claude/fp87-ward-schema
coilyco-flight-deck:aos/claude/fp87-ward-posture
coilyco-flight-deck:aos/claude/fp87
coilyco-flight-deck:aos/claude/vt77
coilyco-flight-deck:aos/claude/kb87-native-arch
coilyco-flight-deck:aos/claude/kb87-window-identity
coilyco-flight-deck:aos/claude/kb87
coilyco-flight-deck:aos/claude/tg69
coilyco-flight-deck:aos/claude/ff54-retire-issue-refs
coilyco-flight-deck:aos/claude/ff54
coilyco-flight-deck:aos/claude/rc44-bundle-version
coilyco-flight-deck:aos/claude/mu55-contract-tests
coilyco-flight-deck:aos/claude/mu55-sound-mark
coilyco-flight-deck:aos/claude/rc44
coilyco-flight-deck:aos/claude/mu55-identity-card
coilyco-flight-deck:aos/claude/mu55-doctor
coilyco-flight-deck:aos/claude/mu55-shadow-reap
coilyco-flight-deck:aos/claude/mu55-drop-windows
coilyco-flight-deck:aos/claude/mu55-dryrun-exits
coilyco-flight-deck:aos/claude/mu55-list-json
coilyco-flight-deck:aos/claude/mu55-title-order
coilyco-flight-deck:aos/claude/mu55-overlay-contract
coilyco-flight-deck:aos/claude/qu74
coilyco-flight-deck:aos/claude/ue86
coilyco-flight-deck:aos/claude/yq86
coilyco-flight-deck:aos/claude/vk48-harness-set
coilyco-flight-deck:aos/claude/vk48-default-agent
coilyco-flight-deck:aos/claude/vk48-completion
coilyco-flight-deck:aos/claude/vk48-release-fix
coilyco-flight-deck:aos/claude/vk48
coilyco-flight-deck:aos/claude/yb89
coilyco-flight-deck:aos/claude/sb46
coilyco-flight-deck:fix/agent-compose-pin-v3-roster
coilyco-flight-deck:aos/claude/ve67-defer
coilyco-flight-deck:aos/claude/ve67
coilyco-flight-deck:aos/claude/ur54
coilyco-flight-deck:aos/claude/tj49
coilyco-flight-deck:feat/acompose-v3-roster
coilyco-flight-deck:ops/393-retire-doc-size-alias
coilyco-flight-deck:ops/393-drop-em-dash-check
coilyco-flight-deck:feat/vendored-tree-exclude
coilyco-flight-deck:aos/claude/xlarge-band
coilyco-flight-deck:aos/claude/ue65
coilyco-flight-deck:aos/claude/identity-color-wins
coilyco-flight-deck:aos/claude/ap47
coilyco-flight-deck:aos/claude/zr44
coilyco-flight-deck:aos/claude/xk58
coilyco-flight-deck:aos/claude/aw85-skill-size-owner
coilyco-flight-deck:aos/claude/ym96-docs-bands
coilyco-flight-deck:aos/claude/wt57-pin-aos-bundle
coilyco-flight-deck:aos/claude/wt57-image-inputs-filter
coilyco-flight-deck:aos/claude/ym96-label-taxonomy
coilyco-flight-deck:ops/dev-base-pin-rust-1.90.0
coilyco-flight-deck:aos/claude/mg96-clean
coilyco-flight-deck:aos/claude/mg96
coilyco-flight-deck:backup/fix/bake-precommit-hooks
coilyco-flight-deck:rescue/aos-test-timeout
coilyco-flight-deck:aos/claude/issues-977-979-agents-base
coilyco-flight-deck:aos/claude/sx87
coilyco-flight-deck:refactor/remove-context-budget-json
coilyco-flight-deck:issue-946
coilyco-flight-deck:aos/codex/20260806t050901z-50407-6291ab0a
coilyco-flight-deck:aos/codex/standalone-shadow-workspace
coilyco-flight-deck:backup/aos/codex/20260806t061240z-10127-754d7de2
coilyco-flight-deck:aos/codex/standalone-local-service-route
coilyco-flight-deck:aos/codex/aosterm-aoscompose-wrapper
coilyco-flight-deck:aos/codex/agents-launch-profile-source
coilyco-flight-deck:aos/codex/launch-profiles-yaml
coilyco-flight-deck:aos/codex/20260806t031603z-7731-c76c17f2
coilyco-flight-deck:backup/aos/codex/20260805t183628z-5916-617bb239
coilyco-flight-deck:backup/aos/codex/20260805t025242z-30811-fbb135ff
coilyco-flight-deck:aos/codex/aos-v2-roster-852
coilyco-flight-deck:aos/codex/20260801t164712z-64119-69ee8bb6
coilyco-flight-deck:backup/aos/codex/20260801t164900z-67616-2ad2d0e3
coilyco-flight-deck:issue-834
coilyco-flight-deck:aos/codex/pr-829-1130
coilyco-flight-deck:issue-824-agent-proxy-model-routing
coilyco-flight-deck:task-merge-pr818
coilyco-flight-deck:fix/aos-ci-20260730
coilyco-flight-deck:issue-671
coilyco-flight-deck:issue-734
coilyco-flight-deck:issue-484
coilyco-flight-deck:issue-498
coilyco-flight-deck:issue-622
coilyco-flight-deck:issue-512
coilyco-flight-deck:issue-679
coilyco-flight-deck:issue-454
coilyco-flight-deck:backup/issue-785-first-person
coilyco-flight-deck:issue-785-first-person
coilyco-flight-deck:director-pr784
coilyco-flight-deck:restore-language-images
coilyco-flight-deck:recovery/2026-07-28-triaged-branch-archive
coilyco-flight-deck:recovery/2026-07-27-local-work
coilyco-flight-deck:recovery/aos-local-build-20260727
coilyco-flight-deck:codex/land-pr-733
coilyco-flight-deck:codex/aos-ci-watch
coilyco-flight-deck:issue-642
coilyco-flight-deck:issue-682-goose-yaml
coilyco-flight-deck:issue-656-goose-context
coilyco-flight-deck:safety/aos-local-main-09347d0
coilyco-flight-deck:issue-611-specialist-images
coilyco-flight-deck:fix-action-run-list-page
coilyco-flight-deck:issue-454-v2
coilyco-flight-deck:experiment/no-ops-forgejo
coilyco-flight-deck:feat/dev-base-image
No reviewers
Labels
Clear labels
burndown-2026-06
Backlog burndown June 2026
burndown-2026-08
Closed in the 2026-08-26 backlog burn-down. Reopen freely: state:closed label:burndown-2026-08 recovers the whole set.
autonomy
async-consult
A human needs to consult on the issue to upgrade it to headless
autonomy
epic
This issue has many units of sub work - its size makes it meaningfully exclusive with other autonomy types
autonomy
headless
The agent can perform the work on its own
autonomy
live-collab
The agent and the human need to work together in realtime
coherence-core
Core review set for the warded control plane coherence milestone. These issues form the release spine; adjacent milestone issues are stretch or supporting work.
priority
P0
priority tier
priority
P1
priority tier
priority
P2
priority tier
priority
P3
priority tier
priority
P4
priority tier
qa-fixture
Disposable issue admitted to the bounded Ward QA verification lane.
role/advocate
requires work from the Developer Advocate seat
role/director
requires work from the Portfolio Director seat
role/exec
requires work from the exec role
role/frontend
requires work from the Frontend Engineer seat
role/gamedev
requires work from the Game Developer seat
role/human
requires a person, and specifically not an agent seat
role/platform
requires work from the Platform Engineer seat
role/qa
requires work from the QA role
role/science
requires work from the Applied Scientist seat
role/sysadmin
requires work from the Systems Administrator seat
state
ambient
ambient and ephemeral work, held as a maintained document rather than a queue
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
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
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
coilyco-flight-deck/agentic-os!1311
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/1105-require-issue-labels"
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?
Closes #1105. Needs umbra#322, released as umbra v0.172.0 and locked here.
The gap, measured before the change
What now happens
issue createbecomes an action shadow whose--labelsis required and must carry onepriority/*and oneautonomy/*. Verified against the built binary:Nothing is created by any of those runs. The check runs while the flags bind, before the create request is assembled, so this is not the response-side reporting the acceptance rejects.
Labels are names now, not ids
--labels priority/P2, not--labels 199. The names are identical across every org and repo thecoily*gate reaches and the ids are not, so a name needs no per-org table and no lookup, and a caller stops runningorg-label listbefore every filing - the friction the director measured eleven times in one day on this issue.POST /issuesdeclaresitems: {type: integer}, so ids only. The labels are therefore applied by a second call to the labels sub-collection, whose schema declares the id-or-name union. The policy check precedes both calls, so a violating call creates nothing.The two-taxonomy problem dissolved rather than being worked around
The issue asks for the rule to cover
coilysiren/inbox's unprefixed labels or be scoped around them. Neither is needed. coilysiren/inbox#392 landed on 2026-08-27, and the live label sets confirm bothinboxandwebsitenow carrypriority/P0..P4andautonomy/*, allexclusive=true, with the bareP0-P4/headless/consult/interactivelabels gone andIRLmigrated torole/human. One rule covers every repo this surface writes, and no per-repo exemption exists to go stale - which was the shape #1206 and #1186 warn about.The shadow is narrower than the leaf it replaces
An action argument bound to an input that was not supplied fails the whole call (
umbraResolveArg: "$x is not set (an optional input that was not supplied)"). So every input here is required, and the leaf's optional--assignee,--assignees,--closed,--due_date,--milestoneand--refare not carried. Set a milestone or assignee withissue editafter filing.This is a real reduction and it is recorded in the verb's own
describe, which is the operator-facing surface and the generated skill's text. A dedicateddocs/page was written and then dropped: the repo is at the 40-doc ceiling of thelargeband, anddocumentation-bands.mdis explicit that splitting to clear a cap trades one violation for another. Follow-up filed as #1312.Acceptance
describeVerification
Locked to umbra v0.172.0 and built with the released
specgen0.172.0 from the tap, not a local binary. The flow was proved live end to end: probe issue #1310 filed, both label names applied by the second call,$issue.numberthreaded correctly, labels confirmed present on re-read, then closed.pre-commit run --all-filespasses.Closed in favour of two landings, because one merge cannot go green here.
The guardfile using umbra's new
matchescannot build inside the:releaseCI image, which bakes specgen atARG SPECGEN_VERSIONand only bootstraps the pinned version when none is on PATH. So the pin has to land and republish the image first.The work itself is unchanged and already verified end to end: probe issue #1310 was filed through the shadow, both label names applied, then closed. Nothing is lost by the split.
Closed in favour of two landings, because one merge cannot go green here.
The guardfile using umbra's new
matchescannot build inside the:releaseCI image, which bakes specgen atARG SPECGEN_VERSIONand only bootstraps the pinned version when none is on PATH. Measured:So the pin lands first and republishes the image, then the guardfile change goes green against it.
The work itself is unchanged and already verified end to end: probe issue #1310 was filed through the shadow, both label names applied by the second call,
$issue.numberthreaded, then closed. Nothing is lost by the split.Pull request closed