Accept describe on inline can-grants #275
No reviewers
Labels
No labels
burndown-2026-06
sunday-sprint
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/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/umbra!275
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/gm46-can-describe"
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 #274.
ward-mcpmints one MCP tool per grant and readsDescriptor.Describefor that tool's description. The inline grammar could not set it on acangrant, so every such tool shipped the generated fallback and a guardfile's only way to say anything about a grant was a//comment no model can read.The change
describe "..."becomes acan-grant child settingDescriptor.Describe. Duplicate and empty both fail closed, matchingfail-when. Proxydescribeis untouched.The grammar widens by exactly one node and gains no authority: a string flowing into a description field consumers already read.
Test changes worth noting
describeinside acangrant was the exemplar for the"unknown grant child"rejection case, so this is a deliberate boundary being moved rather than a bug being fixed. That case now usesannotate, and two new negative cases cover duplicate and empty. A positive test asserts the string lands on the right descriptor and that an omitteddescribestays empty.Verification
make vet,make lint(0 issues),go test ./http/..., andscripts/check-godoc-current.shall pass. No exported API changed, so the godoc pin is unmoved.Pre-existing failure, not from this change:
make testfails 5 tests inpkg/broker(TestServerAllWriteOpsReachExecutor,TestServerLabelIssueFoldsModeAndLabels,TestServerAuthorizerVetoSkipsExecutor,TestServerExecutorErrorFoldsToResponse,TestServerRejectsProtocolMismatch). I confirmed the identical 5 failures on a clean checkout ofmainwith my change stashed.mainis red there independently of this PR, and worth its own issue.Also worth flagging for whoever runs lint locally: a stale
golangci-lintcache produced a phantomgosechit against apkg/credseedpath that does not exist in a fresh clone.golangci-lint cache cleanclears it.Downstream
This is the first step of a chain.
ward-mcpneeds a pin bump to pick it up, after whichcoilyco-bridge/deploymigrates its guardfile comments intodescribestrings so the text reaches the calling model instead of only the next editor.