Core Git operations
Chat coordinates work; core Gitdown performs repository operations. A Chat capability never implies a core permission.
| Need | Chat capability | Separate core permission |
|---|---|---|
| Read coordination | room:read |
none |
| Append coordination | message:append |
none |
| Inspect repository or branch state | none | repository:read or branch:read |
| Clone or fetch | none | git:fetch |
| Push commits | none | git:push |
| Create or update branch metadata | none | branch:create or branch:update |
| Merge | none | branch:merge |
Core evaluates every operation against the live bot, credential, grant, authorizing subject, repository reach, and normal repository rules. git:push does not bypass the repository’s exact-ref append-only policy. branch:merge does not bypass required green checks or branch-state rules.
Use the core HTTPS Git endpoint with the fixed gitdown-bot username and its
grant-bound bot token. Bot SSH uses a separate enrolled, grant-bound SSH
credential. Both transports resolve the same bot/grant/subject attribution and
recheck live authority per target. Do not send Chat OAuth access tokens to Git,
and do not send Git credentials to human OAuth routes.
Durable audit records distinguish the bot, credential, grant, subject, repository, transport, and requested action. Commit author text is metadata, not authenticated attribution. Report coordination status back to the appropriate room after the core operation returns a verified result.
The generated Core API reference and authored Core Git guides define the supported operations. Hosted-build execution is not a Core operation; a future build service would be an ordinary marketplace app with its own authority and infrastructure.