Validate the unselected exemption list, and refresh the umbra pin #1388
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!1388
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/ee98"
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?
Two milestone-33 items. Both verified, and the second is honest about what it does not do.
#1206: an exemption could outlive its reason
[tool.agentic-os.check-composed-skills] unselectedwas consulted and never checked, so a pattern kept exempting whatever it named after the reason went away. Two drifts:The second is the one that matters: the escape hatch becomes a hole that opens later, with nothing announcing it. Exactly this milestone's shape.
One rule closes both. Every
unselectedpattern must cover at least one source no role selects; a pattern matching nothing, or matching only sources a role already claims, exempts nothing and is reported.Three tests including the control, because a pattern covering a genuinely unselected source is the whole point of the hatch and must stay silent. This repo passes unchanged, so nothing here was leaning on a stale entry.
Umbra pin, v0.175.0 to v0.184.0
Verified by rebuilding aosguard and exercising it: a guarded denial still refuses, a gated read still resolves, and the
{username}clause from#1387still binds.It does not deliver
#1366, and I nearly claimed it did. The codegen change for that issue is in v0.183.0 and v0.184.0, but the generatedmain.gois rendered by the installedspecgenbinary, which embeds its own copy of the template:So
--umbra-refpins what the generated code imports, not the template that generates it. String-searching the rebuilt binary confirms it:umbra@v0.184.0present, the new handler absent.#1366stays open pending a specgen release past v0.184.0.I found that by running the reported failing command against the rebuilt binary rather than trusting the render. That is the second time tonight end-to-end verification caught a fix that looked landed and was not, which is the argument for the milestone rather than an aside.
The Forgejo guardfile claimed "every leaf whose path carries {owner} must name a coily* owner" and carried clauses for `owner` and `org`. `user-repo list` resolves to GET /users/{username}/repos, so neither clause reached it and the gate the file described did not exist for that leaf. Confirmed against the built binary before and after, with a control: before user-repo list torvalds --dry-run -> built the request after user-repo list torvalds --dry-run -> refused, restrict username after user-repo list coilysiren -> still builds the request The pruned spec has exactly three owner-shaped parameters, `owner` (34 paths), `org` (5), and `username` (1). All three now carry a clause, so the gate is complete rather than one spelling closer. Every other parameter in the spec is a sub-resource inside an already-gated owner. Low impact on its own: a read-only repository list, bounded independently by what the coilyco-ops token can see. The reason to fix it is that the file asserted a boundary it did not hold, which is this milestone's whole shape. Refs coilyco-flight-deck/agentic-os#1378 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: Kai Siren <coilysiren@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Agent-Role: platformv0.175.0 to v0.184.0, verified by rebuilding and exercising the binary: a guarded denial still refuses (`repo delete torvalds linux`), a gated read still resolves (`user-repo list coilysiren`), and the {username} clause froma73566d0still binds. This carries the codegen change for #1366 into the pinned module but does NOT deliver it. The generated main.go is rendered by the installed `specgen` binary, which embeds its own copy of the template: specgen version v0.180.0 (umbra ref v0.180.0) So `--umbra-ref` pins what the generated code imports, not the template that generates it. Confirmed by string-searching the rebuilt binary: it carries umbra@v0.184.0 and none of the new handler. #1366 stays open until specgen is released past v0.184.0 and installed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: Kai Siren <coilysiren@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Agent-Role: platform