README claims a specialist may not push a branch; the gate that did that was removed
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 1h 21m
- Merged PRs (30d)
- 41
Description
## The evidence
`README.md:65`:
> **Gates.** A commit carrying AI attribution is denied at `PreToolUse`. A specialist may not push a branch.
The second sentence is no longer true. `src/daemon/gates/settings.ts` grants `Bash(*)` and denies nothing:
```ts
const FULL_SHELL = ["Bash(*)"];
// ...
permissions: { allow: FULL_SHELL, deny: [] },
```
The comment above it explains the removal at length, and gives the reason:
> `git push` was denied on the grounds that a specialist proposes and the developer publishes, and it held nothing: `gh pr create` shells out to git and never passes through this layer, so the honest path was blocked while the one that worked went round it. What it did do was strand three commits in a worktree and leave a specialist reporting them as pushed.
So the only gate left is `commit-attribution`. The containment the comment says still holds — own worktree, own branch, cannot merge its own PR — is real, but "may not push a branch" is not part of it.
## Why it matters
It is the kind of stale line that gets believed. A specialist reading the README will report that it *cannot* push when asked, rather than that it chose not to; a developer reading it will assume commits are unpushable without checking. Found exactly that way — I told the developer a push was gated, then read `gates/settings.ts`.
## Acceptance criteria
- [ ] `README.md`'s Gates bullet no longer claims a specialist may not push a branch.
- [ ] It describes what is actually enforced: the attribution hook, evaluated regardless of permissions.
- [ ] If the containment claims are kept (own worktree, own branch, cannot merge its own PR), they match `gates/settings.ts` and are not restated more strongly than the code supports.
- [ ] No behaviour change. This is a documentation fix; the gate is not being re-added under this issue.
## Out of scope
- Re-adding a push gate. That is a product decision with a written rationale against it in `gates/settings.ts`; reversing it needs its own issue.
- Any other README accuracy pass.
## Verification
Read `README.md:63-67` against `src/daemon/gates/settings.ts`. No commands; nothing executable covers this.
Contributor guide
Research direction
Read README.md:63-67 alongside src/daemon/gates/settings.ts, especially the permissions and commit-attribution comments. Update only the Gates bullet so it describes the enforced attribution hook and accurately preserves any supported containment claims. Done when the README matches the code and no behavior changes are made; verification is a manual comparison, with no executable test required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 92/100